
🌟 亮点
Lance是一款轻量级原生统一多模态模型,支持在单一框架内实现图像与视频的理解、生成和编辑。
- 30亿参数规模高效运行 。仅使用30亿活跃参数,Lance在图像生成、图像编辑和视频生成基准测试中均展现出强劲性能。
- 完全从头训练 。采用分阶段多任务训练方案,在128块A100 GPU的算力预算内实现完全从零开始训练。

安装步骤
首先,克隆仓库:
bash
git clone https://github.com/bytedance/Lance.git
cd Lance
然后,设置环境:
bash
conda create -n Lance python=3.11 -y
conda activate Lance
pip install torch==2.5.1+cu124 torchvision==0.20.1+cu124 torchaudio==2.5.1+cu124 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
pip install flash-attn==2.8.3 --no-build-isolation
注意: 如果从源码安装
flash-attn失败,可以改为安装预构建的 wheel 包:
bashpip install --no-cache-dir --no-deps --force-reinstall \ "https://github.com/Dao-AILab/flash-attention/releases/download/v2.8.3/flash_attn-2.8.3%2Bcu12torch2.5cxx11abiFALSE-cp311-cp311-linux_x86_64.whl"
下载模型权重
请从 Hugging Face 上的 Lance-3B 下载所有必要的模型检查点,并将其放置在 downloads/ 目录中。
bash
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",],
)
📚 使用指南
推理
我们为所有生成/编辑/理解任务提供了统一的命令行接口:
选项1:配置并运行统一脚本
bash
bash inference_lance.sh
- 运行前请先在
inference_lance.sh文件顶部配置推理参数。 - 支持任务类型:
文生图(t2i)、文生视频(t2v)、图像编辑(image_edit)、视频编辑(video_edit)、图像理解(x2t_image)和视频理解(x2t_video)。您可通过修改inference_lance.py中的TASK_DEFAULT_CONFIGS来自定义各任务的默认数据样本。 - 注意: 对于所有任务,我们建议按照示例中的
prompt格式编写输入提示词,这样通常能获得更优的生成效果。
方案二:配置并运行统一脚本
我们为不同生成、编辑和理解任务提供了专属的一键式命令。
文本到视频生成
bash
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_121f
文本到图像生成
bash
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
bash inference_lance.sh \
--TASK_NAME video_edit \
--MODEL_PATH downloads/Lance_3B_Video \
--RESOLUTION video_480p \
--SAVE_PATH_GEN results/video_edit
图片编辑
bash
bash inference_lance.sh \
--TASK_NAME image_edit \
--MODEL_PATH downloads/Lance_3B \
--RESOLUTION image_768res \
--SAVE_PATH_GEN results/image_edit
视频理解
bash
bash inference_lance.sh \
--TASK_NAME x2t_video \
--MODEL_PATH downloads/Lance_3B_Video \
--RESOLUTION video_480p \
--NUM_FRAMES 50 \
--SAVE_PATH_GEN results/x2t_video
图像理解
bash
bash inference_lance.sh \
--TASK_NAME x2t_image \
--MODEL_PATH downloads/Lance_3B \
--RESOLUTION image_768res \
--SAVE_PATH_GEN results/x2t_image
可用任务
| 任务名称 | 描述 | 示例JSON |
|---|---|---|
t2v |
文本生成视频 | config/examples/t2v_example.json |
t2i |
文本生成图像 | config/examples/t2i_example.json |
image_edit |
图像编辑 | config/examples/image_edit_example.json |
video_edit |
视频编辑 | config/examples/video_edit_example.json |
x2t_image |
图像理解 | config/examples/x2t_image_example.json |
x2t_video |
视频理解 | config/examples/x2t_video_example.json |
关于理解类示例:
config/examples/x2t_image_example.json: 包含视觉问答和基于图像的推理等图像理解示例。config/examples/x2t_video_example.json: 包含视频问答和视频字幕生成等视频理解示例。
参数配置
您可以在 inference_lance.sh 脚本顶部配置以下超参数:
| 参数名 | 默认值 | 说明 |
|---|---|---|
MODEL_PATH |
"downloads/lance_3b" |
已下载的Lance模型权重路径。 |
NUM_GPUS |
1 |
用于推理的GPU数量。 |
VALIDATION_NUM_TIMESTEPS |
30 |
去噪步数(例如30或50步)。 |
VALIDATION_TIMESTEP_SHIFT |
3.5 |
流匹配调度的时间步偏移参数。 |
CFG_TEXT_SCALE |
4.0 |
文本条件分类器自由引导(CFG)的缩放系数。 |
VALIDATION_DATA_SEED |
42 |
生成结果可复现性的随机种子。 |
NUM_FRAMES |
50 |
视频生成的帧数(最大值:121)。图像任务不使用此参数 |
VIDEO_HEIGHT / VIDEO_WIDTH |
768 |
空间分辨率。编辑任务不使用(由输入图像/视频决定) |
RESOLUTION |
"video_480p" |
基础分辨率预设(image_768res 或 video_480p)。 |
Gradio界面
python
python lance_gradio_t2v_v2t.py --gpus 0 --server-port 7860
基准测试
DPG-Bench 评估
| 模型 | 参数量 | 全局 | 实体 | 属性 | 关系 | 其他 | 综合 |
|---|---|---|---|---|---|---|---|
| 仅生成模型 | |||||||
| SDXL | 3.5B | 83.27 | 82.43 | 80.91 | 86.76 | 80.41 | 74.65 |
| DALL-E 3 | - | 90.97 | 89.61 | 88.39 | 90.58 | 89.83 | 83.50 |
| SD3-Medium | 2B | 87.90 | 91.01 | 88.83 | 80.70 | 88.68 | 84.08 |
| FLUX.1-dev | 12B | 74.35 | 90.00 | 88.96 | 90.87 | 88.33 | 83.84 |
| Qwen-Image | 20B | 91.32 | 91.56 | 92.02 | 94.31 | 92.73 | 88.32 |
| 统一模型 | |||||||
| Janus-Pro-7B | 7B | 86.90 | 88.90 | 89.40 | 89.32 | 89.48 | 84.19 |
| OmniGen2 | 4B | 88.81 | 88.83 | 90.18 | 89.37 | 90.27 | 83.57 |
| Show-o2 | 7B | 89.00 | 91.78 | 89.96 | 91.81 | 91.64 | 86.14 |
| BAGEL† | 7B | 88.94 | 90.37 | ++91.29++ | 90.82 | 88.67 | 85.07 |
| InternVL-U | 1.7B | ++90.39++ | 90.78 | 90.68 | 90.29 | 88.77 | 85.18 |
| TUNA | 7B | 90.42 | ++91.68++ | 90.94 | ++91.87++ | ++90.73++ | 86.76 |
| TUNA-2 | 7B | 89.50 | 91.40 | 92.07 | 91.91 | 88.81 | ++86.54++ |
| 🌟 Lance (Ours) | 3B | 83.89 | 91.07 | 89.36 | 93.38 | 80.80 | 84.67 |
† 表示在生成前使用LLM重写器进行提示重写的方法。
GenEval 评估
| 模型 | 参数量 | 单目标 | 双目标 | 计数 | 颜色 | 位置 | 属性 | 综合 |
|---|---|---|---|---|---|---|---|---|
| 仅生成模型 | ||||||||
| SDXL | 3.5B | 0.98 | 0.74 | 0.39 | 0.85 | 0.15 | 0.23 | 0.55 |
| DALL-E 3 | - | 0.96 | 0.87 | 0.47 | 0.83 | 0.43 | 0.45 | 0.67 |
| SD3-Medium | 2B | 0.99 | 0.94 | 0.72 | 0.89 | 0.33 | 0.60 | 0.74 |
| FLUX.1-dev | 12B | 0.98 | 0.93 | 0.75 | 0.93 | 0.68 | 0.65 | 0.82 |
| Qwen-Image | 20B | 0.99 | 0.92 | 0.89 | 0.88 | 0.76 | 0.77 | 0.87 |
| 统一模型 | ||||||||
| Janus-Pro-7B | 7B | ++0.99++ | 0.89 | 0.59 | 0.90 | 0.79 | 0.66 | 0.80 |
| OmniGen2 | 4B | 1.00 | 0.95 | 0.64 | 0.88 | 0.55 | 0.76 | 0.80 |
| Show-o2 | 7B | 1.00 | 0.87 | 0.58 | 0.92 | 0.52 | 0.62 | 0.76 |
| BAGEL† | 7B | 0.98 | 0.95 | 0.84 | ++0.95++ | 0.78 | 0.77 | 0.88 |
| Mogao | 7B | 1.00 | 0.97 | ++0.83++ | 0.93 | 0.84 | 0.80 | ++0.89++ |
| InternVL-U | 1.7B | ++0.99++ | 0.94 | 0.74 | 0.91 | 0.77 | 0.74 | 0.85 |
| TUNA | 7B | 1.00 | 0.97 | 0.81 | 0.91 | 0.88 | 0.83 | 0.90 |
| TUNA-2 | 7B | ++0.99++ | ++0.96++ | 0.80 | 0.91 | 0.84 | 0.76 | 0.87 |
| 🌟 Lance (Ours) | 3B | 1.00 | 0.94 | 0.84 | 0.97 | 0.87 | 0.81 | 0.90 |
† 表示在生成前使用LLM重写器进行提示重写的方法。
GEdit-Bench 评估
| Models | # Params. | BC | CA | MM | MC | PB | ST | SA | SR | SRp | TM | TT | Avg/G_O |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Generation-only Models | |||||||||||||
| Gemini 2.0 | - | - | - | - | - | - | - | - | - | - | - | - | 6.32 |
| GPT Image 1 | - | 6.96 | 6.85 | 7.10 | 5.41 | 6.74 | 7.44 | 7.51 | 8.73 | 8.55 | 8.45 | 8.69 | 7.49 |
| Qwen-Image-Edit | 20B | 8.23 | 8.30 | 7.33 | 8.05 | 7.49 | 6.74 | 8.57 | 8.09 | 8.29 | 8.48 | 8.50 | 8.01 |
| Unified Models | |||||||||||||
| Lumina-DiMOO | 8B | 3.43 | 4.27 | 3.08 | 2.77 | 4.74 | 5.19 | 4.44 | 3.80 | 4.38 | 2.68 | 4.20 | 3.91 |
| Ovis-U1 | 1.2B | ++7.49++ | 6.88 | 6.21 | 4.79 | 5.98 | ++6.46++ | 7.49 | ++7.25++ | ++7.27++ | 4.48 | 6.31 | 6.42 |
| BAGEL | 7B | 7.32 | 6.91 | 6.38 | 4.75 | 4.57 | 6.15 | 7.90 | 7.16 | 7.02 | ++7.32++ | 6.22 | 6.52 |
| InternVL-U | 1.7B | 7.08 | 7.05 | 6.38 | ++7.02++ | ++6.03++ | 6.27 | 7.13 | 6.55 | 6.33 | 6.59 | ++6.85++ | 6.66 |
| InternVL-U (w/ CoT) | 1.7B | 7.05 | 7.87 | ++6.50++ | 6.99 | 5.77 | 6.10 | 7.33 | 7.16 | 7.12 | 7.36 | 6.46 | ++6.88++ |
| 🌟 Lance (Ours) | 3B | 7.73 | ++7.74++ | 7.28 | 7.83 | 7.50 | 7.03 | ++7.64++ | 7.85 | 7.71 | 4.46 | 7.57 | 7.30 |
VBench 评估(视频生成)
| Type | Model | # Params. | Total Score ↑ |
|---|---|---|---|
| Gen. Only | ModelScope | 1.7B | 75.75 |
| Gen. Only | LaVie | 3B | 77.08 |
| Gen. Only | Show-1 | 6B | 78.93 |
| Gen. Only | AnimateDiff-V2 | - | 80.27 |
| Gen. Only | VideoCrafter-2.0 | - | 80.44 |
| Gen. Only | CogVideoX | 5B | 81.61 |
| Gen. Only | Kling | - | 81.85 |
| Gen. Only | Open-Sora-2.0 | - | 81.71 |
| Gen. Only | Gen-3 | - | 82.32 |
| Gen. Only | Step-Video-T2V | 30B | 81.83 |
| Gen. Only | Hunyuan Video | - | 83.43 |
| Gen. Only | Wan2.1-T2V | 14B | 83.69 |
| Unified | HaproOmni | 7B | 78.10 |
| Unified | Emu3 | 8B | 80.96 |
| Unified | VILA-U | 7B | 74.01 |
| Unified | Show-o2 | 2B | 81.34 |
| Unified | TUNA | 1.5B | ++84.06++ |
| Unified | 🌟 Lance (Ours) | 3B | 85.11 |
运行基准测试
在 benchmarks/ 目录下提供了可直接运行的基准测试脚本:
| 基准测试 | 模态 | 脚本 |
|---|---|---|
| GenEVAL (图像生成) | 图像 | benchmarks/image_gen/GenEVAL/sample_GenEVAL.sh |
| DPG (图像生成) | 图像 | benchmarks/image_gen/DPG/sample_DPG.sh |
| GEdit (图像编辑) | 图像 | benchmarks/image_gen/GEdit/sample_GEdit.sh |
| VBench (视频生成) | 视频 | benchmarks/video_gen/Vbench/sample_vbench.sh |
📄 许可证
版权所有 © 2025 字节跳动有限公司及其关联公司。
🙏 致谢
我们要感谢 BAGEL、Qwen2.5-VL-3B-Instruct 和 Wan2.2 的贡献者们,感谢他们的开放研究和贡献。
💖 引用
如果您发现 Lance 对您的项目或研究有所帮助,欢迎给本仓库点个 🌟,并使用以下 BibTeX 引用我们的工作:
bibtex
@misc{lance2026,
title = {Lance: Unified Multimodal Modeling by Multi-Task Synergy},
author = {Fengyi Fu and Mengqi Huang and Shaojin Wu and Yunsheng Jiang and Yufei Huo and Jianzhu Guo and Hao Li and Yinghang Song and Fei Ding and Qian He and Zheren Fu and Zhendong Mao and Yongdong Zhang},
year = {2026},
note = {Manuscript}
}


