TRL (RLHF/DPO-Training)

TRL (Transformer Reinforcement Learning) ist HuggingFaces offizielle Bibliothek zum Training von Sprachmodellen mit Verstärkungslernverfahren. Mit über 10.000 GitHub-Sternen bietet sie hochmoderne Implementierungen von RLHF, DPO, PPO, GRPO und anderen Alignments-Algorithmen für LLMs.

circle-check

Was ist TRL?

TRL ist die Bibliothek hinter vielen der heute am besten ausgerichteten Sprachmodelle. Sie bietet:

  • SFT (Supervised Fine-Tuning) — standardmäßiges Instruction-Tuning im ChatML-Format

  • RLHF/PPO — klassisches Proximal Policy Optimization mit einem Reward-Modell

  • DPO — Direct Preference Optimization (kein Reward-Modell erforderlich!)

  • GRPO — Group Relative Policy Optimization (Methode von DeepSeek-R1)

  • KTO — Kahneman-Tversky Optimization (funktioniert mit ungepaarten Präferenzen)

  • Reward Modeling — trainiere ein Reward-Modell aus menschlichen Präferenzdaten

  • IterativeSFT — Online-RL mit einer einfacheren Einrichtung

  • ORPO — Odds Ratio Preference Optimization

TRL integriert sich nativ in das HuggingFace-Ökosystem: transformers, peft, datasets, accelerate, und bitsandbytes.

circle-info

Welchen Algorithmus sollten Sie verwenden?

  • DPO — am einfachsten, am stabilsten. Verwenden, wenn Sie gepaarte Präferenzdaten (gewählt/abgelehnt) haben.

  • PPO — am leistungsfähigsten, aber komplex. Verwenden, wenn Sie ein Reward-Modell oder eine Bewertungsfunktion haben.

  • GRPO — großartig für Aufgaben mit Reasoning/Mathematik. Trainingsmethode von DeepSeek-R1.

  • SFT — beginnen Sie immer hier, bevor Sie eine RL-Methode anwenden.


Serveranforderungen

Komponente
Minimum
Empfohlen

GPU

RTX 3090 (24 GB)

A100 80 GB / H100

VRAM

16 GB (SFT/DPO 7B + LoRA)

80 GB (Full-Finetune 7B)

RAM

32 GB

64 GB+

CPU

8 Kerne

16+ Kerne

Speicher

100 GB

300 GB+

Betriebssystem

Ubuntu 20.04+

Ubuntu 22.04

Python

3.9+

3.11

CUDA

11.8+

12.1+

VRAM nach Aufgabe

Aufgabe
Modell
Methode
VRAM

SFT

Llama 3 8B

QLoRA 4-Bit

~8 GB

DPO

Llama 3 8B

LoRA

~20 GB

PPO

Llama 3 8B

Vollständig

~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


Ports

Port
Dienst
Hinweise

22

SSH

Terminalzugang, Dateitransfer, Überwachung

TRL ist eine Trainingsbibliothek — sie läuft als CLI-/Python-Skript, kein Webserver erforderlich.


Installation auf Clore.ai

Schritt 1 — Miete einen Server

  1. Filtere nach VRAM ≥ 24 GB (RTX 3090, A100 oder H100)

  2. Wähle ein PyTorch oder CUDA 12.1 Basis-Image

  3. Wähle Speicher ≥ 200 GB für Modelle und Datensätze

  4. Öffne Port 22 für SSH-Zugang

Schritt 2 — Verbinden via SSH

Schritt 3 — Installiere TRL

Schritt 4 — HuggingFace-Authentifizierung

Schritt 5 — Optional: Weights & Biases Tracking


Supervised Fine-Tuning (SFT)

SFT ist immer der erste Schritt vor jeder RL-Technik.

Bereite dein Dataset vor

SFT-Trainingsskript


DPO (Direct Preference Optimization)

DPO ist die populärste Alignment-Methode — kein Reward-Modell nötig, nur Präferenzpaare.

Bereite DPO-Dataset vor

DPO-Trainingsskript


PPO (Proximal Policy Optimization)

PPO ist der klassische RLHF-Ansatz — verwenden, wenn Sie ein Reward-Signal haben:


GRPO (Group Relative Policy Optimization)

GRPO wird in DeepSeek-R1 für Reasoning-Training verwendet:


Multi-GPU-Training

Verwende accelerate für verteiltes Training:


Verwendung der TRL-CLI

TRL bietet praktische CLI-Befehle:


Überwachung des Trainings


Clore.ai GPU-Empfehlungen

TRL-Training ist eine der VRAM-intensivsten Workloads. Wähle deine GPU basierend auf Modellgröße und Methode:

Aufgabe
GPU
Hinweise

SFT / DPO auf 7–8B (QLoRA)

RTX 3090 24 GB

~8 GB für QLoRA 4-Bit; passt komfortabel; ~0,12 $/Std. auf Clore.ai

SFT / DPO auf 7–8B (LoRA bf16)

RTX 4090 24 GB

Gleicher VRAM wie 3090, aber ~30 % schnellerer Compute; großartig für Iterationsgeschwindigkeit

Full SFT auf 7B oder DPO auf 13B

A100 40 GB

40 GB fassen 7B Full-Precision-Training; ECC-Speicher vermeidet stille Fehler

PPO / Full-Finetune 7B oder jedes 70B QLoRA

A100 80 GB

PPO benötigt 2× Policy+Referenzmodell im VRAM; 80 GB betreibt beide ohne OOM

Praktischer Tipp: Starte auf RTX 3090 mit QLoRA zum Experimentieren — trainiere Llama 3 8B in ~2 Std. auf 10.000 Beispielen. Sobald die Pipeline validiert ist, wechsle zu A100 80 GB für Full-Precision-Runs oder 70B-Modelle.

Geschwindigkeitszahlen (Llama 3 8B SFT, QLoRA, batch=4, seq=2048):

  • RTX 3090: ~1.100 Tokens/Sekunde Trainingsdurchsatz

  • RTX 4090: ~1.450 Tokens/Sekunde

  • A100 80GB: ~2.800 Tokens/Sekunde (voll bf16, keine Quantisierung)


Fehlerbehebung

CUDA Out of Memory

Loss ist NaN

DPO: chosen_rewards > rejected_rewards ist False

Training ist sehr langsam

tokenizer.pad_token Warnung

Zugriff verweigert / HuggingFace 401


Dein Modell speichern und teilen


Zuletzt aktualisiert

War das hilfreich?