介绍 Lance:一个用于多模态生成与理解的统一 3B 模型
生成式 AI 的格局长期以来一直处于碎片化状态,图像生成、视频合成和视觉理解分别由不同的模型负责。虽然专用模型在各自的领域往往表现出色,但为单个应用维护多个流水线的开销非常大——例如,一个既需要分析视频又需要编辑视频的工具。
ByteDance 通过 Lance 解决了这一挑战,这是一个具有 3B 激活参数的原生统一多模态模型。与通过拼接不同模型构建的模块化系统不同,Lance 旨在单个框架内处理图像和视频的理解、生成与编辑,力求在这些多样化的任务之间实现协同效应。
统一的多模态框架
Lance 是一个“原生”统一模型,这意味着它从底层构建时就是为了处理多种模态而设计的。其主要目标是弥合理解(判别式任务)与生成(生成式任务)之间的鸿沟。
技术亮点
- 高效规模: 凭借仅 3B 的激活参数,Lance 在不牺牲性能的情况下实现了高效设计,使其比庞大的 10B+ 参数模型更易于获取。
- 从零开始训练: 虽然它利用了现有的 ViT 和 VAE 编码器,但其 Transformer 主干网络是使用分阶段多任务方案完全从零开始训练的。这确保了模型的内部表示针对其任务的统一性质进行了优化。
- 计算预算: 该模型是在 128 张 A100 GPU 的相对受限预算内开发的,展示了对训练效率的关注。
多功能能力
Lance 的架构允许它在不同媒体类型上执行广泛的任务。该模型提供了一个统一的命令行界面来处理这些多样化的请求:
1. 生成
- 文本生成图像 (t2i): 根据文本提示词生成高保真图像。
- 文本生成视频 (t2v): 根据文本描述创建视频序列(最多 121 帧)。
2. 编辑
- 图像编辑: 根据文本指令修改现有图像。
- 视频编辑: 对视频内容进行更改,包括支持多轮一致性编辑,即模型在连续几次编辑中保持连贯性。
3. 理解
- 图像理解 (x2t_image): 执行视觉问答 (VQA) 和复杂的基于图像的推理(例如,分析饼图或读取车牌)。
- 视频理解 (x2t_video): 为视频提供简洁或详细的字幕,并回答有关剪辑中动作和物体的特定问题。
性能基准
Lance 已针对仅生成模型和其他统一模型进行了评估。结果表明,其较小的规模并未阻碍其竞争力。
图像生成 (GenEval & DPG-Bench)
在 GenEval 中,Lance 获得了 0.90 的总分,与 TUNA 持平,并超过了 Janus-Pro-7B (0.80) 和 OmniGen2 (0.80) 等更大的模型。在 DPG-Bench 中,它在“关系”任务中表现尤为出色,得分 93.38,高于几乎所有对比模型。
图像编辑 (GEdit-Bench)
Lance 在图像编辑方面表现出强大的性能,获得了 7.30 的平均分,超过了其他统一模型如 InternVL-U (6.66) 和 BAGEL (6.52)。
视频生成 (VBench)
在 VBench 评估中,Lance 得分为 85.11,使其位居于 Emu3 (80.96) 和 Show-o2 (81.34) 等其他统一模型之上,甚至超过了几个仅生成模型。
部署与使用
对于开发者和研究人员,Lance 可在 GitHub 和 Hugging Face 上获取。推荐的环境要求 Python 3.10+、CUDA 12.4+,以及用于推理的至少 40GB 显存的 GPU。
用户可以通过统一的脚本 (inference_lance.sh) 或 Gradio 界面进行交互,以获得更直观的体验。该模型支持多种分辨率,包括 image_768res 和 video_480p。
社区反馈
虽然技术成就受到了赞誉,但来自社区的一些早期反馈强调了在拥挤的 AI 生态系统中命名的挑战。一位用户指出,这可能会与现有的且广受欢迎的 lance/lancedb 项目产生混淆,建议使用不同的名称可能会有助于该项目在搜索结果中更清晰地脱颖而出。