Inteligência artificial, sem ruído.
Tutoriais7 min

Tutorial: Como construir um modelo de mundo com Cosmos 3 da NVIDIA no Google Colab

Aprenda a arquitetura Mixture-of-Transformers do Cosmos 3 da NVIDIA construindo e treinando uma versão miniaturizada que roda no Colab gratuito — com código completo, troubleshooting e FAQ.

Tutorial: Como construir um modelo de mundo com Cosmos 3 da NVIDIA no Google Colab

O Cosmos 3 da NVIDIA representa um salto ambicioso: modelos de mundo multimodais que unificam texto, imagem, vídeo, áudio e ações em um único sistema. Mas rodar checkpoints reais de 16B+ parâmetros exige hardware que a maioria não tem acesso — GPUs com 80 GB de VRAM e centenas de gigabytes de armazenamento.

Este tutorial prático, baseado no repositório oficial NVIDIA/cosmos-framework, mostra como construir uma versão miniaturizada que roda no Google Colab e ensina os conceitos fundamentais por trás da arquitetura Cosmos 3.

O que você vai aprender

  • Verificar os limites de hardware do Colab para modelos de mundo reais
  • Clonar e explorar a estrutura real do pacote cosmos_framework
  • Entender a arquitetura Mixture-of-Transformers (MoT) — o coração do Cosmos 3
  • Construir e treinar um modelo omnimodal compacto com atenção cruzada compartilhada
  • Gerar rollouts autoregressivos que preveem estados futuros

Pré-requisitos

ComponenteMínimoRecomendado
Python3.10+3.11+
PyTorch2.0+2.4+ com CUDA
GPUT4 (gratuita no Colab)A100 (Colab Pro)
RAM12 GB25+ GB
Conhecimento prévioPython intermediário, noções de transformersExperiência com PyTorch e treinamento
Requisitos para rodar o tutorial no Google Colab

Passo 1: Sondando os limites do hardware

Antes de qualquer coisa, o tutorial verifica o ambiente real de execução. O código checa se você está no Colab, inspeciona a GPU disponível e compara com os requisitos reais do Cosmos 3:

import torch, platform, sys
print(f"Python: {platform.python_version()}")
print(f"PyTorch: {torch.__version__}")
CUDA_OK = torch.cuda.is_available()
if CUDA_OK:
    p = torch.cuda.get_device_properties(0)
    print(f"GPU: {p.name}")
    print(f"VRAM: {p.total_memory / 1024**3:.1f} GiB")
    print(f"Compute: sm_{p.major}{p.minor}")

# Requisitos reais do Cosmos 3 (Nano-16B):
# - GPU Ampere+ (sm_80+: A100, RTX 30xx)
# - >= 80 GiB VRAM (single H100)
# - CUDA toolkit >= 12.8
# - ~150 GiB de disco (primeira execução)

O veredito é claro: nenhum ambiente Colab padrão consegue rodar os checkpoints reais do Cosmos 3. Mas é exatamente por isso que a versão miniaturizada é valiosa — ela ensina os princípios sem depender de hardware inacessível.

Passo 2: Mapeando o cosmos-framework real

O repositório oficial é clonado em modo shallow para explorar a estrutura real de código. O tutorial percorre os submódulos do pacote cosmos_framework/, inspeciona o esquema de entrada JSON que o Cosmos usa e documenta a superfície CLI real:

# Clone raso do repositório oficial
git clone --depth 1 https://github.com/NVIDIA/cosmos-framework.git

# Estrutura de submódulos:
# cosmos_framework/
#   ├── inference/      # Scripts de inferência
#   ├── models/         # Definições de arquitetura
#   ├── guardrails/     # Cosmos-Guardrail1 + Qwen3Guard
#   └── data/           # Processamento de dados omnimodais

Passo 3: Mixture-of-Transformers — a ideia central

O Cosmos 3 unifica todas as modalidades em uma única sequência intercalada de tokens. A atenção é compartilhada entre texto, visão e ações, permitindo condicionamento cruzado — a visão pode ser condicionada ao texto, e ações podem depender do contexto visual.

O segredo está no roteamento Mixture-of-Transformers: cada token é processado por um bloco feed-forward específico da sua modalidade. O tutorial implementa essa ideia com três especialistas:

class OmnimodalMoT(nn.Module):
    def __init__(self, dim=512, heads=8, layers=6):
        # Atenção compartilhada entre todas as modalidades
        self.shared_attn = nn.MultiheadAttention(dim, heads)
        
        # Especialistas por modalidade
        self.text_expert = FFN(dim, dim*4)
        self.vision_expert = FFN(dim, dim*4)
        self.action_expert = FFN(dim, dim*4)
    
    def forward(self, tokens, modality_ids):
        # Atenção cruzada compartilhada
        attn_out = self.shared_attn(tokens, tokens, tokens)
        
        # Roteamento por modalidade
        out = torch.zeros_like(attn_out)
        out[modality_ids == 0] = self.text_expert(attn_out[modality_ids == 0])
        out[modality_ids == 1] = self.vision_expert(attn_out[modality_ids == 1])
        out[modality_ids == 2] = self.action_expert(attn_out[modality_ids == 2])
        return out

Passo 4: Treinamento com dados sintéticos

Como não temos datasets multimodais do mundo físico, o tutorial gera dados sintéticos que simulam as relações entre texto, visão e ações. O loop de treinamento rastreia a perda e mostra a convergência ao longo das épocas com sparklines ASCII:

# Dados sintéticos: texto descreve cena, visão é o frame, ação é o comando
for epoch in range(100):
    # Forward: next_frame = model(text_tokens, current_frame, action)
    pred = model(txt, img, act)
    loss = F.mse_loss(pred, target)
    loss.backward()
    optimizer.step()
    losses.append(loss.item())

# Sparkline de convergência
print(f"Loss trend: {spark(losses)}")  # ▁▂▃▄▄▄▃▃▂

Passo 5: Rollout autoregressivo

A etapa final demonstra como o modelo prevê estados futuros em sequência. A partir de um estado inicial, ele gera os próximos N frames de forma autoregressiva, mostrando como a arquitetura captura relações cruzadas entre modalidades:

# Rollout: prever próximos 20 estados
state = initial_state
rollout = []
for step in range(20):
    next_state = model(state['text'], state['vision'], state['action'])
    rollout.append(next_state)
    state = next_state  # autoregressivo

Limitações importantes

  • Esta é uma versão educacional miniaturizada — não gera vídeos ou imagens reais como o Cosmos 3 completo
  • Os dados de treinamento são sintéticos e não refletem a distribuição real do mundo físico
  • A escala do modelo (512 dim, 6 layers) é ordens de magnitude menor que os modelos reais (16B-65B parâmetros)
  • O Colab gratuito (T4) é suficiente para esta versão educacional, mas modelos reais exigem clusters H100/B200

Casos de uso para este conhecimento

  1. Prototipagem de modelos de mundo: testar arquiteturas MoT antes de escalar para hardware de produção
  2. Ensino de IA multimodal: material didático para cursos de deep learning avançado
  3. Pesquisa em atenção cruzada: experimentar roteamento de especialistas entre modalidades
  4. Simulação de ambientes: prever dinâmica de sistemas simples com múltiplas entradas sensoriais

Troubleshooting

  • ❌ torch.cuda.is_available() retorna False: Você está em runtime CPU. No Colab, vá em Runtime → Change runtime type → T4 GPU.
  • ❌ VRAM insuficiente durante o treinamento: Reduza dim para 256 ou batch_size para 8. O tutorial usa dimensões conservadoras para caber na T4.
  • ❌ Clone do repositório falha: O tutorial continua offline — o código extrai os esquemas e a CLI de forma independente.
  • ❌ sparklines não aparecem: Certifique-se de que o terminal suporta caracteres Unicode (funciona no Colab, pode falhar em alguns terminais Windows).
  • ❌ Loss não converge: Aumente epochs para 200 ou ajuste a learning rate. Com dados sintéticos aleatórios, convergência pode ser instável.

FAQ

Este tutorial substitui o Cosmos 3 real?
Não. É uma versão educacional que ensina os conceitos arquiteturais. Para geração real de vídeo/imagem, você precisa dos checkpoints oficiais e hardware compatível (H100/B200).

Preciso pagar pelo Colab Pro?
Não. O tutorial foi projetado para rodar no Colab gratuito com GPU T4 (16 GB VRAM). O modelo miniaturizado usa apenas ~2 GB de VRAM.

Posso usar os checkpoints reais do Cosmos 3?
Sim, mas você precisará de hardware compatível (A100 80GB ou superior, CUDA 12.8+, 150+ GB de disco). O tutorial inclui seções que documentam como configurar o ambiente para inferência real.

O que é Mixture-of-Transformers?
É uma arquitetura onde a atenção é compartilhada entre todas as modalidades, mas os blocos feed-forward são especializados por tipo de token (texto, visão, ação). Isso permite que o modelo aprenda representações específicas de cada domínio enquanto mantém a coerência entre modalidades.

Vale a pena aprender isso em 2026?
Sim. Modelos de mundo (world models) são uma das fronteiras mais ativas da pesquisa em IA. O Cosmos 3 é a implementação de referência da NVIDIA, e entender seus princípios prepara você para a próxima geração de sistemas de IA física e robótica.

Perspectiva futura

O Cosmos 3 e arquiteturas similares apontam para um futuro onde modelos de IA não apenas processam linguagem, mas compreendem e simulam o mundo físico. Com a aceleração do hardware de inferência — veja os recentes anúncios de chips especializados — o que hoje exige clusters H100 poderá, em poucos anos, rodar em hardware de consumo. Aprender os fundamentos agora é se posicionar para essa transição.


Descubra mais sobre noticiAI

Assine para receber nossas notícias mais recentes por e-mail.

R
Sobre o autorRedação Noticiai

Equipe editorial dedicada a explicar inteligência artificial com clareza, independência e contexto.