Fengyi Fu*,
Mengqi Huang*,✉,
Shaojin Wu*,
Yunsheng Jiang*,
Yufei Huo,
Jianzhu Guo✉,§
Hao Li,
Yinghang Song,
Fei Ding,
Qian He,
Zheren Fu,
Zhendong Mao,
Yongdong Zhang
ByteDance
* 共同一作 ✉ 通讯作者 § 项目负责人
English | 简体中文
注意: Lance 是一个研究项目,而不是经过充分产品化打磨的模型。当前开源 checkpoint 使用不超过 128 张 A100 GPU 训练,训练阶段覆盖到 768x768 图像生成和 480p、12 FPS 视频生成。我们希望将 Lance 作为一个研究参考,分享在较小模型规模和相对有限算力下统一图像/视频理解、生成和编辑的建模思路、训练流程和推理代码。模型效果可能会随 prompt、分辨率、时长、运动复杂度和编辑场景而波动,post-training recipe 仍有进一步改进空间。我们欢迎社区提供建设性反馈,帮助项目持续改进。
2026/06/17: 🛠️ 发布 Lance 微调代码。查看 训练指南 了解细节。2026/06/03: 🚀 Lance 现已被 vLLM-Omni 支持。查看 recipe!2026/05/29: 💪 增加 Image-to-Video generation 支持。查看更多!2026/05/26: 🎨 Gradio 界面现已支持图像和视频生成、编辑与理解任务。欢迎体验!2026/05/25: ✨ Hugging Face Space 已上线,感谢 HF 团队的支持!2026/05/19: 🤗 技术报告现已发布于 arXiv。2026/05/18: 🔥 我们发布了 项目主页,并在 GitHub 和 Hugging Face 上开源了初版推理代码和模型权重。
Lance 是一个 3B 参数、原生统一的多模态模型,在单一框架下同时支持 图像与视频的理解、生成和编辑。
- 3B 规模高效。 仅使用 3B 激活参数,Lance 即可在图像生成、图像编辑和视频生成等基准上取得有竞争力的表现。
- 从零训练。 Lance 采用分阶段多任务训练配方从零训练,并在 不超过 128 张 A100 GPU 的预算内完成训练。
我们正在持续更新和改进本仓库。如果你发现任何问题或有改进建议,欢迎提出 issue 或提交 pull request(PR)💖。
- 软件环境: Python 3.10+,CUDA 12.4+(必需)
- 硬件环境: 推理至少需要一张显存不低于 40GB 的 GPU
我们在 NVIDIA A100 上测试通过了以下依赖组合:
- PyTorch 2.8.0 + cu126 + flash-attn 2.8.3
- PyTorch 2.5.1 + cu124 + flash-attn 2.6.3
默认安装命令使用 PyTorch 2.8.0 + cu126 环境。对于其他 GPU 型号,请根据驱动版本、CUDA runtime、Python 版本和 GPU 架构自行选择并验证匹配的 PyTorch 与 flash-attn 版本组合。
首先,克隆代码仓库:
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注意: 如果从源码安装
flash-attn失败,可以改为安装预编译 wheel。下面的 wheelhouse 来自第三方仓库,仅作为参考提供;请在安装前确认 wheel 与当前 Python、PyTorch 和 CUDA 版本匹配:pip install --no-cache-dir --no-deps --force-reinstall \ "https://huggingface.co/strangertoolshf/flash_attention_2_wheelhouse/resolve/main/wheelhouse-flash_attn-2.8.3/linux_x86_64/torch2.8/cu12/abiTRUE/cp311/flash_attn-2.8.3+cu12torch2.8cxx11abiTRUE-cp311-cp311-linux_x86_64.whl"
然后,从 Hugging Face 上的 Lance-3B 下载所需的全部模型权重,并放置到 downloads/ 目录下:
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- 运行前,请先在
inference_lance.sh顶部配置推理参数。 - 支持任务:
t2i、t2v、i2v、image_edit、video_edit、x2t_image和x2t_video。你也可以在inference_lance.py中修改TASK_DEFAULT_CONFIGS,自定义每个任务默认使用的数据样例。 - 注意: 对于所有任务,建议在编写输入 prompt 时参考提供示例中的
prompt格式,这通常有助于获得更好的生成效果。
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/t2vbash 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生成任务可选参数:
--ENHANCE_PROMPT true:启用 T2V/I2V prompt rewrite。T2V 使用纯文本 rewrite,I2V 使用文本加输入图像 rewrite。prompt rewrite 通常能提升生成效果。该选项需要openai==2.26.0,已写入requirements.txt;如果没有通过requirements.txt安装依赖,请先执行pip install openai==2.26.0。启用前请先在common/utils/caption_rewrite.py中配置API_KEY、MODEL_NAME和BASE_URL;如果没有配置有效 rewrite 参数,会自动跳过 prompt rewrite,此时建议尽量参考提供示例中的 prompt 风格手写输入。
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/t2ibash inference_lance.sh \
--TASK_NAME video_edit \
--MODEL_PATH downloads/Lance_3B_Video \
--RESOLUTION video_480p \
--SAVE_PATH_GEN results/video_editbash inference_lance.sh \
--TASK_NAME image_edit \
--MODEL_PATH downloads/Lance_3B \
--RESOLUTION image_768res \
--SAVE_PATH_GEN results/image_editbash inference_lance.sh \
--TASK_NAME x2t_video \
--MODEL_PATH downloads/Lance_3B_Video \
--RESOLUTION video_480p \
--NUM_FRAMES 50 \
--SAVE_PATH_GEN results/x2t_videobash inference_lance.sh \
--TASK_NAME x2t_image \
--MODEL_PATH downloads/Lance_3B \
--RESOLUTION image_768res \
--SAVE_PATH_GEN results/x2t_image所有任务示例可选参数:
--CONFIG_PATH path/to/config.json:使用自定义验证 JSON/JSONL 文件,而不是任务默认示例配置。
展开任务和参数参考
| 任务名 | 说明 | 示例 JSON |
|---|---|---|
t2v |
文生视频 | config/examples/t2v_example.json |
t2i |
文生图 | config/examples/t2i_example.json |
i2v |
图生视频 | config/examples/i2v_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 模型权重路径(如 Lance_3B 或 Lance_3B_Video)。 |
NUM_GPUS |
1 |
用于推理的 GPU 数量。 |
VALIDATION_NUM_TIMESTEPS |
30 |
去噪步数(例如 30 或 50)。 |
VALIDATION_TIMESTEP_SHIFT |
3.5 |
Flow matching 调度中的 timestep shift 参数。 |
CFG_TEXT_SCALE |
4.0 |
文本条件的 CFG(Classifier-Free Guidance)系数。 |
VALIDATION_DATA_SEED |
42 |
用于复现实验的随机种子。 |
NUM_FRAMES |
50 |
视频生成帧数(最大 121)。图像任务不使用该参数。 |
VIDEO_HEIGHT / VIDEO_WIDTH |
768 |
空间分辨率。编辑任务不使用该参数(由输入图像/视频决定)。 |
RESOLUTION |
"video_480p" |
基础分辨率预设(如 image_768res 或 video_480p)。 |
CONFIG_PATH |
"" |
可选的自定义验证 JSON/JSONL 文件路径。为空时使用任务默认示例配置。 |
ENHANCE_PROMPT |
false |
可选的 T2V/I2V prompt rewrite 开关。T2V 使用纯文本 rewrite,I2V 使用文本加输入图像 rewrite。prompt rewrite 通常能提升生成效果。该选项需要 openai==2.26.0,已写入 requirements.txt;也可以手动执行 pip install openai==2.26.0。启用前请先在 common/utils/caption_rewrite.py 中配置 API_KEY、MODEL_NAME 和 BASE_URL;如果没有有效 rewrite 参数,建议尽量参考提供示例中的 prompt 风格手写输入。 |
你可以启动本地 Gradio demo,体验视频/图像生成、编辑和理解:
python lance_gradio.py --server-name 0.0.0.0 --server-port 7860DPG-Bench 评测
| 模型 | # Params. | Global | Entity | Attribute | Relation | Other | Overall |
|---|---|---|---|---|---|---|---|
| 仅生成模型 | |||||||
| 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 rewriter 进行提示词改写。
GenEval 评测
| 模型 | # Params. | 1-Obj. | 2-Obj. | Count | Colors | Position | Attr. | Overall |
|---|---|---|---|---|---|---|---|---|
| 仅生成模型 | ||||||||
| 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 rewriter 进行提示词改写。
GEdit-Bench 评测
| 模型 | # Params. | BC | CA | MM | MC | PB | ST | SA | SR | SRp | TM | TT | Avg/G_O |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 仅生成模型 | |||||||||||||
| 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 |
| 统一模型 | |||||||||||||
| 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 评测(视频生成)
| 类型 | 模型 | # Params. | Total Score ↑ |
|---|---|---|---|
| 仅生成 | ModelScope | 1.7B | 75.75 |
| LaVie | 3B | 77.08 | |
| Show-1 | 6B | 78.93 | |
| AnimateDiff-V2 | - | 80.27 | |
| VideoCrafter-2.0 | - | 80.44 | |
| CogVideoX | 5B | 81.61 | |
| Kling | - | 81.85 | |
| Open-Sora-2.0 | - | 81.71 | |
| Gen-3 | - | 82.32 | |
| Step-Video-T2V | 30B | 81.83 | |
| Hunyuan Video | - | 83.43 | |
| Wan2.1-T2V | 14B | 83.69 | |
| 统一模型 | HaproOmni | 7B | 78.10 |
| Emu3 | 8B | 80.96 | |
| VILA-U | 7B | 74.01 | |
| Show-o2 | 2B | 81.34 | |
| TUNA | 1.5B | 84.06 | |
| 🌟 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 |
Copyright 2025 ByteDance Ltd. and/or its affiliates.
我们感谢 BAGEL、Qwen2.5-VL-3B-Instruct 和 Wan2.2 的贡献者,感谢他们开放的研究与社区贡献。
如果 Lance 对您的项目或研究有帮助,欢迎 🌟 本仓库,并使用以下 BibTeX 引用我们的工作:
@misc{fu2026lanceunifiedmultimodalmodeling,
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 Hao Li and Yinghang Song and Fei Ding and Jianzhu Guo and Qian He and Zheren Fu and Zhendong Mao and Yongdong Zhang},
year = {2026},
eprint = {2605.18678},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2605.18678},
}如有问题、反馈或合作需求,请联系 Mengqi Huang 和 Jianzhu Guo。




















