cambrian
以视觉为中心的开源多模态大模型,在视觉问答和推理任务上显著优于同类开源方案
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
以视觉为中心的开源多模态大模型,在视觉问答和推理任务上显著优于同类开源方案
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你曾经有没有这样的困惑:为什么很多号称"多模态"的AI,在看图这件事上总感觉差一口气?问它图里有什么还行,但一问到细微差别、空间关系、推理过程,答案就开始含糊。NYU Vision Lab 等研究团队推出的 Cambrian-1(也称 Cambrian MLLM),正是为了解决这个问题而生的。

图1:CAMPHOR-7M 数据集规模与覆盖范围
大型语言模型(LLM)在自然语言处理上突飞猛进,但"看图说话"这件事始终是短板。传统方案通常是把视觉 encoder 的输出直接塞进 LLM,忽视了视觉任务本身的特点——图像信息密度高、任务类型多样、标注成本贵。
Cambrian-1 的核心贡献,是提出了以视觉为中心(Vision-Centric)的设计原则。论文系统地对比了多种视觉 encoder(SigLIP、DINOv2、CLIP 等)、LLM 基座(Vicuna、Phi-3、LLaMA 3、Mistral 等)和训练策略,找出了一套最优组合。更重要的是,他们开源了 CAMPHOR-7M 数据集,包含 700 万条高质量图文数据,专门针对视觉理解任务设计,覆盖了物体识别、空间关系、OCR、医学图像、图表推理等多个维度。
项目由 NYU Vision Lab 主导,核心作者包括 Haotian Liu(其也是 LLaVA 的作者),团队成员背景涵盖计算机视觉、NLP 和机器学习系统,阵容深厚。
Cambrian-1 的架构是典型的 LLaVA-style 范式:视觉 encoder + 投影层(Projector)+ LLM 基座。但细节上做了大量改进:
cambrian_arch.py 定义了 CambrianModel 抽象基类,每种 encoder 都有对应的实现类。nyu-visionx/cambrian-8b、cambrian-phi3-3b、cambrian-34b、cambrian-13b),通过 HuggingFace 格式发布,可直接用 transformers 加载。代码库提供了完整的训练脚本:
train_fsdp.py:FSDP(Fully Sharded Data Parallel)分布式训练,适合 8B 以上大模型train_tpu.py:TPU 训练脚本,支持 Google Cloud TPUtrain_xformers.py:使用 xFormers 高效注意力实现cambrian_trainer.py:基于 HuggingFace Trainer 的封装,支持 WandB 日志和早停训练分为两个阶段:
推理代码质量很高,提供了两种使用方式:
方式一:Gradio Web UI(gradio_web_server.py)
提供完整的 Web 界面,支持多图输入、对话历史、模型切换。对开发者友好,可直接在浏览器中体验模型能力。
方式二:CLI 推理(inference.py)
适合程序化调用,示例展示了如何通过命令行逐张输入图像和问答:
model_path = "nyu-visionx/cambrian-8b"
tokenizer, model, image_processor, context_len = load_pretrained_model(...)
# 输入图像路径和问题,即可得到回答
方式三:SGLang 后端(sglang_worker.py)
支持 SGLang 高效推理框架,适合生产环境部署。
dataengine/ 模块是 Cambrian-1 的一大亮点。CAMPHOR-7M 数据集的构建流程高度自动化:
generate_topics.py:自动生成多样化主题词generate_qa.py:基于 LLM 生成问答对generate_vqa.py:视觉问答数据生成process_json_files.py:后处理 JSON 数据wikiflow.py:维基百科图文数据管道数据管道设计考虑了多样性、质量控制和可扩展性,支持从多个来源(维基百科、学术论文、网页)采集图文数据,并经过清洗、去重、质量过滤。
eval/ 模块提供了完整的评测流程。Cambrian-1 团队认为现有 benchmark 过度依赖 OCR 和文本匹配,无法真正反映视觉理解能力。因此他们设计了更强调空间推理、多步推理的评测集。
评测支持 SLURM 集群批量提交(eval/slurm/),也支持本地单机运行。评测结果证明:在同等参数规模下,Cambrian-1 在视觉问答、图表理解、空间推理等任务上显著优于 LLaVA 系列。
# 安装
pip install cambrian
# 推理示例
python inference.py
# 输入图像路径 -> 输入问题 -> 获取回答
# 启动 Web UI
python -m cambrian.serve.gradio_web_server
项目官方权重发布在 HuggingFace Hub:nyu-visionx/cambrian-8b、cambrian-phi3-3b、cambrian-34b 等,可直接用 transformers 加载:
from cambrian.model.builder import load_pretrained_model
model_path = "nyu-visionx/cambrian-8b"
tokenizer, model, image_processor, _ = load_pretrained_model(model_path, None, model_path)
Cambrian-1 的意义不仅在于模型本身,更在于它提出的 "视觉优先"设计范式。它证明了:多模态大模型的关键瓶颈不在于 LLM 有多大,而在于视觉表示有多强。CAMPHOR-7M 数据集的开源,也为社区提供了一个高质量的图文训练资源。
从增长曲线看,Cambrian-1 提出的视觉 encoder 选型方法论和 CAMPHOR 数据构建流程,已被多个后续工作(如Cambrian-2)引用和扩展,成为多模态研究的重要 baseline。
如果你关注多模态 AI 的底层创新,Cambrian-1 值得深入研究其架构设计思路;如果你想快速体验视觉 LLM,直接通过 HuggingFace 加载预训练权重是最快路径。