Мой блог
NVIDIA открыла исходный код OSMO: единый YAML-файл для обучения, симуляции и тестирования физического ИИ
Разработчики систем физического искусственного интеллекта и робототехники постоянно сталкиваются с тяжелым инфраструктурным барьером. Создание автономных роботов требует работы сразу с тремя совершенно разными категориями вычислительных ресурсов. Обучение крупных нейросетевых моделей происходит в дата-центрах на мощнейших ускорителях вроде NVIDIA GB200 или H100. Симуляция физического мира, точный рендеринг сенсоров и отработка гипотез выполняются на рабочих станциях с видеокартами класса RTX. А финальное тестирование по схеме Hardware-in-the-loop (HIL) и развертывание модели осуществляются непосредственно на компактных микрокомпьютерах, таких как NVIDIA Jetson, встроеных прямо в корпус робота.
До сих пор каждый из этих уровней требовал собственного кластера, индивидуального планировщика задач и сложной системы скриптов-«склеек». Компания NVIDIA охарактеризовала это как проблему «трех компьютеров» (The Three Computer Problem) и представила решение — оркестратор OSMO. Проект распространяется по свободной лицензии Apache 2.0, а его исходный код полностью открыт. OSMO создан для того, чтобы объединить разнородные вычислительные ресурсы в единый контур управления и позволить инженерным командам описывать сквозные процессы от обучения до тестирования на железе в одном простым YAML-файле без переписывания инфраструктурного кода.
Систему уже можно развернуть в рабочей среде: для этого подготовлены Helm-чарты и контейнеры в каталоге NGC, а для локальной отладки предусмотрен быстрый старт через KIND (Kubernetes in Docker) прямо на рабочей станции.
Концепция «трех компьютеров» и единый оркестратор
Главная причина сложности инфраструктуры в области робототехники заключается в фундаментальных различиях используемых аппаратных платформ:
- Дата-центры: мощные кластеры на базе GPU GB200 или H100, где происходит ресурсоемкое обучение нейросетевых политик управления.
- Рабочие станции: ускорители серии RTX (например, RTX Pro 6000), используемые для расчета физики и рендеринга сенсорного окружения в среде Isaac Sim.
- Краевые устройства (Edge): автономные модули уровня Jetson AGX Thor, на которых выполняются проверки HIL и финальная валидация алгоритмов внутри реального робота.
Передача данных и моделей между этими уровнями обычно сопровождается накоплением хрупких самописных скриптов. OSMO решает эту проблему кардинально: инструмент воспринимает все три уровня как подключенные бэкенды одной системы управления. Каждый бэкенд представляет собой Kubernetes-кластер, зарегистрированный через консольный интерфейс (CLI).
В сценариях использования OSMO разработчику больше не нужно явно указывать конкретные кластеры или IP-адреса. В файле конфигурации задается лишь тип платформы — например, gb200, rtx-pro-6000 или jetson-agx-thor. Оркестратор самостоятельно определяет подходящий пул ресурсов и отправляет задачу на исполнение.
Как устроены рабочие процессы в OSMO
Типичный канонический конвейер (workflow) в репозитории OSMO демонстрирует связку из трех последовательных задач, пересылающих результаты друг другу:
- Симуляция (
simulation): запуск контейнера с Isaac Sim на платформеrtx-pro-6000для генерации синтетических данных и отработки физических сценариев. - Обучение политики (
train-policy): запуск PyTorch-контейнера на кластереgb200с использованием 8 графических процессоров. В качестве входных данных он принимает артефакты, полученные на этапе симуляции. - Оценка на реальном железе (
evaluate-thor): запуск ROS-приложения на модулеjetson-agx-thor. Оно считывает обученную модель и сохраняет итоговые метрики в именованный датасет.
Зависимости между этапами формируются с помощью блока inputs, за сохранение результатов отвечает секция outputs, а распределение по инфраструктуре определяется параметром platform. Оркестратор поддерживает как последовательное, так и параллельное выполнение групп задач. Для создания параметризованных пайплайнов применяется шаблонизация Jinja. Кроме того, в OSMO предусмотрена гибкая политика повторных попыток при сбоях (retry policies), а также система приоритетов (HIGH, NORMAL, LOW) с возможностью вытеснения менее важных задач и заимствования GPU между пулами.
Ключевые технологические возможности
NVIDIA OSMO представляет собой полноценный комплекс инструментов для промышленной разработки физического ИИ. В свежих версиях системы (включая релизы 6.2.8, 6.3.0 и 6.3.1) инженеры добавили целый ряд критически важных функций.
Портативность и гибкость развертывания
Рабочий процесс, описанный в YAML, полностью абстрагирован от конкретной среды. Разработчик может запустить его локально на ноутбуке с помощью Docker и KIND, а затем без изменений перенести в облака EKS (AWS), AKS (Azure), GKE (Google Cloud), на локальный On-Premise кластер или в полностью изолированный контур (air-gapped).
С версии 6.3.0 в состав проекта входит скрипт deploy-k8s.sh, поддерживающий работу с несколькими провайдерами. Он позволяет быстро развернуть OSMO на Azure AKS, AWS EKS, MicroK8s или любом существующем K8s-кластере. Для хранения данных предусмотрена интеграция с MinIO, Azure Blob, AWS S3 или произвольным S3-совместимым хранилищем.
Интерактивная отладка и разработка
OSMO не ограничивается пакетным запуском задач. Инженеры могут подключаться к удаленным GPU-узлам в интерактивном режиме через VS Code, Jupyter Notebook или по протоколу SSH. Можно выполнять команды внутри запущенных контейнеров (команда exec), пробрасывать порты сервисов и синхронизировать файлы в обоих направлениях. В релизе 6.3.0 была добавлена команда osmo workflow rsync download, оснащенная удобным индикатором прогресса загрузки в реальном времени.
Продвинутое планирование ресурсов
По умолчанию OSMO использует плагин NVIDIA KAI Scheduler. Начиная с версии 6.2.8, система умеет учитывать топологию NVLink при распределении многопроцессорных задач, что позволяет существенно снизить задержки при обмене данными между GPU. В версии 6.3.0 тайм-ауты выполнения (exec_timeout) и ожидания в очереди (queue_timeout) стали настраиваться индивидуально для каждой группы задач. Это предотвращает ситуации, когда зависший этап симуляции приводит к сбросу параллельно выполняющихся задач обучения.
Управление данными и изменения в API
В OSMO реализована концепция адресации контента (content-addressable datasets) с автоматической дедупликацией. По заявлениям разработчиков, такой подход позволяет сократить объем занимаемой памяти на дисках в 10–100 раз.
Важное предупреждение для разработчиков: начиная с версии 6.3.0, автономный CLI-инструмент osmo dataset и интерфейс /datasets API объявлены устаревшими (deprecated). Их полное удаление запланировано на версию 6.4. Вся работа с данными полностью переводится под управление выходов рабочих процессов (workflow-managed dataset outputs).
Безопасность и корпоративный доступ
Система безопасности была существенно укреплена. Начиная с версии 6.2.8, OSMO поставляется с сайдкаром авторизации на базе RBAC, прокси-сервером OAuth2 с поддержкой авторизации через код устройства (device-code login) и сопоставлением пользователей с поставщиками identity-провайдеров. В версии 6.3.0 добавлено шифрование TLS на уровне Envoy-шлюза, а также интеграция с облачными идентификаторами (Azure Workload Identity, AWS IRSA/Pod Identity). Это избавило от необходимости хранить секретные ключи доступа к хранилищам в виде Kubernetes Secrets. А в релизе 6.3.1 стандартная роль osmo-user по умолчанию была ограничена базовым пулом ресурсов.
Интеграция с ИИ-агентами
В репозитории проекта представлены файлы AGENTS.md, директория с пресетами навыков (skills) и руководство по развертыванию MCP (Model Context Protocol). На конференции GTC 2026 NVIDIA продемонстрировала интеграцию OSMO с автономными кодинг-агентами, такими как Claude Code, OpenAI Codex и Cursor. Теперь ИИ-помощники могут самостоятельно отправлять рабочие процессы на исполнение, отслеживать статус их выполнения и отлаживать возникшие ошибки.
Практические выводы и экосистема
Открытие исходного кода OSMO — важнейший шаг NVIDIA по созданию открытого стандарта для инфраструктуры робототехники. Инструмент уже прошел обкатку в ключевых инициативах компании, включая проект гуманоидных роботов Project GR00T, Isaac Lab, Isaac Sim и Isaac ROS, а также получил готовую интеграцию с облачными сервисами Azure и Nebius.
Если вы планируете внедрение OSMO в свои проекты, учтите ключевые аспекты:
- Проект доступен под лицензией Apache-2.0, исходный код опубликован на GitHub, а готовые контейнеры — в NVIDIA NGC.
- Для первичного знакомства можно развернуть локальный контур через KIND на обычной рабочей станции.
- При проектировании новых пайплайнов следует отказаться от вызовов
osmo dataset CLI, так как в релизе 6.4 этот API будет окончательно удален. - Перевод оркестрации на единый YAML-файл позволяет избавиться от разнородных скриптов и обеспечить бесшовный переход от синтетических данных к реальным испытаниям на железе Jetson.
Источник: www.marktechpost.com
