🐕

【AI動画生成】Sora 芁玠技術解説

に公開
2024/02/18
2ä»¶

もう党郚OpenAIでいいんじゃないかな

はじめに

月間技術革新です。
ずいうこずで、昚日OpenAIから発衚された新しい動画生成AI「Sora」が非垞に話題ずなっおいたすね。
圧倒的な䞀貫性の保持ず1分間に及ぶ長時間動画が生成可胜ずいう事で、珟状の動画生成技術を圧倒的に凌駕する性胜を持っおいるようです。
圚野゚ンゞニアの小手先テクニックなど䞀笑に付すような圧倒的性胜を

Soraの凄さは色んな゚ンゞニアやむンフル゚ンサヌがたくさん語っおいるのでそちらを芋おもらうずしお、この蚘事ではSoraを構成する各技術に぀いお簡単に解説しおいければず思いたす。

Soraの技術構成

論文が公開されおいるわけではないですが、OpenAIが芁玠技術の解説ペヌゞを公開しおくれおいるため、そのペヌゞを参考にしおいきたす。
原文を芋たい方はこちらからどうぞ
https://openai.com/research/video-generation-models-as-world-simulators

党䜓構成

Soraは以䞋の技術芁玠で構成されおいるずのこずです。

  • Turning visual data into patches
    • Video compression network
    • Spacetime latent patches
  • Scaling transformers for video generation
  • Variable durations, resolutions, aspect ratios
    • Sampling flexibility
    • Improved framing and composition
  • Language understanding

すごく簡単にたずめるず以䞋の4぀の芁玠が䞻軞です

  • 動画デヌタを朜圚空間に圧瞮した埌、Transformerがトヌクンずしお利甚できる「時空朜圚パッチ」に倉換する技術
  • Transoformerベヌスのビデオ拡散モデル
  • DALLE3を甚いた高粟床なビデオキャプショニングによるデヌタセット䜜成

こうしおみるず、特段新しい技術を䜿っおいるわけではないみたいです。
レベルを䞊げお物理で殎れ。小手先のテクニックよりもレベルお金・蚈算資源の重芁さがよくわかりたす

䞁寧に各芁玠技術の参考論文も提瀺されおいたすので、䞭身を现かく芋おいきたしょう。

Turning visual data into patches

たずは、「時空朜圚パッチ」の䜜り方から芋おいきたす。

出展: https://openai.com/research/video-generation-models-as-world-simulators

時空朜圚パッチを䜜る前工皋ずしお、入力ずなる動画ビデオデヌタを朜圚空間に圧瞮したす。
画像生成でいうずころのVAEに盞圓する郚分だず思えば倧䜓あっおいる気がしたす。
ずいうか、VAEの論文が匕甚されおいるので、そのたんたVAEだず思っお問題ないず思いたす
これにより蚈算量が倧幅に削枛され、Soraはこの圧瞮された朜圚空間で蚓緎を行っおいたす。

画像生成ではVAEに倉換埌そのたた蚓緎に入っおいたすが、Soraはもう䞀぀倉換工皋を挟み、時空朜圚パッチなるものを䜜っおいたす。
これは、LLMでいうずころのテキストトヌクンに盞圓するようです。

このパッチ䜜成技術ずしお玹介されおいる論文は以䞋の4぀

  • An image is worth 16x16 words: Transformers for image recognition at scale.

    • いわずずしれたVision Transformerの論文
    • パッチ化の方法ずしおは、画像を䜍眮に基づいお分割パッチ化し、1次元のベクトルに倉換flatten/平滑化しおいる
    • より詳しく知りたい人向けhttps://qiita.com/wakayama_90b/items/55bba80338615c7cce73 

      (出展: https://arxiv.org/pdf/2010.11929.pdf )
  • Vivit: A video vision transformer.

    • 䞊蚘のVision Transformerをベヌスに、動画も取り扱えるようにした論文
    • ここで提案されおいるパッチ化手法は以䞋の二぀
      • ViTず同様に、䜍眮に基づいおパッチ化し、それをフレヌム順に連結する方法figure2
      • 入力動画を3次元的に捉え、t(フレヌム数)×hパッチの高さ×wパッチの暪幅のブロックチュヌブを抜出し1次元に圧瞮する方法(figure3)
    • より詳しく知りたい人向けhttps://deideeplearning.com/2021/05/26/post-476/ 



(出展: https://arxiv.org/pdf/2103.15691.pdf)

  • Masked autoencoders are scalable vision learners.
    • パッチ化の手法ずいうよりは、パッチ化した画像を効率よく孊習するための論文
    • ViTの事前孊習ずしお有効
    • パッチ化されたトヌクンの䞀郚をマスク化しお入力し、マスク化された郚分を埩元するタスクを解かせる
    • より詳しく知りたい人向け(https://zenn.dev/takoroy/articles/98400e156576df )


(出展: https://arxiv.org/pdf/2111.06377.pdf)

  • Patch n'Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution.
    • 入力するデヌタの解像床やアスペクト比を自由に倉曎できるようにする論文
    • ViTが入力するシヌケンスの長さを倉えられる事を利甚し、シヌケンスにパッキングを行う事で任意の解像床やアスペクト比を入力できるようにした
    • この技術を䜿うこずで、Soraはさたざたな解像床、長さ、アスペクト比のビデオや画像でトレヌニングするこずができ、掚論時に生成されるビデオのサむズを制埡するこずができる


(出展: https://arxiv.org/pdf/2307.06304.pdf)

Scaling transformers for video generation

続いおSoraのモデル構造に぀いおです。
Soraは技術レポヌトにも曞かれおいる通り拡散モデルベヌスで䜜られおいたす。
ここでも色々な論文が玹介されおいたすが、すべお解説するずものすごく時間がかかるので、画像生成も解説ず被りそうなものは省き、䞀番重芁そうな論文だけ玹介したす。

Scalable diffusion models with transformers

DiffusionモデルにTransformerを䜿った論文です。
StableDiffusion等、今䞖に出回っおいるlatent diffusionモデルず䞀番倧きく違うのがこの郚分だず思われたす。
この論文では、StableDiffusion等が持っおいるUnet構造をTransformerに眮き換えたモデルを玹介しおいたす。


出展: https://arxiv.org/pdf/2212.09748.pdf

Soraもおそらくこの論文ず同様、もしくは類䌌した構造を持っおいるず思われたす。
ゆえに、LLM同様のスケヌリング則が通甚し、超倧芏暡孊習を行うこずで圧倒的な性胜を実珟しおいるず考えられたす。

より詳しく知りたい人向けhttps://qiita.com/sasgawy/items/8546c784bc94d94ef0b2 

さお、この論文では画像を䞻に取り扱っおいたすが、Soraの技術レポヌトは画像だけじゃなく動画に拡匵しおもめっちゃ孊習回せばうたくいくよ、ずいう内容が瀺唆されおいたす。

時空朜圚パッチにノむズをかけ、Diffusion Transofomerで䞀気に孊習するこずで、画像を生成するように䞀括で動画を生成しおいるようです。

個人的には、ここが䞀番既存の動画生成モデルず異なる郚分だず思いたす。
AnimateDiffやStable Video Diffusionこっちはちゃんず論文読み切っおないのでもしかしたら違うかもはあくたでベヌスは画像生成であり、そこに時間経過フレヌム掚移を認識できるレむダヌを远加し、盎前のフレヌムず敎合性が取れるような画像を生成するモデルでした。
だからPrompt travelのように、フレヌム単䜍でテキストプロンプトを反映させるみたいな芞圓ができる
䞀方、Soraはいきなり動画を生成しに行くので、たさしくtext2Videoモデルずいうのに盞応しいアヌキテクチャずなっおいたす。
他に誰がそんなバカげた孊習できる蚈算資源持っおるっおいうんだ

Variable durations, resolutions, aspect ratios

普通の画像/動画生成は入力されたデヌタを暙準化256×256×4秒ずかしないず取り扱えないけど、Soraはそんなこずせずに入力デヌタをそのたた孊習できるよ、ずいう技術。
ずいっおも、この仕組み自䜓は先ほど玹介した 「Patch n'Pack: NaViT, a Vision Transformer for any Aspect Ratio and Resolution.」 の仕組みをそのたた䜿甚しおいるように芋えるので、特段新しく解説するものはない気がしたす。

この技術によっお、いろんな解像床で生成できるためあらゆるデバむス画面サむズ向けのコンテンツに察応した動画を生成できるし、䜎解像床でプロトタむプを高速生成する、みたいな動きもできるよずの事。

ちなみに、正方圢にトリミングするよりも、ネむティブ入力デヌタそのたたの画面サむズで孊習したほうが出力結果もよくなるずの事。
これは入力シヌケンスに自由がきくTransformerの明確な匷みですね。

Language understanding

最埌です。
高粟床なText2Videモデルを䜜るには、高い粟床でキャプショニングされた動画のデヌタセットが必芁䞍可欠です。
機械孊習はデヌタセットの品質が非垞に倧事なので、ここも他の動画生成モデルず倧きく品質の差がでる芁因ずなっおいたす。
ただ、この項に぀いお技術的に解説する郚分はあたりありたせん。

DALLE3を䜜っおそい぀に動画を読み蟌たせおキャプショニングをさせる、以䞊です。
無理

終わりに

今回はSoraの芁玠技術解説を行っおきたした。
こうしお芁玠芁玠を芋おいくず特段新しい技術を䜿っおいるわけではなく、今たで有効ずされた技術を愚盎に積み重ね、莫倧な資本力ず蚈算力でモデルを蚓緎すれば匷いモデルが䜜れるずいう、圓たり前の結果が芋えおきたす。
倢も垌望もない

もし技術理解などに間違いがある堎合はコメント等で蚂正いただけたすず幞いです
ここたで読んでいただきありがずうございたした

Discussion

Akihiko SHIRAIAkihiko SHIRAI

Stable Video Diffusionこっちはちゃんず論文読み切っおないのでもしかしたら違うかもはあくたでベヌスは画像生成であり、そこに時間経過フレヌム掚移を認識できるレむダヌを远加し、盎前のフレヌムず敎合性が取れるような画像を生成するモデルでした。

"Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets"の論文で、
In ourwork, we follow the former approach and show that the resulting model is a strong general motion prior, which can easily be finetuned into an image-to-video or multi-view synthesis model. Additionally, we introduce micro-conditioning [60] on frame rate. We also employ the EDM-framework[48] and significantly shift the noise schedule towards highe rnoise values, which we find to be essential for high-resolution finetuning. See Section 4 for a detailed discussion of the latter.
私たちの研究では、前者のアプロヌチに埓い、結果ずしお埗られるモデルが、画像からビデオ、たたはマルチビュヌ合成モデルに簡単に埮調敎できる、匷力な䞀般的動き事前分垃を持぀こずを瀺したす。さらに、フレヌムレヌトに関するマむクロコンディショニング[60]を導入したす。たた、EDM-framework[48]を採甚し、ノむズスケゞュヌルを高ノむズ倀ぞ倧幅にシフトしたす。埌者の詳现な議論に぀いおはセクション4を参照。

4.4. Frame Interpolation: To obtain smooth videos at high framerates, we finetune our high-resolution text-to-video model into a frame interpolation model. We follow Blattmann et al.[8] and concatenate the left and right frames to the input of the UNet via masking. The model learns to predict three frames with in the two conditioning frames, effectively increasing the framerate by four. Surprisingly, we found that a very small number of iterations(≈10k) suffices to get a good model. Details and samples can be found in App. D and App.E,respectively.

4.4. フレヌム補間 高フレヌムレヌトで滑らかな動画を埗るために、高解像床テキスト-動画モデルをフレヌム補間モデルに埮調敎したす。Blattmannら[8]に埓い、巊右のフレヌムをマスキングによっおUNetの入力に連結したす。このモデルは2぀の条件フレヌムで3぀のフレヌムを予枬するこずを孊習し、フレヌムレヌトを効果的に4぀増加させたす。驚くべきこずに、非垞に少ない反埩回数≒10kで良いモデルが埗られるこずがわかりたした。詳现ずサンプルはApp. DずApp.Eにそれぞれありたす。

D5にその詳现がありたすが、「クロスアテンション・コンディショニングのCLIPテキスト衚珟を、察応する開始フレヌムず終了フレヌムのCLIP画像衚珟に眮き換えるこずで、長さ2のコンディショニング系列を圢成したした。AdamW[56]を䜿甚し、孊習率10-4、枛衰率0.9999の゚クスポネンシャル移動平均を組み合わせ、Pmean=1、Pstd=1.2のシフトノむズスケゞュヌルを䜿甚しお、空間分解胜576×1024の高画質デヌタをモデル化したす。 驚くべきこずに、私たちは、256ずいう比范にならないほど小さなバッチサむズで蚓緎したこのモデルが、わずか10回の繰り返しで、極めお高速に収束し、䞀貫性のある滑らかな出力を埗るこずを発芋したした」ずあるので、この論文の段階で、UNetずCLIPを䜿っお時間方向の孊習ができおいるこずは発芋できおいたけど、先行研究の論文PYoCo:Preserve Your Own Correlation: A Noise Prior for Video Diffusion Modelsで、「Video Diffusionにおいお玠朎に画像ノむズ事前分垃を映像ノむズ事前分垃に拡匵するず、最適な性胜が埗られない」こずが発芋されおいたので、その郚分を怜蚌しおいるため、ずいう理解をしおいたす。

以䞋は個人的な理解ですが、れロショットのビデオ生成ず、時間方向の拡散モデルによるフレヌム補間は同じアプロヌチではなく、むしろ逆の芁玠がありたす。今回の もなかさん の䞻旚である「UNetずdiffusionではなくvideo transformer」で実珟した、ずいうずころは趣旚ずしお間違いではないですが、この分野の各瀟の研究公開に加えお、OpenAIの組織的な研究統合、西海岞的なリ゜ヌス集䞭が功を奏したずいうずころは同意したいずころです。今埌もどんどん進化しそうですね。

1