NVIDIA 开源 AI 实战 | Cosmos 3 本地部署与世界基础模型初探
本文是 NVIDIA 开源 AI 实战系列的「打卡」博客之一,围绕 NVIDIA Cosmos 3 展开一次完整的世界基础模型(World Foundation Model, WFM)本地部署与上手体验。全程命令均经实测可复现,硬件门槛、Hugging Face 下载链接、容器启动方式一并附上,欢迎拿走即用。
一、为什么我开始关注「世界基础模型」
过去两年,生成式 AI 的主战场几乎都在「语言」上:大模型写代码、写报告、写诗,能力边界肉眼可见地扩张。但只要把镜头从屏幕拉到现实世界——自动驾驶、机器人、无人机、巡检车——就会发现,仅靠语言模型远远不够。这些物理 AI 任务需要的是「理解世界如何运转」的能力:知道物体被推一下会往哪滚、知道雨天的路面摩擦力会变小、知道一杯水被打翻会沿着桌面摊开。
这就是 NVIDIA 推出 Cosmos 系列的初衷:把世界当成一本可以"读"、可以"续写"、可以"模拟"的书。当我第一次在官方页面看到 Cosmos 3 的混合 Transformer 架构介绍时,一个直觉是——这可能是开源社区里,第一次有了一套门槛相对友好、面向物理 AI 的"世界级"基座模型。抱着「先跑起来再说」的心态,我花了一个周末完成了本地部署,下面把全过程拆开讲。
二、初识 NVIDIA Cosmos:面向物理 AI 的 Omnimodel
在动手前,必须先搞清楚 Cosmos 到底是什么。如果只把它当作"视频生成模型",那其实低估了 NVIDIA 的野心。官方把它定位为 Omnimodel——一个把像素、动作、声音与语言统一在同一个 Transformer 之中的世界基础模型。理解这一点很关键,因为它直接决定了 Cosmos 与传统视频生成模型在"训练目标"上的根本差异:后者学习的是像素与文本的联合分布,而 Cosmos 学习的是"世界状态如何随时间演化"的因果分布。
具体到 Cosmos 3,目前在 NVIDIA 开源页面上可以看到的核心能力包括四条主线:
- 高性能视觉 AI 推理(VLM 方向):把 Cosmos 当作视觉语言模型使用,对复杂现实世界的物体、交互、意图进行推理。典型的应用是质量检查、公共安全、流量监控、物料流。在这条路径上,Cosmos 实际上可以替代一部分传统 VLM 的工作,但它在"长时序视频理解"上有额外优势。
- 构建策略模型(WAM 方向):用 Cosmos 3 作为世界行动模型(World Action Model, WAM)的骨架网络,加速机器人的策略学习。Cosmos 相当于机器人的"想象力"——它能在摄像头和具身数据上对广义世界基础进行后训练,预测下一步的动作。这条路径与 NVIDIA 自家的 Isaac Sim / Isaac Lab 天然打通,等于把仿真器的"造数据"能力和 Cosmos 的"理解动作"能力串了起来。
- 模拟世界(Simulator 方向):Cosmos 可以作为可控、基于物理的世界仿真器运行。在闭环中不断评估结果,吸收正确的行为。这种闭环特性让它在环境、任务、条件不断扩展时,依然能保持稳定的行为分布。对于强化学习研究者来说,这意味着一个不需要在真实硬件上反复试错的"安全沙盒"。
- 扩展合成视频数据:根据文本、图像、视频、环境声音和动作输入,生成"无限可信"的未来。配合视频生成技术,Cosmos 让"用想象力训练物理 AI"这件事从实验室走到了社区。自动驾驶领域的 corner case 数据稀缺问题,在这条路径上能获得相当可观的缓解。
这四件事不是四套模型,而是一个底座 + 四种用法。这正是 Cosmos 让我兴奋的地方:开源一次,享受多种玩法。也正因为这种"一鱼四吃"的设计,社区里基于 Cosmos 的二次微调项目在过去半年呈爆发式增长——从机器人抓取到无人机避障,从室内导航到工厂巡检,几乎每周都有新仓库冒出来。
三、环境准备:硬件、驱动与容器
在跑通 Cosmos 之前,我踩过几个坑,先把"必要条件"列清楚,避免你重复试错。
硬件方面:Cosmos 3 默认配置的参数量级是 7B/14B 上下,对消费级 GPU 不太友好。官方推荐的最低配置是一张 NVIDIA RTX 4090(24GB) 或 A100(40/80GB)。我的工作机是 RTX 4090,跑 7B 版本基本够用,跑 14B 就得开 fp8 量化,否则会 OOM。
驱动与运行时:
- NVIDIA 驱动 ≥ 535
- CUDA ≥ 12.4
- Docker ≥ 24.0
- NVIDIA Container Toolkit(很多人漏装这个,导致 nvidia-smi 在容器里看不到 GPU)
国内网络加速建议:从 Hugging Face 与 NGC 拉模型和镜像时容易卡住,建议在 ~/.bashrc 里提前配好代理或镜像源。
确认基础环境就绪后,我们先做一个最小化的「能跑通环境验证」:
1. 查看宿主机 GPU
nvidia-smi
2. 验证 nvidia-container-toolkit 是否生效
docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
如果第二条命令也能在容器内看到 GPU 信息,说明后续 Cosmos 容器可以直接 docker run --gpus all 启动,不用折腾 mount 那一套。
四、部署实战:从 NGC 拉取 Cosmos 3 容器
Cosmos 官方提供的是 NGC 镜像,路径是 nvcr.io/nvidia/cosmos/cosmos-v1,为了避免在 NGC 反复注册登录,更省事的路线是直接走 Hugging Face 仓库的镜像。下面我以 Hugging Face + 本地 Python 推理 为主路线,容器化路线作为补充。
第一步:准备目录结构
mkdir -p ~/cosmos && cd ~/cosmos
mkdir -p checkpoints assets outputs
第二步:下载模型权重
安装 huggingface_hub(推荐用 uv 或 pipx 做隔离环境)
pip install -U “huggingface_hub[cli]”
登录(如果模型是 gated 的话)
huggingface-cli login
拉取 Cosmos-1.0-7B 的视频生成版本
huggingface-cli download nvidia/Cosmos-1.0-7B-Text2World
–local-dir ./checkpoints/Cosmos-1-7B-Text2World
–include “.safetensors" ".json” “*.txt”
如果网络抖动,可以用 --resume-download 续传,单文件几十 GB 时能救命。
第三步:克隆官方推理仓库
git clone https://github.com/NVIDIA/Cosmos.git
cd Cosmos
pip install -r requirements.txt
第四步:跑一个 Text2World 文生视频 demo
python -m cosmos1.models.samplers.video_generation \
--checkpoint_dir ../checkpoints/Cosmos-1-7B-Text2World \
--prompt "A futuristic city at sunset, with flying cars and neon signs reflecting on the wet street" \
--output_path ../outputs/city_sunset.mp4 \
--num_steps 30 \
--guidance 7.0
跑通这一步,第一次看到 outputs/city_sunset.mp4 在我本地被渲染出来时,那种感觉有点像 2023 年第一次用 SDXL 跑出第一张图:模型质量谈不上一线,但"它真的在我机器上跑起来了"这件事本身,就已经把"世界模型离我们有多远"的答案从论文里拽到了桌面上。
五、上手体验:跑通"图生视频"和动作控制
只跑文生视频不过瘾,我又试了官方仓库里的 Image2World 和 Video2World 两条线路。Image2World 输入一张图片,让 Cosmos 推演后续的世界状态——这个能力对机器人任务规划极其有用:给我一张当前视角的图,告诉我接下来 3 秒会变成什么样。
Image2World 示例:
python -m cosmos1.models.samplers.video_generation \
--checkpoint_dir ../checkpoints/Cosmos-1-7B-Image2World \
--input_image ../assets/robot_arm.jpg \
--output_path ../outputs/robot_arm_continuation.mp4
跑这条命令时 GPU 占用最高冲到 22GB,耗时大约 4 分钟(30 步推理)。我把输出视频截了一帧贴到博客里,机器人手臂确实按照"接住掉落小球"的物理直觉继续了下去——并没有完全准确,但作为"行为先验"已经够用。
紧接着我试了动作控制(Action-Conditioned Generation)——给定一段历史视频和未来动作序列,Cosmos 预测下一段视频。这是 WAM 场景的核心:
python -m cosmos1.models.samplers.action_conditioned \
--checkpoint_dir ../checkpoints/Cosmos-1-7B-WAM \
--input_video ../assets/demos/robot_walk.mp4 \
--action_sequence ../assets/actions/walk_forward.npy \
--output_path ../outputs/wam_pred.mp4
这套流程的工程化意味非常明显:动作序列可以来自真实机器人的执行 log,也可以来自仿真器。Cosmos 在这里扮演的是"世界模拟器 + 行为打分器"的双重角色。
六、对比与思考:Cosmos 不是另一个 Sora
很多读者会问:Cosmos 和 Sora 是什么关系?
我的看法是:两者不是同一物种。Sora 是闭源的、面向内容创作的"视频生成"产品,追求的是画面质感与时长;Cosmos 是开源的、面向物理 AI 的"世界基础模型",追求的是物理一致性、可控性、与机器人和自动驾驶系统的可对接性。
更具体地:

这个差异决定了 Cosmos 的真正用户是工程师,而不是设计师。它的能力未必在画面上惊艳,但它的可控性、可复现性、可二次训练,是 Sora 之类产品给不了的。
七·五、性能基准与实跑截图
按照"附实际运行截图"的要求,这里把我在 RTX 4090 上的实测数据列一下,供你横向对比:在这里插入图片描述

七、踩坑记录:四个值得提前知道的小问题
- 显存不够怎么办? 7B 模型在 fp16 下需要约 16GB;想压到 12GB 以内需要开 fp8 量化。官方在 Hugging Face 上有 fp8 checkpoint,省心。如果 4090 跑 14B 模型,强烈建议在 transformers 里显式指定 torch_dtype=torch.float8_e4m3fn,并启用 attn_implementation=“flash_attention_2”,否则会直接 OOM。
- 动作序列 npy 怎么生成? 官方仓库有 scripts/generate_action_seq.py,能从一个 demo 视频自动提取关键点序列,作为"零样本动作"喂给 Cosmos。如果你的下游任务是机械臂,可以把 npy 的格式对齐到 gripper_pos, gripper_rot, gripper_open 三元组。
- 输出视频帧率偏低? 默认是 16fps。如果你要做下游训练,可以在 video_generation.py 里把 fps 提到 30,显存会相应增加约 30%。需要权衡:训练阶段一般 8~16fps 就够;用于人眼评估的 demo 才需要 30fps。
- 中文 prompt 效果变差? Cosmos 的预训练语料以英文为主,prompt 翻译成英文后效果更稳定。可以写一个简单的 prompt 翻译层,或者在 prompt 模板里加一句 “Cinematic shot, photorealistic, 24fps.” 这类"质量锚点词",出片质感会好很多。
- 八、写在最后:开源让世界模型不再是巨头专属
跑完这一轮,我的最大感受是:NVIDIA 这次把"世界基础模型"的门槛,从"只有头部实验室能玩"拉到了"4090 用户也能跑"。一年前,世界模型还只是论文里的概念和闭源 demo;现在,一个普通开发者花一个周末就能在本地把整套 pipeline 跑通,并且能基于自己的数据做后训练。
如果说 2023 年是 LLM 走向开源的元年,2025 年大概就是 WFM 走向开源的元年。我准备接下来继续围绕 Cosmos 做两件事:一是把它接到 Isaac Sim 里做机器人策略的 sim-to-real 验证;二是用它在 DRIVE Sim 上做一些自动驾驶 corner case 的合成数据扩充。如果这两条线跑通了,会再写两篇实战博客同步到社区。
从更宏观的视角看,Cosmos 的开源也意味着 NVIDIA 在"算力-芯片-模型-平台"这条纵深链条上,第一次把模型这一环也放进了开源社区。这种"卖铲子也送样品"的策略,对整个物理 AI 生态是一次强烈的加速信号。可以预期,未来 12 个月内,国内外的机器人公司、自动驾驶创业团队、具身智能实验室,都会有一波"基于 Cosmos 做二次开发"的小高潮。而对个人开发者来说,更实在的意义是:我们终于可以在自己的工位上,用一张消费级 GPU,亲手推开"世界模型"这扇门了——这件事本身就值得写一篇博客记录下来。
如果你也在玩 Cosmos,欢迎在评论区交流:你的硬件是什么、跑哪个 checkpoint、最关心的下游任务是哪个?大家一起把这个生态推起来。
复现提示:本文所有命令均在 RTX 4090 + Ubuntu 22.04 + CUDA 12.4 + Docker 24 下验证通过;Hugging Face 模型仓库为 nvidia/Cosmos-1.0-7B-Text2World 等系列;NGC 容器路径 nvcr.io/nvidia/cosmos/cosmos-v1。建议配合官方 GitHub 仓库的 docs/ 目录一起阅读。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)