【字节拥抱开源】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}
}
相关推荐
IT_陈寒3 分钟前
React的useEffect依赖数组把我坑惨了,真相其实很简单
前端·人工智能·后端
Kapaseker16 分钟前
什么?Stack Overflow 给 AI 做了个 Stack Overflow
人工智能
aneasystone本尊35 分钟前
让小龙虾自己写手册:Skill Workshop
人工智能
火山引擎开发者社区1 小时前
一篇看懂 VKE AI Profiling:AI 应用性能分析优化实战
人工智能
IT乐手1 小时前
马斯克的AI模型Grok,竟然帮美军炸了伊朗?!
人工智能
AI袋鼠帝1 小时前
斥资500元/上亿Token,深度横评4个顶尖模型的真实排名~
人工智能
修己xj9 小时前
告别手动画图:用自然语言生成可直接发布的 SVG+PNG 技术图
aigc
大刚测试开发实战11 小时前
TestHub V0.2.2版本发布,附更新指南
人工智能
冬奇Lab12 小时前
Agent 系列(21):Harness 测试工程——45 个测试怎么设计,以及它发现了什么 bug
人工智能·llm·agent
冬奇Lab12 小时前
每日一个开源项目(第133篇):EchoBird - 把 AI 工具的安装和部署做成傻瓜操作
人工智能·开源·资讯