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

TRL (RLHF/DPO ट्रेनिंग)

TRL (Transformer Reinforcement Learning) HuggingFace की आधिकारिक लाइब्रेरी है, जिसका उपयोग reinforcement learning तकनीकों के साथ language models को प्रशिक्षित करने के लिए किया जाता है। GitHub पर 10K+ stars के साथ, यह RLHF, DPO, PPO, GRPO, और LLMs के लिए अन्य alignment algorithms के state-of-the-art implementations प्रदान करती है।


TRL क्या है?

TRL आज के कई सबसे अच्छी तरह aligned language models के पीछे की लाइब्रेरी है। यह प्रदान करती है:

  • SFT (Supervised Fine-Tuning) — ChatML format के साथ standard instruction tuning

  • RLHF/PPO — reward model के साथ classic Proximal Policy Optimization

  • DPO — Direct Preference Optimization (reward model की जरूरत नहीं!)

  • GRPO — Group Relative Policy Optimization (DeepSeek-R1 की विधि)

  • KTO — Kahneman-Tversky Optimization (unpaired preferences के साथ काम करता है)

  • Reward Modeling — मानवीय preference data से reward model को प्रशिक्षित करें

  • IterativeSFT — सरल सेटअप के साथ online RL

  • ORPO — Odds Ratio Preference Optimization

TRL HuggingFace ecosystem के साथ स्वाभाविक रूप से integrate होता है: transformers, peft, datasets, accelerate, और bitsandbytes.

आपको कौन-सा algorithm उपयोग करना चाहिए?

  • DPO — सबसे सरल, सबसे स्थिर। जब आपके पास paired preference data (chosen/rejected) हो, तब इसका उपयोग करें।

  • PPO — सबसे शक्तिशाली लेकिन जटिल। जब आपके पास reward model या scoring function हो, तब इसका उपयोग करें।

  • GRPO — reasoning/math tasks के लिए बेहतरीन। DeepSeek-R1 की training method.

  • SFT — किसी भी RL method को लागू करने से पहले हमेशा यहीं से शुरू करें।


सर्वर आवश्यकताएँ

घटक
न्यूनतम
अनुशंसित

GPU

RTX 3090 (24 GB)

A100 80 GB / H100

VRAM

16 GB (SFT/DPO 7B + LoRA)

80 GB (पूर्ण finetune 7B)

RAM

32 GB

64 GB+

CPU

8 कोर

16+ cores

स्टोरेज

100 GB

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 GB

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 एक training library है — यह CLI/Python script के रूप में चलता है, web server की आवश्यकता नहीं होती।


Clore.ai पर स्थापना

चरण 1 — सर्वर किराए पर लें

  1. इसके लिए फ़िल्टर करें VRAM ≥ 24 GB (RTX 3090, A100, या H100)

  2. चुनें PyTorch या CUDA 12.8 बेस इमेज

  3. चुनें Storage ≥ 200 GB मॉडलों और डेटासेट्स के लिए

  4. पोर्ट खोलें 22 SSH access के लिए

चरण 2 — SSH के माध्यम से कनेक्ट करें

चरण 3 — TRL इंस्टॉल करें

चरण 4 — HuggingFace Authentication

चरण 5 — वैकल्पिक: Weights & Biases Tracking


पर्यवेक्षित Fine-Tuning (SFT)

किसी भी RL तकनीक से पहले SFT हमेशा पहला कदम है।

अपना डेटासेट तैयार करें

SFT Training Script


DPO (Direct Preference Optimization)

DPO सबसे लोकप्रिय alignment method है — reward model की आवश्यकता नहीं, केवल preference pairs चाहिए।

DPO Dataset तैयार करें

DPO Training Script


PPO (Proximal Policy Optimization)

PPO classic RLHF approach है — जब आपके पास reward signal हो, तब इसका उपयोग करें:


GRPO (Group Relative Policy Optimization)

GRPO का उपयोग DeepSeek-R1 में reasoning training के लिए किया जाता है:


Multi-GPU Training

उपयोग करें accelerate distributed training के लिए:


TRL CLI का उपयोग करना

TRL सुविधाजनक CLI कमांड प्रदान करता है:


प्रशिक्षण की निगरानी


Clore.ai GPU अनुशंसाएँ

TRL प्रशिक्षण सबसे अधिक VRAM-गहन कार्यभारों में से एक है। मॉडल आकार और विधि के आधार पर अपना GPU चुनें:

कार्य
GPU
नोट्स

7–8B पर SFT / DPO (QLoRA)

RTX 3090 24 GB

~8 GB QLoRA 4-बिट के लिए; आराम से फिट होता है; Clore.ai पर $0.07–0.21/घंटा

7–8B पर SFT / DPO (LoRA bf16)

RTX 4090 24 GB

3090 जितनी ही VRAM, लेकिन 30% तेज़ compute; iteration speed के लिए बहुत अच्छा

7B पर पूर्ण SFT या 13B पर DPO

A100 40 GB

40 GB 7B full-precision training के लिए पर्याप्त है; ECC memory silent errors से बचाती है

PPO / 7B का full finetune, या कोई भी 70B QLoRA

A100 80 GB

PPO को VRAM में policy+ref model का 2× चाहिए; 80 GB दोनों को OOM के बिना चलाता है

व्यावहारिक सुझाव: प्रयोग के लिए RTX 3090 पर QLoRA से शुरू करें — 10K उदाहरणों पर लगभग 2 घंटे में Llama 3 8B प्रशिक्षित करें। जब आप pipeline की पुष्टि कर लें, तो full-precision runs या 70B models के लिए A100 80GB पर जाएँ।

गति संख्याएँ (Llama 3 8B SFT, QLoRA, batch=4, seq=2048):

  • RTX 3090: ~1,100 tokens/sec training throughput

  • RTX 4090: ~1,450 tokens/sec

  • A100 80GB: ~2,800 tokens/sec (पूर्ण bf16, बिना quantization)


समस्या निवारण

CUDA मेमोरी समाप्त

Loss NaN है

DPO: chosen_rewards > rejected_rewards False है

प्रशिक्षण बहुत धीमा है

tokenizer.pad_token चेतावनी

अनुमति अस्वीकृत / HuggingFace 401


अपने मॉडल को सहेजना और साझा करना


उपयोगी लिंक

अंतिम अपडेट

क्या यह उपयोगी था?