TRL (обучение RLHF/DPO)
TRL (Transformer Reinforcement Learning) — официальная библиотека HuggingFace для обучения языковых моделей с помощью методов обучения с подкреплением. Имея более 10 тыс. звёзд на GitHub, она предоставляет передовые реализации RLHF, DPO, PPO, GRPO и других алгоритмов выравнивания для LLM.
Все примеры можно запускать на GPU-серверах, арендованных через маркетплейс CLORE.AI.
Что такое TRL?
TRL — это библиотека, лежащая в основе многих лучших по выравниванию языковых моделей современности. Она предоставляет:
SFT (супервизированное дообучение) — стандартное дообучение по инструкциям в формате ChatML
RLHF/PPO — классическая оптимизация проксимальной политики с моделью вознаграждения
DPO — Direct Preference Optimization (модель вознаграждения не нужна!)
GRPO — Group Relative Policy Optimization (метод DeepSeek-R1)
KTO — Kahneman-Tversky Optimization (работает с непарными предпочтениями)
Reward Modeling — обучите модель вознаграждения на данных человеческих предпочтений
IterativeSFT — онлайн-обучение с подкреплением с более простой схемой
ORPO — Odds Ratio Preference Optimization
TRL нативно интегрируется с экосистемой HuggingFace: transformers, peft, datasets, accelerate, и bitsandbytes.
Требования к серверу
GPU
RTX 3090 (24 GB)
A100 80 GB / H100
VRAM
16 GB (SFT/DPO 7B + LoRA)
80 GB (полное дообучение 7B)
ОЗУ
32 ГБ
64 GB+
CPU
8 ядер
16+ ядер
Хранилище
100 ГБ
300+ GB
ОС
Ubuntu 20.04+
Ubuntu 22.04
Python
3.9+
3.11
CUDA
12.8+
12.8+
VRAM по задаче
SFT
Llama 3 8B
QLoRA 4-bit
~8 ГБ
DPO
Llama 3 8B
LoRA
~20 GB
PPO
Llama 3 8B
Полное
~80 GB (2×A100)
GRPO
Qwen 7B
LoRA
~24 GB
SFT
Llama 3 70B
QLoRA 4-bit
~48 GB
DPO
Llama 3 70B
LoRA
~80 GB
Порты
22
SSH
Доступ к терминалу, передача файлов, мониторинг
TRL — это библиотека для обучения; она запускается как CLI- или Python-скрипт, веб-сервер не требуется.
Установка на Clore.ai
Шаг 1 — Арендуйте сервер
Перейдите на Маркетплейс Clore.ai
Фильтруйте по VRAM ≥ 24 GB (RTX 3090, A100 или H100)
Выберите PyTorch или CUDA 12.8 базовый образ
Выберите Хранилище ≥ 200 GB для моделей и датасетов
Откройте порт 22 для доступа по SSH
Шаг 2 — Подключитесь по SSH
Шаг 3 — Установите TRL
Шаг 4 — Аутентификация HuggingFace
Шаг 5 — Опционально: отслеживание в Weights & Biases
Супервизированное дообучение (SFT)
SFT всегда является первым шагом перед любой техникой RL.
Подготовьте свой датасет
Скрипт обучения SFT
DPO (Direct Preference Optimization)
DPO — самый популярный метод выравнивания: модель вознаграждения не нужна, только пары предпочтений.
Подготовьте DPO-датасет
Скрипт обучения DPO
PPO (Proximal Policy Optimization)
PPO — классический подход RLHF: используйте его, когда у вас есть сигнал вознаграждения:
GRPO (Group Relative Policy Optimization)
GRPO используется в DeepSeek-R1 для обучения рассуждению:
Многопроцессорное обучение на нескольких GPU
Используйте accelerate для распределённого обучения:
Использование CLI TRL
TRL предоставляет удобные команды CLI:
Мониторинг обучения
Рекомендации по GPU для Clore.ai
Многопроцессорные конфигурации с GPU класса 80GB не представлены на маркетплейсе Clore.ai. Самые крупные доступные сейчас машины — это 4× RTX PRO 6000 Blackwell (по 96GB, всего 380GB) и 8–11× RTX 5090 (по 32GB). Ёмкость A100 / H200 / B200 продаётся как голое железо по запросу. Проверьте Цены и доступность GPU перед выбором размера развёртывания.
Обучение TRL — одна из самых требовательных к VRAM задач. Выбирайте GPU в зависимости от размера модели и метода:
SFT / DPO для 7–8B (QLoRA)
RTX 3090 24 ГБ
~8 ГБ для QLoRA 4-bit; удобно помещается; $0.07–0.21/час на Clore.ai
SFT / DPO для 7–8B (LoRA bf16)
RTX 4090 24 ГБ
Та же VRAM, что и у 3090, но на 30% быстрее вычисления; отлично подходит для быстрой итерации
Полный SFT для 7B или DPO для 13B
A100 40 ГБ
40 ГБ хватает для полноточного обучения 7B; память ECC предотвращает скрытые ошибки
PPO / полное дообучение 7B или любой 70B QLoRA
A100 80 ГБ
PPO требует в VRAM 2× policy+ref model; 80 ГБ позволяет запустить оба без OOM
Практический совет: Начните с RTX 3090 и QLoRA для экспериментов — обучите Llama 3 8B примерно за 2 часа на 10 тыс. примеров. После проверки пайплайна переходите на A100 80GB для полноточных запусков или моделей 70B.
Показатели скорости (Llama 3 8B SFT, QLoRA, batch=4, seq=2048):
RTX 3090: ~1,100 токенов/с пропускная способность обучения
RTX 4090: ~1,450 токенов/с
A100 80GB: ~2,800 токенов/с (полный bf16, без квантования)
Устранение неполадок
Недостаточно памяти CUDA
Loss — NaN
DPO: chosen_rewards > rejected_rewards ложно
Обучение очень медленное
tokenizer.pad_token предупреждение
Отказано в доступе / HuggingFace 401
Сохранение и публикация вашей модели
Полезные ссылки
GitHub: https://github.com/huggingface/trl ⭐ 10K+
Документация: https://huggingface.co/docs/trl
Статья по DPO: https://arxiv.org/abs/2305.18290
GRPO / DeepSeek-R1: https://arxiv.org/abs/2501.12599
Статья по PPO (RLHF): https://arxiv.org/abs/2203.02155
PEFT от HuggingFace: https://github.com/huggingface/peft
Weights & Biases: https://wandb.ai
Flash Attention: https://github.com/Dao-AILab/flash-attention
Маркетплейс Clore.ai: https://clore.ai/marketplace
Последнее обновление
Это было полезно?