Lance: ByteDanceの3B統合モデル - 画像・動画の理解、生成、編集を実現
ByteDanceのLanceは、画像・動画の理解、生成、編集を単一フレームワークで処理する3Bパラメータの統合マルチモーダルモデルで、ベンチマークで競争力のある性能を発揮します。
ByteDanceは、画像と動画の理解、生成、編集を単一フレームワークで処理する、3Bアクティブパラメータのネイティブ統合マルチモーダルモデル Lance をオープンソース化しました。最大128基のA100 GPUを使用した段階的マルチタスクレシピでスクラッチからトレーニングされ、比較的小規模ながら複数のベンチマークで競争力のある性能を達成しています。
Lanceが重要な理由
現在のマルチモーダルモデルの多くは、専門特化型(生成のみまたは理解のみ)であるか、機能統合のために膨大なパラメータ数(7B〜20B以上)を必要とします。Lanceは、3Bモデルでも画像生成、画像編集、動画生成、動画理解の各タスクにおいて、より大規模なモデルに匹敵または凌駕する性能を発揮できることを示しています。これは以下の点で重要です:
- デプロイ効率: 低VRAM要件(40GB以上のGPU)と高速な推論
- 研究のアクセシビリティ: トレーニングとファインチューニングに必要な計算リソースが少ない
- 統合アーキテクチャ: タスク固有のヘッドを必要としない単一モデルで複数タスクを処理
アーキテクチャとトレーニング
Lanceはネイティブ統合モデルであり、理解タスクと生成タスクの両方に単一のアーキテクチャを使用します。主な詳細は以下の通りです:
- アクティブパラメータ: 3B(総パラメータ数ではなく、推論時に活性化されるもの)
- トレーニング: スクラッチからの段階的マルチタスクレシピ
- 計算リソース: 最大128基のA100 GPU
- 解像度: 画像は最大768×768、動画は480p、12 FPS
対応タスク
Lanceは標準で7つのタスクタイプをサポートしています:
| タスク | 説明 |
|---|---|
| t2i | テキストから画像生成 |
| t2v | テキストから動画生成 |
| i2v | 画像から動画生成 |
| image_edit | 画像編集 |
| video_edit | 動画編集 |
| x2t_image | 画像理解(キャプション生成、VQA) |
| x2t_video | 動画理解(キャプション生成、QA) |
インストールとセットアップ
必要条件
- Python 3.10以上
- CUDA 12.4以上
- 少なくとも40GBのVRAMを搭載したGPU(A100でテスト済み)
クイックスタート
git clone https://github.com/bytedance/Lance.git
cd Lance
conda create -n Lance python=3.11 -y
conda activate Lance
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu126
pip install -r requirements.txt
pip install flash-attn==2.8.3 --no-build-isolation
Hugging Faceからモデルウェイトをダウンロード:
from huggingface_hub import snapshot_download
save_dir = "./downloads/"
repo_id = "bytedance-research/Lance"
cache_dir = save_dir + "/cache"
snapshot_download(
cache_dir=cache_dir,
local_dir=save_dir,
repo_id=repo_id,
local_dir_use_symlinks=False,
resume_download=True,
allow_patterns=["*.json", "*.safetensors", "*.bin", "*.py", "*.md", "*.txt", "*.pth"]
)
推論の例
テキストから動画生成
bash inference_lance.sh \
--TASK_NAME t2v \
--MODEL_PATH downloads/Lance_3B_Video \
--RESOLUTION video_480p \
--NUM_FRAMES 121 \
--VIDEO_HEIGHT 480 \
--VIDEO_WIDTH 848 \
--SAVE_PATH_GEN results/t2v
画像から動画生成(新機能!)
bash inference_lance.sh \
--TASK_NAME i2v \
--MODEL_PATH downloads/Lance_3B_Video \
--RESOLUTION video_480p \
--NUM_FRAMES 61 \
--VIDEO_HEIGHT 480 \
--VIDEO_WIDTH 848 \
--SAVE_PATH_GEN results/i2v
テキストから画像生成
bash inference_lance.sh \
--TASK_NAME t2i \
--MODEL_PATH downloads/Lance_3B \
--RESOLUTION image_768res \
--VIDEO_HEIGHT 768 \
--VIDEO_WIDTH 768 \
--SAVE_PATH_GEN results/t2i
動画編集
bash inference_lance.sh \
--TASK_NAME video_edit \
--MODEL_PATH downloads/Lance_3B_Video \
--RESOLUTION video_480p \
--SAVE_PATH_GEN results/video_edit
画像理解
bash inference_lance.sh \
--TASK_NAME x2t_image \
--MODEL_PATH downloads/Lance_3B \
--RESOLUTION image_768res \
--SAVE_PATH_GEN results/x2t_image
主要パラメータ
| パラメータ | デフォルト | 説明 |
|---|---|---|
MODEL_PATH |
downloads/Lance_3B |
ウェイトへのパス(Lance_3BまたはLance_3B_Video) |
NUM_GPUS |
1 | GPUの数 |
VALIDATION_NUM_TIMESTEPS |
30 | ノイズ除去ステップ数 |
CFG_TEXT_SCALE |
4.0 | Classifier-Free Guidanceスケール |
NUM_FRAMES |
50 | 動画の最大フレーム数(最大121) |
ENHANCE_PROMPT |
false | プロンプト書き換えを有効化(OpenAI APIキーが必要) |
ベンチマーク性能
Lanceは複数のベンチマークで競争力のある結果を達成しています:
画像生成(GenEval)
- 総合: 0.90(TUNA-7Bに匹敵、Janus-Pro-7Bの0.80を上回る)
- 色: 0.97(全モデル中最高)
- 位置: 0.87(TUNA-7Bと同点)
画像編集(GEdit-Bench)
- 平均: 7.30(InternVL-U 1.7Bの6.66、BAGELの6.52を上回る)
動画生成(VBench)
- 総合スコア: 85.11(TUNA 1.5Bの84.06、Hunyuan Videoの83.43を上回る)
Gradioデモ
Lanceにはインタラクティブな使用のためのローカルGradioインターフェースが含まれています:
python lance_gradio.py --server-name 0.0.0.0 --server-port 7860
これにより、すべての対応タスク用のWeb UIが提供されます。
ロードマップ
チームはファインチューニングコードのリリースを計画しており、特定のドメインやタスク向けのカスタマイズが可能になります。
制限事項
- 研究プロジェクトであり、完成された製品ではありません
- 出力品質はプロンプト、解像度、動きの複雑さによって異なります
- トレーニングは最大768×768の画像と480pの動画まで
- 40GB以上のVRAMを搭載したGPUが必要
結論
Lanceは、効率的な統合マルチモーダルモデルへの重要な一歩を示しています。3Bのアクティブパラメータで、適切に設計されたマルチタスクレシピでトレーニングされた場合、小規模モデルがはるかに大規模なモデルと競争できることを実証しています。統合された画像・動画の理解と生成を実験したい開発者や研究者にとって、Lanceは実用的なオープンソースの出発点を提供します。
始めましょう: GitHubリポジトリ | Hugging Faceモデル | 技術レポート
ソース
bytedance/Lance: 画像と動画の理解、生成、編集のための3Bアクティブパラメータのネイティブ統合マルチモーダルモデル