テキストからビデオへのモデルの深掘り
'Deep dive into the text-to-video model.'
ModelScopeで生成されたビデオサンプルです。
テキストからビデオへの変換は、生成モデルの驚くべき進歩の長いリストの中で次に来るものです。その名前の通り、テキストからビデオへの変換は、時間的にも空間的にも一貫性のある画像のシーケンスをテキストの説明から生成する、比較的新しいコンピュータビジョンのタスクです。このタスクは、テキストから画像への変換と非常によく似ているように思えるかもしれませんが、実際にははるかに難しいものです。これらのモデルはどのように動作し、テキストから画像のモデルとはどのように異なり、どのようなパフォーマンスが期待できるのでしょうか?
このブログ記事では、テキストからビデオモデルの過去、現在、そして未来について論じます。まず、テキストからビデオとテキストから画像のタスクの違いを見直し、条件付きと非条件付きのビデオ生成の独特の課題について話し合います。さらに、テキストからビデオモデルの最新の開発について取り上げ、これらの方法がどのように機能し、どのような能力があるのかを探ります。最後に、Hugging Faceで取り組んでいるこれらのモデルの統合と使用を容易にするための取り組みや、Hugging Face Hub内外でのクールなデモやリソースについて話します。
さまざまなテキストの説明を入力として生成されたビデオの例、Make-a-Videoより。
テキストからビデオ対テキストから画像
最近の開発が非常に多岐にわたるため、テキストから画像の生成モデルの現在の状況を把握することは困難かもしれません。まずは簡単に振り返りましょう。
わずか2年前、最初のオープンボキャブラリ、高品質なテキストから画像の生成モデルが登場しました。VQGAN-CLIP、XMC-GAN、GauGAN2などの最初のテキストから画像のモデルは、すべてGANアーキテクチャを採用していました。これらに続いて、2021年初めにOpenAIの非常に人気のあるトランスフォーマーベースのDALL-E、2022年4月のDALL-E 2、Stable DiffusionとImagenによって牽引された新しい拡散モデルの新たな波が続きました。Stable Diffusionの大成功により、DreamStudioやRunwayML GEN-1などの多くの製品化された拡散モデルや、Midjourneyなどの既存製品との統合が実現しました。
テキストから画像生成における拡散モデルの印象的な機能にもかかわらず、拡散および非拡散ベースのテキストからビデオモデルは、生成能力においてはるかに制約があります。テキストからビデオは通常、非常に短いクリップで訓練されるため、長いビデオを生成するためには計算コストの高いスライディングウィンドウアプローチが必要です。そのため、これらのモデルは展開とスケーリングが困難であり、文脈と長さに制約があります。
テキストからビデオのタスクは、さまざまな面で独自の課題に直面しています。これらの主な課題のいくつかには以下があります:
- 計算上の課題:フレーム間の空間的および時間的な一貫性を確保することは、長期的な依存関係を伴い、高い計算コストを伴います。そのため、このようなモデルを訓練することは、ほとんどの研究者にとって手の届かないものです。
- 高品質なデータセットの不足:テキストからビデオの生成のためのマルチモーダルなデータセットは希少で、しばしばスパースに注釈が付けられているため、複雑な動きのセマンティクスを学ぶのが難しいです。
- ビデオのキャプションに関する曖昧さ:モデルが学習しやすいようにビデオを記述する方法は未解決の問題です。完全なビデオの説明を提供するためには、複数の短いテキストプロンプトが必要です。生成されたビデオは、時間の経過に沿って何が起こるかを物語る一連のプロンプトやストーリーに基づいて条件付ける必要があります。
次のセクションでは、テキストからビデオへの進展のタイムラインと、これらの課題に対処するために提案されたさまざまな手法について別々に議論します。高レベルでは、テキストからビデオの作業では以下のいずれかを提案しています:
- 学習しやすいより高品質なデータセットの作成。
- テキストとビデオのペアデータなしでこのようなモデルを訓練する方法。
- より計算効率の良い方法で長く、高解像度のビデオを生成する方法。
テキストからビデオを生成する方法
テキストからビデオの生成がどのように機能し、この分野の最新の開発について見てみましょう。テキストからビデオモデルがどのように進化してきたか、テキストから画像の研究と同様の道をたどってきたか、そしてテキストからビデオ生成の特定の課題がこれまでどのように対処されてきたかを探ります。
テキストから画像のタスクと同様に、テキストからビデオ生成に関する初期の研究は数年前から始まりました。初期の研究では、主にGANとVAEベースのアプローチを使用して、キャプションに基づいてフレームを自己回帰的に生成することが主流でした(Text2FilterやTGANs-Cを参照)。これらの研究は新しいコンピュータビジョンのタスクの基盤を提供しましたが、低解像度、短距離、単一の孤立した動きに限定されています。
テキストからビデオへの初期モデルは、解像度、文脈、長さにおいて非常に限定されていました。画像はTGANs-Cから取得されました。
テキスト(GPT-3)と画像(DALL-E)の大規模事前学習済みトランスフォーマーモデルの成功に触発され、テキストからビデオ生成の研究はトランスフォーマーアーキテクチャを採用しました。Phenaki、Make-A-Video、NUWA、VideoGPT、CogVideoなどは、すべてトランスフォーマーベースのフレームワークを提案しています。一方、TATSなどの作品は、画像生成のためのVQGANと、フレームの順次生成のための時間依存性トランスフォーマーモジュールを組み合わせたハイブリッドな手法を提案しています。この第二の波の中で、特にPhenakiは興味深く、プロンプトのシーケンスに基づいて任意の長さのビデオを生成することを可能にしています。同様に、NUWA-Infinityは、テキスト入力から無限の画像とビデオの合成を実現するための自己回帰的な生成メカニズムを提案しており、長くてHD品質のビデオの生成が可能です。ただし、PhenakiまたはNUWAモデルは公開されていません。
Phenakiはトランスフォーマーベースのアーキテクチャを特徴としています。画像はここから取得されました。
テキストからビデオへのモデルの第三世代および現在の波は、主に拡散ベースのアーキテクチャを特徴としています。多様な、超リアルな、文脈豊かな画像生成における拡散モデルの驚異的な成功は、音声、3D、そして最近ではビデオなど、他のドメインにおける拡散モデルの一般化への関心を引き起こしました。この波のモデルは、ビデオドメインに拡散モデルを拡張したVideo Diffusion Models(VDM)によって先駆けられ、VDMに比べて大幅な効率向上が報告されるMagicVideoが提案されています。また、Tune-a-Videoは、単一のテキスト-ビデオペアで事前学習されたテキスト-イメージモデルを微調整し、動きを保持しながらビデオコンテンツを変更できるフレームワークを提案しています。テキストからビデオへの拡散モデルの連続的に拡大するリストには、Video LDM、Text2Video-Zero、Runway Gen1およびGen2、NUWA-XLなどが含まれます。
Text2Video-Zeroは、ControlNetと同様の方法で動作するテキストガイド付きのビデオ生成および操作フレームワークです。テキストの入力に基づいてビデオを直接生成(または編集)でき、テキスト-ポーズまたはテキスト-エッジデータの組み合わせ入力にも対応しています。その名前からもわかるように、Text2Video-Zeroは、対応するテキスト-ビデオデータを使用せずにトレーニング可能なモーションダイナミクスモジュールと事前学習済みのテキスト-イメージStable Diffusionモデルを組み合わせたゼロショットモデルです。Text2Video-Zeroと同様に、RunwayのGen-1およびGen-2モデルは、テキストまたは画像で説明されるコンテンツによってガイドされたビデオの合成を可能にします。これらの作品のほとんどは短いビデオクリップで訓練され、スライディングウィンドウを使用した自己回帰的な生成に依存して長いビデオを生成しますが、それにより文脈のギャップが生じます。NUWA-XLはこの問題に対処し、モデルを3376フレームでトレーニングするための「拡散オーバー拡散」メソッドを提案しています。最後に、Alibaba / DAMO Vision Intelligence LabのModelScopeやTencelのVideoCrafterなど、査読付きの学会やジャーナルには公開されていないオープンソースのテキストからビデオへのモデルやフレームワークもあります。
データセット
他のビジョン言語モデルと同様に、テキストからビデオへのモデルは通常、大規模な対応データセットのビデオとテキストの説明で訓練されます。これらのデータセットのビデオは通常、短い固定長のチャンクに分割され、しばしばいくつかのオブジェクトで孤立したアクションに限定されます。これは、計算上の制約とビデオコンテンツを意味のある方法で記述する難しさのために一部起こるものですが、マルチモーダルなビデオテキストデータセットとテキストからビデオへのモデルの開発がしばしば絡み合っていることがわかります。一部の研究では、より良く学習可能な、より汎用性のあるデータセットの開発に焦点を当てていますが、Phenakiのような作品では、テキスト-イメージのペアをテキスト-ビデオのペアと組み合わせた代替ソリューションを探求しています。Make-a-Videoは、テキスト-イメージのペアのみを使用して世界がどのように見えるかを学習し、非教示学習の方法で時空間の依存関係を学習することを提案しています。
これらの大規模データセットでは、テキスト-イメージのデータセットで見つかる問題と同様の問題が発生します。最も一般的に使用されるテキスト-ビデオデータセットであるWebVidは、10.7百万のテキスト-ビデオペア(52K時間のビデオ)からなり、関連性のないビデオの説明を含むノイズの多いサンプルがかなり存在します。他のデータセットは、特定のタスクやドメインに焦点を当てることで、この問題を克服しようとしています。たとえば、Howto100Mデータセットは、料理、手作り、ガーデニング、フィットネスなどの複雑なタスクの実行方法を段階的に説明するキャプション付きの136Mのビデオクリップから構成されています。同様に、QuerYDデータセットは、ビデオのキャプションがオブジェクトとアクションの相対的な位置を詳細に説明するようになっており、イベントの位置特定のタスクに焦点を当てています。CelebV-Textは、リアルな顔、感情、ジェスチャーを持つビデオを生成するための大規模な顔テキストビデオデータセットで、70K以上のビデオが含まれています。
Hugging Faceでのテキストから動画への変換
Hugging Face Diffusersを使用すると、Text2Video-ZeroやModelScopeなどのさまざまな事前学習済みのテキストから動画へのモデルを簡単にダウンロード、実行、微調整することができます。これらのモデルはAlibaba / DAMO Vision Intelligence Labによって提供されています。私たちは現在、Diffusersと🤗 Transformersに他の興味深い作品を統合する作業を進めています。
Hugging Faceデモ
Hugging Faceでは、最先端の研究を使用したり、拡張したりすることをより簡単にすることを目指しています。ハブにアクセスして、🤗チーム、数多くのコミュニティの貢献者、研究者が提供しているSpacesデモを見て遊んでみましょう。現時点では、VideoGPT、CogVideo、ModelScopeテキストから動画、Text2Video-Zeroのデモをホストしており、今後さらに多くのデモが追加されます。これらのモデルで何ができるかを見るために、Text2Video-Zeroのデモを見てみましょう。このデモでは、テキストから動画の生成だけでなく、テキストによる動画編集やポーズ、深度、エッジの入力を使用した条件付きの動画生成など、複数の他の生成モードも可能です。
事前学習済みのテキストから動画のモデルを試すだけでなく、Tune-a-Videoトレーニングデモを使用して既存のテキストから画像へのモデルを微調整することもできます。試してみるには、ビデオをアップロードし、ビデオを説明するテキストプロンプトを入力します。トレーニングが完了すると、Tune-a-Videoコミュニティまたは独自のユーザー名の下に、公開または非公開でハブにアップロードできます。トレーニングが完了したら、デモのRunタブに移動して、任意のテキストプロンプトからビデオを生成することができます。
🤗 HubのすべてのSpacesは、クローンしてローカル環境またはデプロイメント環境で実行できるGitリポジトリです。ModelScopeデモをクローンし、必要な要件をインストールしてローカルで実行しましょう。
git clone https://huggingface.co/spaces/damo-vilab/modelscope-text-to-video-synthesis
cd modelscope-text-to-video-synthesis
pip install -r requirements.txt
python app.py
以上です!Modelscopeデモがコンピュータ上でローカルに実行されています。ModelScopeのテキストから動画モデルはDiffusersでサポートされており、数行のコードでモデルを直接読み込んで新しい動画を生成することができます。
import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
from diffusers.utils import export_to_video
pipe = DiffusionPipeline.from_pretrained("damo-vilab/text-to-video-ms-1.7b", torch_dtype=torch.float16, variant="fp16")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe.enable_model_cpu_offload()
prompt = "スパイダーマンがサーフィンしています"
video_frames = pipe(prompt, num_inference_steps=25).frames
video_path = export_to_video(video_frames)
コミュニティの貢献とオープンソースのテキストから動画へのプロジェクト
最後に、ハブにないさまざまなオープンソースのプロジェクトやモデルがあります。特筆すべきものに、Phil Wang(別名lucidrains)のImagaen、Phenaki、NUWA、Make-a-Video、Video Diffusion Modelsの非公式の実装があります。また、ExponentialMLによる興奮するプロジェクトでは、🤗 diffusersをベースにしてModelScopeテキストから動画へのモデルを微調整しています。
結論
テキストから動画への研究は急速に進展していますが、既存の研究はまだ文脈に制約があり、多くの課題に直面しています。このブログ記事では、テキストから動画への生成モデルの制約、独自の課題、現在の状況について説明しました。他のタスクのために設計されたアーキテクチャのパラダイムがテキストから動画への生成タスクで大きな進歩をもたらすこと、そしてこれが将来の研究にどのような意味を持つかを見てきました。進展は印象的ですが、テキストから画像へのモデルと比較して、テキストから動画へのモデルはまだ発展途上です。最後に、ハブや🤗 Diffusersパイプラインの一部として利用可能なデモを使用して、これらのモデルを使用してさまざまなタスクを実行する方法も示しました。
以上です!私たちは最も影響力のあるコンピュータビジョンとマルチモーダルモデルを統合し続けており、皆さんからのフィードバックをお待ちしています。コンピュータビジョンとマルチモーダル研究の最新ニュースについては、Twitterで私たちをフォローしてください:@adirik、@a_e_roberts、@osanseviero、@risingsayak、および@huggingface。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- 単一のGPUでChatgptのようなチャットボットをROCmで実行する
- より小さいほうが良いです:Xeon上で効率的な生成AI体験、Q8-Chat
- 大規模なネアデデュープリケーション:BigCodeの背後に
- Instruction-tuning Stable Diffusion with InstructPix2PixのHTMLを日本語に翻訳してください
- 🐶セーフテンソルは、本当に安全であり、デフォルトの選択肢として採用されました
- Hugging FaceとIBMは、AIビルダー向けの次世代エンタープライズスタジオであるwatsonx.aiにおいてパートナーシップを結成しました
- bitsandbytes、4ビットの量子化、そしてQLoRAを使用して、LLMをさらに利用しやすくする