trl-training
Официальный skill Hugging Face описывает работу с TRL — библиотекой для post-training и дообучения языковых моделей поверх Transformers и Accelerate. Его назначение — помочь выбрать команду и конфигурацию под задачу, а не скрыть от разработчика детали обучения. В источнике отдельно разобраны supervised fine-tuning, preference alignment, обучение с наградой и онлайн-сценарии, поэтому карточка подходит для планирования эксперимента от проверки набора данных до сохранения чекпойнтов. Первый основной сценарий — SFT, supervised fine-tuning. Он предназначен для дообучения базовой модели на instruction-following или conversational datasets. Такой режим логично использовать, когда нужно научить модель формату ответа, предметной лексике или последовательности действий на размеченных примерах. Skill показывает CLI-команду trl sft и поддерживает запуск через YAML-конфигурацию, где аргументы обучения сохраняются отдельно от команды. Это облегчает повторный запуск и сравнение экспериментов, но не отменяет проверки формата набора данных и совместимости модели. Для preference data источник предлагает DPO, Direct Preference Optimization. GRPO, Group Relative Policy Optimization, ранжирует несколько сгенерированных вариантов относительно друг друга и оптимизирует обучение по сравнительной награде. RLOO, Reinforce Leave One Out, относится к online reinforcement learning со сгенерированными ответами и reward-сигналом. Отдельная команда reward предназначена для обучения reward model, которую затем можно использовать в RLHF-процессах. В карточке эти методы перечислены как разные режимы TRL: выбор между ними зависит от того, есть ли обычные примеры, пары предпочтений, функция награды или готовые оценки. Конфигурация может быть описана в YAML-файле, после чего тот же файл передаётся CLI для воспроизводимого запуска. Для распределённого обучения TRL интегрируется с Accelerate и предоставляет предварительно названные варианты single_gpu, multi_gpu, fsdp1, fsdp2, zero1, zero2 и zero3. Это не означает, что любой режим запускается на любой машине: нужно отдельно сверить доступную видеопамять, число устройств, размер модели и параметры распределения. Официальный источник прямо описывает типовые ограничения. При CUDA out of memory он рекомендует уменьшить batch size на устройство и увеличить gradient accumulation, включить gradient checkpointing или использовать меньшую модель; для экономии памяти предлагается PEFT/LoRA. Для проблем с данными нужно проверить существование датасета, его схему и при необходимости указать dataset_config. Gated-модель на Hugging Face может потребовать авторизацию, а локальной модели нужен абсолютный путь. Для GRPO и RLOO отдельно проверяются формат prompt и reward function. Skill также рекомендует начать с SFT, применять LoRA при ограниченных ресурсах, отслеживать метрики через Trackio, Weights & Biases или TensorBoard и сохранять чекпойнты в output_dir.
Для чего подходит
- Подготовка SFT и preference training
- Настройка GRPO, KTO и RLOO
- Обучение Reward Model через TRL
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/huggingface/skills/tree/main/skills/trl-training