🚀 アレグロ (Allegro)
アレグロは、テキストから高品質なビデオを生成するオープンソースのモデルです。多様なコンテンツを生成でき、小さなパラメータで効率的に動作します。
ギャラリー · GitHub · ブログ · 論文 · Discord · ウェイトリストに登録 (Discordで試す!)
🖼️ ギャラリー

より多くのデモと対応するプロンプトについては、[アレグロギャラリー](https://rhymes.ai/allegro_gallery)を参照してください。
✨ 主な機能
- オープンソース: 完全なモデルの重みとコードがコミュニティに公開されており、Apache 2.0ライセンスです!
- 多様なコンテンツ作成: 人や動物のクローズアップから、さまざまな動的なシーンまで、幅広いコンテンツを生成することができます。
- 高品質な出力: 720x1280解像度で15 FPSの詳細な6秒間のビデオを生成し、EMA-VFIを使用して30 FPSに補間することができます。
- 小型で効率的: 175MパラメータのVideoVAEと2.8BパラメータのVideoDiTモデルを備えています。複数の精度(FP32、BF16、FP16)をサポートし、CPUオフロードを使用したBF16モードでは9.3GBのGPUメモリを使用します。コンテキスト長は79.2Kで、88フレームに相当します。
📋 モデル情報
属性 |
详情 |
モデル名 |
アレグロ (Allegro) |
説明 |
テキストからビデオを生成するモデル |
ダウンロード先 |
Hugging Face |
パラメータ |
VAE: 175M DiT: 2.8B |
推論精度 |
VAE: FP32/TF32/BF16/FP16 (FP32/TF32が最適) DiT/T5: BF16/FP32/TF32 |
コンテキスト長 |
79.2K |
解像度 |
720 x 1280 |
フレーム数 |
88 |
ビデオ長 |
6秒 @ 15 FPS |
単一GPUメモリ使用量 |
9.3G BF16 (CPUオフロードあり) |
🚀 クイックスタート
1. 必要なライブラリをインストールする
- Python >= 3.10、PyTorch >= 2.4、CUDA >= 12.4が必要です。
- Anacondaを使用して新しい環境(Python >= 3.10)を作成することをお勧めします。
conda create -n rllegro python=3.10 -y
を実行して、以下の例を実行します。
- 以下のコマンドを実行して必要なライブラリをインストールします。
pip install git+https://github.com/huggingface/diffusers.git torch==2.4.1 transformers==4.40.1 accelerate sentencepiece imageio imageio-ffmpeg beautifulsoup4
2. 推論を実行する
import torch
from diffusers import AutoencoderKLAllegro, AllegroPipeline
from diffusers.utils import export_to_video
vae = AutoencoderKLAllegro.from_pretrained("rhymes-ai/Allegro", subfolder="vae", torch_dtype=torch.float32)
pipe = AllegroPipeline.from_pretrained(
"rhymes-ai/Allegro", vae=vae, torch_dtype=torch.bfloat16
)
pipe.to("cuda")
pipe.vae.enable_tiling()
prompt = "明るい日光ときらめく海水がある海岸の港で、水中には多くの船があります。上空から見ると、船のサイズや色は様々で、動いているものもあれば、静止しているものもあります。水中の漁船は、この場所が漁船の停泊に人気の場所であることを示唆しています。"
positive_prompt = """
(傑作), (最高品質), (超詳細), (透かしなし),
{}
感情的で、調和がとれて、ヴィネット調、4kエピックな詳細、コダックで撮影、35mm写真、
シャープな焦点、高予算、シネマスコープ、ムーディー、エピック、ゴージャス
"""
negative_prompt = """
不適切な内容, 低解像度, 不適切な解剖学的構造, 不適切な手, テキスト, エラー, 指が欠けている, 余分な指, 指の数が少ない, 切り取られた, 最悪の品質,
低品質, 普通の品質, JPEGアーティファクト, 署名, 透かし, ユーザー名, ぼやけた画像。
"""
prompt = positive_prompt.format(prompt.lower().strip())
video = pipe(prompt, negative_prompt=negative_prompt, guidance_scale=7.5, max_sequence_length=512, num_inference_steps=100, generator = torch.Generator(device="cuda:0").manual_seed(42)).frames[0]
export_to_video(video, "output.mp4", fps=15)
pipe.enable_sequential_cpu_offload()
を使用すると、モデルをCPUにオフロードして、GPUメモリの使用量を削減することができます(約9.3GB、CPUオフロードを有効にしない場合は27.5GB)が、推論時間は大幅に増加します。
3. (オプション) ビデオを30 FPSに補間する
EMA-VFI を使用して、ビデオを15 FPSから30 FPSに補間することをお勧めします。
より良い視覚品質のために、imageioを使用してビデオを保存してください。
4. より高速な推論について
Context ParallelやPABなどのより高速な推論については、GitHubリポジトリを参照してください。
📄 ライセンス
このリポジトリは、Apache 2.0ライセンスの下で公開されています。