Lance:字节跳动推出的3B统一模型,支持图像与视频理解、生成与编辑

字节跳动的Lance是一个3B参数的统一多模态模型,能够处理图像/视频理解、生成与编辑,在多项基准测试中表现优异。

字节跳动开源了Lance,一个拥有3B活跃参数的原生统一多模态模型,可在单一框架内处理图像和视频的理解、生成与编辑。该模型从零开始训练,采用分阶段多任务方案,最多使用128块A100 GPU,尽管参数量相对较小,但在多个基准测试中取得了有竞争力的性能。

Lance的重要性

当前大多数多模态模型要么是专用型(仅生成或仅理解),要么需要庞大的参数量(7B–20B+)才能统一能力。Lance证明了一个3B模型可以在图像生成、图像编辑、视频生成和视频理解任务上匹配或超越更大模型。其重要意义在于:

  • 部署效率:更低的显存需求(40GB+ GPU)和更快的推理速度
  • 研究可及性:训练和微调所需的计算预算更小
  • 统一架构:单一模型处理多种任务,无需任务专用头

架构与训练

Lance是一个原生统一模型,即对理解和生成任务使用单一架构。关键细节:

  • 活跃参数:3B(不是总参数,而是推理时激活的参数)
  • 训练:从零开始的分阶段多任务方案
  • 计算资源:最多128块A100 GPU
  • 分辨率:图像最高768×768,视频480p@12 FPS

支持的任务

Lance开箱即支持七种任务类型:

任务 描述
t2i 文本到图像生成
t2v 文本到视频生成
i2v 图像到视频生成
image_edit 图像编辑
video_edit 视频编辑
x2t_image 图像理解(描述、VQA)
x2t_video 视频理解(描述、问答)

安装与设置

环境要求

  • Python 3.10+
  • CUDA 12.4+
  • 至少40GB显存的GPU(已在A100上测试)

快速开始

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

从Hugging Face下载模型权重:

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 \
  --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

图像到视频(新功能!)

bash 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

文本到图像

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 inference_lance.sh \
  --TASK_NAME video_edit \
  --MODEL_PATH downloads/Lance_3B_Video \
  --RESOLUTION video_480p \
  --SAVE_PATH_GEN results/video_edit

图像理解

bash inference_lance.sh \
  --TASK_NAME x2t_image \
  --MODEL_PATH downloads/Lance_3B \
  --RESOLUTION image_768res \
  --SAVE_PATH_GEN results/x2t_image

关键参数

参数 默认值 描述
MODEL_PATH downloads/Lance_3B 权重路径(Lance_3B或Lance_3B_Video)
NUM_GPUS 1 GPU数量
VALIDATION_NUM_TIMESTEPS 30 去噪步数
CFG_TEXT_SCALE 4.0 无分类器引导尺度
NUM_FRAMES 50 视频最大121帧
ENHANCE_PROMPT false 启用提示重写(需要OpenAI API密钥)

基准性能

Lance在多个基准测试中取得了有竞争力的结果:

图像生成(GenEval)

  • 总体:0.90(与TUNA-7B持平,超过Janus-Pro-7B的0.80)
  • 颜色:0.97(所有模型中最佳)
  • 位置:0.87(与TUNA-7B并列)

图像编辑(GEdit-Bench)

  • 平均:7.30(超过InternVL-U 1.7B的6.66和BAGEL的6.52)

视频生成(VBench)

  • 总分:85.11(超过TUNA 1.5B的84.06和Hunyuan Video的83.43)

Gradio演示

Lance包含一个本地Gradio界面,可用于交互式使用:

python lance_gradio.py --server-name 0.0.0.0 --server-port 7860

这将为所有支持的任务提供一个Web UI。

路线图

团队计划发布微调代码,支持针对特定领域或任务的定制。

局限性

  • 研究项目,非成熟产品
  • 输出质量因提示、分辨率和运动复杂度而异
  • 训练最高支持768×768图像和480p视频
  • 需要40GB+显存的GPU

结论

Lance代表了向高效统一多模态模型迈出的重要一步。凭借3B活跃参数,它证明了当采用精心设计的多任务训练方案时,较小模型也能与更大模型竞争。对于希望尝试统一图像/视频理解与生成的开发者和研究人员,Lance提供了一个实用的开源起点。

开始使用GitHub仓库 | Hugging Face模型 | 技术报告

来源

bytedance/Lance:一个3B活跃参数的原生统一多模态模型,用于图像和视频理解、生成与编辑。