For the complete documentation index, see llms.txt. This page is also available as Markdown.

TRL (обучение RLHF/DPO)

TRL (Transformer Reinforcement Learning) — официальная библиотека HuggingFace для обучения языковых моделей с помощью методов обучения с подкреплением. Имея более 10 тыс. звёзд на GitHub, она предоставляет передовые реализации RLHF, DPO, PPO, GRPO и других алгоритмов выравнивания для LLM.


Что такое 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.

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

  • DPO — самый простой и стабильный. Используйте, когда у вас есть парные данные предпочтений (выбранный/отклонённый).

  • PPO — самый мощный, но и самый сложный. Используйте, когда у вас есть модель вознаграждения или функция оценки.

  • GRPO — отлично подходит для задач рассуждения и математики. Метод обучения DeepSeek-R1.

  • SFT — всегда начинайте с этого перед применением любого RL-метода.


Требования к серверу

Компонент
Минимум
Рекомендуется

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 по задаче

Задача
Модель
Метод
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 — Арендуйте сервер

  1. Перейдите на Маркетплейс Clore.ai

  2. Фильтруйте по VRAM ≥ 24 GB (RTX 3090, A100 или H100)

  3. Выберите PyTorch или CUDA 12.8 базовый образ

  4. Выберите Хранилище ≥ 200 GB для моделей и датасетов

  5. Откройте порт 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

Обучение TRL — одна из самых требовательных к VRAM задач. Выбирайте GPU в зависимости от размера модели и метода:

Задача
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


Сохранение и публикация вашей модели


Полезные ссылки

Последнее обновление

Это было полезно?