【字节拥抱开源】Lance: 多任务协同的统一多模态建模

🌟 亮点

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 包:

bash 复制代码
pip 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_768resvideo_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 字节跳动有限公司及其关联公司。

🙏 致谢

我们要感谢 BAGELQwen2.5-VL-3B-InstructWan2.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}
}
相关推荐
冬奇Lab2 小时前
Agent系列(七):知识库集成——Agent 调用 RAG 的正确姿势
人工智能·agent
ITyunwei09872 小时前
主流 SaaS 工单系统对比
运维·服务器·人工智能
青风972 小时前
SDDGR:基于稳定扩散的深度生成重放,用于类增量对象检测(CVPR 2024)
网络·人工智能·深度学习·神经网络·计算机视觉
冬奇Lab2 小时前
一天一个开源项目(第114篇):stop-slop - 一个教 AI 消除自身写作口癖的 Skill 文件
人工智能
天青色等烟雨..2 小时前
R+VIC模型融合实践技术应用及未来气候变化模型预测
大数据·人工智能·arcgis·语言模型·数据分析
云栖梦泽在2 小时前
AI安全实战:AI系统应急响应的实战演练案例
大数据·人工智能·安全
wanzehongsheng2 小时前
户外追日光伏技术对比:双轴太阳花与三轴智能太阳花场景适配分析
人工智能·能源·光伏·光伏支架·光伏太阳花
北辰alk2 小时前
AI Agent 记忆系统架构设计:OpenClaw、Claude Code、Hermes Agent 深度对比
人工智能
忆~遂愿2 小时前
《大模型驱动软件测试》| 软件工程3.0时代,大模型驱动测试实战指南
人工智能·深度学习·神经网络·机器学习·自然语言处理·软件工程·知识图谱