Перейти к основному содержимому

Инференс моделей

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

Особенности продукта

Платформа обеспечивает полную цепочку от обучения модели до развертывания инференса, поддерживая различные методы проверки и развертывания.

Способ инференсаСценарии примененияОписание
Моделируемый тестБыстрая проверкаИспользование случайных данных или пользовательского ввода для быстрой проверки функциональности и производительности инференса модели
Тест файла MCAPПроверка на реальных данныхИспользование записанных демонстрационных данных робота для проверки эффектов инференса модели в реальных сценариях
Автономное периферийное развертываниеПромышленное применениеРазвертывание сервиса инференса на локальном GPU робота для обеспечения управления в реальном времени с низкой задержкой

Рабочий процесс инференса

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

1. Выбор источника модели

Платформа поддерживает несколько источников моделей для удовлетворения потребностей в различных сценариях:

Использование тонко настроенной модели (рекомендуется):

  • Выбор завершенных моделей из задач обучения.
  • Поддержка выбора различных чекпоинтов (рекомендуется использовать "last" или "best").
  • Автоматическое наследование конфигурации и параметров модели из процесса обучения.
  • Не требует дополнительной настройки, готова к немедленному развертыванию.

Загрузка пользовательской модели:

  • Поддержка основных форматов: SafeTensors, PyTorch (.pth, .pt), ONNX и др.
  • Возможность скачивания файлов моделей по URL-ссылкам.
  • Поддержка автоматической распаковки архивов ZIP и TAR.
  • Подходит для внешнего обучения или развертывания сторонних моделей.

Использование предобученной модели:

  • Предоставление проверенных базовых моделей, таких как Pi0 Latest, Pi0 0.5, SmolVLA и др.
  • Автоматическое скачивание и загрузка из репозитория моделей.
  • Быстрый запуск, подходит для оперативной проверки и тестирования.
подсказка

Советы по выбору модели:

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

Страница создания сервиса инференса предоставляет несколько вариантов развертывания

2. Конфигурация и развертывание сервиса

Настройка базовой информации

При создании сервиса инференса необходимо настроить следующую информацию:

  • Имя сервиса — задайте легко узнаваемое имя для сервиса инференса.
  • Описание сервиса — опционально, добавьте информацию о назначении сервиса.
  • Проект — привяжите сервис к конкретному проекту для удобства управления.
  • Тип модели — выберите тип модели (например, SmolVLA, Pi0 и др.), система автоматически адаптируется.

Настройка параметров инференса

В зависимости от типа модели можно настроить следующие параметры:

  • Точность инференса — выбор типа точности (bfloat16 или float32).
  • Размер батча — размер пакета при пакетном инференсе.
  • Макс. длина последовательности — для моделей, поддерживающих последовательности, ограничение максимальной длины.
  • Другие специфические параметры — отображение релевантных опций в зависимости от типа модели.

Настройка ресурсов

Вычислительные ресурсы:

  • Автоматическое обнаружение доступных ресурсов GPU.
  • Поддержка выбора конкретного GPU или развертывания на нескольких GPU.
  • Поддержка платформ CUDA, MPS (Apple Silicon) и др.
  • Автоматический переход на CPU при отсутствии GPU (более низкая производительность).

Конфигурация контейнера:

  • Каждый сервис инференса запускается в независимом Docker-контейнере.
  • Автоматическое назначение портов (диапазон 28000-28999).
  • Поддержка проброса GPU для высокопроизводительного инференса.
  • Автоматическое управление контейнерами, не требующее ручных операций.

Развертывание сервиса

После завершения настройки нажмите кнопку «Развернуть»:

  1. Система автоматически создаст Docker-контейнер.
  2. Загрузятся веса модели и конфигурация.
  3. Запустится сервис инференса (занимает около 20–30 секунд).
  4. Автоматически выполнится проверка здоровья для обеспечения нормальной работы.

После завершения развертывания сервис запустится автоматически и будет поддерживать рабочее состояние; вы сможете сразу приступить к тестированию.

Управление сервисом

После развертывания сервис предоставляет полные функции мониторинга и управления:

Информация о сервисе:

  • Host-адрес и порт — адреса доступа HTTP и WebSocket для API инференса.
  • Статус сервиса — отображение состояния в реальном времени (Запущен, Остановлен, Ошибка и т.д.).
  • Информация о контейнере — ID Docker-контейнера и его статус.
  • Время создания — время создания и последнего обновления сервиса.

Мониторинг ресурсов:

  • Загрузка CPU — отображение текущей загрузки процессора.
  • Использование памяти — отображение занятой памяти и пиковых значений.
  • Загрузка GPU — при использовании GPU, отображение загрузки ядра и видеопамяти.
  • Сетевой ввод-вывод — статистика сетевого трафика.

Управление сервисом:

  • Запуск/Остановка — возможность в любой момент запустить или остановить сервис.
  • Перезапуск — перезапуск сервиса для применения изменений конфигурации.
  • Удаление — удаление ненужных сервисов для освобождения ресурсов.
подсказка

Советы по управлению сервисом:

  • После развертывания рекомендуется подождать 20–30 секунд до полного запуска.
  • Регулярно проверяйте использование ресурсов во избежание их исчерпания.
  • Неиспользуемые долгое время сервисы можно останавливать для экономии ресурсов.

Страница деталей сервиса инференса со статусом и конфигурацией

Спецификации входа и выхода модели

Сервис инференса обладает способностью к интеллектуальной адаптации к требованиям различных моделей:

  • Вход изображений — адаптация к количеству камер (один или несколько ракурсов) и разрешению (автоматическое масштабирование).
  • Вход состояния — observation.state [12], observation.gripper [2], observation.score [1].
  • Выход действий — action [12] команды управления суставами робота.

к сведению

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

Функции тестирования инференса

Моделируемый тест инференса

Эта функция обеспечивает удобный способ проверки сервиса без подготовки реальных данных:

Страница моделируемого инференса с генерацией случайных данных

Особенности:

  • Ввод задач на естественном языке — ввод команд, таких как «Подними яблоко и положи его в корзину».

    • Поддержка команд на китайском и английском языках.
    • Автоматическое кодирование языка системой.
  • Интеллектуальная генерация данных — заполнение тестовых данных в один клик для быстрой проверки.

    • Автоматическая генерация изображений (случайные пиксели или заглушки) согласно требованиям модели.
    • Автозаполнение значений состояния суставов (observation.state).
    • Автозаполнение состояния захвата (observation.gripper).
    • Все форматы данных автоматически адаптируются под требования входа модели.
  • Мгновенное выполнение — получение результатов инференса сразу после нажатия кнопки «Отправить».

    • Отображение прогресса в реальном времени.
    • Быстрый возврат результатов.
    • Поддержка нескольких последовательных тестов.
  • Отображение метрик производительности — ключевые показатели в реальном времени.

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

    • Отображение предсказанных положений суставов (action).
    • Отображение команд управления захватом.
    • Поддержка экспорта и сохранения результатов.
подсказка

Сценарии использования моделируемого инференса:

  • Быстрая проверка нормального запуска сервиса.
  • Проверка корректности форматов входа и выхода модели.
  • Оценка скорости отклика сервиса.
  • Проверка способности обработки команд на естественном языке.

Тест файла MCAP

Поддержка использования реальных демонстрационных данных робота для проверки — лучший способ оценить работу модели в реальных условиях:

Страница теста файла MCAP с использованием реальных данных

Особенности:

  • Загрузка файлов данных — выбор файлов MCAP с полными процессами операций.

    • Выбор напрямую из наборов данных платформы.
    • Локальная загрузка файлов MCAP.
    • Автоматическая проверка формата и целостности файла.
  • Интеллектуальный парсинг данных — автоматическое извлечение и сопоставление мультимодальных данных.

    • Извлечение последовательностей изображений — автоматическое определение топиков камер.
    • Извлечение состояния суставов — получение данных о состоянии (joint_states).
    • Извлечение данных сенсоров — получение данных других датчиков (состояние захвата и т.д.).
    • Выравнивание меток времени — автоматическая синхронизация данных из разных источников.
  • Конфигурация маппинга входов — гибкая настройка соответствия входов модели и данных MCAP.

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

    • Поддержка инференса по кадрам или по временным интервалам.
    • Возможность установки начального и конечного кадров.
    • Пропуск определенных кадров для повышения скорости.
    • Отображение прогресса и количества выполненных кадров в реальном времени.
  • Сравнительный анализ эффектов — количественная оценка результатов в сравнении с экспертной демонстрацией.

    • Сравнение действий — анализ различий между предсказанными и экспертными действиями.
    • Визуализация траекторий — наглядное сравнение предсказанной и реальной траекторий.
    • Статистика ошибок — расчет ошибок действий, положений и других метрик.
    • Оценка производительности — анализ работы модели на реальных данных.
  • Экспорт результатов — выгрузка данных для дальнейшего анализа.

    • Экспорт последовательностей предсказанных действий.
    • Экспорт отчетов сравнительного анализа.
    • Экспорт визуализированных результатов.
подсказка

Советы по тесту MCAP:

  • Используйте файлы MCAP со сценариями, близкими к данным обучения.
  • Для длинных последовательностей можно проводить тестирование по частям для экономии времени.
  • Обращайте внимание на ошибки действий и согласованность траекторий для оценки качества модели.
  • Сравнивайте эффекты разных чекпоинтов для выбора лучшей модели.

Автономное периферийное развертывание

Страница автономного развертывания с решениями для периферийных устройств

Функция автономного развертывания переносит полный сервис инференса на локальное GPU-устройство робота для промышленного применения:

Стандартизированный процесс развертывания

Платформа предоставляет готовое решение, включающее подробные шаги и необходимые файлы:

1. Подготовка среды

  • Установка Docker и nvidia-docker2 (при использовании GPU) на контроллере робота.
  • Обеспечение достаточного места для скачивания Docker-образов и файлов моделей.
  • Установка Python 3.8+ и необходимых зависимостей (при необходимости).

2. Скачивание образа

  • Платформа предоставляет ссылки на полные Docker-образы со средой инференса, весами модели и конфигурацией.
  • Образы включают все необходимые зависимости и рантаймы.
  • Поддержка различных архитектур (x86_64, ARM и др.).

3. Подготовка файлов модели

  • Скачивание файлов весов и конфигураций.
  • Платформа предоставляет предзаполненные пакеты файлов, включая чекпоинты и настройки.
  • Поддержка различных форматов (PyTorch, ONNX и др.).

4. Запуск сервиса

  • Запуск инференса локально с помощью предоставленных команд Docker.
  • Поддержка ускорения GPU (при наличии аппаратной поддержки).
  • Автоматическая настройка портов и сети.

5. Подключение клиента

  • Запуск предоставленного платформой скрипта ROS-клиента.
  • Установление связи в реальном времени с сервисом инференса (протокол WebSocket + BSON).
  • Подписка на топики сенсоров, публикация команд управления суставами.

6. Проверка и тестирование

  • Запуск тестовых скриптов для подтверждения нормальной работы.
  • Проверка задержек и точности инференса.
  • Подтверждение корректности подписки и публикации в топики ROS.

Преимущества промышленного применения

Архитектура периферийных вычислений:

  • Инференс выполняется локально на роботе, полностью исключая сетевые задержки.
  • Отсутствие зависимости от внешнего интернета, работа в полностью автономных средах.
  • Снижение нагрузки на сеть за счет минимизации передачи данных.

Глубокая интеграция с ROS:

  • Бесшовная подписка на топики сенсоров ROS (напр., /camera_01/color/image_raw, /joint_states и т.д.).
  • Прямая публикация команд управления в топики ROS (напр., /joint_cmd).
  • Поддержка стандартных форматов сообщений ROS для идеальной интеграции с существующими системами.

Управление с обратной связью в реальном времени:

  • Поддержка высокой частоты инференса (2–10 Гц) для нужд реального времени.
  • Низкие задержки (обычно < 100 мс) для быстрого реагирования.
  • Стабильная временная согласованность для точности управления.

Надежность промышленного уровня:

  • Подходит для производственных сред с ограничениями сети или высокими требованиями безопасности.
  • Данные не покидают устройство робота, обеспечивая безопасность данных.
  • Контейнеризация для простоты управления и обслуживания.

Гибкость настройки:

  • Поддержка пользовательских параметров инференса.
  • Возможность регулировки частоты инференса и размера батча.
  • Поддержка переключения между несколькими моделями и A/B тестирования.
к сведению

Сценарии автономного развертывания:

  • Управление роботами в реальном времени на производстве.
  • Среды с нестабильной или ограниченной сетью.
  • Приложения с критическими требованиями к задержкам.
  • Сценарии с повышенными требованиями к безопасности и локализации данных.

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