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 प्रदान करती है।
सभी उदाहरण GPU सर्वरों पर चलाए जा सकते हैं, जिन्हें किराए पर लिया गया है CLORE.AI मार्केटप्लेस.
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.
सर्वर आवश्यकताएँ
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
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 — सर्वर किराए पर लें
पर जाएँ Clore.ai मार्केटप्लेस
इसके लिए फ़िल्टर करें VRAM ≥ 24 GB (RTX 3090, A100, या H100)
चुनें PyTorch या CUDA 12.8 बेस इमेज
चुनें Storage ≥ 200 GB मॉडलों और डेटासेट्स के लिए
पोर्ट खोलें 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 अनुशंसाएँ
Clore.ai marketplace पर multi-GPU 80GB-class rigs सूचीबद्ध नहीं हैं। आज सूचीबद्ध सबसे बड़े boxes 4× RTX PRO 6000 Blackwell (प्रत्येक 96GB, कुल 380GB) और 8–11× RTX 5090 (प्रत्येक 32GB) हैं। A100 / H200 / B200 क्षमता bare metal के रूप में अनुरोध पर बेची जाती है। देखें GPU मूल्य और उपलब्धता किसी deployment का आकार तय करने से पहले।
TRL प्रशिक्षण सबसे अधिक VRAM-गहन कार्यभारों में से एक है। मॉडल आकार और विधि के आधार पर अपना 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
अपने मॉडल को सहेजना और साझा करना
उपयोगी लिंक
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
HuggingFace PEFT: 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
अंतिम अपडेट
क्या यह उपयोगी था?