はじめに
Infinityは、FoundationVisionチームによって開発された先駆的な高解像度画像生成フレームワークです。このプロジェクトは、革新的なビットレベルの視覚的自己回帰モデリング・アプローチによって、従来の画像生成モデルの限界を打ち破ります。Infinityの中核となる特徴は、曖昧性解消器と分類器の無制限の語彙を使用することで、ビットレベルの自己相関メカニズムとともに、超高画質でリアルな画像を生成することができます。このプロジェクトは完全にオープンソースであり、2Bから20Bまでのパラメータスケールからモデルサイズを選択でき、1024x1024までの解像度の画像生成をサポートしています。最先端の研究プロジェクトとして、Infinityはコンピュータ・ビジョン分野の技術進歩を推進するだけでなく、画像生成タスクに新しいソリューションを提供します。
機能一覧
- 2Bパラメトリックモデルは、最大解像度1024x1024の高画質画像生成をサポート
- 無制限の語彙を持つビジュアル語彙を提供し、より細かい画像特徴抽出をサポート
- 生成画像の品質と精度を向上させるビットレベルの自己補正機構の実装
- 複数のモデルサイズを柔軟に選択可能(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 resolution)
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オープンソースプロトコルの遵守に注意