NVIDIA Cosmos
요약
NVIDIA Cosmos는 로봇, 자율 주행, 스마트 인프라를 위한 물리적 AI 구축용 오픈 플랫폼입니다. 최신 Cosmos 3 모델은 옴니모달 월드 모델로서 추론과 생성을 모두 지원하며, 물리적 세계의 이해와 시뮬레이션을 통합합니다.
핵심 포인트
- Cosmos 3는 옴니모달 월드 모델 제품군임
- 추론기(Reasoner)와 생성기(Generator) 인터페이스 제공
- 시각, 언어, 오디오, 액션 시퀀스 통합 처리 가능
- 로보틱스 및 자율 주행을 위한 물리적 AI 지원
- Python 기반 Diffusers 및 Transformers 활용 가능
- 서론
- Cosmos 3
- 생태계 (Ecosystem)
- 뉴스
- 라이선스 및 연락처
NVIDIA Cosmos는 개발자가 로봇, 자율 주행 차량, 스마트 인프라 등을 위한 물리적 AI (Physical AI)를 구축할 수 있도록 지원하는 월드 모델 (world models), 데이터셋 및 도구의 오픈 플랫폼입니다.
Cosmos 3는 우리의 최신 모델 제품군입니다 [Report] [Website]. 이는 통합된 Mixture-of-Transformers 아키텍처 내에서 언어, 이미지, 비디오, 오디오 및 액션 시퀀스 (action sequences)를 공동으로 처리하고 생성하도록 설계된 옴니모달 (omnimodal) 월드 모델 제품군입니다. 매우 유연한 입출력 구성을 지원함으로써, 물리적 AI (Physical AI)를 위한 핵심 모달리티 (modalities)를 원활하게 통합하며 — 시각-언어 모델 (vision-language models), 비디오 생성기 (video generators), 월드 시뮬레이터 (world simulators) 및 월드-액션 모델 (world-action models)을 단일 프레임워크로 효과적으로 아우릅니다.
Cosmos 3는 두 가지 런타임 인터페이스 (runtime surfaces)를 제공합니다:
| 인터페이스 | 입력 (Inputs) | 출력 (Outputs) | 사용 사례 (Use Cases) |
|---|---|---|---|
| 추론기 (Reasoner) | 텍스트, 시각 (Text, vision) | 텍스트 (Text) | 월드 이해 (World understanding), 그라운딩 (grounding), 물리적 추론 (physical reasoning), 작업 계획 (task planning), 액션 예측 (action forecasting), 체화된 에이전트 추론 (embodied agent reasoning) 및 자율 시스템 의사 결정 (autonomous system decision making) |
| 생성기 (Generator) | 텍스트, 시각, 소리, 액션 (Text, vision, sound, action) | 시각, 소리, 액션 (Vision, sound, action) | 월드 생성 (World generation), 월드 시뮬레이션 (world simulation), 미래 예측 (future prediction), 합성 데이터 생성 (synthetic data generation), 정책 학습 (policy learning) 및 로봇 학습 (robot training) |
월드 이해 (World understanding): 캡션, 시간적 이벤트 (temporal events), 다음 액션, 공간적 그라운딩 (spatial grounding), 물리적 타당성 (physical plausibility) 및 인과적 결과 (causal outcomes)를 위해 비디오와 이미지를 분석합니다.
월드 생성 (World generation): 텍스트, 이미지, 비디오 또는 액션 입력으로부터 이미지, 비디오, 동기화된 소리 및 액션 조건부 롤아웃 (action-conditioned rollouts)을 생성합니다.
액션 모델링 (Action modeling): 로보틱스, 카메라 움직임, 1인칭 시점 움직임 (egocentric motion) 및 자율 주행 설정을 위한 정책 액션 (policy actions), 역역학 (inverse dynamics) 및 순역학 (forward dynamics)을 예측합니다.
연구 및 프로덕션 경로 (Research and production paths): Python 중심 개발을 위해 Diffusers 및 Transformers를 사용한 다음, OpenAI 호환 서빙을 위해 vLLM-Omni 및 vLLM을 사용합니다.
사후 학습 레시피 (Post-training recipes): Cosmos 프레임워크 학습 레시피와 작업별 평가 [Coming Soon]를 통해 시각, 액션 및 추론기 워크플로우를 조정합니다.
Cosmos 3는 추론을 위한 자기회귀 (Autoregressive, AR) 트랜스포머 (Transformer)와 멀티모달 생성을 위한 확산 트랜스포머 (Diffusion Transformer, DM)를 결합한 통합 Mixture-of-Transformers (MoT) 아키텍처를 기반으로 구축된 옴니모달 (Omnimodal) 월드 모델 (World Model)입니다. 추론 모드 (Reasoner Mode)에서는 언어 및 시각 이해 토큰이 인과적 셀프 어텐션 (Causal Self-attention)을 통해 처리되어, 인지, 계획 및 월드 추론 (World Reasoning)과 같은 작업에 대한 다음 토큰 예측 (Next-token prediction)을 가능하게 합니다. 생성 모드 (Generator Mode)에서는 노이즈가 포함된 이미지, 비디오, 오디오 및 액션 토큰이 풀 어텐션 (Full Attention)을 통해 디노이징 (Denoising)되어, 모델이 일관된 멀티모달 출력을 공동으로 생성할 수 있도록 합니다. 두 모드는 동일한 트랜스포머 아키텍처, 멀티모달 어텐션 레이어, 그리고 모달리티 전반에 걸쳐 공간적 및 시간적 구조를 인코딩하여 이미지, 비디오, 오디오 스트림 및 액션 궤적 (Action Trajectories)에 대한 일관된 추론을 가능하게 하는 통합 3D 다차원 회전 위치 임베딩 (3D Multi-dimensional Rotary Position Embedding, mRoPE) 표현을 공유합니다.
| 모델 | 크기 | 주요 기능 |
|---|---|---|
| Cosmos3-Nano | 16B | 멀티모달 이해, 월드 시뮬레이션, 미래 예측, 액션 추론 및 피지컬 AI (Physical AI)를 위한 컴팩트한 옴니모달 월드 모델 |
| Cosmos3-Super | 64B | 고급 멀티모달 이해, 월드 시뮬레이션, 미래 예측, 액션 추론 및 피지컬 AI (Physical AI)를 위한 프런티어 규모의 옴니모달 월드 모델 |
| Cosmos3-Super-Text2Image | 64B | 고충실도 텍스트-이미지 생성 |
| Cosmos3-Super-Image2Video | 64B | 시간적으로 일관된 이미지-비디오 생성 |
| Cosmos3-Nano-Policy-DROID | 16B | DROID 조작 및 제어를 위한 시각-언어 로봇 정책 |
| 설정 | 지원되는 값 |
|---|---|
| 해상도 단계 (Resolution tiers) | 256p, 480p, 720p, 기본값=480p |
| ... | |
| 사양 (Spec) | 값 |
| --- | --- |
| 입력 유형 (Input types) | 텍스트, 텍스트 + 이미지, 텍스트 + 비디오, 텍스트 + 이미지 + 액션 |
| ... |
생성기 (Generator) 예시는 텍스트, 시각 및 액션 입력에 의해 조건화된 비텍스트 출력을 생성합니다.
| 워크플로우 (Workflow) | 입력 (Inputs) | 출력 (Outputs) | 시연 내용 (What it demonstrates) |
|---|---|---|---|
| 텍스트-이미지 생성 (Text-to-image) | 텍스트 (Text) | 시각 (Vision) | 텍스트 프롬프트로부터 로봇 실험실 장면 생성 |
| 텍스트-비디오 생성 (Text-to-video) | 텍스트 (Text) | 시각 (Vision) | 밀집된 장면 묘사로부터 산업용 비디오 생성 |
| 사운드가 포함된 텍스트-비디오 생성 (Text-to-video with sound) | 텍스트 (Text) | 시각 (Vision), 사운드 (sound) | 동기화된 시각 및 오디오 생성 |
| 이미지-비디오 생성 (Image-to-video) | 텍스트 (Text), 이미지 (image) | 시각 (Vision) | 시작 이미지와 프롬프트로부터 로봇 조작 (Robot manipulation) 애니메이션 생성 |
| 사운드가 포함된 이미지-비디오 생성 (Image-to-video with sound) | 텍스트 (Text), 이미지 (image) | 시각 (Vision), 사운드 (sound) | 이미지 조건부 동작과 동기화된 오디오 |
| 비디오-비디오 변환 (Video-to-video) | 텍스트 (Text), 비디오 (video) | 시각 (Vision) | 프롬프트 가이드에 따른 로봇 조작 비디오의 변환 |
| 사운드가 포함된 비디오-비디오 변환 (Video-to-video with sound) | 텍스트 (Text), 비디오 (video), 사운드 (sound) | 시각 (Vision), 사운드 (sound) | 프롬프트 가이드에 따른 로봇 조작 비디오의 변환 |
| 순방향 역학 (Forward dynamics) | 텍스트 (Text), 시각 (vision), 액션 (action) | 시각 (Vision) | 액션 및 시각적 컨텍스트로부터의 미래 상태 롤아웃 (Future-state rollout) |
| 액션 정책 (Action policy) | 텍스트 (Text), 시각 (vision) | 액션 (Action), 시각 (vision) | 컨텍스트로부터의 액션 궤적 (Action trajectories) 및 롤아웃 비디오 |
생성기 프롬프트 업샘플링 (Generator prompt upsampling)은 짧은 장면 묘사를 밀집된 구조화된 프롬프트로 확장합니다. 현재 예제들은 다음과 같은 샘플링 기본값을 사용합니다:
| 파라미터 (Parameter) | 값 (Value) |
|---|---|
max_tokens | 20000 |
temperature | 0.7 |
top_p | 0.8 |
top_k | 20 |
repetition_penalty | 1.0 |
presence_penalty | 1.5 |
seed | 3407 |
추론기 (Reasoner) 예제는 텍스트 및 시각 입력으로부터 텍스트 출력을 생성합니다. 이는 이미지 및 비디오 입력에 대해 Qwen3-VL 호환 메시지 규약을 따릅니다.
| 워크플로우 (Workflow) | 입력 (Inputs) | 출력 (Outputs) | 시연 내용 (What it demonstrates) |
|---|---|---|---|
| 캡셔닝 (Caption) | 비디오 (Video) | 텍스트 (Text) | 상세 비디오 캡셔닝 (Detailed video captioning) |
| 시간적 지역화 (Temporal localization) | 비디오, 쿼리 (Video, query) | 텍스트 또는 JSON (Text or JSON) | 이벤트 탐지 (Event detection), 타임스탬프 쿼리 (timestamp query), 구간 질의응답 (interval question answering) |
| 체화된 추론 (Embodied reasoning) | 비디오, 질문 (Video, question) | 텍스트 (Text) | 로보틱스 및 보조 작업 환경을 위한 다음 동작 예측 (Next-action prediction) |
| 상식 추론 (Common-sense reasoning) | 비디오, 질문 (Video, question) | 텍스트 (Text) | 가시적인 문맥을 통한 물리적 상식 판단 (Physical common-sense judgment) |
| 2D 그라운딩 (2D grounding) | 이미지, 프롬프트 (Image, prompt) | JSON 박스 (JSON boxes) | 이미지 프롬프트로부터의 경계 상자 지역화 (Bounding-box localization) |
| 무엇이든 설명하기 (Describe anything) | 이미지, 표시된 대상 (Image, marked subjects) | JSON 또는 텍스트 (JSON or text) | 표시된 대상에 대한 속성 캡셔닝 (Attribute captioning) |
| 행동 사고의 연쇄 (Action CoT) | 이미지 또는 비디오, 프롬프트 (Image or video, prompt) | 텍스트 또는 JSON (Text or JSON) | 궤적 예측 (Trajectory prediction) 및 주행 장면 사고의 연쇄 (driving-scene chain-of-thought) |
| 물리적 타당성 분석 (Physical Plausibility Analysis) | 비디오, 프롬프트 (Video, prompt) | 레이블 (Label) | 물리적 타당성 분류 (Physical plausibility classification) |
| 상황 이해 (Situation Understanding) | 비디오, 질문 (Video, question) | 텍스트 (Text) | 상황 이해 및 발생 가능한 다음 동작 예측 (likely-next-action prediction) |
Reasoner 예제는 다음의 샘플링 설정을 사용합니다:
| 파라미터 (Parameter) | 추론 미사용 (Without reasoning) | 추론 사용 (With reasoning) |
|---|---|---|
top_p | 0.8 | 0.95 |
top_k | 20 | 20 |
repetition_penalty | 1.0 | 1.0 |
presence_penalty | 1.5 | 0.0 |
temperature | 0.7 | 0.6 |
텍스트 + 비전 요청에는 이 기본 메시지 형태를 사용하십시오:
[
{
"role": "system",
...
명시적인 추론을 위해서는 사용자 프롬프트에 다음 형식 지침을 추가하십시오:
다음 형식을 사용하여 질문에 답하세요:
<think>
당신의 추론.
...
예제를 실행하기 전에, Hugging Face 액세스 토큰을 생성한 다음 로컬에서 인증하십시오:
uvx hf@latest auth login
공유 캐시 또는 더 큰 용량의 디스크를 사용하려면 HF_HOME을 설정하십시오.
Diffusers 생성기 설정, 예제 및 모드 확장
Cosmos 3 생성기(Generator) 연구, 학습 및 모델 개발을 위해 HuggingFace Diffusers를 사용하십시오. 이 경로는 reasoner 경로, diffusion 생성 경로 및 미디어 토크나이저(media tokenizers)를 포함한 전체 Cosmos 3 체크포인트를 로드합니다.
uv venv --python 3.13 --seed --managed-python
source .venv/bin/activate
uv pip install --torch-backend=auto \
...
--torch-backend=auto
uv가 사용자의 NVIDIA 드라이버를 감지하고 그에 맞는 torch의 CUDA 빌드를 설치하도록 합니다.
/torchvision
이 옵션이 없으면 uv는 최신 CUDA 휠(현재 cu130)을 가져오는데, 이는 CUDA 13 미만 버전의 드라이버에서 The NVIDIA driver on your system is too old라는 오류와 함께 실패하며, torch.cuda.is_available()이 False를 반환하게 됩니다. 대신 특정 백엔드를 고정하고 싶다면, 예를 들어 CUDA 12.8 드라이버를 사용하는 경우 --torch-backend=cu128과 같이 지정할 수 있습니다.
text-to-video 실행에는 시간이 다소 소요됩니다. 첫 실행 시 Cosmos3-Nano를 다운로드하며, 디퓨전(diffusion) 과정은 연산 집약적(compute-heavy)이어서 출력을 생성하기 전 모든 추론(inference) 단계를 거쳐야 합니다. 단계별 실행 시간이 긴 것은 예상된 동작이며, 프로그램이 멈춘 것이 아닙니다.
import torch
from diffusers import Cosmos3OmniPipeline
from diffusers.schedulers.scheduling_unipc_multistep import UniPCMultistepScheduler
...
Diffusers 모드:
| 모드 | 용도 |
|---|---|
text-to-image | num_frames=1을 사용한 단일 프레임 이미지 생성; PIL 이미지를 반환 |
text-to-video | 비디오 생성; 189 프레임은 24 FPS 기준 약 7.9초 분량 |
image-to-video | 입력 이미지를 조건(conditioned)으로 하는 비디오 생성 |
text-to-video-with-sound | 사운드 모듈이 포함된 체크포인트를 위한 사운드 포함 비디오 생성 |
각 모드의 실행 가능한 예제는 Cosmos 3 Diffusers 문서를 참조하세요.
vLLM-Omni 생성기 설정, 엔드포인트 및 요청 레퍼런스 확장
OpenAI 호환 API를 통해 생성기(Generator) 프로덕션 추론을 수행하려면 vLLM-Omni를 사용하세요. 이 통합 방식은 Qwen3-VL 기반의 추론기(reasoner) 경로와 디퓨전(diffusion) 생성 경로를 포함한 전체 Cosmos 3 체크포인트를 로드합니다. 텍스트를 반환하는 이해 전용(understanding-only) 작업의 경우, 추론기만 로드하는 vLLM 기반의 Reasoner를 대신 사용하세요.
호환성 상태: Cosmos 3 Generator 지원은 vllm-project/vllm-omni#3454에서 업스트림(upstream)되는 중이며, 이를 통해 텍el-to-image (text-to-image), text-to-video (text-to-video), image-to-video (image-to-video) 기능이 추가됩니다. 후속 PR(Pull Request)을 통해 video-to-video (video-to-video), video-with-sound (video-with-sound), action (action) 기능이 추가될 예정입니다. 이들이 병합될 때까지, vllm/vllm-omni:cosmos3 Docker 이미지는 모든 모달리티(modality)를 지원하는 공식 빌드입니다. 아래의 PR 브랜치 설치 방식은 병합된 세 가지 모드만 지원합니다.
Docker 이미지에서 서버를 시작하세요 (모든 모달리티). 서버가 읽기를 원하는 로컬 미디어 또는 액션(action) 파일이 포함된 디렉토리를 마운트하세요.
docker run --runtime nvidia --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-v "$(pwd):/workspace" \
...
Cosmos3 체크포인트(checkpoints)는 기본 서버 초기화 타임아웃을 초과할 수 있습니다. 이 섹션의 모든 vllm serve 명령에 --init-timeout 1800을 사용하세요.
vLLM-Omni는 API가 준비되면 Application startup complete.를 출력합니다.
nvidia/Cosmos3-Super (더 큰 64B 모델)의 경우, 가중치를 여러 GPU에 분할하고 선택적으로 레이어(layer)를 오프로드(offload)하여 피크 메모리(peak memory)를 줄이세요: --tensor-parallel-size는 모델 가중치를 여러 GPU에 분할하며, --enable-layerwise-offload는 지연 시간(latency)과의 트레이드오프 및 추가적인 CPU RAM 사용을 대가로 트랜스포머 블록(transformer blocks)을 CPU와 GPU 사이에서 오프로드합니다. 예를 들어, 4개의 GPU를 사용하는 경우 vllm serve 명령에 --tensor-parallel-size 4 --enable-layerwise-offload --init-timeout 1800을 추가하세요.
추가 병렬화(parallelism) 옵션:
| 옵션 | 용도 |
|---|---|
--cfg-parallel-size 2 | 양수 및 음수 CFG 브랜치를 두 개의 GPU에서 병렬로 실행합니다. 요청 레벨의 guidance_scale로 CFG 강도를 설정하세요. true_cfg_scale은 사용하지 마세요. |
--ulysses-degree 2 | Ulysses 시퀀스 병렬화(sequence parallelism)를 활성화하여 시퀀스 차원을 GPU 간에 분할합니다. |
병렬화 옵션을 결합할 때는 서버가 활성화된 차원들의 곱(tensor_parallel_size × cfg_parallel_size × ulysses_degree)을 수용할 수 있을 만큼 충분한 GPU를 보유하고 있는지 확인하세요.
Docker 이미지를 사용하는 대신 업스트리밍 (upstreaming) PR 브랜치에서 세 가지 병합된 모드 (text-to-image, text-to-video, image-to-video)를 설치하려면, venv를 생성하고 사용자의 드라이버와 일치하는 CUDA 빌드를 선택하여 PR ref로부터 vLLM-Omni를 설치하세요:
uv venv --python 3.13 --seed --managed-python
source .venv/bin/activate
# CUDA 13 드라이버:
...
그 다음, docker run ... vllm/vllm-omni:cosmos3 래퍼 (wrapper) 없이 직접 다음 명령어를 실행하세요:
vllm serve nvidia/Cosmos3-Nano --omni --model-class-name Cosmos3OmniDiffusersPipeline --allowed-local-media-path / --port 8000 --init-timeout 1800
비전 엔드포인트 (Vision endpoints):
| 모드 | 엔드포인트 | 비고 |
|---|---|---|
| Text to image | POST /v1/images/generations | base64로 인코딩된 PNG를 반환 |
| Text to video | POST /v1/videos/sync | 블로킹 (Blocks) 방식으로 MP4 바이트를 직접 반환 |
| Image to video | POST /v1/videos/sync | input_reference와 함께 컨디셔닝 (conditioning) 이미지를 업로드 |
| Video to video | POST /v1/videos/sync | 소스 비디오를 업로드하고 어떤 프레임을 깨끗한 컨디셔닝으로 유지할지 선택 |
| Video with sound | POST /v1/videos/sync | 비디오와 함께 사운드트랙을 생성하려면 generate_sound=true를 추가 |
액션 모드 (Action modes)는 Cosmos 3를 월드 모델 (world model)로 사용합니다. 이 모드들은 체화 (embodiment, domain_name)를 기반으로 컨디셔닝하며 비디오와 액션 시퀀스를 교환합니다. 정책 (Policy) 및 역역학 (inverse dynamics)은 예측된 액션 청크 (action chunk)를 반환하므로, 이를 비동기 POST /v1/videos를 통해 전송하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending All (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기