TRL (RLHF/DPO प्रशिक्षण)

TRL (Transformer Reinforcement Learning) HuggingFace की आधिकारिक लाइब्रेरी है जो रिइन्फोर्समेंट लर्निंग तकनीकों के साथ भाषा मॉडलों को प्रशिक्षण देने के लिए है। 10K+ GitHub स्टार्स के साथ, यह RLHF, DPO, PPO, GRPO और LLMs के लिए अन्य संरेखण एल्गोरिदम के अत्याधुनिक कार्यान्वयन प्रदान करती है।

circle-check

TRL क्या है?

TRL आज के कई सर्वश्रेष्ठ-संरेखित भाषा मॉडलों के पीछे की लाइब्रेरी है। यह प्रदान करती है:

  • SFT (Supervised Fine-Tuning) — ChatML फॉर्मेट के साथ मानक निर्देश ट्यूनिंग

  • RLHF/PPO — रिवॉर्ड मॉडल के साथ क्लासिक Proximal Policy Optimization

  • DPO — Direct Preference Optimization (किसी रिवॉर्ड मॉडल की आवश्यकता नहीं!)

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

  • KTO — Kahneman-Tversky Optimization (अनपेयर किए गए प्राथमिकताओं के साथ काम करता है)

  • रिवॉर्ड मॉडलिंग — मानव प्राथमिकता डेटा से एक रिवॉर्ड मॉडल ट्रेन करें

  • IterativeSFT — सरल सेटअप के साथ ऑनलाइन RL

  • ORPO — Odds Ratio Preference Optimization

TRL मूल रूप से HuggingFace पारिस्थितिकी तंत्र के साथ एकीकृत है: transformers, peft, datasets, accelerateऔर bitsandbytes.

circle-info

आपको कौन सा एल्गोरिथम उपयोग करना चाहिए?

  • 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)

RAM

32 GB

64 GB+

CPU

8 कोर

16+ कोर

स्टोरेज

100 GB

300 GB+

OS

Ubuntu 20.04+

Ubuntu 22.04

Python

3.9+

3.11

CUDA

11.8+

12.1+

कार्य के अनुसार 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 एक प्रशिक्षण लाइब्रेरी है — यह CLI/Python स्क्रिप्ट के रूप में चलता है, किसी वेब सर्वर की आवश्यकता नहीं।


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

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

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

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

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

  4. खुला पोर्ट 22 SSH एक्सेस के लिए

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

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

चरण 4 — HuggingFace प्रमाणीकरण

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


Supervised Fine-Tuning (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 वितरित प्रशिक्षण के लिए:


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

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


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


Clore.ai GPU सिफारिशें

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

कार्य
GPU
नोट्स

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

RTX 3090 24 GB

~8 GB QLoRA 4-bit के लिए; आराम से फिट होता है; Clore.ai पर ~$0.12/hr

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

RTX 4090 24 GB

3090 के समान VRAM पर 30% तेज़ कंप्यूट; इटेरेशन स्पीड के लिए शानदार

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

A100 40 GB

40 GB 7B पूर्ण-प्रिसिजन प्रशिक्षण के लिए फिट बैठता है; ECC मेमोरी साइलेंट त्रुटियों से बचाती है

PPO / पूर्ण फाइनट्यून 7B, या कोई भी 70B QLoRA

A100 80 GB

PPO को VRAM में 2× पॉलिसी+रेफ मॉडल की आवश्यकता होती है; 80 GB दोनों को OOM के बिना चलाता है

व्यावहारिक सुझाव: परीक्षण के लिए QLoRA के साथ RTX 3090 पर शुरू करें — Llama 3 8B को ~10K उदाहरणों पर ~2 घंटे में ट्रेन करें। एक बार जब आपने पाइपलाइन को सत्यापित कर लिया, तो पूर्ण-प्रिसिजन रन या 70B मॉडलों के लिए A100 80GB पर जाएँ।

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

  • RTX 3090: ~1,100 टोकन/सेकंड प्रशिक्षण थ्रूपुट

  • RTX 4090: ~1,450 टोकन/सेकंड

  • A100 80GB: ~2,800 टोकन/सेकंड (पूर्ण bf16, कोई क्वांटाइज़ेशन नहीं)


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

CUDA Out of Memory

लॉस NaN है

DPO: chosen_rewards > rejected_rewards गलत है

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

tokenizer.pad_token चेतावनी

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


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


उपयोगी लिंक

Last updated

Was this helpful?