cosmos-reason1
NVIDIA开源的7B参数物理推理VLM,让机器人像人类一样理解空间、时间和物理常识
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
NVIDIA开源的7B参数物理推理VLM,让机器人像人类一样理解空间、时间和物理常识
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Cosmos-Reason1 项目概览
想象这样一个场景:一台物流机器人在仓库中行走,突然遇到货架倒塌的障碍——没有常识的AI会机械地尝试原路前进,而 Cosmos-Reason1 能像人类一样"想一想":这个障碍有多重?能否推动?需要绕多远?下一步怎么走才能安全通过。这不是科幻,这是 NVIDIA Labs 已经在做的事。
Cosmos-Reason1 是 NVIDIA 于 2025 年初开源的 7B 参数视觉语言模型(Vision Language Model, VLM),全称 Cosmos-Reason1-7B。它的核心定位与传统的视觉识别模型截然不同:传统模型告诉你"画面里有什么",Cosmos-Reason1 告诉你"画面里正在发生什么物理过程,接下来可能会怎样"。
该模型基于 Qwen2.5-VL 架构微调而来,但经过 NVIDIA 团队的大规模物理常识数据和机器人具身推理数据的专项训练。这种后训练(post-training)结合了监督微调(SFT)和强化学习(RL),让模型在不需要人工标注的情况下,自动学会理解世界运转的基本物理规律——比如重力会让物体下落、液体不能堆叠、碰撞会导致物体移动等。
从开源时间线看,NVIDIA 采取了快速迭代策略:2025年5月发布模型权重,8月即增加城市和工业场景的时空推理能力,10月推出 Cosmos Cookbook 配套工具库。到2025年底已升级至 Cosmos 3,但在当前时间点,Cosmos-Reason1 仍有其学习价值——代码结构清晰、示例丰富,非常适合作为 Physical AI 领域的入门项目。
Cosmos-Reason1 的核心能力来源于其独特的 长链推理(Long Chain-of-Thought Reasoning) 机制。与直接输出答案不同,模型会首先生成一段"思考过程"——分析视频中物体的空间关系、时间演化、物理属性,然后才给出规划建议。
以视频理解为例,输入一段机器人抓取物体的视频,模型会先推理:物体的形状与机械臂末端的接触关系是什么?力的方向如何?物体会如何响应这个力?基于这些分析,再给出"抓取策略是否合理"的判断。这种能力对于机器人在真实环境中的长尾场景(corner case)处理至关重要——正是那些仓库里不常发生但一旦发生就很棘手的情况。
| 指标 | 值 |
|---|---|
| 参数规模 | 7B(70亿) |
| 基础架构 | Qwen2.5-VL |
| 训练范式 | SFT + RL |
| 推理框架 | HuggingFace Transformers |
| 最低显存 | 24GB VRAM |
| 许可证 | Apache 2.0(代码)+ NVIDIA Open Model License(模型) |
项目采用 Python 3.10+ 环境,依赖管理使用现代工具 uv(Astral 出品的 Rust 编写包管理器,速度比 pip 快 10-100 倍)。核心依赖包括:
值得注意的是,项目不依赖 Triton、TensorRT 等传统 NVIDIA 推理优化工具,定位是让研究者和爱好者能以最快速度上手实验,而非生产级部署。
项目目录结构简洁明了:
cosmos-reason1/
├── assets/ # 示例图片和视频(sample.gif/sample.mp4)
├── bin/ # 可执行脚本
├── configs/ # 推理配置(采样参数、视觉处理器配置)
├── cosmos_reason1_utils/ # 核心推理工具包(独立子包)
├── examples/ # 教程:视频批评、基准测试、后训练示例
├── prompts/ # 提示词模板(YAML格式,支持多种任务)
├── scripts/ # 推理脚本(含最小示例和完整推理)
└── pyproject.toml # uv 项目配置
cosmos_reason1_utils 是独立发布的推理工具包,包含视频时空推理的核心逻辑,可以单独 pip install 使用,这种设计让其他项目可以复用 Cosmos-Reason1 的推理能力而不必引入整个仓库。
推理脚本分为两级:inference_sample.py 是最小可用示例,仅约 50 行代码,展示从模型加载到推理的完整流程;inference.py 是生产级脚本,支持批量视频处理、自定义提示词、时空标注等高级功能。
提示词系统采用 YAML 配置,prompts/ 目录提供了覆盖多种场景的模板:视频描述(caption.yaml)、问答推理(question.yaml)、动作规划(action_planning.yaml)、自动驾驶场景(driving.yaml)、机器人控制(robot.yaml)、视频批评(video_critic.yaml)等。这种 YAML 化的提示词管理让用户无需修改代码,只需替换 YAML 即可适配不同任务。
图2:Cosmos-Reason1 时空推理示例(sample.gif)
Cosmos-Reason1 的部署难度属于中等,主要门槛在于 GPU 显存要求。NVIDIA 官方要求至少 1 张 24GB 显存的 GPU(如 RTX 3090、A100 40GB、A6000 等),这对个人开发者来说有一定硬件门槛,但相比动辄需要多卡并行的超大模型已经相当亲民。
部署流程标准化程度较高:
uv sync 自动处理所有依赖uv run scripts/inference_sample.py 即可出结果整个过程在网络畅通情况下约 15-30 分钟。对于已有 NVIDIA GPU 的开发者,难度接近"开箱即用"。没有 GPU 的用户可以通过 Google Colab(需 Pro 订阅以获得高显存实例)或云 GPU 租赁服务(如 Lambda Labs、Vast.ai)来体验。
针对显存不足的用户,仓库提供了 FP8 量化脚本(scripts/quantize_fp8.py),使用 vLLM 和 llmcompressor 将模型量化至 FP8(8位浮点),理论上可将显存需求降低约一半,使 12GB 显存的 GPU(如 RTX 3060 12GB)也能运行。量化后精度损失在可接受范围内,适合研究和实验场景。
项目目前没有提供 Dockerfile,对于不熟悉 Python 环境配置的开发者而言,需要手动处理 CUDA 版本、PyTorch 与 CUDA 的兼容性匹配、torchcodec 的特殊依赖等,踩坑成本不低。此外,也缺少 docker-compose 一键启动方案,生产部署需要自行封装镜像。
Cosmos-Reason1 的发布在 Physical AI 领域具有标志性意义:
从 GitHub 增长趋势看(949 stars),项目获得了较高关注度,尤其在机器人学术圈和 NVIDIA 生态开发者中传播较广。其后续 Cosmos 3 的推出也印证了 NVIDIA 将 Cosmos-Reason1 定位为"探索性早期版本"的战略——先用 Cosmos-Reason1 验证推理能力,再用 Cosmos 3 统一架构推向产品化。
| 维度 | 评分 | 简评 |
|---|---|---|
| 代码质量 | ★★★★☆ | NVIDIA 工业级代码规范,模块清晰,注释规范 |
| 文档质量 | ★★★★★ | 教程完整,提示词丰富,Cookbook 生态完善 |
| 部署友好度 | ★★★☆☆ | GPU 门槛明确但无容器化,对新手有挑战 |
| 技术创新性 | ★★★★★ | Chain-of-Thought 物理推理,VLM + RL 后训练标杆 |
| 开源价值 | ★★★★★ | Apache 2.0 代码 + 模型权重全开源,含训练数据 |
Cosmos-Reason1 是一个兼具学术价值和工程参考意义的项目,适合三类读者:想理解 VLM 物理推理原理的研究者、需要为机器人规划模块选型的工程师、以及想上手 NVIDIA Cosmos 生态的 AI 爱好者。唯一的遗憾是官方已将其定位为 Legacy 项目,推荐迁移至 Cosmos 3——但 Cosmos-Reason1 的代码和文档对于学习而言仍然优质。