Infinity是一个开创性的高分辨率图像生成框架,由FoundationVision团队开发。该项目通过创新的位级视觉自回归建模方法,突破了传统图像生成模型的限制。Infinity的核心特点是采用了无限词汇量的分词器和分类器,配合位级自校正机制,能够生成超高质量的真实感图像。项目完全开源,提供了从2B到20B参数规模的模型选择,支持最高1024×1024分辨率的图像生成。作为一个前沿的研究项目,Infinity不仅推动了计算机视觉领域的技术进步,也为图像生成任务提供了新的解决方案。
Discordチャンネルに参加して、Infinityの画像生成モデルを体験しよう!
機能一覧
- 2B参数模型支持高达1024×1024分辨率的高质量图像生成
- 無制限の語彙を持つビジュアル語彙を提供し、より細かい画像特徴抽出をサポート
- 生成画像の品質と精度を向上させるビットレベルの自己補正機構の実装
- 複数のモデルサイズを柔軟に選択可能(125M、1B、2B、20Bパラメータ)
- ユーザーが画像生成実験を容易に行えるよう、インタラクティブな推論インターフェースを提供する。
- 完全なトレーニングと評価のフレームワークとの統合
- モデル性能の多次元評価をサポート(GenEval、DPG、HPSv2.1およびその他のメトリクス)
- 画像生成を直接体験できるオンライン・デモ・プラットフォームを提供
ヘルプの使用
1.環境構成
1.1 基本要件
- Python環境
- PyTorch >= 2.5.1 (FlexAttentionのサポートが必要)
- その他の依存関係をpip経由でインストールする:
pip3 install -r requirements.txt
2.モデルの使用
2.1 クイックスタート
- HuggingFaceから訓練済みモデルをダウンロード: infinity_2b_reg.pth
- ダウンロード Visual Segmenter: infinity_vae_d32_reg.pth
- interactive_infer.ipynbを使ったインタラクティブな画像生成
2.2 トレーニングの構成
# 使用单条命令启动训练
bash scripts/train.sh
# 不同规模模型的训练命令
# 125M模型(256x256分辨率)
torchrun --nproc_per_node=8 train.py --model=layer12c4 --pn 0.06M
# 2B模型(1024x1024分辨率)
torchrun --nproc_per_node=8 train.py --model=2bc8 --pn 1M
2.3 データの準備
- トレーニングデータはJSONL形式で用意する必要がある。
- 各データ項目には、画像パス、長短のテキスト説明、画像の縦横比、その他の情報が含まれます。
- サンプルデータセットは、参考のためにプロジェクトから提供される。
2.4 モデルの評価
- 複数の評価指標をサポート:
- ImageReward:生成された画像に対する人間の嗜好スコアを評価する
- HPS v2.1:798Kの手動ランキングに基づく評価指標
- GenEval: テキストから画像へのアライメントの評価
- FID:生成された画像の品質と多様性の評価
2.5 オンライン・プレゼンテーション
- 公式デモ・プラットフォームをご覧ください: https://opensource.bytedance.com/gmpt/t2i/invite
- テキスト説明を入力すると、対応する高画質画像が生成されます。
- 複数の画像解像度と生成パラメータの調整をサポート
3.高度な機能
3.1 ビットレベルの自己修正メカニズム:
- ジェネレーション・プロセスにおけるエラーの自動認識と修正
- 生成画像の品質と精度の向上
3.2 モデルの拡張:
- モデルサイズの柔軟なスケーリングに対応
- 125Mから20Bのパラメーターまで複数のモデルを用意
- さまざまなハードウェア環境やアプリケーション要件に対応
4.注意事項
- ハードウェアリソースがモデル要件を満たしていることを確認する
- 大規模モデルには十分なGPUメモリが必要
- トレーニング用推奨ハイパフォーマンス・コンピューティング機器
- 定期的なバックアップ・トレーニングのチェックポイント
- MITオープンソースプロトコルの遵守に注意