AIGC モデルをより適切に、より速く、より安価にトレーニングおよび微調整する方法が、AIGC の商用化とアプリケーションの爆発的な増加における最大の課題となっています。
Colossal-AI は、大規模モデルの民主化における専門技術の蓄積に基づいており、オープンソースで完全な Stable Diffusion 事前トレーニングとパーソナライズされた微調整ソリューションにより、事前トレーニング時間の短縮と経済的コストが削減されます。 6.5 倍、パーソナライズされた微調整ハードウェアのコストは 7 倍削減されます。微調整作業のプロセスはパソコンの RTX 2070/3050 上で迅速に完了することができ、Stable Diffusion などの AIGC モデルが手の届くところにあります。
オープンソース アドレス:
https://github.com/hpcaitech/ColossalAI
AIGC (AI 生成)コンテンツ(人工知能生成コンテンツ)は現在のAI分野で最も注目されているトピックの1つであり、特にStable Diffusion、Midjourney、NovelAI、DALL-Eなどに代表されるテキスト生成画像のクロスモーダルアプリケーションの出現により、AIGCが注目を集めています。サークルから抜け出して、広く注目を集めましょう。
安定拡散は画像を生成します
AIGC は業界の大量の需要を刺激して以来、次の波の重要な方向性の 1 つとみなされてきました。 AIGC に基づく新しい技術革命とキラー アプリケーションが、テキスト、オーディオ、画像とビデオ、ゲーム、メタバース、その他の技術シナリオに登場することが広く期待されています。関連するシナリオでの AIGC の商用化の成功と、数兆ドル規模の潜在的な市場により、関連するスタートアップ企業が資本の寵児となりました。たとえば、Stability AI、Jasper などは、わずか 1 ~ 2 年で数億ドルの資金調達を受けています。設立以来ユニコーンに昇格してきた獣たちの行列。
AI モデルの規模とパフォーマンスは同時に成長しています
しかし、高いハードウェア要件とトレーニング コストが AIGC 業界の急速な発展を依然として深刻に妨げています。 AIGC アプリケーションの優れたパフォーマンスは、多くの場合、GPT-3 や安定拡散などの大規模モデルに基づいて構築され、特定の下流タスクやアプリケーション向けに微調整されています。人気の Stable Diffusion を例に挙げると、その背後にある Stability AI は最近確立されたものですが、4,000 以上の NVIDIA A100 GPU クラスターを維持し、この目的のために 5,000 万米ドル以上の運用コストを費やしています。 v1 バージョンのモデルのみ このトレーニングには 150,000 A100 GPU 時間が必要です。
拡散モデル (拡散モデル) のアイデアは、2015 年の論文「非平衡熱力学を使用した深層教師なし学習」で初めて提案され、2020 年の論文「ノイズ除去拡散確率モデル」によって推進されました。 (DDPM) 新たな高みに到達し、DALL-E 2、Imagen、拡散モデルに基づく安定拡散は、敵対的生成ネットワーク (GAN)、可変差分オートエンコーダー (VAE)、自己回帰モデル (AR) をはるかに超える成果を達成しました。生成タスク、および従来の生成モデルのその他の効果。
拡散モデルは、画像にガウスノイズを徐々に加えてランダムノイズにする順拡散処理と逆生成処理の2つの処理から構成されます。ノイズの除去: このプロセスでは、画像が生成されるまで複数の U-Net を使用してランダム ノイズが徐々に除去されますが、これも拡散モデルのトレーニングの一部です。
潜在拡散モデル
従来のエンドツーエンドの深層学習モデルと比較して、拡散モデルのトレーニング プロセスは間違いなくより複雑です。例として安定拡散を示します。拡散モデル自体には、テキスト プロンプトを入力するための Frozen CLIP Textcoder と、高解像度の画像を潜在空間 (Latent Space) に圧縮して各タイム ステップでの損失を計算する Autoencoder もあります。これにより、グラフィックス メモリのオーバーヘッドとトレーニング ソリューションの計算速度に大きな課題が生じます。
トレーニング前の最適化
トレーニング前の場合、一般に、より大きなバッチサイズ、トレーニング速度も速くなり、拡散モデルも同様です。 Colossal-AI は、ZeRO、Gemini、チャンク ベースのメモリ管理戦略と Flash アテンション モジュールを通じてクロス アテンション計算を最適化します。これにより、拡散モデル トレーニングのメモリ オーバーヘッドが大幅に削減され、ユーザーは 10G メモリを搭載したコンシューマ グレードのグラフィックス カードを使用できるようになります。 A100 などの専用グラフィックス カードで拡散モデルをトレーニングできます。これにより、最大シングルカード バッチ サイズ 256 でのトレーニングを直接サポートできます。stable-diffusion-v1-1 と比較すると、FP32 DistributedDataParallel (DDP) トレーニングは6.5倍の加速が可能です。これは、数百万ドルかかるトレーニング コストを 6.5 分の 1 に削減できることを意味し、AIGC 業界のトレーニング コストと参入障壁を大幅に引き下げることができます。
Colossal-AI の安定普及への加速
LAION-5B データセットは事前トレーニングで使用されるため、 Stable Diffusion には、合計 5,850 億の画像とテキストのペアがあり、240 TB のストレージ スペースが必要です。モデルの複雑さと組み合わせると、完全な事前トレーニングのコストが非常に高いことは明らかです。Stable Diffusion の安定性チームは、50 ドル以上を費やしました。 4,000 個の A100 GPU を導入するには 100 万ドル。ほとんどの AIGC プレーヤーにとってより現実的なオプションは、パーソナライゼーションの下流タスクを微調整するためにオープンソースの事前トレーニング済みモデルの重みを使用することです。
ただし、他の既存のオープンソース微調整ソリューションで使用されているトレーニング並列処理手法は主に DDP であるため、トレーニング プロセス中に大量のビデオ メモリが使用されます。微調整でも少なくとも RTX の使用が必要です。 3090 または 4090、最高級の消費者向けグラフィックス カード。同時に、現段階のオープンソース トレーニング フレームワークの多くは完全なトレーニング構成とスクリプトを提供していないため、ユーザーは面倒な完了とデバッグに余分な時間を費やす必要があります。
他のソリューションとは異なり、Colossal-AI は、オープンソースの完全なトレーニング構成パラメーターとトレーニング スクリプトを同時に提供する最初のソリューションであり、ユーザーはいつでも新しい下流タスク用のセグメンテーション モデルの最新バージョンをトレーニングできます。 、より柔軟で幅広いアプリケーションを使用します。また、Colossal-AI はビデオ メモリの最適化やその他のテクノロジを導入しているため、通常のパーソナル コンピュータの 1 枚のコンシューマー グレードのグラフィックス カード (GeForce RTX 2070/3050 8GB など) だけで微調整タスクのプロセスを迅速に完了できます。 RTX 3090 または 4090 を使用すると、ハードウェア コストを約 7 倍節約できるため、安定拡散などの AIGC モデルを使用するしきい値とコストが大幅に削減され、ユーザーは既存の重み推論に制限されなくなり、パーソナライズされたカスタマイズ サービスを迅速かつ簡単に完了できるようになります。 。速度に依存しないタスクの場合は、低コストのハードディスク容量を使用してグラフィックス メモリの消費量を削減する Colossal-AI NVMe をさらに使用できます。
Colossal-AI のメモリ削減による安定拡散
ZeRO Gemini を支える最適化技術Colossal-AI は、メモリの冗長性を排除するゼロ冗長オプティマイザー (ZeRO) メソッドの使用をサポートしています。従来のデータ並列戦略と比較して、計算の粒度や通信効率を犠牲にすることなく、メモリの使用効率を大幅に向上させることができます。
Colossal-AI は、ZeRO のパフォーマンスをさらに向上させるために Chunk メカニズムを導入しました。操作の順序で連続するパラメータのセットはチャンク (チャンクはメモリ空間の連続したセクション) に格納され、各チャンクは同じサイズです。メモリを編成するチャンク方式により、PCI-e と GPU-GPU 間のネットワーク帯域幅を効率的に利用し、通信数を削減し、メモリの断片化の可能性を回避できます。
チャンク メカニズム
さらに、Colossal-AI のヘテロジニアス メモリ スペース マネージャー Gemini は、オプティマイザー状態を GPU から CPU にオフロードして、GPU メモリ使用量を節約することをサポートしています。 。 GPU メモリと CPU メモリ (CPU DRAM または NVMe SSD メモリで構成される) を同時に使用して、単一の GPU メモリの壁の制限を突破し、トレーニング可能なモデルの規模をさらに拡大できます。
ZeRO Gemini を通じてハードウェアのモデル能力を向上させる
Flash AttendanceLDM (潜在拡散モデル)合格 マルチモーダル トレーニングを実現するためにモデル アーキテクチャにクロス アテンション (クロス アテンション レイヤー) を導入すると、拡散モデルはクラス条件、テキストから画像、レイアウトから画像をより柔軟にサポートできるようになります。ただし、クロスアテンション レイヤーでは、元の拡散モデルの CNN レイヤーと比較して計算オーバーヘッドが追加され、トレーニング コストが大幅に増加します。
Flash アテンション メカニズムを導入することで、Colossal-AI はアテンションの速度を 104% 向上させ、エンドツーエンド トレーニングのピーク ビデオ メモリを 23% 削減することに成功しました。 。フラッシュ アテンションは、ロング シーケンス アテンションの高速化バージョンです。フラット化は、GPU 高帯域幅メモリ (HBM) 間のメモリ読み取り/書き込みの数を減らすために使用されます。フラッシュ アテンションは、ブロック スパース アテンションの近似アテンション アルゴリズムも設計します。既存のアテンションよりも高速です。おおよその注意方法。
Colossal-AI は、FP16 やアクティベーション チェックポイントなどの一般的な最適化テクノロジも統合します。たとえば、チェックポイントのアクティブ化は、メモリと計算を交換することによって機能します。これは、逆方向計算のために計算グラフ全体のすべての中間アクティベーションを保存することを回避し、チェックポイント部分に中間アクティベーションを保存せず、代わりにバックワード パスで再計算することで、ビデオ メモリをさらに削減します。一方、FP16 は、精度に影響を与えることなく、元の 32 ビット浮動小数点数演算を 16 ビットに変換し、ビデオ メモリの使用量を削減し、計算効率を向上させます。
一般的な PyTorch オープン ソース プロジェクトとは異なり、現在のホット安定版の拡散は PyTorch Lightning に基づいて構築されています。 PyTorch Lightning は、人気の深層学習フレームワーク PyTorch にシンプルで使いやすく、柔軟で効率的な高レベルのインターフェイスを提供し、大多数の AI 研究者にシンプルで使いやすい高レベルの抽象化を提供します。学習実験が読みやすく再現しやすく、GitHub で公開されています。20.5k スターが収穫されました。
PyTorch Lightning の招待により、Colossal-AI は PyTorch Lightning の公式大規模モデル ソリューションとして統合されました。 2 つの強力な組み合わせのおかげで、AI 研究者は拡散モデルをより効率的にトレーニングして使用できるようになりました。安定した拡散モデルのトレーニングを例にとると、ほんの少量のコードですぐに開始できます。
from colossalai.nn.optimizer import HybridAdam from lightning.pytorch import trainer class MyDiffuser(LightningModule): ... def configure_sharded_model(self) -> None: # create your model here self.model = construct_diffuser_model(...) ... def configure_optimizers(self): # use the specified optimizer optimizer = HybridAdam(self.model.parameters(), self.lr) ... model = MyDiffuser() trainer = Trainer(accelerator="gpu", devices=1, precision=16, strategy="colossalai") trainer.fit(model)
Colossal-AI と PyTorch Lightning は、OPT や HuggingFace などの人気モデルやコミュニティに対して優れたサポートと最適化も提供します。
Colossal-AI 少ないリソースで短期間のトレーニングで独自のスタイルのモデルを生成したいというユーザーのニーズに応えるために、Colossal-AI は、オープンソースの HuggingFace に基づく安定拡散モデルの重みを微調整する機能。ユーザーは、データローダーを変更して独自の微調整されたデータセットをロードし、トレーニング前の重みを読み取るだけで済みます。パラメータ設定の yaml ファイルを変更してトレーニング スクリプトを実行するだけで、パーソナル コンピュータ上で独自のパーソナライズされたモデルを微調整することができます。
model: target: ldm.models.diffusion.ddpm.LatentDiffusion params: your_sub_module_config: target: your.model.import.path params: from_pretrained: 'your_file_path/unet/diffusion_pytorch_model.bin' ... lightning: trainer: strategy: target: pytorch_lightning.strategies.ColossalAIStrategy params: ... python main.py --logdir /your_log_dir -t -b config/train_colossalai.yaml
Colossal-AI は、ネイティブの安定した拡散推論パイプラインもサポートしています。トレーニングまたは微調整が完了したら、ディフューザー ライブラリを直接呼び出して、保存されたモデル パラメーターをロードするだけです。推論には他の変更が必要ないため、新しいユーザーは推論プロセスに慣れることが容易になり、元のフレームワークの使用に慣れているユーザーはすぐに使い始めることができます。
from diffusers import StableDiffusionPipeline pipe = StableDiffusionPipeline.from_pretrained( "your_ColoDiffusion_checkpoint_path" ).to("cuda") image = pipe('your prompt', num_inference_steps=50)["sample"][0] image.save('file path')
上記の推論プロセスによって生成された成果物
Diffusion に代表される AIGC トレーニング最適化における上記のブレークスルーモデル時代の一般的な深層学習システムである大規模な Colossal-AI に基づいており、効率的な多次元自動並列処理、異種メモリ管理、大規模な最適化ライブラリを通じて、AI 大規模モデルのトレーニングと推論の効率的かつ迅速な展開を実現します。適応型タスクスケジューリングなどを実現し、AI大規模モデルの適用コストを削減します。 Colossal-AIはオープンソース以来、GitHubやPapers With Codeのホットリストで何度も世界1位にランクされており、数万のスターを擁する多くのスターオープンソースプロジェクトとともに国内外で注目を集めています。国際的な専門家による厳格な審査の後、Colossal-AI は、SC、AAAI、PPoPP などの主要な国際 AI および HPC カンファレンスの公式チュートリアルとして選ばれました。
Colossal-AI アプリケーション: より優れたタンパク質構造予測ソリューション
Colossal-AI 関連ソリューションは、自動運転、クラウド コンピューティング、小売業での使用に成功しています。 、医療、チップ、その他の業界の有名メーカーによって実装され、広く賞賛されています。たとえば、生物医学産業のタンパク質構造予測モデル AlphaFold では、Colossal-AI に基づく最適化ソリューション FastFold が、単一の GPU で推定できる最大アミノ酸配列長を 10,000 まで超えることに成功し、タンパク質の 99.9999% をカバーしました。ラップトップ コンピュータのみ。民生用グラフィック カードはタンパク質の 90% を分解できます。これにより、トレーニングと推論のプロセス全体を並行してさらに加速することができ、多くの新薬研究開発企業の開発プロセスの短縮と研究開発コストの削減に貢献してきました。
オープンソース アドレス:
https://github.com/hpcaitech/ColossalAI
以上が普及の事前トレーニングのコストは 6.5 倍、微調整ハードウェアのコストは 7 倍に削減されます。 Colossal-AI の完全なオープンソース ソリューションは、低コストで AIGC 業界の実装を加速しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。