テキストからビデオ生成 ステップバイステップガイド
Text to Video Generation Step-by-Step Guide
イントロダクション
拡散ベースの画像生成モデルは、コンピュータビジョンの分野において革命的な進歩を遂げています。Imagen、DallE、MidJourneyなどのモデルが先駆けとなり、これらの進展はテキスト条件付けの画像生成において驚異的な能力を示しています。これらのモデルの内部構造についての紹介は、この記事を読むことで得ることができます。
- 「Transformerベースの拡散モデルによる画像生成の革新的なアーキテクチャイノベーションを実現するDiffusion Transformers(DiTs)」
- LangChain + Streamlit + Llama ローカルマシンに会話型AIをもたらす
- 「転移学習の非合理的な効果」
しかし、Text-2-Videoモデルの開発はさらなる困難な課題を提起しています。目標は、生成された各フレームにわたる一貫性と一貫性を実現し、ビデオの開始から終了までの生成コンテキストを維持することです。
しかし、最近の拡散ベースのモデルの進展は、Text-2-Videoのタスクにおいても有望な展望を提供しています。ほとんどのText-2-Videoモデルは、事前に学習されたText-2-Imageモデルに対してファインチューニングの技術を使用し、動的な画像の動きモジュールを統合し、WebVidやHowTo100Mなど多様なText-2-Videoデータセットを活用しています。
この記事では、HuggingFaceが提供するファインチューニングモデルを使用してビデオを生成するためのアプローチを紹介します。
実装
前提条件
私たちはHuggingFaceが提供するDiffusersライブラリと、PyTorchコードを並列スレッドで実行することができるユーティリティライブラリであるAccelerateを使用します。これにより、生成プロセスが高速化されます。
まず、依存関係をインストールし、コードに必要なモジュールをインポートする必要があります。
pip install diffusers transformers accelerate torch
次に、各ライブラリから関連するモジュールをインポートします。
import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
from diffusers.utils import export_to_video
パイプラインの作成
Diffusion Pipeline内に提供されるText-2-VideoモデルをModelScopeが提供するモデルでロードします。このモデルは、純粋なノイズからビデオを生成するUNet3Dアーキテクチャに基づくもので、17億のパラメータを持っています。これは3つのパートからなるプロセスで動作します。まず、モデルは簡単な英語のプロンプトからテキスト特徴を抽出します。次に、テキスト特徴はビデオの潜在空間にエンコードされ、ノイズが除去されます。最後に、ビデオの潜在空間は視覚空間に戻され、短いビデオが生成されます。
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()
さらに、GPUの使用率を低減するために16ビット浮動小数点精度を使用します。さらに、実行時にGPUから不要な部分を削除するCPUオフロードが有効にされています。
ビデオの生成
prompt = "Spidermanがサーフィンしている"
video_frames = pipe(prompt, num_inference_steps=25).frames
video_path = export_to_video(video_frames)
次に、ビデオ生成パイプラインにプロンプトを渡すことで、生成されたフレームのシーケンスを得ます。25の推論ステップを使用することで、モデルは25回のノイズ除去を行います。推論ステップの数を増やすと、ビデオの品質が向上しますが、より高い計算リソースと時間が必要です。
別々のイメージフレームは、diffuserのユーティリティ関数を使用して結合され、ビデオがディスクに保存されます。
別々のイメージフレームは、diffuserのユーティリティ関数を使用して結合され、ビデオがディスクに保存されます。
FinalVideo from Muhammad Arham on Vimeo.
結論
簡単ですね!Spidermanがサーフィンするビデオが得られました。短いながらもあまり高品質ではないビデオですが、これはまもなくImage-2-Textモデルと同様の結果を得ることができる有望なプロセスを象徴しています。それにもかかわらず、創造性をテストし、モデルと遊ぶことは十分に良いです。このColabノートブックを使用して試すことができます。Muhammad Arhamは、コンピュータビジョンと自然言語処理の分野で働くディープラーニングエンジニアです。彼はVyro.AIでグローバルトップチャートに到達したいくつかの生成AIアプリケーションの展開と最適化に取り組んできました。彼は知的システムのための機械学習モデルの構築と最適化に興味を持ち、持続的な改善を信じています。
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
- 「教師付き機械学習と集合論を通じた現実世界の時系列異常検出」
- 「Tabnine」は、ベータ版のエンタープライズグレードのコード中心のチャットアプリケーション「Tabnine Chat」を導入しましたこれにより、開発者は自然言語を使用してTabnineのAIモデルと対話することができます
- 効率化の解除:Amazon SageMaker Pipelinesでの選択的な実行の活用
- 「AIプロジェクトはどのように異なるのか」
- 「Embroid」を紹介します:複数の小さなモデルから埋め込み情報を組み合わせるAIメソッドで、監視なしでLLMの予測を自動的に修正することができます
- 「ONNXフレームワークによるモデルの相互運用性と効率の向上」
- トムソン・ロイターが6週間以内に開発したエンタープライズグレードの大規模言語モデルプレイグラウンド、Open Arena