2024年初頭のキング爆弾として、ソラの出現は追いつくための新たな目標を設定しました。ヴィンセントビデオのすべての研究者は、ソラの効果を最短時間で再現したいと考えています。 OpenAIが公開した技術レポートによると、Soraの核心技術ポイントの一つは、視覚データをパッチの統一された表現形式に変換することであり、Transformerと拡散モデルの組み合わせにより、優れたスケール特性を発揮するという。報告書が発表された後、SoraのコアR&Dメンバーであるウィリアム・ピーブルズ氏とニューヨーク大学のコンピュータサイエンスの助教授である謝彩寧氏が共著した論文「トランスフォーマーによるスケーラブルな拡散モデル」が多くの研究者の注目を集めました。私たちは、この論文で提案された DiT アーキテクチャを突破口として、Sora を再現するための実現可能な方法を模索したいと考えています。 最近、シンガポール国立大学の You Yang 氏のチームによってオープンソース化された OpenDiT と呼ばれるプロジェクトにより、DiT モデルのトレーニングと展開に関する新しいアイデアが生まれました。 OpenDiT は、テキストからビデオへの生成やテキストから画像への生成を含む DiT アプリケーションのトレーニングと推論の効率を向上させるために特別に設計された、使いやすく、高速で、メモリ効率に優れたシステムです。 プロジェクトアドレス: https://github.com/NUS-HPC-AI-Lab/OpenDiT OpenDiTメソッドの紹介OpenDiT は、Colossal-AI を搭載した Diffusion Transformer (DiT) の高性能実装を提供します。トレーニング中、ビデオと条件情報はそれぞれ対応するエンコーダーに DiT モデルの入力として送られます。その後、拡散法を使用してトレーニングとパラメータ更新が行われ、最後に更新されたパラメータが EMA (指数移動平均) モデルに同期されます。推論段階では、EMA モデルを直接使用し、条件情報を入力として受け取り、対応する結果を生成します。 画像出典: https://www.zhihu.com/people/berkeley-you-yang OpenDiT は、ZeRO 並列戦略を使用して DiT モデル パラメータを複数のマシンに分散し、最初にビデオ メモリへの負荷を軽減します。パフォーマンスと精度のより良いバランスを実現するために、OpenDiT は混合精度トレーニング戦略も採用しています。具体的には、モデル パラメーターとオプティマイザーは、更新の精度を確保するために float32 を使用して保存されます。モデルの計算プロセス中に、研究チームは、モデルの精度を維持しながら計算プロセスを高速化するために、DiT モデルに float16 と float32 の混合精度方式を設計しました。 DiT モデルで使用される EMA メソッドは、モデル パラメータの更新を平滑化する戦略であり、モデルの安定性と一般化能力を効果的に向上させることができます。ただし、パラメータの余分なコピーが生成され、ビデオ メモリの負担が増加します。ビデオメモリのこの部分をさらに削減するために、研究チームは EMA モデルを分割し、異なる GPU に保存しました。トレーニング プロセス中、各 GPU は担当する EMA モデル パラメータを計算して保存するだけでよく、各ステップの後に ZeRO が更新を完了するのを待って同期更新を実行します。 ファストシーケンス DiT などの視覚生成モデルの分野では、長いシーケンスの効率的なトレーニングと低レイテンシの推論にはシーケンスの並列処理が不可欠です。 しかし、DeepSpeed-Ulysses や Megatron-LM Sequence Parallelism などの既存の方法をこのようなタスクに適用すると、シーケンス通信が多すぎるか、小規模なシーケンス並列処理の処理効率が不足するかのいずれかの制限に直面します。 この目的のために、研究チームは、大規模なシーケンスと小規模な並列処理に適した新しいタイプのシーケンス並列処理である FastSeq を提案しました。 FastSeq は、各トランスフォーマー レイヤーに 2 つの通信演算子のみを使用することでシーケンス通信を最小限に抑え、AllGather を活用して通信効率を向上させ、非同期リングを戦略的に採用して AllGather 通信と qkv 計算を重ね合わせることでパフォーマンスをさらに最適化します。 オペレータの最適化 adaLN モジュールは、条件情報をビジュアル コンテンツに統合するために DiT モデルに導入されています。この操作はモデルのパフォーマンスを向上させるために重要ですが、要素ごとの操作も大量に発生し、モデル内で頻繁に呼び出されるため、全体的な計算効率が低下します。この問題を解決するために、研究チームは、複数の操作を 1 つに統合し、計算効率を高め、視覚情報の I/O 消費を削減する効率的な Fused adaLN カーネルを提案しました。 画像出典: https://www.zhihu.com/people/berkeley-you-yang つまり、OpenDiT には次のようなパフォーマンス上の利点があります。 1. GPUで最大80%の高速化、50%のメモリ節約
2. FastSeq: 新しいシーケンス並列アプローチ
3. 使いやすい
4. テキストから画像、テキストからビデオを生成する完全なパイプライン
インストールと使用方法OpenDiT を使用するには、まず前提条件をインストールします。
例を実行するには、Anaconda を使用して新しい環境 (Python >= 3.10) を作成することをお勧めします。 ColossalAIをインストールします: OpenDiT をインストールします。 (オプションですが推奨) トレーニングと推論を高速化するためのライブラリをインストールします。 画像生成 次のコマンドを実行して、DiT モデルをトレーニングできます。 デフォルトでは、すべての加速方法は無効になっています。トレーニング プロセスの重要な要素の詳細は次のとおりです。
推論に DiT モデルを使用する場合は、次のコードを実行し、チェックポイント パスを独自のトレーニング済みモデルに置き換えることができます。 ビデオ生成 次のコマンドを実行して、ビデオ DiT モデルをトレーニングできます。 DiT モデルを使用してビデオ推論を実行するコードは次のとおりです。 DiT 再生結果OpenDiT の精度を検証するために、研究チームは OpenDiT の origin メソッドを使用して DiT をトレーニングし、ImageNet でモデルを最初からトレーニングし、8xA100 で 80,000 ステップを実行しました。トレーニングされた DiT によって生成された結果をいくつか示します。 この損失は、DiT の論文に記載されている結果とも一致しています。 上記の結果を再現するには、train_img.py のデータセットを変更し、次のコマンドを実行する必要があります。 興味のある読者はプロジェクトのホームページにアクセスして、研究の詳細を知ることができます。 |
<<: LLaMa 3はGPT-4を目指し、ジェミニから教訓を得て7月に延期される可能性あり
[[349269]] 2020年に世界的パンデミックが発生し、世界が完全にひっくり返る前から、人工知...
8月9日、Microsoft Azureは企業向けにクラウドベースのサービスと機能を多数提供開始しま...
サイバー攻撃の性質と標的が多様化するにつれて、サイバーセキュリティの専門家が脆弱性に対処する方法を決...
AIOps (IT 運用のための人工知能)、つまりインテリジェントな運用と保守は、人工知能の機能を運...
Zhihu で質問を見ました: WeChat の赤い封筒のランダム アルゴリズムはどのように実装さ...
Bilibiliが科学春節祭-スーパーサイエンス祭を開催すると聞きました。この興奮を味わうには、現地...
昨年の今頃、Red Stone は機械学習の非常に優れた実践ガイドブック「Hands-On Mach...
サプライ チェーンは、生産におけるあらゆるリンクの源です。原材料から製造、流通まで、各ステップで最も...
ニシャ・アーヤ著翻訳者 | ブガッティレビュー | Chonglou生成 AI には現在どのような機...
データの不足から現在では大量のデータが存在するまで、近年では利用可能なデータの量が飛躍的に増加し、ビ...
多関節ロボットは、多関節アームロボットまたは多関節ロボットアームとも呼ばれ、今日の産業分野で最も一般...
著者 | 湘湘天志 張波 他Twins は Meituan とアデレード大学が提案した視覚的注意モデ...