PUBLICIDADE

Fim do “problema dos três computadores”: NVIDIA abre o código do OSMO e unifica treinamento, simulação e testes de robôs em um único pipeline

14/09/2026
15 visualizações
4 min de leitura
Imagem principal do post

NVIDIA abre o código do OSMO para unificar treinamento, simulação e teste de robôs em um único fluxo

A NVIDIA disponibilizou como projeto de código aberto o OSMO, um orquestrador de fluxos de trabalho baseado em Kubernetes voltado ao desenvolvimento de inteligência artificial física, área dedicada a sistemas que operam no mundo real, como robôs e veículos autônomos. A ferramenta foi criada para resolver um problema recorrente enfrentado por equipes de robótica: a fragmentação do pipeline entre três tipos distintos de infraestrutura computacional, cada uma com seu próprio cluster, agendador e conjunto de scripts de integração.

Imagem complementar

Esse cenário é chamado pela própria NVIDIA de "problema dos três computadores". O treinamento de políticas de controle acontece em data centers equipados com GPUs de alta capacidade, como os clusters baseados em GB200 ou H100. Já a etapa de simulação, que envolve física e renderização de sensores, é executada em estações de trabalho com GPUs da linha RTX. Por fim, a validação e os testes de hardware em malha fechada, conhecidos como HIL, do inglês hardware-in-the-loop, são conduzidos em dispositivos de borda, como o Jetson AGX Thor, geralmente em ambientes locais. As transições entre essas camadas costumam exigir código personalizado para mover dados e sincronizar tarefas.

PUBLICIDADE

O OSMO trata os três ambientes como backends de um único plano de controle. Cada backend é registrado como um cluster Kubernetes por meio de uma interface de linha de comando. Os fluxos de trabalho não precisam indicar em qual cluster serão executados, mas apenas a plataforma de destino, como gb200, rtx-pro-6000 ou jetson-agx-thor, deixando que o próprio orquestrador direcione as tarefas para os pools de recursos disponíveis.

O exemplo canônico apresentado no repositório ilustra bem a abordagem. Três tarefas são encadeadas por meio de seus dados: uma simulação roda um contêiner do Isaac Sim na plataforma rtx-pro-6000; em seguida, a tarefa train-policy executa um contêiner PyTorch em um cluster gb200 com oito GPUs, recebendo como entrada a saída da simulação; por fim, a tarefa evaluate-thor roda uma aplicação ROS no jetson-agx-thor, consome a política treinada e grava os resultados em um conjunto de dados nomeado. As dependências vêm das entradas, a persistência vem das saídas e o posicionamento é definido pela plataforma declarada.

Entre os recursos disponíveis estão o suporte a grupos de tarefas seriais e paralelas, uso de templates Jinja para parametrizar fluxos, políticas de retentativa e prioridades HIGH, NORMAL e LOW com preempção e empréstimo de GPUs entre pools. O agendamento é feito pelo NVIDIA KAI Scheduler, incluído por padrão. A versão 6.2.8 adicionou posicionamento ciente da topologia NVLink, tecnologia de interconexão que permite comunicação direta entre múltiplas GPUs, para tarefas que usam várias GPUs. Já a versão 6.3.0 introduziu tempos limite configuráveis por grupo, evitando que uma simulação travada cause a interrupção de grupos de treinamento vizinhos.

No campo de dados, o projeto oferece conjuntos de dados com endereçamento por conteúdo, sistema que identifica arquivos por um hash único em vez de seu nome, e deduplicação, mecanismo que elimina cópias idênticas, com reduções de armazenamento declaradas entre 10 e 100 vezes. A versão 6.3.0 marcou a depreciação da ferramenta standalone osmo dataset e da API /datasets, com remoção prevista para a versão 6.4, sendo substituídas por saídas gerenciadas pelos próprios fluxos de trabalho.

A camada de segurança e identidade ganhou reforços recentes. Desde a versão 6.2.8, o OSMO inclui um sidecar de autorização RBAC, sistema que define permissões por função dentro do cluster, e integração com proxy OAuth2, padrão de autenticação baseado em tokens, com login por código de dispositivo e mapeamento de usuários via provedor de identidade. A versão 6.3.0 adicionou terminação TLS no gateway Envoy, camada de criptografia para comunicações seguras, e identidade de carga de trabalho em nuvem, eliminando a necessidade de montar chaves de armazenamento diretamente como segredos do Kubernetes. A versão 6.3.1 restringiu o papel padrão osmo-user ao pool default.

A integração com agentes de programação também é destacada no repositório, que traz um arquivo AGENTS.md, diretório de skills e guia de implantação para MCP, protocolo que padroniza a comunicação entre modelos de linguagem e ferramentas externas. Segundo a NVIDIA, durante a GTC 2026 foi anunciado que o OSMO se integra com Claude Code, OpenAI Codex e Cursor, permitindo que agentes de código submetam, monitorem e depurem pipelines de forma automatizada.

A solução é distribuída sob licença Apache-2.0, acompanhada de Helm charts, formato de pacotes que facilita a instalação de aplicações no Kubernetes, e contêineres publicados no NGC, catálogo de software da NVIDIA para GPUs. A versão mais recente é a 6.3.1, lançada em junho de 2026, e há um guia rápido local baseado em KIND, ferramenta que roda clusters Kubernetes leves dentro do Docker, para executar o plano de controle completo em uma estação de trabalho. O projeto foi testado em aplicações como GR00T, Isaac Lab, Isaac Sim e Isaac ROS, e conta com integrações com Azure e Nebius.

PUBLICIDADE

Leitura recomendada

Comentários

Nenhum comentário ainda. Seja o primeiro a comentar!