NVIDIA Cosmos™ 是一个世界基础模型平台,旨在通过使机器能够跨机器人技术、自动驾驶和智能空间环境(包括工业和工厂规模的应用)理解、模拟和与物理世界交互,从而加速物理人工智能(Physical AI)的发展。
Cosmos3 是一系列全模态世界模型,能够从文本、图像、视频和动作轨迹输入的组合中生成动态、高质量的视频、图像、音频和动作指令。它作为广泛物理人工智能应用和研究的基础构建块,涵盖世界理解、世界生成、模拟和具身智能体策略学习。
该模型已准备好用于商业和非商业用途。
模型开发者: NVIDIA
Cosmos3-Nano:
Cosmos3-Super:
Cosmos3-Nano-Policy-DROID:
Cosmos3-Super-Image2Video:
Cosmos3-Super-Text2Image:
本模型基于 OpenMDW1.1 协议发布。
全球
物理人工智能:涵盖机器人技术、自动驾驶汽车(AV)和智能空间环境,包括工业和工厂规模的应用。
Hugging Face:2026年5月31日,通过 https://huggingface.co/collections/nvidia/cosmos3 GitHub:2026年5月31日,通过 https://github.com/nvidia/cosmos
架构类型:Transformer
网络架构:混合Transformer(Mixture-of-Transformers,MoT)
Cosmos3是一个全模态基础模型,构建于混合Transformer(MoT)架构之上,包含两个互补的Transformer塔:一个用于离散 token 生成的自回归Transformer,和一个用于连续多模态生成的扩散Transformer。在推理过程中,文本通过标准的下一个 token 自回归解码生成,而非文本模态(如图像、视频、音频和动作)则通过迭代去噪合成。这种统一的架构使Cosmos3能够在单一框架内对异构模态进行建模,同时保留最适合每种模态的生成机制。
本模型基于以下技术开发:Cosmos Framework
可训练模型参数数量:
max_tokens=4096+;可请求更长的输出。视频内容将输入文本描述可视化为一个简短的动画场景,在指定的时间限制内捕捉关键元素。
我们的AI模型旨在和/或优化为在NVIDIA GPU加速系统上运行。通过利用NVIDIA的硬件(例如GPU核心)和软件框架(例如CUDA库),与仅使用CPU的解决方案相比,该模型实现了更快的训练和推理时间。
运行时引擎:
支持的硬件微架构兼容性:
操作系统:
注意: 仅测试了BF16精度。其他精度如FP4、FP8和FP16暂未提供官方支持。
将基础模型和微调模型集成到AI系统中时,需要使用特定用例数据进行额外测试,以确保安全有效的部署。遵循V模型方法论,在单元和系统层面进行迭代测试与验证至关重要,这有助于在部署前降低风险、满足技术和功能要求,并确保符合安全与道德标准。
来自内部和外部来源的原始数据经过多阶段的整理、筛选和质量审查,转化为可用于训练的数据。数据采集涵盖多种多模态来源——机器人技术、自动驾驶、工业环境、室内外场景、不同光照和天气条件、摄像机视角、物体类别以及人类活动——以扩大在物理AI操作环境中的覆盖范围。自动化筛选管道会移除损坏、重复、低质量和受限内容。在预处理阶段,应用元数据分析、启发式规则和模型辅助分类器来标记异常分布和低多样性子集。人工审核为选定的数据集、基准构建和有针对性的质量分析提供了自动化筛选的补充。数据集在多种模态和任务类别间保持平衡——视觉推理、文本到图像、文本到视频、图像到视频、音频生成、视频转换、动作条件生成以及动作命令生成——以减少特定领域的过度表示。合成和基于模拟的增强技术补充了对罕见物理交互和边缘案例场景的覆盖。在整个语料库中应用去重和来源追踪。最终处理后的数据在训练开始前,通过特定模态的预处理器转换为模型可用的标记化或编码表示。
训练数据集通过多层自动化和人工防护措施进行处理,旨在减少各类有害或违反政策内容的存在,这些类别包括武器及与武器相关的指导内容、犯罪策划、儿童性虐待材料(CSAM)、非自愿私密图像(NCII)、涉及未成年人的性内容、骚扰、仇恨言论、亵渎、威胁和煽动暴力、自残或自杀相关内容以及血腥暴力。在将数据源纳入训练语料库之前,会对其许可兼容性、来源以及是否符合内部数据治理和安全政策进行审查。自动化筛选管道结合了多种检测策略:与已知CSAM和NCII参考数据库进行哈希匹配;针对露骨性内容、仇恨言论、暴力、武器图像和其他受限类别的基于分类器的审核模型;针对文本数据中犯罪策划、威胁和自残短语的关键词和正则表达式筛选;针对来源级风险信号的元数据和来源启发式方法;以及用于发现超出预期分布样本的基于嵌入的异常检测。人工审核和有针对性的审计为选定的数据集、基准构建和安全敏感评估提供了自动化筛选的补充。对于多模态物理AI数据(机器人技术、自动驾驶、工业场景),额外的筛选针对无效的动作轨迹、物理上不合理的交互以及不安全的控制序列。合成和模拟生成的数据在纳入前需经过内部验证。训练后应用基准评估和红队测试,以发现世界生成、推理、音频和动作任务中仍然存在的安全漏洞。没有任何大规模数据筛选流程能够保证完全移除所有有害内容;残余风险可能仍然存在,尤其是在罕见的边缘情况或开放世界部署环境中。发布后将继续进行持续监控和数据集审查。
数据模态与训练数据规模
| 模态 | 推理数据样本数 | 生成数据样本数 |
|---|---|---|
| 文本 | 2200万 | 不适用 |
| 图像 | 1900万 | 7.67亿 |
| 视频 | 100万 | 3.48亿 |
| 音频 | 不适用 | 1.39亿 |
| 动作 | 不适用 | 800万 |
按数据集划分的数据收集方法
按数据集划分的标注方法
特性: 训练、测试和评估数据集包含多样化的多模态视频、图像、音频、动作、合成和传感器条件数据,这些数据来源于NVIDIA所有的数据以及公开可用、商业许可的数据集。这些数据集经过精心筛选,排除了已知的受限内容,旨在支持构建一个Omni模型,使其能够学习生成和推理动态物理环境中的世界推理与生成任务。
| 数据集 | 样本量 |
|---|---|
| OpenImage | 120 万 |
| Coyo700M | 1 亿 |
| YouTube Video | 3.4 亿 |
| UMI | 450 万 |
| 数据集 | 样本量 |
|---|---|
| Egocentric | 700 万 |
| Nexar | 60 万 |
| AgiBot | 20 万 |
| HOI | 30 万 |
| 数据集 | 样本量 |
|---|---|
| 使用 HiDream-I1 生成的合成图像 | 1500 万 |
| 使用 Qwen-Image-2512 生成的合成图像 | 1400 万 |
| 使用 Qwen3-VL 生成的合成文本描述 | 11.15 亿 |
各数据集的数据收集方法
各数据集的标注方法
特性: 训练、测试和评估数据集包含多样化的多模态视频、图像、音频、动作、合成及传感器条件数据,这些数据来源于 NVIDIA 自有数据以及公开可用的商业许可数据集。这些数据集经过精心筛选,排除了已知的受限内容,旨在支持构建一个 Omni 模型,使其能够学习在世界推理和生成任务中对动态物理环境进行生成和推理。
有关基础模型的详细评估,请参见我们的技术论文。




为获得最佳质量,文本提示词应升级为特定的 JSON 结构。相关说明和代码可在 此处 找到。
例如,使用 Opus-4.6 进行文本到视频的升级:
git clone https://github.com/NVIDIA/cosmos-framework.git packages/cosmos-framework
pip install -e packages/cosmos-framework
export PROMPT_UPSAMPLER_ENDPOINT_URL="https://api.anthropic.com/v1/"
export PROMPT_UPSAMPLER_MODEL_NAME="claude-opus-4-6"
export PROMPT_UPSAMPLER_API_TOKEN="<you_token>"
python -m cosmos_framework.inference.prompt_upsampling \
--input assets/example_t2v_prompt_short.txt \
--output /tmp/upsampled_t2v_opus/ \
--mode text2video \
--endpoint-url "${PROMPT_UPSAMPLER_ENDPOINT_URL}" \
--model "${PROMPT_UPSAMPLER_MODEL_NAME}" \
--api-token "${PROMPT_UPSAMPLER_API_TOKEN}" \
--resolution 720 \
--aspect-ratio "16,9"为方便起见,assets/example_t2v_prompt_short.txt 的 JSON 上采样版本已保存至 assets/example_t2v_prompt.json,并用于以下视频生成示例。
docker pull vllm/vllm-omni:cosmos3您可以使用经过发布测试的 vllm-omni 软件包来部署兼容 OpenAI 的 API 推理端点。
在 8xH200、8xH100 或 8xA100 上运行 nvidia/Cosmos3-Super 时,推荐的 vLLM-Omni 服务配置如下:
vllm serve nvidia/Cosmos3-Super \
--omni \
--host 0.0.0.0 \
--port 8000 \
--cfg-parallel-size 2 \
--ulysses-degree 4 \
--use-hsdp \
--hsdp-shard-size 8 \
--init-timeout 1800使用此配置,在 H200 GPU 上生成 50 步的视频大约需要 55 秒。对于 2xH200,只需使用 --cfg-parallel-size 2 --use-hsdp --hsdp-shard-size 2,生成一个视频大约需要 3 分钟。通过设置 --tensor-parallel-size 还支持张量并行。设置 --enable-layerwise-offload 有助于在可用内存较少的 GPU 上减少内存占用。
示例输入(assets/)位于此模型仓库中。使用 Hugging Face CLI 仅下载此文件夹:
pip install -U "huggingface_hub[cli]"
hf download nvidia/Cosmos3-Super assets/ --local-dir Cosmos3-Super
cd Cosmos3-Super请在下载的仓库根目录下运行以下所有命令。
import json
import mimetypes
from pathlib import Path
import requests
# 1. Read JSON-upsampled prompt and negative prompt
json_prompt = json.load(open("assets/example_i2v_prompt.json"))
negative_prompt = json.load(open("assets/negative_prompt.json"))
# 2. Build and send the multipart API request
url = "http://localhost:8000/v1/videos/sync"
image_path = Path("assets/example_i2v_input.jpg")
mime_type = mimetypes.guess_type(image_path)[0] or "image/png"
data = {
"prompt": json.dumps(json_prompt),
"negative_prompt": json.dumps(negative_prompt),
"size": "1280x720",
"num_frames": "189",
"fps": "24",
"num_inference_steps": "35",
"guidance_scale": "6.0",
"max_sequence_length": "4096",
"flow_shift": "10.0",
"extra_params": json.dumps(
{
"use_resolution_template": False,
"use_duration_template": False,
"guardrails": True,
}
),
"seed": "17",
}
with image_path.open("rb") as image_file:
files = {
"input_reference": (image_path.name, image_file, mime_type),
}
print("Sending request to server...")
response = requests.post(
url,
data=data,
files=files,
headers={"Accept": "video/mp4"},
)
response.raise_for_status()
# 3. Save the generated video
output_path = Path("/tmp/cosmos3_super_i2v.mp4")
output_path.write_bytes(response.content)
print(f"Saved video to {output_path}")示例输出:
import json
from pathlib import Path
import requests
# 1. Read JSON-upsampled prompt and negative prompt
json_prompt = json.load(open("assets/example_t2v_prompt.json"))
negative_prompt = json.load(open("assets/negative_prompt.json"))
# 2. Build your API payload
data = {
"prompt": json.dumps(json_prompt),
"negative_prompt": json.dumps(negative_prompt),
"size": "1280x720",
"num_frames": "189",
"fps": "24",
"num_inference_steps": "35",
"guidance_scale": "6.0",
"max_sequence_length": "4096",
"flow_shift": "10.0",
"extra_params": json.dumps(
{
"use_resolution_template": False,
"use_duration_template": False,
"guardrails": True,
}
),
"seed": "17",
}
# 3. Send the POST request
url = "http://localhost:8000/v1/videos/sync"
print("Sending request to server...")
response = requests.post(
url,
data=data,
headers={"Accept": "video/mp4"},
)
response.raise_for_status()
# 4. Save the generated video
output_path = Path("/tmp/cosmos3_super_t2v.mp4")
output_path.write_bytes(response.content)
print(f"Saved video to {output_path}")示例输出:
import json
import mimetypes
from pathlib import Path
import requests
# 1. Read JSON-upsampled prompt and negative prompt
json_prompt = json.load(open("assets/example_i2v_prompt.json"))
negative_prompt = json.load(open("assets/negative_prompt.json"))
# 2. Build and send the multipart API request
url = "http://localhost:8000/v1/videos/sync"
image_path = Path("assets/example_i2v_input.jpg")
mime_type = mimetypes.guess_type(image_path)[0] or "image/png"
data = {
"prompt": json.dumps(json_prompt),
"negative_prompt": json.dumps(negative_prompt),
"size": "1280x720",
"num_frames": "189",
"fps": "24",
"num_inference_steps": "35",
"guidance_scale": "6.0",
"max_sequence_length": "4096",
"generate_sound": "true",
"sound_duration": "7.875",
"flow_shift": "10.0",
"extra_params": json.dumps(
{
"use_resolution_template": False,
"use_duration_template": False,
"guardrails": True,
}
),
"seed": "17",
}
with image_path.open("rb") as image_file:
files = {
"input_reference": (image_path.name, image_file, mime_type),
}
print("Sending request to server...")
response = requests.post(
url,
data=data,
files=files,
headers={"Accept": "video/mp4"},
)
response.raise_for_status()
# 3. Save the generated video
output_path = Path("/tmp/cosmos3_super_i2vs.mp4")
output_path.write_bytes(response.content)
print(f"Saved video to {output_path}")示例输出:
import json
from pathlib import Path
import requests
# 1. Read JSON-upsampled prompt and negative prompt
json_prompt = json.load(open("assets/example_t2vs_prompt.json"))
negative_prompt = json.load(open("assets/negative_prompt.json"))
# 2. Build your API payload
data = {
"prompt": json.dumps(json_prompt),
"negative_prompt": json.dumps(negative_prompt),
"size": "1280x720",
"num_frames": "189",
"fps": "24",
"num_inference_steps": "35",
"guidance_scale": "6.0",
"max_sequence_length": "4096",
"generate_sound": "true",
"sound_duration": "7.875",
"flow_shift": "10.0",
"extra_params": json.dumps(
{
"use_resolution_template": False,
"use_duration_template": False,
"guardrails": True,
}
),
"seed": "17",
}
# 3. Send the POST request
url = "http://localhost:8000/v1/videos/sync"
print("Sending request to server...")
response = requests.post(
url,
data=data,
headers={"Accept": "video/mp4"},
)
response.raise_for_status()
# 4. Save the generated video
output_path = Path("/tmp/cosmos3_super_t2vs.mp4")
output_path.write_bytes(response.content)
print(f"Saved video to {output_path}")示例输出:
前向动力学示例使用 AgiBotWorld-Beta 机器人动作轨迹,逆向动力学示例使用自动驾驶汽车(AV)动作轨迹。源文件:
assets/example_action_fd_agibotworld_first_frame.pngassets/example_action_fd_agibotworld_action_chunks.jsonassets/example_action_fd_agibotworld_4chunk_output.mp4assets/example_action_id_av_0_input.mp4、assets/example_action_id_av_1_input.mp4assets/example_action_id_av_0_output.json、assets/example_action_id_av_1_output.json以下示例通过 vLLM-Omni /v1/videos/sync 推理端点执行 4 块 AgiBotWorld-Beta 机器人轨迹推演。每个请求通过 input_reference 发送一帧条件图像,并通过 extra_params["action"] 发送一个 16 步归一化 29 维动作块。请求还将顶级 size 字段设置为输入图像分辨率,因此 vLLM-Omni 返回的每个动作块与条件图像分辨率相同,且无反射填充。拼接输出会丢弃每个动作块的条件帧,生成 64 帧结果。脚本提取每个动作块的最后一帧生成图像,并将其用作下一个动作块的条件帧。
import json
import mimetypes
from pathlib import Path
import imageio.v3 as iio
import numpy as np
import requests
from PIL import Image
url = "http://localhost:8000/v1/videos/sync"
first_frame_path = Path("assets/example_action_fd_agibotworld_first_frame.png")
action_spec = json.loads(Path("assets/example_action_fd_agibotworld_action_chunks.json").read_text())
action_chunks = action_spec["action_chunks"]
prompt = action_spec.get("prompt", "Pickup items in the supermarket")
fps = int(action_spec.get("fps", 10))
action_chunk_size = int(action_spec.get("action_chunk_size", 16))
current_frame_path = first_frame_path
input_width, input_height = Image.open(first_frame_path).size
chunk_video_paths = []
stitch_frames = []
for chunk_idx, action_chunk in enumerate(action_chunks):
mime_type = mimetypes.guess_type(current_frame_path)[0] or "image/png"
extra_params = {
"action_mode": "forward_dynamics",
"domain_name": action_spec.get("domain_name", "agibotworld"),
"action_chunk_size": action_chunk_size,
"image_size": action_spec.get("image_size", 480),
"view_point": action_spec.get("view_point", "concat_view"),
"action": action_chunk,
"guardrails": True,
}
data = {
"prompt": prompt,
"num_frames": str(action_chunk_size + 1), # conditioning frame + generated frames
"fps": str(fps),
"size": f"{input_width}x{input_height}", # return chunks at input resolution
"num_inference_steps": "30",
"guidance_scale": "1.0",
"flow_shift": "10.0",
"seed": "0",
"extra_params": json.dumps(extra_params),
}
with current_frame_path.open("rb") as image_file:
files = {"input_reference": (current_frame_path.name, image_file, mime_type)}
print(f"Sending action FD chunk {chunk_idx} to vLLM-Omni...")
response = requests.post(
url,
data=data,
files=files,
headers={"Accept": "video/mp4"},
timeout=600,
)
response.raise_for_status()
chunk_video_path = Path(f"/tmp/cosmos3_super_action_fd_chunk_{chunk_idx:02d}.mp4")
chunk_video_path.write_bytes(response.content)
chunk_video_paths.append(chunk_video_path)
# The returned chunk contains the conditioning frame followed by generated frames.
# Drop the conditioning frame when stitching the generated-only rollout.
frames = iio.imread(chunk_video_path)
stitch_frames.extend(frames[1:])
# Autoregressive conditioning: use the final generated frame from this chunk
# as the input image for the next vLLM-Omni request.
if chunk_idx + 1 < len(action_chunks):
current_frame_path = Path(f"/tmp/cosmos3_super_action_fd_ar_frame_{chunk_idx + 1:02d}.png")
iio.imwrite(current_frame_path, frames[-1])
stitched_path = Path("/tmp/cosmos3_super_action_fd_agibotworld_4chunk.mp4")
iio.imwrite(stitched_path, np.asarray(stitch_frames), fps=fps)
print("Generated chunk videos:", chunk_video_paths)
print("Saved stitched rollout:", stitched_path)
print("stitched resolution:", f"{input_width}x{input_height}")示例输出:
import json
import time
from pathlib import Path
import requests
base_url = "http://localhost:8000"
input_videos = {
"av_inverse_0": Path("assets/example_action_id_av_0_input.mp4"),
"av_inverse_1": Path("assets/example_action_id_av_1_input.mp4"),
}
for name, video_path in input_videos.items():
extra_params = {
"action_mode": "inverse_dynamics",
"domain_name": "av",
"action_chunk_size": 60,
"image_size": 480,
"view_point": "ego_view",
"raw_action_dim": 9,
"guardrails": True,
}
data = {
"prompt": "You are an autonomous vehicle planning system.",
"num_frames": "61",
"fps": "10",
"num_inference_steps": "30",
"guidance_scale": "1.0",
"flow_shift": "10.0",
"seed": "0",
"extra_params": json.dumps(extra_params),
}
with video_path.open("rb") as video_file:
files = {
"input_reference": (video_path.name, video_file, "video/mp4"),
}
print(f"Submitting {name} request to server...")
response = requests.post(f"{base_url}/v1/videos", data=data, files=files)
response.raise_for_status()
initial = response.json()
while True:
response = requests.get(f"{base_url}/v1/videos/{initial['id']}", timeout=30)
response.raise_for_status()
final = response.json()
print(initial["id"], final.get("status"), f"{final.get('progress', 0)}%")
if final.get("status") == "completed":
break
if final.get("status") in {"failed", "cancelled"}:
raise RuntimeError(json.dumps(final, indent=2))
time.sleep(2)
action = final.get("action")
if not action or "data" not in action:
raise RuntimeError(f"Response did not include action data: {json.dumps(final, indent=2)}")
output_path = Path(f"/tmp/cosmos3_super_action_id_{name}.json")
output_path.write_text(json.dumps(action, indent=2))
print(f"Saved predicted action to {output_path}")
print("action shape:", action.get("shape"), "dtype:", action.get("dtype"))示例输出:
您可以使用经过发布测试的 vllm 软件包来部署兼容 OpenAI 的 API 端点:
uv venv --python 3.13 --seed --managed-python
source .venv/bin/activate
uv pip install --torch-backend=cu130 "vllm==0.21.0" \
"vllm-cosmos3 @ git+https://github.com/NVIDIA/cosmos-framework.git#subdirectory=packages/vllm-cosmos3" \
openai对于 CUDA 13 驱动程序,请使用 --torch-backend=cu130 "vllm==0.21.0"。对于 CUDA 12.8 驱动程序,请使用 --torch-backend=cu128 "vllm==0.19.1"。
启动 Reasoner 服务器:
CUDA_VISIBLE_DEVICES=0,1,2,3 \
vllm serve nvidia/Cosmos3-Super \
--hf-overrides '{"architectures": ["Cosmos3ReasonerForConditionalGeneration"]}' \
--tensor-parallel-size 4 \
--mm-encoder-tp-mode data \
--async-scheduling \
--allowed-local-media-path / \
--media-io-kwargs '{"video": {"num_frames": -1}}' \
--port 8000从模型仓库根目录运行此示例。它会从 assets/example_reasoning_prompt.json 读取机器人规划提示,并将 assets/example_reasoning_input.png 发送到本地 vLLM 服务器。
import json
from pathlib import Path
import openai
# 1. Read the image reasoning prompt
example = json.load(open("assets/example_reasoning_prompt.json"))
image_path = Path("assets/example_reasoning_input.png").resolve()
image_url = image_path.as_uri()
# 2. Query the OpenAI-compatible vLLM server
client = openai.OpenAI(
api_key="EMPTY",
base_url="http://localhost:8000/v1",
)
response = client.chat.completions.create(
model=client.models.list().data[0].id,
messages=[
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": image_url}},
{"type": "text", "text": example["prompt"]},
],
},
],
max_tokens=example["max_tokens"],
seed=0,
)
# 3. Print the generated reasoning output
print(response.choices[0].message.content)示例输入:
提示词:
The task is to put flower into the red bottle. Generate a plan consisting of subtasks for accomplish the task.上述命令的示例输出:
1. Move the arm to the left side of the table.
2. Pick up the flower.
3. Move the arm to the right side of the table.
4. Place the flower into the red bottle.如需安装带有 Cosmos3OmniPipeline 的扩散器:
uv venv --python 3.13 --seed --managed-python
source .venv/bin/activate
uv pip install \
"diffusers @ git+https://github.com/huggingface/diffusers.git" \
accelerate \
av \
cosmos_guardrail \
huggingface_hub \
imageio \
imageio-ffmpeg \
torch \
torchvision \
transformers
从模型仓库根目录运行此示例。它会从assets/example_t2v_prompt.json读取JSON格式的上采样提示词,并从assets/negative_prompt.json读取负面提示词。随后加载流水线并生成视频,最后将其保存为MP4文件。
import json
import torch
from diffusers import Cosmos3OmniPipeline
from diffusers.schedulers.scheduling_unipc_multistep import UniPCMultistepScheduler
from diffusers.utils import export_to_video
# Read JSON-upsampled prompt and negative prompt
json_prompt = json.load(open("assets/example_t2v_prompt.json"))
negative_prompt = json.load(open("assets/negative_prompt.json"))
pipe = Cosmos3OmniPipeline.from_pretrained(
"nvidia/Cosmos3-Super",
torch_dtype=torch.bfloat16,
device_map="cuda",
enable_safety_checker=True,
)
pipe.scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config, flow_shift=10.0)
result = pipe(
prompt=json.dumps(json_prompt),
negative_prompt=json.dumps(negative_prompt),
num_frames=189,
height=720,
width=1280,
num_inference_steps=35,
guidance_scale=6.0,
generator=torch.Generator(device="cuda").manual_seed(123),
)
export_to_video(result.video, "/tmp/cosmos3_super_t2v_diffusers.mp4", fps=24)
print("Saved video to /tmp/cosmos3_super_t2v_diffusers.mp4")示例输出:
在复杂场景下,Cosmos3 可能会生成不尽完善的结果。生成过程中可能出现的问题包括:时间连贯性不足、相机或物体运动不稳定、物理交互不精确、音视频同步不准确,以及动作状态偏移——在长时程或高分辨率输出中尤为明显。推理能力也可能存在偏差:物体状态、因果关系、空间几何、时间顺序、主体意图和未来结果都可能被错误推断;对于复杂或长上下文输入,可能会产生虚构实体、不一致的解释或不合理的预测。由于模型缺乏显式物理模拟器,3D 几何、4D 时空演化、物体恒存性、接触动力学和物理定律仅能近似模拟,从而导致诸如物体消失或变形、不真实的碰撞以及物理上不合理的运动等问题。在分布外环境、安全关键边缘案例以及训练数据中代表性不足的领域,生成质量会进一步下降。
Cosmos3 的输出不应被视为物理精确的模拟、可靠的事实推理或安全认证的决策依据。涉及机器人控制、自主系统、科学模拟或安全关键规划的应用,在部署前需要额外的验证、外部约束、系统级安全分析以及特定领域的防护措施。
加速引擎: PyTorch、vLLM、vLLM-Omni、Hugging Face Diffusers
测试硬件: GB200 和 H100
NVIDIA 认为可信 AI 是一项共同责任,我们已制定相关政策和实践,以支持各类 AI 应用的开发。开发者应与内部模型团队合作,确保该模型满足相关行业和用例的要求,并应对不可预见的产品误用问题。
请确保您对所有输入图像和视频内容拥有适当的权利和许可;如果图像或视频中包含人物、个人健康信息或知识产权,生成的图像或视频不会模糊或保持所包含图像主体的比例。
用户对模型的输入和输出负责。用户有责任在部署前确保模型的安全集成,包括实施防护措施以及其他安全机制。
有关此模型伦理考量的更多详细信息,请参见 Model Card++ 的可解释性、偏差、安全与安保和隐私子卡片。如发现模型质量、风险、安全漏洞或 NVIDIA AI 相关问题,请在此处报告。