Конец эпохи разрозненных реестров
Hugging Face Hub представил новую функциональность для разработчиков агентов и исследователей в области Reinforcement Learning (RL). Теперь на платформе появился специальный фильтр RL Environments, позволяющий находить среды для обучения агентов. Главная инновация заключается в отказе от создания изолированных каталогов: вместо этого используются существующие репозитории датасетов с добавлением специфических тегов. Это решает проблему «силосованности», когда окружения, опубликованные для одной фреймворка, были недоступны для других.
Архитектура: Данные vs Рантайм
Подход Hugging Face четко разделяет ответственность. Репозиторий на Hub хранит данные задач (tasksets), в то время как фреймворки (Harbor, Verifiers, OpenEnv, NeMo Gym) предоставляют код для выполнения (runtime) и верификации результатов. Агент взаимодействует с окружением, отправляя действия и получая наблюдения, а верификатор вычисляет награду (reward) для оценки или обучения модели. Такая архитектура позволяет использовать мощные возможности хостинга, версионирования и превью датасетов Hugging Face без необходимости поддерживать отдельную инфраструктуру для окружений.
Поддерживаемые фреймворки и теги
На данный момент система поддерживает четыре основных фреймворка, совместимость с которыми указывается через теги в YAML-заголовке датасета. Один датасет может иметь несколько тегов, что делает его совместимым с разными инструментами одновременно.
| Тег | Фреймворк | Особенности использования |
|---|---|---|
harbor |
Harbor | Загрузка директорий задач, запуск oracle-агентов, интеграция с Docker. |
verifiers |
Verifiers | Поддержка разных рантаймов (Docker, bash), оценка моделей через harness. |
openenv |
OpenEnv | Запуск агентов (например, OpenCode), сбор трассировки и наград, использование Gradio-туннелей. |
nemo-gym |
NVIDIA NeMo Gym | Поддержка RL-обучения, сбор траекторий, проверка соответствия схемам (например, Structured Outputs). |
Практическая реализация
Для интеграции окружения в Hub достаточно добавить тег rl-environment и теги совместимых фреймворков в карточку датасета. Например, для датасета Terminal-Bench 2.1 команда запуска через Harbor выглядит так:
harbor run \
--repo https://huggingface.co/datasets/harborframework/terminal-bench-2.1 \
--dataset terminal-bench-2.1@2.1.0 \
--include-task-name '*regex-log' \
--agent oracle --env docker --jobs-dir results/harbor
Такой подход позволяет разработчикам сообщать об ошибках в задачах в едином обсуждении (discussion tab) репозитория, что автоматически исправляет проблемы для всех поддерживающих фреймворков при следующем обновлении.
Источник: Hugging Face blog ↗
