Главная/Блог/Гайд/NVIDIA Cosmos 3 Edge: Запуск ИИ-робота…
Гайд11 мин чтения · 20 августа 2026 г.

NVIDIA Cosmos 3 Edge: Запуск ИИ-робота на борту без облака

Как дообучить 4-миллиардную модель Cosmos 3 Edge для управления роботом на NVIDIA Jetson Thor в реальном времени без задержек и облачных вычислений.

NVIDIA Cosmos 3 Edge: Запуск ИИ-робота на борту без облака

В мире робототехники существует вечный конфликт между мощностью моделей и ограничениями «железа». Чем умнее робот, тем больше данных он должен обработать, а значит, тем мощнее нужен процессор. Однако переносить вычисления в облако — это риск задержек, зависимость от сети и проблемы с безопасностью. NVIDIA предлагает элегантное решение: запускать сложные мировые модели прямо на борту робота. В центре этой революции — новая модель NVIDIA Cosmos 3 Edge, специально оптимизированная для работы на компактных вычислительных платформах, таких как Jetson Thor.

Эта статья — не просто обзор, а подробное руководство по тому, как превратить большую языковую и визуальную модель в реального робота, способного принимать решения за миллисекунды. Мы разберем процесс пост-обучения (post-training), настройки гиперпараметров, развертывания сервера политик и оценки результатов в симуляции. Если вы хотите создать автономного робота, который не «думает» в дата-центре, а действует здесь и сейчас, этот материал для вас.

01Почему именно Cosmos 3 Edge? Фундамент физического понимания

Мировые модели (World Models) — это новый класс ИИ, которые не просто генерируют картинки или текст, а понимают физику мира. Они знают, как объекты падают, скользят, сталкиваются и реагируют на контакт. NVIDIA Cosmos 3 Edge — это часть семейства Cosmos 3, представляющая собой 4B omni-model (модель с 4 миллиардами параметров), которая включает в себя 2-миллиардный_reasoner_ на базе NVIDIA Nemotron для логического вывода.

Ключевое преимущество Cosmos 3 Edge заключается в том, что она предварительно обучена на тех же данных физического мира, что и ее старшие собратья — Cosmos 3 Nano и Cosmos 3 Super. Это означает, что модель уже обладает глубоким «заземлением» в понимании того, как движутся объекты. Вам не нужно учить робота с нуля тому, что чашка разобьется, если ее толкнуть. Модель уже знает это.

Однако размер модели всегда был проблемой для внедрения. Cosmos 3 Edge решает эту дилемму, оставаясь достаточно компактной, чтобы работать на борту робота, но достаточно мощной, чтобы справляться со сложными манипуляциями. Это позволяет избежать двух главных проблем развертывания:

  1. Память устройства: Модель и состояние ее работы должны помещаться в память бортового компьютера.
  2. Задержка управления: Полный цикл инференса должен быть достаточно быстрым, чтобы поддерживать частоту управления робота.

Пост-обучение (post-training) Cosmos 3 Edge адаптирует эту общую физическую модель под конкретные задачи манипуляции, создавая политику, которая помещается в память Jetson Thor и работает в реальном времени.

NVIDIA Jetson Thor — вычислительная платформа для запуска ИИ-моделей на борту робота.
NVIDIA Jetson Thor — вычислительная платформа для запуска ИИ-моделей на борту робота.

02Данные: Основа обучения политики

Качество политики робота напрямую зависит от качества данных, на которых она обучается. В данном руководстве используется датасет nvidia/Cosmos3-DROID. Это не просто набор случайных видео, а тщательно отобранные траектории успешных телеопераций.

Структура датасета DROID

Датасет содержит 76 000 успешных траекторий, охватывающих примерно 350 часов работы. Эти данные собраны с использованием манипулятора Franka Panda и захвата Robotiq. Всего представлено 86 различных задач и 564 сцены, что обеспечивает высокую вариативность условий обучения.

Данные упакованы в формат LeRobotDataset v3.0 с разрешением 640 × 360 пикселей. Подготовка данных включает три ключевых этапа:

  1. Фильтрация: Удаление кадров, где робот бездействует или не выполняет задачу.
  2. Селекция: Оставление только успешных демонстраций для обучения.
  3. Аугментация: Применение случайной обрезки, масштабирования и цветовых искажений во время обучения для повышения устойчивости модели.

Для начала работы необходимо загрузить датасет с Hugging Face:

terminalbash
hf download nvidia/Cosmos3-DROID --repo-type dataset --local-dir Cosmos3-DROID

Работа с собственными данными

Если у вас есть свой робот, вы можете конвертировать свои данные в формат LeRobot Dataset v3. Формат требует наличия кадров с камер, состояний суставов (joint states), состояния захвата, действий и текстовых инструкций задачи. Для настройки под другую конфигурацию робота (например, двухрукий Franka, UR или WidowX 250) потребуется создать собственный конфигурационный файл, определяющий пространство действий, размерность, раскладку камер и настройки нормализации. Полный список поддерживаемых воплощений (embodiments) доступен в карточке модели Cosmos 3 Edge.

OpenUSD Robotics — стандарт для обмена данными в робототехнике, используемый в экосистеме NVIDIA.
OpenUSD Robotics — стандарт для обмена данными в робототехнике, используемый в экосистеме NVIDIA.

03Технические требования и подготовка окружения

Прежде чем приступать к обучению, необходимо убедиться, что ваше окружение соответствует строгим требованиям NVIDIA. Это не просто рекомендация, а необходимость для стабильной работы фреймворка.

Аппаратное обеспечение

Для валидированного запуска требуется мощная инфраструктура. Рекомендуется использовать NVIDIA DGX Station с чипом NVIDIA GB200 Grace Blackwell Superchip или NVIDIA GB300 Grace Blackwell Ultra Desktop Superchip. Валидированный запуск использует 64 узла с 4× GB200 каждый, выполняя 60 000 итераций за примерно 68 часов (около 17,4K GB200-часов). Планируйте вычислительные ресурсы заранее.

Программное обеспечение

Необходимы следующие версии:

  • Последняя версия Cosmos framework.
  • CUDA 13.0 (cu130).
  • Контейнер NGC 26.06-py3.
  • Доступ к базовому чекпоинту Cosmos 3 Edge.
  • Токен доступа к Hugging Face.
⚠️
Важно. Это процесс пост-обучения фундаментальной модели, а не простая донастройка на одной GPU. Требуются распределенные вычисления. Убедитесь, что у вас есть доступ к кластеру, способному обработать такой объем данных.

04Конфигурация обучения: Гиперпараметры и настройки

Успех пост-обучения зависит от тонкой настройки гиперпараметров. Ниже приведена таблица конфигурации, используемой в официальном руководстве. Эти значения служат отправной точкой для ваших экспериментов.

Параметр Значение
Инициализация Чекпоинт Cosmos3 Edge
Пространство действий joint_pos: 8-D абсолютное (7 суставов + захват)
Состояние Проприоцепция включена (use_state=true)
Наблюдение 3-камерный холст: запястье (360×640) поверх двух внешних видов (180×320 каждый) → 540×640
Чанк действий 32 будущих действия при 15 Гц на предсказание
Головы действий Свежеинициализированный энкодер + декодирующий MLP + эмбеддинги, множитель LR 5x
Баланс потерь Визуальное flow-matching взвешено для соответствия потере действий
Скорость обучения/батч 2e-4; глобальный батч 8192 (32 образца/ранк × 256 ранков, HSDP 32×8)
Расписание Long-cosine decay (цикл 100K) в течение 10K итераций; чекпоинт каждые 1K
Нормализация Сырые значения суставов, без нормализации
Визуализация процесса пост-обучения модели Cosmos 3 Edge на данных DROID.
Визуализация процесса пост-обучения модели Cosmos 3 Edge на данных DROID.

05Процесс пост-обучения: Пошаговое руководство

Процесс пост-обучения разбит на четыре основных шага. Давайте разберем каждый из них подробно.

Шаг 1: Загрузка датасета

Как уже упоминалось, загружаем успешные траектории:

terminalbash
hf download nvidia/Cosmos3-DROID --repo-type dataset --local-dir /path/to/Cosmos3-DROID

Шаг 2: Конвертация чекпоинта в DCP

Базовый чекпоинт необходимо преобразовать в формат Distributed Checkpoint (DCP). Это однократная операция, которая выполняется на CPU и не требует GPU-вычислений. Она просто переупаковывает веса модели для эффективного распределенного обучения.

terminalbash
python -m cosmos_framework.scripts.convert_model_to_dcp \
  -o /path/to/Cosmos3-Edge-dcp \
  --checkpoint-path Cosmos3-Edge

Шаг 3: Применение фильтра кураторства

Фреймворк включает фильтры для очистки данных перед обучением. Убедитесь, что фильтр настроен на удаление нецелевых кадров и аугментацию.

Шаг 4: Запуск обучения

В репозитории cosmos-framework есть скрипт для запуска обучения. Однако по умолчанию он настроен на модель Nano. Для запуска Cosmos 3 Edge необходимо внести три изменения в конфигурационный файл:

  1. Заменить импорт NANO_MODEL_CONFIG на EDGE_MODEL_CONFIG (из configs/base/experiment/sft/models/edge_model_config.py).
  2. Установить BASE_CHECKPOINT_PATH на путь к DCP-чекпоинту Cosmos 3 Edge, созданному на шаге 2.
  3. Переименовать скрипт запуска examples/launch_sft_action_policy_droid_nano.sh в examples/launch_sft_action_policy_droid_edge.sh.

После внесения изменений запускаем скрипт:

terminalbash
bash examples/launch_sft_action_policy_droid_edge.sh

Все остальные параметры, включая датасет, пространство действий и расписание обучения, остаются неизменными. Для получения актуальных инструкций обращайтесь к официальному руководству по воспроизведению DROID и карточке модели.

06Развертывание политики на NVIDIA Jetson Thor

Самый интересный этап — это запуск обученной модели непосредственно на роботе. Политика обслуживается сервером политик WebSocket, использующим протокол OpenPI. Клиент отправляет словарь наблюдений, а сервер возвращает чанк действий.

Запуск сервера на борту

Сервер работает нативно на Jetson Thor. Веса модели занимают около 9 ГБ в формате BF16, что полностью помещается в память Thor. Это означает, что и сервер политик, и клиент управления работают на роботе, без участия GPU в дата-центре.

terminalbash
export HF_TOKEN=
# Thor: запускаем в режиме eager; стандартные колеса Triton не имеют ядер sm_110a
export TORCHDYNAMO_DISABLE=1
python -m cosmos_framework.scripts.action_policy_server_robolab \
  --checkpoint_path nvidia/Cosmos3-Edge-Policy-DROID \
  --port 8000 \
  --format-prompt-as-json True

# Первый запуск скачивает веса и занимает несколько минут; затем:
curl localhost:8000/healthz   # -> OK

Поскольку сервер работает на Thor, хостом является localhost, и запросы никогда не покидают робота. Это обеспечивает инференс в реальном времени, который делает возможным автономное управление.

Тестирование без робота (Smoke Test)

Политика DROID зависит от состояния. Это значит, что joint_position и gripper_position являются реальными входами модели, а не просто формальностью. Если у вас нет робота под рукой, вы можете провести тест, используя нули в качестве заглушки. Это доказывает, что сервер возвращает корректный чанк действий.

terminalpython
import numpy as np
from PIL import Image
from openpi_client.websocket_client_policy import WebsocketClientPolicy

client = WebsocketClientPolicy(host="localhost", port=8000)

observation = {
    "prompt": "put the marker in the basket",
    "observation/wrist_image_left": np.asarray(Image.open("wrist.jpg")),
    "observation/exterior_image_1_left": np.asarray(Image.open("left.jpg")),
    "observation/exterior_image_2_left": np.asarray(Image.open("right.jpg")),
    "observation/joint_position": np.zeros(7, dtype=np.float32),   # только для smoke test
    "observation/gripper_position": np.float32(0.0),               # только для smoke test
}

result = client.infer(observation)
actions = result["action"]  # [32, 8]: 7 положений суставов + захват, 15 Гц

Работа с реальным роботом

В реальном сценарии этот вызов находится в цикле перепланирования. Каждый цикл считывает свежие данные с камер и реальные положения суставов и захвата робота, выполняет префикс чанка, а затем запрашивает новое действие:

terminalpython
def get_observation():
    return {
        "prompt": "put the marker in the basket",
        "observation/wrist_image_left": read_camera("wrist"),
        "observation/exterior_image_1_left": read_camera("left"),
        "observation/exterior_image_2_left": read_camera("right"),
        "observation/joint_position": robot.joint_positions(),   # РЕАЛЬНЫЕ, 7 чисел
        "observation/gripper_position": robot.gripper_position(),
    }

while not task_done():
    result = client.infer(get_observation())
    execute_actions(result["action"][:16], hz=15)   # первые 16 из 32, затем перепланирование

Выполнение только префикса и перепланирование — это стандартная практика. Политика самокорректируется каждые несколько секунд. Поскольку она зависит от состояния, каждое перепланирование начинается с того места, где находится робот на самом деле, а не с того места, где, как предполагалось, он будет находиться. Запуск сервера с включенным декодированием видео возвращает воображаемый ролл политики вместе с действиями, позволяя вам проверить, что предсказывает мировая модель.

07Оценка в замкнутом цикле симуляции

Прежде чем тестировать политику на физическом роботе, настоятельно рекомендуется проверить ее в симуляции. Это позволяет избежать неожиданных поведения и потенциального повреждения оборудования. Для этого используется RoboLab — открытый бенчмарк на базе Isaac Lab-Arena.

Настройка RoboLab

Клиент RoboLab подключается к тому же серверу политик. Он выполняет каждый чанк действий в физической среде и передает отрендеренные наблюдения обратно для истинного замкнутого цикла. Тестирование проводится на 120 задачах манипуляции с языковыми условиями.

terminalbash
# Клонировать RoboLab и загрузить ассеты сцен
git clone https://github.com/NVlabs/RoboLab.git && cd RoboLab
git lfs pull

# Собрать образ симуляции и запустить одну задачу против сервера политик
./docker/build_docker.sh latest
./docker/run_docker.sh latest
python policies/cosmos3/run.py --task BananaInBowlTask

# Или запустить headless для получения статистики успешности
python policies/cosmos3/run.py --task BananaInBowlTask --num-envs 10 --headless

Замените --task на любую из 120 задач, чтобы построить более полную картину поведения политики. Каждый запуск создает видео с видом от первого лица и с камер робота, а также журнал успешности, позволяя вам inspect как результат, так и траекторию.

Результаты

В оценках замкнутого цикла RoboLab пост-обученная политика Edge достигает 22,9% успешности по всему набору задач. Этот результат достигается при доли вычислительных затрат, необходимых для более крупных вариантов Cosmos3 (Nano достигает 36,8%). Это именно тот компромисс, для которого создана Edge: реальное время, полная автономия на борту робота при конкурентоспособных показателях успешности.

💡
Совет. Убедитесь, что у вас установлена версия NVIDIA RTX Server Driver Release 580 или новее, так как NVIDIA Isaac Sim 5.x требует этого драйвера. Проверьте документацию RoboLab и Isaac Sim перед сборкой.
Архитектура распределенного обучения с использованием NVIDIA Rapids и WholeGraph.
Архитектура распределенного обучения с использованием NVIDIA Rapids и WholeGraph.

08Пост-обучение за пределами управления роботами

Техники пост-обучения, улучшающие управление роботами, также расширяются на другие возможности, такие как генерация синтетических данных для обучения роботов. Разработчики могут создавать специализированные мировые модели, которые генерируют высококачественные синтетические данные, адаптированные к их средам и задачам, как для внутреннего, так и для наружного обучения роботов.

Например, проект Aigen пост-обучил Cosmos для генерации разнообразных синтетических вариаций культурных растений и сорняков, что позволило автономной системе прополки достичь высокой производительности, используя всего 1% реальных данных для обучения. Это демонстрирует потенциал Cosmos для создания эффективных решений в сельском хозяйстве и других областях.

В более широком смысле, открытые веса Cosmos и фреймворк с лицензией OpenMDW1.1 делают пост-обучение мощным, гибким и простым способом создания специализированных, высокопроизводительных и точных пользовательских моделей для физического ИИ.

09Что это значит на практике

Внедрение NVIDIA Cosmos 3 Edge на Jetson Thor знаменует собой сдвиг парадигмы в робототехнике. Раньше сложные модели ИИ требовали облачной инфраструктуры, что делало роботов зависимыми от сети и уязвимыми к задержкам. Теперь же, благодаря оптимизации моделей и аппаратному обеспечению Jetson, мы можем запускать 4-миллиардные модели прямо на борту.

Это означает:

  • Низкая задержка: Управление в реальном времени без ожидания ответа от сервера.
  • Автономность: Робот может работать в условиях отсутствия сети.
  • Масштабируемость: Легче развертывать множество роботов, так как не требуется централизованная вычислительная инфраструктура для каждого.
  • Доступность: Открытые веса и фреймворк позволяют разработчикам по всему миру экспериментировать с передовыми технологиями физического ИИ.

Для разработчиков из России это особенно актуально, так как локальный запуск моделей снижает зависимость от зарубежных облачных сервисов и позволяет создавать собственные решения на базе открытого ПО. Начните с загрузки чекпоинтов, изучения документации и экспериментов с симуляцией. Будущее робототехники — за автономными системами, которые думают сами.

Готовы начать? Загрузите веса политики Cosmos Edge и данные, присоединяйтесь к сообществу Cosmos Labs и исследуйте возможности Jetson. Код доступен на GitHub, а документация постоянно обновляется. Попробуйте Cosmos 3 Nano Reasoner и Cosmos 3 Nano, чтобы понять полный спектр возможностей семейства.

Источник: NVIDIA Developer ↗