Olympus
CVPR 2025 Highlight | 统一视觉任务路由器,自动识别20+任务类型并分发至专业模
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
CVPR 2025 Highlight | 统一视觉任务路由器,自动识别20+任务类型并分发至专业模
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象你是一个不懂技术的摄影师,客户发来一句需求:"帮我把这张照片里的猫换成白色,然后生成3D模型,最后做一段短视频。"按照传统AI工具链,你需要依次打开图像编辑软件、3D建模工具、视频生成平台,至少折腾三四个不同的模型。
**Olympus想做的事,就是把这一切变成一个入口。**你只需要说一句话,它自动理解你要做什么,然后调用相应的子模型完成每一项任务,最终把结果拼接输出。这不是简单的"多模态理解",而是真正的"任务路由"。
2025年,CVPR接收了这篇论文并将其评为 Highlight论文,这是对学术研究影响力的极高认可。
Olympus的核心思想是:为20种不同的视觉任务,设计一套统一的"路由指令语言"。
模型在训练时被注入了20种视觉任务的指令模板。当用户输入一句包含多种需求的话时,Olympus首先进行"任务解析",判断用户需求涉及哪些任务类型,然后在输出中嵌入对应的路由标签,例如:
输入: 生成一只橘猫图片,然后把猫改成白色,再生成3D模型
输出: <image_gen>一只橘猫在窗台上</image_gen>
<image_edit>把猫改成白色</image_edit>
<3D_gen_image>基于修改后图片生成3D模型</3D_gen_image>
每个<xxx_gen>或<xxx_edit>标签对应一个具体的子任务,下游的专业模型可以根据这些标签接管对应的任务。Olympus本身并不负责生成图像/视频/3D内容,它是一个理解+路由+编排的智能调度层。
论文披露,Olympus在20个任务上的平均路由准确率达到 94.75%,链式动作场景下的精确率达到 91.82%。
Olympus基于 Mipha 框架开发,而Mipha本身源自 LLaVA。核心组件分为三层:
视觉编码器: 支持CLIP、SigLIP和DINOv2三种视觉backbone,各有侧重——CLIP擅长语义对齐,SigLIP在图像-文本配对上更精准,DINOv2在像素级特征提取上表现优异。
视觉投影器: 将视觉编码器的输出映射到语言模型的embedding空间,通过MLP投影器完成跨模态对齐。
大语言模型: 支持Phi-2、Phi-3和Gemma系列。Olympus-7B使用 Phi-2 作为语言核心,这是一个参数量精简但性能出色的微软开源模型。
训练策略: Olympus收集了20个任务的数据集(OlympusInstruct),结合LLaVA官方Instruction Tuning数据(llava_v1_5_mix665k),总计超过66万条训练样本。微调使用 DeepSpeed ZeRO-3 分布式训练,官方推荐8卡A100(80GB)环境。
Olympus/
├── mipha/ # 核心框架(Mipha LLM架构)
│ ├── model/
│ │ ├── mipha_arch.py # 模型主体架构,多模态融合逻辑
│ │ ├── builder.py # 模型加载,支持Phi/Phi3/Gemma多后端
│ │ ├── multimodal_encoder/ # CLIP/SigLIP/DINOv2视觉编码器
│ │ └── multimodal_projector/ # 视觉-语言投影器
│ ├── conversation.py # 对话模板管理
│ ├── train/ # 训练入口与DeepSpeed集成
│ └── serve/cli.py # 交互式推理CLI
├── predict.py # 路由推理主脚本(入口)
├── scripts/mipha/eval/ # 各评测数据集的评测脚本
├── download_*.py # 模型与数据集下载脚本
└── requirements.txt
predict.py是使用Olympus最简单的方式:
python predict.py \
--prompt "生成一只橘猫图片,然后改成白色,再生成3D模型" \
--model-path ckpts/Olympus \
--temperature 0 \
--conv-mode v0
推理模式 (推荐入门): 只需下载Olympus模型(约14GB),配合conda环境即可运行推理。最低配置需要单张16GB显存的GPU(RTX 4090/A100/A10G均可)。环境搭建: conda create -n olympus python==3.10 && pip install -r requirements.txt。
微调模式: 需要8卡A100 80GB的分布式环境,使用DeepSpeed ZeRO-3。对于大多数个人开发者和小型团队来说门槛较高,但HuggingFace上已上传完整微调后权重(Yuanze/Olympus),可直接下载使用。
主要限制: 无Web UI(纯CLI),无Docker支持,图像/视频/3D生成依赖下游模型。
HuggingFace开放资源:
| 资源 | 说明 |
|---|---|
| Olympus模型权重 | Yuanze/Olympus |
| OlympusInstruct数据集 | 20个任务的指令数据 |
| OlympusBench评测集 | 评测路由准确性的基准集 |
| 链式动作数据coa.json | 支持链式多任务评测 |
Olympus代表了一个重要趋势:从"单模型单任务"到"单模型多任务调度"的范式转变。 Olympus通过统一的指令语言,实现了任务的自动识别与分发,大幅简化了复杂视觉工作流的构建成本。路由准确率超过94%,这意味着未来的视觉AI系统可以由一个中心大脑协调多个专业工具,而非需要用户手动规划和串联。
同时,Olympus也展示了 LLaVA生态的强扩展性,证明了LLaVA的架构不仅能做视觉问答,还能做任务路由与编排,为开源多模态社区提供了新的架构参考。
总结一句话: Olympus不是生成图像的模型,而是告诉其他模型"生成什么"的大脑。