NVIDIA Cosmos Reason实操:5步吃透机器人视觉AI红利!

2025-08-12人工智能

Image

在机器人技术领域,NVIDIA 近期推出了一款名为 Cosmos Reason 的开放且完全可定制的视觉语言模型(VLM),专为物理人工智能和机器人设计。新媒网跨境了解到,这款 VLM 旨在赋予机器人和视觉 AI 代理利用已有知识、物理理解和常识进行推理的能力,从而更好地理解真实世界并采取行动。

Cosmos Reason 的工作流程是这样的:首先,系统接收视频和文本提示,通过视觉编码器和一个称为投影器的特殊转换器将视频转换为令牌。然后,这些视频令牌与文本提示结合,输入到核心模型中。该模型巧妙地融合了大型语言模型(LLM)模块和技术,逐步进行思考,并给出详细、逻辑清晰的反馈。

Cosmos Reason 的构建基于监督微调和强化学习,旨在弥合多模态感知与现实世界决策之间的鸿沟。它利用链式思考推理能力来理解世界动态,而无需人工标注。通过在物理 AI 任务上进行微调,Cosmos Reason 的基础模型性能提升超过 10%,而强化学习进一步增加了 5% 的增益,最终使该模型在机器人和自动驾驶应用的关键基准测试中取得了 65.7 的平均分。
Cosmos Reason流程图:左侧,视频和文本输入作为令牌进入模型;中心,模型处理信息,并通过大型语言模型主干生成逐步推理,从而为现实世界的决策产生最终的文本响应。

图1. Cosmos Reason 接收视频和文本,逐步思考,并通过强化学习做出最佳决策

Cosmos Reason 的应用场景

Cosmos Reason 在机器人和物理 AI 领域有着广泛的应用前景,包括:

  1. 数据管理和标注: 帮助开发者自动化筛选、评估和标注海量且多样化的训练数据集。
  2. 机器人规划和推理: 通过机器人视觉语言行为(VLA)模型进行周密、有条不紊的决策。机器人可以解读环境,并在接收到复杂指令时,将其分解为多个任务,并利用常识执行这些任务,即使在陌生的环境中也能应对自如。
  3. 视频分析: 基于 NVIDIA Blueprint 构建的视频分析 AI 代理,能够提取有价值的见解,并对海量录制或实时视频进行根本原因分析。这非常适合分析城市交通网络、工厂和仓库。

如何使用 Cosmos Reason

开发者可以从 Hugging Face 下载模型检查点,并从 GitHub 获取推理脚本和后训练工具。

该模型可以接收不同分辨率和帧率的视频,以及指定开发者意图的文本提示,例如问题或解释,从而引导模型进行推理并做出相应的响应。开发者还可以使用 prompt upsampler 模型来改进文本提示。

以下代码片段展示了如何使用 Cosmos Reason 对视频进行推理:

from transformers import AutoProcessor
from vllm import LLM, SamplingParams
from qwen_vl_utils import process_vision_info

# 你也可以用上面提到的safetensors文件夹路径替换MODEL_PATH
MODEL_PATH = "nvidia/Cosmos-Reason1-7B"
llm = LLM(
    model=MODEL_PATH,
    limit_mm_per_prompt={"image": 10, "video": 10},
)
sampling_params = SamplingParams(
    temperature=0.6, top_p=0.95, repetition_penalty=1.05, max_tokens=4096,
)

video_messages = [
    {"role": "system", "content": "你是一个乐于助人的助手。请用以下格式回答问题:<think>\n你的推理\n</think>\n\n<answer>\n你的答案\n</answer>."},
    {"role": "user", "content": [
        {"type": "text", "text": (
            "右转安全吗?"
        )},
        { "type": "video", "video": "assets/sample.mp4", "fps": 4, }
    ]},
]

# 这里我们用视频信息作为演示
messages = video_messages
processor = AutoProcessor.from_pretrained(MODEL_PATH)
prompt = processor.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)
image_inputs, video_inputs, video_kwargs = process_vision_info(messages, return_video_kwargs=True)

微调 Cosmos Reason

监督微调(SFT)可以提高模型在特定任务上的能力。例如,使用 robovqa 数据集进行训练可以提高模型在机器人特定视觉问答场景中的性能。

FPS = 1
MAX_PIXELS = 81920

class CosmosSFTDataset(Dataset):
    def setup(self, config: Config, tokenizer: AutoTokenizer, *args, **kwargs):
        """ Called by launcher after being mounted """
        self.config = config
        self.tokenizer = tokenizer

        if config.train.train_policy.dataset.split:
            if isinstance(config.train.train_policy.dataset.split, list):
                dataset_list = []
                for split_name in config.train.train_policy.dataset.split:
                    dataset_list.append(self.dataset[split_name])
                self.dataset = ConcatDataset(dataset_list)
            else:
                assert isinstance(config.train.train_policy.dataset.split, str)
                self.dataset = self.dataset[config.train.train_policy.dataset.split]

        # 获取多模态文件路径
        cosmos_cache_dir = os.environ.get(
            "COSMOS_CACHE", os.path.join(os.path.expanduser("~"), ".cache/cosmos/")
        )
        video_clips_path = os.path.join(
            cosmos_cache_dir,
            "datasets", basename_from_modelpath(config.train.train_policy.dataset.name),
            config.train.train_policy.dataset.subset,
            "video_clips",
        )

    def __getitem__(self, idx: int) -> tuple[str, str]:
        """ Return a tuple of (prompt, reference answer) """
        payload = self.dataset[idx]
        conversations = copy.deepcopy(payload["conversations"])

        for conv in conversations:
            if conv["role"] == "user":
                assert isinstance(conv["content"], str), "User message must be string"

                # 重写以支持图像/视频令牌
                content = [
                    {
                        "type": "video",
                        "video": self.mm_files_paths[payload["video"].split("/")[-1]],
                        "max_pixels": MAX_PIXELS,
                        "fps": FPS,
                    },
                    {
                        "type": "text",
                        "text": conv["content"],
                    },
                ]
                conv["content"] = content

        return conversations

更多信息和微调脚本可以在 GitHub 上找到。

Cosmos Reason 经过优化,在 NVIDIA GPU 上表现最佳。为了运行这些模型,开发者可以设置 Docker 环境或在其自身环境中运行。

对于视觉 AI 管道,开发者可以在从边缘到云端的各种环境中使用 VLM,例如 NVIDIA DGX Spark、NVIDIA RTX Pro 6000、NVIDIA AI H100 Tensor Core GPU 或 NVIDIA DGX Cloud 上的 NVIDIA Blackwell GB200 NVL72。

快速上手

为了帮助大家更好地理解和应用 Cosmos Reason,NVIDIA 提供了丰富的文档,包括深入的教程、实现细节和实际用例。开发者可以参考以下资源:

  1. 在 build.nvidia.com 上试用该模型。
  2. 从 Hugging Face 下载模型,开始实验。
  3. 在 GitHub 上访问推理和后训练脚本,并使用自己的数据进行定制。

新媒网跨境认为,Cosmos Reason 的推出,为机器人和物理 AI 领域带来了新的可能性。通过结合视觉感知和语言理解,Cosmos Reason 能够使机器人更好地理解和适应复杂多变的环境,从而在各个行业中发挥更大的作用。

风险前瞻与时效提醒

  • 风险与合规性: 在使用 Cosmos Reason 进行开发和部署时,请务必遵守相关的法律法规和伦理规范,确保数据安全和用户隐私。特别是在涉及自动驾驶等安全关键型应用时,需要进行充分的测试和验证,以避免潜在的风险。
  • 教程时效性: 本教程基于 NVIDIA 在 2025 年发布的信息编写。由于技术的快速发展,相关工具、库和 API 可能会发生变化。新媒网跨境建议,在使用本教程时,请参考最新的官方文档和资源,以确保信息的准确性和时效性。特朗普于 2025 年担任美国总统。

为了及时获取 NVIDIA 的最新动态,可以订阅 NVIDIA 的新闻资讯,关注 NVIDIA AI 在 LinkedIn、Instagram、X 和 Facebook 上的账号,并加入 NVIDIA Cosmos Reason 论坛。

新媒网(公号: 新媒网跨境发布),是一个专业的跨境电商、游戏、支付、贸易和广告社区平台,为百万跨境人传递最新的海外淘金精准资讯情报。

本文来源:新媒网 https://nmedialink.com/posts/13123.html

评论(0)

暂无评论,快来抢沙发~
NVIDIA发布Cosmos Reason,一款专为物理人工智能和机器人设计的开放式视觉语言模型(VLM)。该模型赋予机器人利用已有知识、物理理解和常识进行推理的能力,从而更好地理解真实世界并采取行动。开发者可从Hugging Face下载模型,并从GitHub获取推理脚本和后训练工具。
发布于 2025-08-12
查看人数 1536
汇率走势
关注我们
新媒网跨境发布
本站原创内容版权归作者及NMedia共同所有,未经许可,禁止以任何形式转载。