Miles связывает генерацию rollout и обучение для RL-post-training

Miles объединяет генерацию rollout в SGLang с обучением через несколько бэкендов и описывает асинхронный режим. Разбираем устройство контура и то, что команде нужно измерить перед внедрением.

Miles связывает генерацию rollout и обучение для RL-post-training. Тематическая карточка Comrad404.

Miles — фреймворк для post-training больших моделей с подкреплением. Его архитектурная идея — разделить генерацию rollout и обучение, чтобы компоненты могли работать как части одного контура. Для команды, которая одновременно генерирует данные и обучает модель, ключевой вопрос — как асинхронность меняет организацию этого цикла и какие заявления о скорости подтверждены доступными материалами.

Какую задачу решает Miles

README проекта описывает связку SGLang для генерации rollout и Megatron-LM для масштабируемого обучения. Это инфраструктурный подход к post-training: генерация и обучение выполняются разными компонентами, а Miles связывает их в общий рабочий процесс. README Miles также перечисляет FSDP2 и torchtitan как альтернативные тренировочные бэкенды.

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

Как связаны генерация и обучение

SGLang отвечает за генерацию rollout, а обучающие бэкенды — за обновление модели. По README, Miles объединяет эти компоненты и поддерживает передачу новых весов обратно в движки генерации. Практический смысл разделения — возможность планировать ресурсы для генерации и обучения отдельно, а не исходить из того, что оба этапа должны выполняться одним набором процессов.

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

Что меняет асинхронный режим

README описывает Fully async RL: workers генерации rollout и обучения отделены друг от друга, доступны настраиваемые on-policy и off-policy расписания, а также асинхронные режимы rollout и оценки. В таком устройстве генерация и обучение могут идти параллельно, а расписание определяет их соотношение. Это позволяет проектировать контур, в котором один этап не обязан ждать завершения каждого шага другого.

Но параллельное выполнение не доказывает ускорения полного цикла или улучшения качества модели. Для практического результата важны пропускная способность генерации, время обучения, обмен между компонентами и допустимая свежесть данных для выбранного расписания. README говорит о настройке pipeline на уменьшение простоев, но в доступном описании нет сравнительных измерений асинхронного и синхронного режимов.

Что известно о передаче весов

Чтобы генераторы работали с обученной версией модели, обновлённые параметры нужно передать в движки вывода. README заявляет, что новые веса достигают движков внутри цикла за секунды, в том числе для модели триллионного масштаба, и называет P2P RDMA быстрым путём для разнесённых конфигураций. Это характеристика, заявленная проектом, а не результат независимого измерения в доступных материалах.

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

Бэкенды и режимы точности

Кроме Megatron-LM, README указывает FSDP2 и torchtitan как поддерживаемые тренировочные бэкенды. В перечне режимов и форматов точности названы BF16, FP16, FP8, MXFP8 и NVFP4; отдельно упомянут INT4 QAT. Для MXFP8 и NVFP4 проект заявляет рецепт, который должен уменьшать расхождения, связанные с точностью вычислений. Доступные материалы не дают независимой оценки этого заявления.

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

Как оценивать Miles перед внедрением

Для команды, которой нужен RL-post-training с раздельной генерацией и обучением, Miles предлагает связку SGLang с обучающими бэкендами и описывает асинхронную организацию workers. Практический ответ на вопрос о пользе зависит от того, снимает ли такое разделение узкое место именно в её цикле: это можно установить только измерениями на выбранной модели и инфраструктуре.

README — описание проекта и его заявленных возможностей. Пост GitHub Radar от 17 октября 2026 года пересказывает заявления о корпоративном применении, триллионном масштабе и передаче весов за секунды, но не приводит независимых тестов. Упомянутый в README технический отчёт в доступных материалах не рассмотрен. Поэтому заявления о масштабе и скорости следует проверять на собственной нагрузке, отдельно сопоставляя время генерации, обучения и обновления весов.