OpenAIのSoraモデルの仕組み
(factorialfunds.com)- Sora(ソラ)はDiffusion Transformers(DiT)とLatent Diffusionをベースとしており、モデルと学習データセットを大規模に拡張している
- Soraは動画モデルをスケールさせることに価値があることを示しており、大規模言語モデル(LLM)と同様に、さらなるスケーリングがモデルを急速に改善する主要な原動力になることを示している
- Runway、Genmo、Pikaのような企業は、Soraのような動画生成モデル向けに直感的なインターフェースとワークフローを構築している
- Soraの学習には、1か月間にわたり4,200〜10,500基のNvidia H100 GPUと推定される膨大な計算資源が必要
- 推論については、SoraはNvidia H100 GPU 1基あたり1時間で最大約5分分の動画を生成できると推定される。LLMと比べると、Soraのような拡散ベースのモデルの推論は数倍高コスト
- Soraのようなモデルが広く展開されるにつれ、推論計算が学習計算を上回るようになり、「損益分岐点」は1,530万〜3,810万分の動画が生成される時点と推定される。それ以降は元の学習より推論に多くの計算が必要になる。これに対し、1日にアップロードされる動画は1,700万分(TikTok)と4,300万分(YouTube)
- TikTokとYouTubeにおけるAI生成動画の比率を考慮すると、推論向けのNvidia H100 GPUの最大需要は約72万基と推定される
背景
- Soraは拡散モデルに属する。拡散モデルは画像生成で人気のある選択肢であり、OpenAIのDALL-EやStability AIのStable Diffusionのような有名モデルがある。最近では、Runway、Genmo、Pikaのような企業が動画生成を探求しており、これらも拡散モデルを活用している可能性が高い。
- 拡散モデルは、データにランダムなノイズを加える過程を段階的に逆転させることで、画像や動画のようなデータを生成する方法を学習する生成系機械学習モデルの一種である。これらのモデルは純粋なノイズパターンから始め、徐々にノイズを除去してパターンを洗練し、理解可能で詳細な出力へと変換する。
Soraの技術的詳細
-
OpenAIはSoraの発表とともに技術レポートを公開した。このレポートは詳細には乏しいものの、その設計は「Scalable Diffusion Models with Transformers」という研究論文から大きな影響を受けているように見える
-
この論文の著者らは、画像生成のためのTransformerベースのアーキテクチャであるDiT(Diffusion Transformersの略)を提案した
-
Soraはこの研究を動画生成へと拡張したものと見られる。Soraの技術レポートとDiT論文を組み合わせることで、Soraモデルがどのように動作するかについてかなり正確な像を得ることができる
-
Soraには3つの重要な要素がある:
- ピクセル空間で動作せず、代わりに潜在空間で拡散を行う(潜在拡散)
- Transformerアーキテクチャを使用する
- 非常に大規模なデータセットを使っているように見える
-
潜在拡散
- 最初のポイントである潜在拡散を理解するために、画像生成を考えると
- 各ピクセルを拡散で生成することもできるが、これは非常に非効率である(例えば、512x512の画像は262,144ピクセルを持つ)
- その代わりに、ピクセルをある程度圧縮された潜在表現へマッピングし、このよりコンパクトな潜在空間で拡散を行い、最後に潜在空間からピクセル空間へデコードし直すことができる
- このマッピングは計算複雑性を大幅に改善する。512x512 = 262,144ピクセルに対して拡散過程を実行する代わりに、例えば64x64 = 4,096個の潜在表現を生成するだけでよい
- このアイデアは「High-Resolution Image Synthesis with Latent Diffusion Models」という研究論文の中核的ブレークスルーであり、Stable Diffusionの基盤となった。
- ピクセルから潜在表現へのマッピング例は、Sora技術レポートから取得した画像である。
- DiTとSoraはどちらもこのアプローチを利用している。Soraでは追加の考慮事項として、動画には時間次元がある。動画は時間順に並んだ画像、すなわちフレームで構成される
- Sora技術レポートでは、ピクセルから潜在空間へマッピングするエンコード段階が、空間方向(各フレームの幅と高さを圧縮すること)と時間方向(時間軸に沿って圧縮すること)の両方で行われているように見える
- 最初のポイントである潜在拡散を理解するために、画像生成を考えると
-
Transformer
- 2つ目のポイントとして、DiTとSoraはどちらも一般的によく使われるU-Netアーキテクチャの代わりに、素のTransformerアーキテクチャを使用している
- これは重要で、DiT論文の著者らはTransformerの利用が予測可能なスケーリングをもたらすと観察しており、より多くの学習計算を投入すると(モデルをより長く学習する、モデルをより大きくする、あるいはその両方)、性能が向上することを意味する
- このスケーリング挙動は、いわゆるスケーリング則として定量化できる重要な性質であり、大規模言語モデル(LLM)や他モダリティにおける自己回帰モデルの文脈ですでに研究されてきた
- より良いモデルを得るためにスケールを活用できることは、LLMにおける急速な進歩の主要な原動力の1つだった
- 画像や動画生成にも同じ性質が存在するため、ここでも同じスケーリングのレシピが機能すると期待できる
-
データセット
- モデル学習に必要な最後の重要要素はラベル付きデータであり、これはSoraのようなモデルを訓練するうえで最も重要な秘訣だと考えられている
- Soraのようなテキスト・トゥ・ビデオモデルを学習させるには、動画とそのテキスト説明のペアが必要になる
- OpenAIは自社のデータセットについて多くを語っていないが、それが非常に大規模であることは示唆している: 「インターネット規模のデータで学習することによって汎用的能力を獲得する大規模言語モデルから着想を得た。」
- OpenAIはまた、画像に詳細なテキストラベルを付与する方法も公開しており、これはDALLE-3データセットの収集に使われた
- 一般的なアイデアは、データセットのラベル付き部分集合でキャプショナーモデルを訓練し、そのキャプショナーモデルを使って残りを自動ラベリングするというもの
- Soraのデータセットにも同じ技術が適用されたように見える
インパクト
- Soraはいくつかの重要な影響をもたらすと考えられる。以下でその影響を簡単に見ていく
- 動画モデルの実用化の始まり
- Soraが生成できる動画の品質は、細部のレベルだけでなく時間的一貫性の面でも明らかなブレークスルーである(例えば、物体が一時的に遮られたときにその永続性を正しく扱い、水面の反射を正確に生成できる)
- いまや動画の品質は、特定の種類のシーンであれば実際のアプリケーションで使える水準に達したと考えられる
- 例えば、Soraは近いうちに一部のストック動画素材の利用を置き換える可能性がある
- ただし、依然として残る課題もある:
- 現在のSoraモデルがどの程度制御可能なのかは明確ではない
- モデルはピクセルを出力するため、生成された動画の編集は難しく時間がかかる
- また、これらのモデルを有用にするには、直感的なユーザーインターフェース(UI)とワークフローの構築も必要になる
- Runway、Genmo、Pikaなどの企業は、すでにこうした問題に取り組んでいる
- 動画モデルの急速な進歩が予想される
- DiT論文の中核的な洞察の1つは、モデル品質が追加の計算によって直接改善されるという点であり、これは前述の通りである
- これはLLMで観測されたスケーリング則に似ている
- したがって、これらのモデルがますます多くの計算資源で学習されるにつれて、動画生成モデルの品質にも急速なさらなる進歩が期待できる
- Soraはこのレシピが実際に機能することを明確に示しており、OpenAIをはじめ他社もこの方向にさらに注力すると予想される
- 合成データ生成とデータ拡張
- ロボティクスや自動運転車のような分野では、データは本質的に希少である。インターネット上には、作業するロボットや走行する車両の映像が豊富にあるわけではない。
- 一般に、こうした問題にはシミュレーションで訓練する方法、あるいは現実世界で大規模にデータを収集する方法(またはその両方の組み合わせ)で取り組んできた
- しかし、どちらのアプローチも、シミュレーションデータがしばしば非現実的であるという問題に直面する
- 現実世界のデータを大規模に収集するのは高コストであり、まれな事象に関する十分なデータを集めるのは難しい
- Soraのようなモデルはここで非常に有用になり得る。完全な合成データを直接生成するために使えると考えられる
- Soraは、既存動画を別の見た目へ変換するデータ拡張にも使える
- 上で説明した2つ目のポイントは、Soraが森林の道を走る赤い車の動画を、鬱蒼としたジャングルの風景へ変換する例を示している
- 同じ技術を使って、シーンを昼から夜へ再レンダリングしたり、天候条件を変えたりすることも想像できる
- シミュレーションとワールドモデル
- いわゆるワールドモデルを学習することは、有望な研究方向である
- 十分に正確であれば、こうしたワールドモデルは、内部でエージェントを直接訓練したり、計画や探索に使ったりできる。
- Soraのようなモデルは、動画データから現実世界がどのように機能するかについての基本的なシミュレーションを暗黙的に学習しているように見える
- このような「創発的シミュレーション」には現時点で欠陥があるが、それでも興味深い。動画からこうしたワールドモデルを大規模に学習できるかもしれないことを示唆している
- さらに、Soraは液体、光の反射、布や髪の動きのような非常に複雑なシーンをシミュレートできるように見える。
- OpenAIは技術レポートのタイトルを「Video generation models as world simulators」としており、これをモデルの最も重要な側面と見なしていることを明確にしている。
- ごく最近、DeepMindは動画ゲームの映像だけで学習することで似た効果を示したGenieモデルを披露した。モデルはこれらのゲームをシミュレートする方法を学び(新しいものも作り出し)、
- この場合、モデルは直接観測せずとも行動に条件付けする方法を学習する
- 言い換えれば、目標はこうしたシミュレーション内で直接学習を可能にすることにある。
- この2つを組み合わせることで、SoraやGenieのようなモデルは、現実世界のタスクで具現化されたエージェント(例えばロボティクス)を大規模に訓練するうえで非常に有用になる可能性がある
- しかし限界もある。これらのモデルはピクセル空間で訓練されるため、風が草の葉をどう動かすかのような、実行中のタスクにはまったく関係がないかもしれない細部までモデル化してしまう
- 潜在空間は圧縮されているが、ピクセルへ再マッピングできなければならないため多くの情報を保持する必要があり、したがってこの潜在空間で効率的に計画できるかどうかは不明である
計算量の推定(Compute Estimates)
- Factorial Fundsでは、学習と推論に使われた計算量を検討することを好む。これは将来必要となる計算量の予測に役立つため有用である
- しかし、Soraの学習に使われたモデル規模やデータセットについての詳細がほとんどないため、これらの数値を推定するのも難しい
- したがって、このセクションの推定値には非常に大きな不確実性があるため、その点を念頭に置いて参照する必要がある
- (推定値にすぎないため、この部分は省略します)
3件のコメント
内容に加えて、個人的に知っていたTMIも補足します。
DiT と Sora はどちらも、一般的によく使われる U-Net アーキテクチャの代わりに、素の Transformer アーキテクチャを使うとありましたが、U-Net と Transformer は人工知能でそれぞれどんな役割をするのでしょうか? すごく混乱しています……
まるで宇宙人ですね、すごい……