【字节拥抱开源】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}
}
相关推荐
必须会一定会2 小时前
Agent Plugins 1.0实战:plugin.json、skills、mcp.json目录结构与迁移
开发语言·人工智能·ai编程
CTA量化套保2 小时前
近期零基础量化学习:先分阶段,再用 AI 检查缺口
人工智能·python
Justin3go3 小时前
AI 引荐流量报告:哪些独立产品正在从 ChatGPT 获客?
人工智能·seo
风流 少年3 小时前
Spring AI 2.0:SSE
java·人工智能·spring
深小乐3 小时前
AI 项目上线:折腾 Cloudflare,真香也藏不少坑
人工智能
ACP广源盛139246256734 小时前
Qwen3.8‑2.4T 开源落地@ACP#国产 MoE 私有化部署下 GSV2221 视频转换芯片机遇分析
大数据·数据库·人工智能
冬奇Lab5 小时前
开源项目第190期:claude-video — 给 Claude 装上「眼睛」看视频,一条命令分析 YouTube/Loom/本地视频
人工智能·开源·claude
七牛开发者5 小时前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
dear_bi_MyOnly5 小时前
AI人工智能分类识别——机器如何学习
人工智能·学习·分类