NVIDIA Cosmos 3: дообучение видеомодели за день двумя промптами

Настройка модели компьютерного зрения под конкретную задачу обычно съедает дни ещё до того, как станет ясно, помогло ли дообучение вообще. Форматирование датасета, сборка контейнеров, написание скриптов, замер базовой точности, перебор гиперпараметров — всё это ложится на инженера. NVIDIA показала на своём примере, как обойти эту рутину: связка открытой мировой модели NVIDIA Cosmos 3 и агентных навыков NVIDIA TAO позволяет довести модель до продакшена за один день, управляя процессом через обычные текстовые промпты в кодинг-агенте.

Что такое Cosmos 3 и при чём здесь MoT

Cosmos 3 — открытая world foundation model для физического ИИ. Через единую омнимодальную мировую модель она связывает понимание, генерацию, симуляцию и действия, объединяя текст, изображения, видео, звуки окружения и треки поведения под архитектурой MoT (mixture-of-transformers).

Архитектура MoT парная: авторегрессионный трансформер отвечает за рассуждения и планирование, а диффузионный трансформер — за точное предсказание будущих состояний мира и действий. Модель выпускается в нескольких размерах, включая Super 64B и Nano 16B, и, по данным NVIDIA, стабильно занимает первое место среди открытых моделей в бенчмарках: VANTAGE-Bench (понимание видео), PAI-Bench и Physics-IQ (точность генерации мира), RoboLab и RoboArena (политики поведения).

Внутри два потока взаимодействуют через cross-stream связи: ключ-значение состояния (K_AR, V_AR) передаются в блоки генеративной стороны для текстового и визуального контекста. Похожий подход к разделению ролей между компонентами агента разбирался в материале про NVIDIA AVO и ARC-AGI-3: там результат тоже дала архитектура, а не одна лишь модель.

Зачем дообучать Cosmos 3 Nano

Фундаментальные модели вроде Cosmos 3 выучивают обобщённые закономерности на огромных и разнородных датасетах. Но в реальном развёртывании у камеры свой угол обзора, у сцены — свои граничные случаи, и без доменной специализации не обойтись. Именно здесь и нужно post-training.

Для vision-language модели есть два пути:

  • Полный SFT (fine-tuning всех параметров) — подходит, когда домен сильно отличается или требуется менять архитектуру. Обновляет все веса, требует огромных вычислительных ресурсов и грозит деградацией общих знаний.
  • LoRA (Low-Rank Adaptation) — идеален для быстрых итераций: базовые веса замораживаются, а в модель внедряются обучаемые низкоранговые матрицы.

В примере NVIDIA дообучение Cosmos 3 Nano через LoRA потребовало примерно в семь раз меньше GPU-часов, чем полный SFT, — именно это и позволило уложиться в сутки.

Два способа дообучить Cosmos 3 Nano

Первый вариант — открытый фреймворк: полностью опубликованный пайплайн post-training Cosmos 3 даёт доступ к рецептам обучения, форматам датасетов и конфигурационным файлам. Подходит, если нужна собственная логика обучения или интеграция с существующей инфраструктурой.

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

Архитектура Cosmos 3 разделяет функции между башней Reasoner (мультимодальное понимание и логика, это и есть vision-language модель) и башней Generator (генерация видео и действий). Навыки TAO автоматически учитывают это разделение весов, поэтому дообучение нацелено точно на веса Reasoner под нижестоящую задачу.

Установка навыков TAO для кодинг-агента

Набор навыков TAO ставится в любой кодинг-агент. В примере используется Codex; настройка для Claude описана в GitHub-репозитории NVIDIA-TAO/tao-skill-bank. Быстрее всего запустить автоустановочный скрипт:

curl -fsSL https://raw.githubusercontent.com/NVIDIA-TAO/tao-skills-bank/main/scripts/install-codex-agents.sh | bash

Если хочется пройти по шагам вручную, в репозитории есть разобранная по этапам инструкция. Перед экспериментом задайте ключи в терминале:

export HUGGINGFACE_TOKEN="your_hf_token" #To pull missing models
export NGC_API_KEY="your_ngc_key" #For TAO Docker containers
export AUTOML_LLM_API_KEY="your_llm_key" #Required for LLM-guided hyperparameter sweeps in AutoML

Датасет: Woven Traffic Safety

В примере Cosmos 3 Nano дообучается на датасете Woven Traffic Safety (WTS) от Toyota. Эксперимент сосредоточен на задаче видеовопросов с четырьмя вариантами ответа, в обучающей и валидационной выборках — более 8 000 примеров.

Безопасность дорожного движения требует тонкого понимания реальных сцен: модель должна выводить из видео сложную структуру дорог, сигналы, автомобили, пешеходов и контекст происшествия. Пример вопроса из датасета: «Какая форма дороги?» — A: одна дорога (поворот направо), B: одна дорога (прямая), C: перекрёсток (без светофора), D: перекрёсток (со светофором). Ожидаемый ответ — D.

Тот же рабочий процесс переносится на любую нижестоящую задачу визуального вывода: мониторинг складов, распознавание для автономных автомобилей, роботизированные ячейки. В случае с робототехникой генеративные симуляторы решают смежную задачу — об этом в статье про Cosmos-H-Dreams для хирургических роботов.

Один промпт для запуска LoRA

В том же окружении с настроенными API-ключами весь сквозной пайплайн запускается одним запросом к Codex:

Perform LoRA post-training of the Cosmos 3 model on the Woven Traffic Safety dataset.
Training data: /home/…/WTS_dataset/wts_data_train
Validation data: /home/…/WTS_dataset/wts_data_val
Base model on Hugging Face: nvidia/Cosmos3-Nano
Also perform a baseline evaluation first, to compare with the post-trained model.

Codex обращается к библиотеке TAO и выбирает навык, специально предназначенный для Cosmos-reason. Дальше агент сам разбирается с нижележащим фреймворком и загрузчиком данных и выполняет шаги по порядку:

  1. Автопатч ошибок — сканирует аннотации датасета, находит пропущенный параметр FPS у видео и сразу применяет исправление конфигурации.
  2. Кэширование модели — безопасно подтягивает веса Cosmos 3 по токену Hugging Face.
  3. Оценка базовой линии — запускает zero-shot оценку до изменения весов. Исходная точность базовой модели Cosmos 3 — 54,41%.
  4. Запуск пайплайна LoRA — генерирует оптимизированную конфигурацию обучения LoRA и запускает обучающий контейнер TAO.

После завершения обучения агент оценивает адаптированную модель и сравнивает результат с базовой линией. На восьми GPU NVIDIA A100 Tensor Core обучение заняло около 30 минут, и уже за один прогон точность выросла до 87,14% — прирост в 32 процентных пункта без единого ручного действия.

Оптимизация через TAO AutoML

LoRA даёт сильный первый результат, но качество post-training сильно зависит от выбора конфигурации: скорость обучения, ранг LoRA, dropout, размер батча, настройки планировщика — всё это влияет на итоговую точность. Вместо ручного перебора конфигураций TAO AutoML позволяет агенту систематически пройтись по важным параметрам.

Поддерживаются разные стратегии поиска:

  • байесовская оптимизация;
  • Hyperband;
  • байесовская оптимизация + Hyperband (BOHB);
  • байесовская оптимизация с приоритетом батчей (BFBO);
  • поиск на основе LLM: гиперпараметры предлагает «LLM-мозг» (NVIDIA NIM, OpenAI или совместимый эндпоинт).

Для LLM-поиска нужен NVIDIA_API_KEY или AUTOML_LLM_API_KEY; в этом эксперименте использовался эндпоинт Gemini API. Краткие описания алгоритмов есть в документации TAO AutoML.

Второй промпт в том же чате запускает свип:

Run an AutoML sweep to improve the LoRA result. Let TAO choose suitable search strategies 
and tune the important training hyperparameters. Optimize validation accuracy and summarize 
the best models.

Агент создаёт пробные запуски по нескольким стратегиям, выполняет каждый эксперимент, отслеживает гиперпараметры, оценивает результаты и фиксирует лучшую конфигурацию.

Сколько точности добавили LoRA и AutoML

Совместная работа автоматизации TAO и оптимизации AutoML дала заметный прирост относительно zero-shot базовой линии. Весь эксперимент — это всего два промпта, превративших неадаптированную базовую модель в узкоспециализированного эксперта по безопасности дорожного движения.

Вариант модели Стратегия Точность на валидации Прирост к базовой
Cosmos 3 Nano (базовая) Zero-shot 54,41%
Cosmos 3 Nano + LoRA LoRA по одному промпту 87,14% +32,73 п.п.
Cosmos 3 Nano + AutoML Байесовская оптимизация 93,35% +38,94 п.п.

Железо и время выполнения

Свип по нескольким конфигурациям тестировался на облачном железе NVIDIA. Благодаря эффективности архитектуры MoT одна эпоха LoRA post-training на одном узле с NVIDIA A100 (80GB) занимает около 30 минут — то есть меньше часа до модели с точностью 87,14%.

Дальнейший рост требует свипа гиперпараметров TAO AutoML. В этом эксперименте 43 параллельных пробных запуска на пяти параллельных узлах (по одному узлу с 8x A100 на каждую стратегию поиска) заняли 19,5 часа. TAO автоматически распределил свип по пяти стратегиям: байесовская (10 запусков), BFBO (10), BOHB (3), гибрид LLM-байесовская (10) и гибрид LLM-BFBO (10).

Для сравнения: полный SFT занял 3 часа 34 минуты на восьми GPU NVIDIA H100.

Развёртывание дообученного адаптера

Cosmos 3 Reasoner NIM — самый быстрый путь к продакшен-эндпоинту Reasoner, совместимому с OpenAI. Он предоставляет авторегрессионный Reasoner, отдельно выделенный и оптимизированный для эффективного вывода на устройстве. Микросервис NIM поставляется в виде готового оптимизированного контейнера, поэтому не нужно вручную управлять зависимостями vLLM и подгонять версии CUDA; на выходе — текст из текстовых, графических и видеовходов.

Развёртывание тоже можно поручить кодинг-агенту:

Locally deploy Cosmos 3 Nano Reasoner NIM using the post-trained checkpoint in <checkpoints path>. 
Run NVIDIA/Docker preflight, use a LoRA-capable profile when available or the fused merged checkpoint otherwise.

Важное архитектурное отличие от VLM NIM в стиле Llama — способ загрузки адаптеров. Llama NIM может обслуживать базовую модель и отдельный каталог LoRA-адаптера вместе, а Cosmos 3 Reasoner NIM требует объединённый чекпоинт (слияние базовых весов и LoRA-адаптера), а не один только адаптер. Если работать с кодинг-агентом через навыки TAO, он сам выполнит слияние весов и выдаст единый чекпоинт, который загрузит контейнер. Для ручного развёртывания есть видеоурок «How to Run NVIDIA Cosmos 3 Reasoner NIM for Video Reasoning».

С чего начать

Переход от универсального ИИ к узкоспециализированному физическому больше не требует борьбы с инфраструктурой. Структурные способности башни Reasoner в Cosmos 3 плюс автоматизация агентных навыков TAO позволяют пройти путь от сырых видеоданных до готовой к развёртыванию специализированной vision-language модели за день.

Двумя промптами на естественном языке кодинг-агент разбирается со сложностью фреймворка, патчит баги в данных, запускает базовые бенчмарки и выполняет продвинутую настройку гиперпараметров через TAO AutoML без участия человека. Инженерные команды при этом занимаются ключевыми задачами физического ИИ и робототехники.

Материалы для старта: чекпоинты Cosmos 3 Nano и Super на Hugging Face, примеры и код в репозитории NVIDIA/cosmos, демо Cosmos 3 Nano Reasoner и Cosmos 3 Nano, видеоурок по запуску Reasoner NIM, установочные скрипты и список навыков в репозитории NVIDIA-TAO/tao-skill-bank, а также форум разработчиков TAO.

Частые вопросы

Кого касается эта новость?

Команд, которые адаптируют vision-language модели под конкретный домен: видеоаналитику, автономный транспорт, робототехнику, мониторинг объектов. Если вы дообучаете модель под свои камеры и сцены, эта связка сокращает подготовительную работу с дней до часов.

Какие версии Cosmos 3 существуют?

В материале упоминаются Super 64B и Nano 16B. В примере используется Cosmos 3 Nano, чекпоинт доступен на Hugging Face как nvidia/Cosmos3-Nano.

Чем LoRA отличается от полного SFT?

Полный SFT обновляет все веса модели, требует много вычислений и может ухудшить общие знания. LoRA замораживает базовые веса и обучает низкоранговые матрицы. В этом эксперименте LoRA потребовала примерно в семь раз меньше GPU-часов.

Сколько времени занимает дообучение?

Одна эпоха LoRA post-training на одном узле с NVIDIA A100 (80GB) — около 30 минут. Полный SFT для сравнения занял 3 часа 34 минуты на восьми H100. Свип AutoML из 43 параллельных запусков на пяти узлах занял 19,5 часа.

Какой прирост точности даёт каждый этап?

Zero-shot базовая модель — 54,41%. После LoRA по одному промпту — 87,14% (+32,73 п.п.). После свипа AutoML с байесовской оптимизацией — 93,35% (+38,94 п.п.).

Какие ключи нужно задать перед запуском?

HUGGINGFACE_TOKEN — для загрузки отсутствующих моделей, NGC_API_KEY — для Docker-контейнеров TAO, AUTOML_LLM_API_KEY — для свипов гиперпараметров с участием LLM в AutoML.

Можно ли развернуть адаптер LoRA напрямую?

Нет. Cosmos 3 Reasoner NIM требует объединённый чекпоинт — слияние базовых весов и LoRA-адаптера, а не отдельный адаптер. Кодинг-агент с навыками TAO выполняет слияние автоматически.

Поддерживаются ли другие стратегии поиска гиперпараметров?

Да. TAO AutoML поддерживает байесовскую оптимизацию, Hyperband, BOHB, BFBO и поиск на основе LLM через NVIDIA NIM, OpenAI или совместимый эндпоинт.

Что делать, если нет кластера с A100?

Материал описывает тесты на облачном железе NVIDIA. Конкретных рекомендаций для других конфигураций в источнике нет — там указано лишь, что эффективность архитектуры MoT позволяет уложить эпоху LoRA в 30 минут на одном узле A100 (80GB).

Источник: developer.nvidia.com