アリババのオープンソースモデルは常に注目を集めています。昨年6月に公開されたQwenシリーズは開発者コミュニティで高い評価を得ており、特に72B、110BモデルはHugging Faceのオープンソースモデルランキングで何度も首位を獲得しました。その後、昨年12月に公開されたDeepSeek-V3は、同月中にQwenシリーズを上回りました。
オープンソースコミュニティHugging Faceの最新のランキングによると、公開からわずか1週間のアリババの万相大模型がモデルホットランキングとモデルスペースランキングの両ランキングで首位を獲得し、DeepSeek-R1を凌駕しました。現在、万相2.1(Wan2.1)はHugging Faceと魔搭コミュニティでの合計ダウンロード数が100万を超えています。今回のアリババによるオープンソース化では、14Bと1.3Bという2つのパラメータ仕様が公開され、テキストから動画、画像から動画の両方のタスクに対応しています。
Wan 2.1の概要
Wan 2.1は、アリババグループの通義实验室が開発した、包括的でオープンソースのビデオ基礎モデルです。動画生成技術の限界を突破することを目指しており、主流の拡散Transformer構造をベースに構築されています。革新的な時空間変分自己符号化器(VAE)、拡張可能な事前学習戦略、大規模データ構築、自動評価指標などの技術により、モデルの生成能力、性能、汎用性を向上させています。
このモデルには、T2V-1.3BとT2V-14B(テキストから動画モデル)、I2V-14B-720PとI2V-14B-480P(画像から動画モデル)など、さまざまなパラメータを持つ複数のバージョンが含まれており、さまざまなユーザーやアプリケーションシナリオのニーズに対応できます。
Wan 2.1の機能ハイライト
- 卓越した性能で他社製品を凌駕:複数のベンチマークテストにおいて、Wan 2.1は既存のオープンソースモデルや最先端の商用ソリューションを継続的に上回り、生成動画の品質、ディテール、リアリティなどで業界をリードしています。例えば、VBenchランキングでは、86.22%の総合点で首位を獲得し、Sora、HunyuanVideoなどの多くの有名モデルを打ち負かしました。
- 消費レベルのGPUで動作可能:T2V-1.3Bバージョンはハードウェア要件が低く、RTX 4090などの消費レベルのGPUで動作させるには8.19GBのVRAMのみが必要です。RTX 4090では、約4分で5秒間の480P動画を生成でき、その性能は一部のクローズドソースモデルにも匹敵し、使用のハードルを下げ、個人開発者や研究者にとって使いやすいものとなっています。
- 多様なタスクを網羅:テキストから動画(T2V)、画像から動画(I2V)、動画編集、テキストから画像(T2I)、動画から音声(V2A)など、強力なマルチタスク処理能力を備えています。ユーザーはテキストの説明から動画を生成したり、静止画を動画に変換したり、既存の動画を編集・最適化したり、テキストから画像を生成したり、動画に自動的に音声をマッチングさせたりすることができます。
- 視覚テキスト生成の独自の強み:動画の中に中国語と英語のテキストを生成できる最初の動画モデルであり、生成されたテキストには豊富な特殊効果があり、シーンや媒体に合わせて適切に変更され、媒体と共に動きます。特殊効果フォント、ポスターフォント、現実世界のテキストなど、正確に生成でき、動画制作に豊かな要素を加えます。
- 複雑な動きを正確に再現:人間の回転、ジャンプ、ダンスの動き、物体の高速移動、シーンの切り替えなど、複雑な動きを含むリアルな動画を生成することに長けています。複数の人がヒップホップを踊る際の動きの一致、バスケットボールコートでの選手のシュート動作の滑らかな表現、雪の中で犬が走る際の自然な姿勢など、複雑な動きのシーンをWan 2.1は見事に再現できます。
- 高度な物理シミュレーションのリアリティ:現実世界の物理法則や物体間のリアルな相互作用を正確にシミュレートできます。動画生成では、物体の衝突、反発、切断効果、液体の流れ、物体の光と影の変化などの物理現象をリアルに表現できます。例えば、透明なガラスのコップを倒したときの牛乳の流れ出る動きの跡、イチゴが水に浸かるときの水との相互作用力などをシミュレートし、生成された動画をより現実に近づけます。
- 映画のような画質:映画のような質感の動画を生成でき、豊富なテクスチャと多様なスタイリッシュな効果を備えています。パラメータや設定を調整することで、レトロ、SF、リアリズムなど、さまざまなビジュアルスタイルを実現し、ユーザーに高品質な視覚体験を提供します。例えば、ドローンが摩天楼の間を飛び交う都市の夜景の動画をシミュレートすると、複雑な照明効果や建築様式をリアルに表現し、迫力のある視覚的な雰囲気を作り出すことができます。
- 長いテキスト指示に正確に従う:複雑な長いテキスト指示の理解能力が高く、テキストの説明に従って正確に動画を生成し、細部まで正確に再現します。複数の主体が動くシーンでも、複雑な環境の構築、雰囲気の演出などの要求にも、Wan 2.1は正確に把握できます。「賑やかなパーティー会場で、様々な民族の若者たちが明るく広いリビングの中央で自由に踊っている…」といった長いテキストに基づいて、説明に合った生き生きとした動画を生成でき、人物像、動き、シーンの雰囲気などを正確に表現できます。
適用シーン
- 広告制作:広告会社はWan 2.1を利用して、製品の特徴や宣伝ニーズに基づき、魅力的な広告動画を迅速に生成できます。例えば、電子製品の広告を作成する際に、テキストで製品の機能や特徴を説明し、クールな特殊効果やシーンを組み合わせることで、製品のメリットを強調した宣伝動画を生成できます。
- 短編動画制作:個人のクリエイターは、短編動画プラットフォームでコンテンツを作成する際に、Wan 2.1を使用して、創造的なテキストや画像を面白い動画に変換できます。例えば、グルメ動画を作成する際に、「おいしいケーキの作り方」などのテキストを入力すると、それに対応する動画が生成され、動画に適切な音楽やテキスト効果を追加して、動画の質と魅力を高めることができます。
- 映画制作支援:映画制作チームは、初期のアイデア構想や概念検証段階で、Wan 2.1を利用して、脚本のシーンを迅速に視覚化できます。例えば、監督は脚本の断片を入力することで、簡単な動画サンプルを生成し、シーンの効果を評価したり、撮影計画を調整したりして、時間とコストを節約できます。
- 教育指導:教師は、教育動画を作成する際に、Wan 2.1を使用して、抽象的な知識を生きた動画の形で表現できます。例えば、物理の授業では、物体の動きや物理現象をシミュレートして、生徒が知識点をよりよく理解するのに役立ちます。言語の授業では、会話シーンを含む動画を生成して、言語学習環境を作り出します。
- ゲーム開発:ゲーム開発者はWan 2.1を利用して、ゲームのプロモーション動画、オープニングアニメーションなどを制作できます。ゲーム内のキャラクター、シーン、プロットの説明を入力することで、精巧な動画を生成し、ゲームの宣伝やプレイヤーのゲーム体験の向上に役立てることができます。
Wan 2.1の使い方
- 環境準備:まず、デバイスが動作要件を満たしていることを確認します。T2V-1.3Bモデルを使用する場合は、消費レベルのGPU(RTX 4090など)で少なくとも8.19GBのVRAMを用意する必要があります。次に、コードリポジトリをクローンし、ターミナルで
git clone https://github.com/Wan-Video/Wan2.1.git
と入力し、プロジェクトディレクトリcd Wan2.1
に移動します。次に、依存関係をインストールし、pip install -r requirements.txt
を実行します。同時に、torch >= 2.4.0
であることを確認してください。 - モデルのダウンロード:
huggingface-cli
またはmodelscope-cli
を使用してモデルをダウンロードできます。huggingface-cli
を例にすると、まずpip install "huggingface_hub[cli]"
をインストールし、必要なモデル(T2V-14Bモデルのダウンロードなど)に応じて、huggingface-cli download Wan-AI/Wan2.1-T2V-14B --local-dir ./Wan2.1-T2V-14B
と入力します。異なるモデルのダウンロードリンクと適用解像度は、公式ドキュメント(I2V-14B-720P、I2V-14B-480P、T2V-1.3Bなどのモデルには対応するダウンロード方法があります)を参照してください。 - テキストから動画の生成
- プロンプト拡張なしのシングルGPU推論:ターミナルで
python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "具体的なテキストの説明"
を実行します。ここで、prompt
の後に具体的な動画生成の説明を入力します。T2V-1.3Bモデルを使用していてメモリ不足の問題が発生した場合は、--offload_model True --t5_cpu
パラメータを追加し、パフォーマンスに応じて--sample_shift
(8~12)と--sample_guide_scale 6
を調整します。 - プロンプト拡張なしのマルチGPU推論(FSDP + xDiT USP):まず
xfuser
をインストールし、pip install "xfuser>=0.4.1"
を実行します。次に、torchrun
を使用してマルチGPU推論を実行します。例えば、torchrun --nproc_per_node=8 generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "具体的なテキストの説明"
です。 - プロンプト拡張の使用:Dashscope APIでプロンプトを拡張する場合は、事前に
dashscope.api_key
を申請し、環境変数DASH_API_KEY
を設定する必要があります。例えば、DASH_API_KEY=your_key python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "具体的なテキストの説明" --use_prompt_extend --prompt_extend_method 'dashscope' --prompt_extend_target_lang 'zh'
を実行します。ローカルモデルで拡張する場合は、デフォルトでHuggingFace上のQwenモデルを使用します。GPUメモリに応じて適切なモデル(Qwen/Qwen2.5-14B-Instruct
など)を選択し、--prompt_extend_model
で指定します。例えば、python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "具体的なテキストの説明" --use_prompt_extend --prompt_extend_method 'local_qwen' --prompt_extend_target_lang 'zh'
です。 - ローカルgradioの実行:
gradio
ディレクトリに移動します。Dashscope APIでプロンプト拡張を使用する場合は、DASH_API_KEY=your_key python t2v_14B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir ./Wan2.1-T2V-14B
を実行します。ローカルモデルでプロンプト拡張を使用する場合は、python t2v_14B_singleGPU.py --prompt_extend_method 'local_qwen' --ckpt_dir ./Wan2.1-T2V-14B
を実行します。
- プロンプト拡張なしのシングルGPU推論:ターミナルで
- 画像から動画の生成:テキストから動画の生成と同様に、プロンプト拡張の有無による手順があります。プロンプト拡張なしの場合、シングルGPU推論では
python generate.py --task i2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-I2V-14B-720P --image examples/i2v_input.JPG --prompt "具体的なテキストの説明"
を実行します。size
パラメータは、入力画像のアスペクト比に合わせて決定します。マルチGPU推論の場合は、まずxfuser
をインストールし、torchrun --nproc_per_node=8 generate.py --task i2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-I2V-14B-720P --image examples/i2v_input.JPG --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "具体的なテキストの説明"
を実行します。プロンプト拡張を使用する場合は、テキストから動画の生成のプロンプト拡張方法を参照し、必要に応じてDashscope APIまたはローカルモデルを使用して拡張します。ローカルgradioを実行する場合は、使用しているモデルのバージョンに応じて、gradio
ディレクトリで対応するコマンドを実行します。例えば、720Pモデルを使用していてDashscope APIでプロンプト拡張を使用する場合は、DASH_API_KEY=your_key python i2v_14B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir_720p ./Wan2.1-I2V-14B-720P
を実行します。 - テキストから画像の生成:プロンプト拡張なしの場合、シングルGPU推論では
python generate.py --task t2i-14B --size 1024*1024 --ckpt_dir ./Wan2.1-T2V-14B --prompt '具体的なテキストの説明'
を実行します。マルチGPU推論ではtorchrun --nproc_per_node=8 generate.py --dit_fsdp --t5_fsdp --ulysses_size 8 --base_seed 0 --frame_num 1 --task t2i-14B --size 1024*1024 --prompt '具体的なテキストの説明' --ckpt_dir ./Wan2.1-T2V-14B
を実行します。プロンプト拡張を使用する場合は、シングルGPU推論に--use_prompt_extend
パラメータを追加し、マルチGPU推論にも同様にこのパラメータを追加して対応する操作を行います。