探索NVIDIA Cosmos Reason2:物理AI与机器人学的推理视觉语言模型
摘要
NVIDIA Cosmos Reason2是一个开源、可定制的推理视觉语言模型(VLM),专为物理AI和机器人设计。它理解空间、时间和基本物理原理,能作为规划模型,帮助机器人使用先验知识、物理理解和常识在现实世界中行动。模型包括2B和8B参数版本,支持视频分析、数据 curation 和机器人规划,需至少24GB GPU内存,支持Hopper和Blackwell架构。
引言:为什么物理AI需要像人类一样“思考”?
想象一下,你正在设计一个机器人,它需要在未知环境中导航:避开障碍物、预测物体运动,甚至根据常识决定下一步行动。这听起来像科幻,但NVIDIA Cosmos Reason2正让它成为现实。作为一名在AI和机器人领域工作多年的从业者,我经常遇到这样的挑战:如何让机器不只是“看”,而是真正“理解”物理世界?Cosmos Reason2通过后训练注入物理常识和具身推理能力,解决了这个问题。它使用链式思考(chain-of-thought)来模拟人类推理,无需人类标注,就能处理多样化的物理场景。
这个模型家族于2025年12月19日发布,包括2B和8B参数版本,现在已在Hugging Face上可用。无论你是机器人开发者,还是视频分析专家,这篇文章将带你一步步了解如何设置、使用和扩展它。我们会从基础开始,逐步深入,确保你能轻松上手。
模型家族:选择适合你的Cosmos Reason2版本
Cosmos Reason2家族包括两个主要模型:Cosmos-Reason2-2B和Cosmos-Reason2-8B。每个都基于Qwen3-VL架构,专为多模态输入设计,能处理文本提示加上视频或图像。
-
Cosmos-Reason2-2B:参数量为2B(具体为2,000,000,000左右),适合入门级应用。最小GPU内存需求24GB,适用于视频字幕生成或简单具身推理任务。 -
Cosmos-Reason2-8B:参数量精确为8,767,123,696,更强大,支持长上下文理解高达256K输入令牌。最小GPU内存32GB,增强了时空理解、时间戳精度和对象检测(包括2D/3D点定位和边界框坐标)。
这些模型在后训练中使用监督微调和强化学习,注入物理常识和具身推理数据。结果?它们能处理长尾多样化物理场景,比如快速相机移动、重叠人-物交互或低光高模糊环境下的复杂动态。
如果你是初学者,从2B版本开始测试;对于生产级应用,如机器人规划,8B版本提供更精确的时空推理。模型开发者是NVIDIA,确保了商业可用性。
新功能亮点:Cosmos Reason2的升级点
与前代相比,Cosmos Reason2引入了几个关键改进,让它在物理AI中脱颖而出:
-
增强物理AI推理:改善时空理解和时间戳精度,能精确定位视频帧中的事件。 -
对象检测支持:提供2D/3D点定位、边界框坐标,并附带推理解释和标签。 -
长上下文处理:输入令牌上限256K,适合分析长视频或复杂指令。
用例包括:
-
视频分析AI代理:从海量视频中提取洞见,进行根因分析。适用于城市或工业操作的录制或实时视频流。 -
数据 curation 和标注:自动化高质量数据集过滤、标注和去重。NVIDIA Cosmos Curator框架以此为基础,帮助处理物理AI开发所需的大量传感器数据。 -
机器人规划和推理:作为视觉语言动作(VLA)模型的“大脑”,解释环境、分解复杂命令,并在陌生环境中使用常识执行任务。适用于人形机器人或自动驾驶车辆(AV)。
这些功能让模型成为物理AI的规划核心,能预测具身代理的下一步行动。
设置环境:从零开始安装Cosmos Reason2
设置Cosmos Reason2的环境并不复杂,但需要注意硬件兼容性。模型在Hopper和Blackwell GPU上工作良好,已在NVIDIA H100(CUDA 12.8)、GB200(CUDA 13.0)、DGX Spark(CUDA 13.0)和Jetson AGX Thor(CUDA 13.0)上测试。其他配置可能兼容,但未正式验证。
选择你的环境
你有两种主要选项:虚拟环境或Docker容器。
虚拟环境设置
-
安装系统依赖:
sudo apt-get install curl ffmpeg git git-lfs -
安装uv工具:
curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/env -
安装Hugging Face CLI并登录:
uv tool install -U huggingface_hub hf auth login -
克隆仓库并安装:
git clone https://github.com/nvidia-cosmos/cosmos-reason2.git cd cosmos-reason2 uv sync --extra cu128 source .venv/bin/activateCUDA变体:
CUDA版本 参数 注意事项 12.8 –extra cu128 需要相应NVIDIA驱动 13.0 –extra cu130 DGX Spark和Jetson AGX必须用此;设置TRITON_PTXAS_PATH=”/usr/local/cuda/bin/ptxas”
Docker容器设置
确保有Docker和NVIDIA Container Toolkit。
-
构建镜像:
image_tag=$(docker build -f Dockerfile --build-arg=CUDA_VERSION=12.8.1 -q .)CUDA变体类似上表。
-
运行容器:
docker run -it --gpus all --ipc=host --rm -v .:/workspace -v /workspace/.venv -v /workspace/examples/cosmos_rl/.venv -v /root/.cache:/root/.cache -e HF_TOKEN="$HF_TOKEN" $image_tag可选参数解释:
-
–ipc=host:处理并行torchrun的高共享内存需求。 -
-v /root/.cache:/root/.cache:避免重复下载缓存。 -
-e HF_TOKEN=”$HF_TOKEN”:设置Hugging Face令牌。
-
这些步骤确保你能快速启动,而无需仓库本身运行推理——只需参考inference_sample.py脚本。
推理指南:如何用Cosmos Reason2处理视频和图像
推理是Cosmos Reason2的核心功能,支持Transformers和vLLM部署。最小GPU内存:2B模型24GB,8B模型32GB。
使用Transformers进行推理
Cosmos Reason2集成在transformers>=4.57.0中。
最小示例(处理视频):
import transformers
import torch
model_name = "nvidia/Cosmos-Reason2-2B"
model = transformers.Qwen3VLForConditionalGeneration.from_pretrained(
model_name, dtype=torch.float16, device_map="auto", attn_implementation="sdpa"
)
processor: transformers.Qwen3VLProcessor = (
transformers.AutoProcessor.from_pretrained(model_name)
)
video_messages = [
{
"role": "system",
"content": [{"type": "text", "text": "You are a helpful assistant."}],
},
{"role": "user", "content": [
{
"type": "video",
"video": "file:///path/to/your/video.mp4",
"fps": 4,
},
{"type": "text", "text": (
"Is it safe to turn right? Answer the question using the following format:\n\n<think>\nYour reasoning.\n</think>\n\nWrite your final answer immediately after the </think> tag."
)
},
]
},
]
# Process inputs
inputs = processor.apply_chat_template(
video_messages,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
fps=4,
)
inputs = inputs.to(model.device)
# Run inference
generated_ids = model.generate(**inputs, max_new_tokens=4096)
generated_ids_trimmed = [
out_ids[len(in_ids) :]
for in_ids, out_ids in zip(inputs.input_ids, generated_ids, strict=False)
]
output_text = processor.batch_decode(
generated_ids_trimmed,
skip_special_tokens=True,
clean_up_tokenization_spaces=False,
)
关键提示:
-
输入:文本+视频(mp4,FPS=4匹配训练设置)或图像(jpg)。 -
输出:文本字符串,使用和格式鼓励长链式思考。 -
推荐max_new_tokens=4096或更多,避免截断长响应。 -
模型识别帧底时间戳,用于精确时序定位。
在Jetson AGX上,支持Transformers推理;vLLM推理即将到来。
部署:在线服务和离线推理
使用vLLM>=11.0.0进行部署。
在线服务
启动服务器:
vllm serve nvidia/Cosmos-Reason2-2B \
--allowed-local-media-path "$(pwd)" \
--max-model-len 16384 \
--media-io-kwargs '{"video": {"num_frames": -1}}' \
--reasoning-parser qwen3 \
--port 8000
可选:
-
–max-model-len 16384:范围8192-16384,避免OOM。 -
–media-io-kwargs:允许每样本覆盖FPS。 -
–reasoning-parser qwen3:解析推理轨迹。 -
–port 8000:避免地址冲突。
启动后,视频字幕示例:
cosmos-reason2-inference online --port 8000 -i prompts/caption.yaml --reasoning --videos assets/sample.mp4 --fps 4
具身推理示例(带详细输出):
cosmos-reason2-inference online -v --port 8000 -i prompts/embodied_reasoning.yaml --reasoning --images assets/sample.png
离线推理
时序字幕视频并保存帧调试:
cosmos-reason2-inference offline -v --max-model-len 16384 -i prompts/temporal_localization.yaml --videos assets/sample.mp4 --fps 4 -o outputs/temporal_localization
常见参数:
-
–model nvidia/Cosmos-Reason2-2B:模型名或路径。
这些工具让部署变得简单,适合批量处理或实时服务。
后训练:自定义你的Cosmos Reason2
Cosmos Reason2支持后训练,使用TRL和Cosmos-RL示例。
-
TRL:见examples/notebooks/README.md,用于监督微调。 -
Cosmos-RL:见examples/cosmos_rl/README.md,用于强化学习具身推理数据集。
训练数据集包括EgoExo4D、PerceptionTest、Language Table、IntPhys、InfLevel和CLEVRER,混合自动/传感器收集和人类/自动化标注。评估数据集相同,提供多模态视频、传感器信号和结构化物理推理覆盖。
数据格式:视频(mp4)和文本。
通过这些,你能微调模型以适应特定机器人任务。
量化:优化性能
使用llmcompressor进行量化(见docs/llmcompressor.md)。这减少内存需求,同时保持推理质量。适用于边缘设备如Jetson AGX。
故障排除:常见问题解决
遇到问题?参考docs/troubleshooting.md。常见包括:
-
OOM:降低max-model-len。 -
CUDA兼容:确保驱动匹配。 -
服务器启动失败:检查端口。
对于DGX Spark和Jetson,始终用CUDA 13.0并设置TRITON_PTXAS_PATH。
附加资源:深入探索
-
故障排除:docs/troubleshooting.md -
示例提示:prompts/README.md -
基于Qwen3-VL架构:参考Qwen3-VL仓库、vLLM文档和Qwen3文档。 -
vLLM资源:在线服务、离线推理、多模态输入和LoRA。
许可和联系:使用时的注意事项
NVIDIA Cosmos源代码在Apache 2.0许可下发布。模型在NVIDIA Open Model License下,版本发布日期2025年9月23日。
关键条款:
-
商业可用;可创建和分发衍生模型;NVIDIA不声称输出所有权。 -
定义:衍生模型包括模型修改;法律实体定义控制关系。 -
使用条件:遵守AI伦理(NVIDIA Trustworthy AI条款);若绕过防护,你的权利终止;模型可能指定为专用目的。 -
许可授予:永久、世界范围、非独占、无费用、可撤销许可,用于表演、显示、复制、使用、创建衍生、制造、销售、分发和进口。 -
IP所有权:NVIDIA拥有模型及其衍生;你拥有你的衍生;无输出所有权。 -
再分发:提供本协议副本;包含“NVIDIA Corporation许可”和“基于NVIDIA Cosmos”归属。 -
单独组件:可能包括开源许可。 -
免责:AS IS,无保证。 -
责任限制:无损害责任。 -
赔偿:你赔偿NVIDIA第三方索赔。 -
反馈:NVIDIA可无偿使用。 -
管辖:美国和特拉华法律;圣克拉拉县法院管辖。 -
贸易合规:遵守出口、进口、贸易和制裁法。
对于自定义许可,联系cosmos-license@nvidia.com。
重要:若绕过防护(如技术限制、安全护栏),权利自动终止。
FAQ:解答你的疑问
Cosmos Reason2适合哪些硬件?
已测试H100 (CUDA 12.8)、GB200 (13.0)、DGX Spark (13.0)和Jetson AGX Thor (13.0)。Hopper和Blackwell兼容。
如何处理长视频?
用FPS=4;max_new_tokens=4096+;长上下文支持256K令牌。
模型能检测对象吗?
是的,8B版本支持2D/3D点、边界框和解释。
训练数据集是什么?
EgoExo4D、PerceptionTest等,混合收集和标注,覆盖视频和物理推理。
如何自定义模型?
用TRL微调或Cosmos-RL强化学习。
许可允许商业用吗?
是的,但遵守NVIDIA Open Model License。
How-To:一步步构建视频分析代理
-
准备环境:跟随虚拟环境设置,安装依赖。 -
加载模型:用Transformers加载nvidia/Cosmos-Reason2-8B。 -
准备输入:创建video_messages,包括系统提示和用户内容(视频路径、FPS=4、文本提示如“分析安全转弯”)。 -
处理和生成:应用chat_template,生成输出。 -
解析响应:用和提取推理和答案。 -
部署:用vLLM在线服务,集成到代理中。 -
测试:用样例视频,检查时空精度。
这个流程能扩展到根因分析或实时流。
伦理考虑:负责任使用Cosmos Reason2
NVIDIA强调可信AI是共享责任。模型应用需符合Trustworthy AI条款。
-
偏见缓解:训练视频来源包括多种物理体现(如人类、汽车、机器人)和环境(室内/室外),通过多样数据集减少偏见。 -
可解释性:模型类型为Transformer;输出文本;工作方式:视觉编码器+投影器+LLM模块,支持步步思考。 -
隐私:无生成或逆向工程个人数据;数据集前审查;符合隐私政策。 -
安全:无已知生命关键影响;限制:最小特权原则;模型/数据集访问控制。
潜在风险:输出可能生成有害文本;用户负责输入/输出和护栏。
性能指标:物理AI基准排行,使用定量/定性评估,如视觉问答准确率。
质量基准:Cosmos Reason2的表现
在Physical AI Bench Leaderboard上,Cosmos-Reason2-8B在时空理解和具身推理中表现出色。基准包括EgoExo4D等数据集,评估准确率。

系统要求:H100/A100测试;BF16精度推理;32GB+ GPU内存。
结语:开启物理AI新时代
Cosmos Reason2不仅仅是模型,它是通往智能机器人的桥梁。通过理解物理世界,它帮助开发者构建更可靠的AI代理。无论视频 curation 还是机器人规划,从设置到部署,这篇文章提供了实用指导。开始你的旅程吧——克隆仓库,运行样例,探索无限可能。如果你有反馈,NVIDIA随时欢迎。
