今天在 GitHub Trending 上看到一个有意思的项目:NVIDIA/Cosmos,这是 NVIDIA 最新发布的世界模型平台,旨在通过统一的多模态架构为物理AI系统提供世界理解、生成和推理能力。

一、项目概述

NVIDIA Cosmos 3 是一个开放平台,包含世界模型、数据集和工具,使开发者能够为机器人、自动驾驶车辆、智能基础设施等构建物理AI系统。

核心特性:

  • 统一架构:基于 Mixture-of-Transformers (MoT) 架构,支持语言、图像、视频、音频和动作序列的联合处理与生成
  • 双运行模式:Reasoner(推理器)用于世界理解和决策,Generator(生成器)用于世界生成和模拟
  • 多模态输入输出:支持文本、视觉、声音、动作等多种模态的灵活组合
  • 生产级部署:提供 Diffusers、vLLM-Omni、vLLM 和 NIM 多种集成路径

模型家族:

  • Cosmos3-Nano (16B):紧凑型全模态世界模型
  • Cosmos3-Super (64B):前沿级全模态世界模型
  • 专用变体:Text2Image、Image2Video、Policy-DROID 等任务特定模型

二、技术原理

2.1 模型架构

Cosmos 3 基于统一的 Mixture-of-Transformers (MoT) 架构,结合了:

  • 自回归Transformer(AR):用于推理任务,通过因果自注意力处理语言和视觉理解token
  • 扩散Transformer(DM):用于多模态生成任务,通过全注意力对噪声图像、视频、音频和动作token进行去噪

两种模式共享相同的Transformer架构、多模态注意力层和统一的 3D多维旋转位置嵌入(mRoPE),能够在图像、视频、音频流和动作轨迹上保持一致的时空推理能力。

# 架构示意图(简化)
# Cosmos 3 的统一 MoT 架构
# - AR Path: 因果自注意力 → 文本/推理输出
# - DM Path: 全注意力去噪 → 图像/视频/音频/动作输出
# - Shared: mRoPE位置编码 + 多模态注意力层

2.2 关键技术创新

1. 全模态统一建模

  • 单一模型支持视觉-语言理解、视频生成、世界模拟、世界-动作模型
  • 输入-输出配置高度灵活,可处理 5 种模态的任意组合

2. 动作建模能力

  • 支持前馈动态(Forward Dynamics):根据动作预测未来状态
  • 支持逆动力学(Inverse Dynamics):根据视频推断动作轨迹
  • 支持策略学习(Policy):视觉-语言条件下的机器人控制

3. 多分辨率与时序支持

  • 分辨率层级:256p、480p、720p
  • 长宽比:16:9、4:3、1:1、3:4、9:16
  • 帧率:10/16/24/30 FPS
  • 帧数:5-300 帧

2.3 推理与生成流程

Reasoner 模式(文本输出):

# 消息格式遵循 Qwen3-VL 兼容约定
messages = [
    {"role": "system", "content": [{"type": "text", "text": "You are a helpful assistant."}]},
    {"role": "user", "content": [
        {"type": "video_url", "video_url": "https://example.com/video.mp4"},
        {"type": "text", "text": "List the notable events with approximate timestamps."}
    ]}
]

Generator 模式(视觉/音频/动作输出):

# Diffusers 示例:文本到视频生成
from diffusers import Cosmos3OmniPipeline

pipe = Cosmos3OmniPipeline.from_pretrained(
    "nvidia/Cosmos3-Nano",
    torch_dtype=torch.bfloat16,
    device_map="cuda",
)
result = pipe(
    prompt="A mobile robot navigates a warehouse aisle.",
    num_frames=189,
    height=720,
    width=1280,
    fps=24,
    num_inference_steps=35,
    guidance_scale=6.0,
)

三、安装与快速开始

3.1 环境要求

  • 操作系统:Linux
  • GPU架构:NVIDIA Ampere、Hopper 或 Blackwell
  • CUDA版本:13.0(推荐)或 12.8
  • Python版本:3.13+(推荐)

3.2 安装方法

方法一:使用 Diffusers(研究/开发)

# 创建虚拟环境
uv venv --python 3.13 --seed --managed-python
source .venv/bin/activate

# 安装依赖(自动匹配CUDA版本)
uv pip install --torch-backend=auto   "diffusers @ git+https://github.com/huggingface/diffusers.git"   accelerate av cosmos_guardrail   huggingface_hub imageio imageio-ffmpeg   torch torchvision transformers

方法二:使用 vLLM-Omni(生产部署)

# Docker 方式(推荐)
docker run --runtime nvidia --gpus all   -v ~/.cache/huggingface:/root/.cache/huggingface   -v "$(pwd):/workspace"   -p 8000:8000   --ipc=host   vllm/vllm-omni:cosmos3   vllm serve nvidia/Cosmos3-Nano   --omni   --model-class-name Cosmos3OmniDiffusersPipeline   --allowed-local-media-path /   --port 8000   --init-timeout 1800

3.3 快速开始:文本生成视频

import torch
from diffusers import Cosmos3OmniPipeline
from diffusers.utils import export_to_video

# 加载模型
pipe = Cosmos3OmniPipeline.from_pretrained(
    "nvidia/Cosmos3-Nano",
    torch_dtype=torch.bfloat16,
    device_map="cuda",
)

# 生成视频
result = pipe(
    prompt="A mobile robot navigates a warehouse aisle and stops at a shelf.",
    negative_prompt="",
    num_frames=189,
    height=720,
    width=1280,
    fps=24,
    num_inference_steps=35,
    guidance_scale=6.0,
    enable_sound=False,
)

# 保存视频
export_to_video(result.video, "cosmos3_t2v.mp4", fps=24)

四、使用方法与实战

4.1 Reasoner 模式:世界理解

应用场景:

  • 视频描述:生成详细字幕
  • 时序定位:事件检测、时间戳查询
  • 具身推理:机器人下一步动作预测
  • 物理常识:物理合理性判断

示例:视频问答

from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:8000/v1", api_key="not-used")

response = client.chat.completions.create(
    model="nvidia/cosmos3-nano-reasoner",
    messages=[{
        "role": "user",
        "content": [
            {"type": "video_url", "video_url": {"url": "https://example.com/robot.mp4"}},
            {"type": "text", "text": "What will the robot do next?"}
        ]
    }],
    max_tokens=256,
)

4.2 Generator 模式:世界生成

应用场景:

  • 文本到图像/视频:根据描述生成视觉内容
  • 图像到视频:从起始帧生成动画
  • 带声音的视频:同步生成视觉和音频
  • 前馈动态:根据动作预测未来状态

示例:图像到视频(机器人操作)

curl -sS -X POST http://localhost:8000/v1/videos/sync   --form-string "prompt=Robot arm picks up a red block."   --form "input_reference=@start_frame.png"   --form-string "num_frames=189"   --form-string "fps=24"   -o robot_pick.mp4

4.3 动作建模:策略与动力学

Forward Dynamics(前馈动态):

# 输入:文本 + 视觉 + 动作 → 输出:未来状态视频
result = pipe(
    prompt="Predict next 5 seconds",
    image=current_frame,
    action=action_sequence,
    num_frames=120,
)

Policy Learning(策略学习):

# 输入:文本 + 视觉 → 输出:动作轨迹 + 滚动视频
# 适用于 DROID、UR、Fractal、Bridge 等机器人平台

4.4 生产部署:vLLM-Omni API

文本到视频 API 调用:

curl -sS -X POST http://localhost:8000/v1/videos/sync   --form-string "prompt=A small warehouse robot moves a blue box."   --form-string "size=1280x720"   --form-string "num_frames=189"   --form-string "fps=24"   --form-string "guidance_scale=6.0"   --form-string 'extra_params={"guardrails":false}'   -o output.mp4

五、常见问题与解决方案

5.1 安装问题

Q: torch.cuda.is_available() 返回 False?

# 原因:torch CUDA版本与系统驱动不匹配
# 解决:指定正确的CUDA后端
uv pip install --torch-backend=cu128 torch torchvision

Q: 导入时提示 libxcb.so.1: cannot open shared object file?

# 安装缺失的图形库
apt-get install -y libxcb1 libgl1 libglib2.0-0

Q: uv 安装或同步报错?

# 升级 uv 到 >= 0.11.3
uv self update

5.2 运行时错误

Q: 生成视频时间过长?

  • 首次运行需要下载模型权重(Cosmos3-Nano ~16B参数)
  • 扩散推理需要遍历所有去噪步骤,长步时间是正常的
  • 使用 vLLM-Omni 可加速生产推理

Q: 如何选择合适的并行策略?

# Cosmos3-Super (64B) 需要模型并行
vllm serve nvidia/Cosmos3-Super   --tensor-parallel-size 4   --enable-layerwise-offload   --init-timeout 1800

5.3 性能优化

Q: 如何减少显存占用?

  • 使用 Cosmos3-Nano 而非 Cosmos3-Super
  • 降低分辨率(480p 或 256p)
  • 减少帧数(如 5-60 帧)
  • 启用 --enable-layerwise-offload(vLLM)

Q: 如何提高生成速度?

  • 使用 vLLM-Omni 或 NIM 生产部署
  • 减少 num_inference_steps(如 20-30)
  • 使用 Cosmos3-Nano 进行快速原型

5.4 兼容性问题

Q: 支持哪些机器人平台?

  • 单臂机器人:DROID、UR、Fractal、Bridge、UMI(10D)
  • 双臂机器人:双 DROID 臂(20D)
  • 人形机器人:AgiBot(29D)
  • 自动驾驶:9D动作空间

六、总结

NVIDIA Cosmos 3 是一个里程碑式的物理AI平台,通过统一的多模态世界模型架构,实现了视觉理解、视频生成、动作预测和世界模拟的端到端融合。其核心优势包括:

  1. 统一架构:单一模型处理 5 种模态,避免了多模型pipeline的复杂性
  2. 灵活部署:从 Python 研究环境(Diffusers)到生产API(vLLM-Omni、NIM)
  3. 物理AI优先:原生支持机器人、自动驾驶等具身智能场景
  4. 开源生态:提供 Cosmos Framework、Cosmos Curator、Cosmos Evaluator 等工具链

适用人群:

  • 机器人学研究者:利用世界模型和策略学习进行机器人控制
  • 自动驾驶工程师:进行场景生成、前馈动态预测
  • 多模态AI开发者:构建支持视觉-语言-动作的应用
  • 物理模拟开发者:生成合成数据、进行策略学习

项目资源:

  • GitHub:https://github.com/NVIDIA/cosmos
  • 技术报告:https://research.nvidia.com/labs/cosmos-lab/cosmos3/technical-report.pdf
  • Hugging Face:https://huggingface.co/collections/nvidia/cosmos3
  • Cosmos Framework:https://github.com/NVIDIA/cosmos-framework

Cosmos 3 的发布标志着物理AI从分散的单任务模型向统一的世界模型迈出了重要一步,值得从事机器人、自动驾驶和多模态AI的开发者深入研究与应用。