TRL documentation
البدء السريع
البدء
أدلة مفاهيمية
المدرِّبون
أدلة الاستخدام
واجهة سطر الأوامر (CLI)التدريب باستخدام Jobsتخصيص التدريبتقليل استهلاك الذاكرةتسريع التدريبتوزيع التدريبالتدريب على AWS Trainiumالتدريب على وحدات معالجة الرسوميات من AMDالتدريب لما يتجاوز مليون رمزاستخدام النماذج المدرَّبة
التكاملات
أمثلة
واجهة برمجة التطبيقات
تجريبي
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v1.17.1).
البدء السريع
TRL هي مكتبة شاملة لتدريب النماذج الأساسية بعد التدريب الأولي باستخدام تقنيات مثل الضبط الدقيق الإشرافي (SFT)، وتحسين سياسة المجموعة النسبية (GRPO)، وتحسين التفضيل المباشر (DPO).
أمثلة سريعة
ابدأ فورًا مع أكثر مدرّبي TRL شيوعًا. يستخدم كل مثال نماذج مدمجة للتجارب السريعة.
الضبط الدقيق الإشرافي
from trl import SFTTrainer
from datasets import load_dataset
trainer = SFTTrainer(
model="Qwen/Qwen2.5-0.5B",
train_dataset=load_dataset("trl-lib/Capybara", split="train"),
)
trainer.train()تحسين السياسة النسبي للمجموعات
يتطلب accuracy_reward استخدام math-verify، والذي يمكنك تثبيته عبر الأمر pip install trl[math_verify].
from trl import GRPOTrainer
from datasets import load_dataset
from trl.rewards import accuracy_reward
trainer = GRPOTrainer(
model="Qwen/Qwen2.5-0.5B-Instruct",
train_dataset=load_dataset("trl-lib/DeepMath-103K", split="train"),
reward_funcs=accuracy_reward,
)
trainer.train()تحسين التفضيلات المباشرة
from trl import DPOTrainer
from datasets import load_dataset
trainer = DPOTrainer(
model="Qwen/Qwen2.5-0.5B-Instruct",
train_dataset=load_dataset("trl-lib/ultrafeedback_binarized", split="train"),
)
trainer.train()نمذجة المكافآت
from trl import RewardTrainer
from datasets import load_dataset
dataset = load_dataset("trl-lib/ultrafeedback_binarized", split="train")
trainer = RewardTrainer(
model="Qwen/Qwen2.5-0.5B-Instruct",
train_dataset=dataset,
)
trainer.train()واجهة سطر الأوامر
تخطَّ الكود بالكامل - درّب مباشرةً من الطرفية:
# SFT: Fine-tune on instructions
trl sft --model_name_or_path Qwen/Qwen2.5-0.5B \
--dataset_name trl-lib/Capybara
# DPO: Align with preferences
trl dpo --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct \
--dataset_name trl-lib/ultrafeedback_binarized
# Reward: Train a reward model
trl reward --model_name_or_path Qwen/Qwen2.5-0.5B-Instruct \
--dataset_name trl-lib/ultrafeedback_binarizedما التالي؟
📚 تعلّم المزيد
🚀 التوسّع
- التدريب الموزّع - إعدادات متعددة وحدات معالجة الرسوميات
- تحسين الذاكرة - تدريب فعّال
- تكامل PEFT - LoRA و QLoRA
💡 أمثلة
- نصوص أمثلة - كود جاهز للإنتاج
- دروس المجتمع - أدلة خارجية
استكشاف الأخطاء وإصلاحها
نفاد الذاكرة؟
تقليل حجم الدفعة وتفعيل التحسينات:
SFT
DPO
GRPO
training_args = SFTConfig(
per_device_train_batch_size=1, # Start small
gradient_accumulation_steps=8, # Maintain effective batch size
)training_args = DPOConfig(
per_device_train_batch_size=1, # Start small
gradient_accumulation_steps=8, # Maintain effective batch size
)training_args = GRPOConfig(
per_device_train_batch_size=1, # Start small
gradient_accumulation_steps=8, # Maintain effective batch size
num_generations=4, # Reduce from default 8 (GRPO generates num_generations completions per prompt)
max_completion_length=512, # Tune based on task; longer sequences cost more memory
)هل لا تتناقص الدالة الخاسرة؟
جرّب تعديل معدل التعلم:
training_args = SFTConfig(learning_rate=2e-5) # Good starting pointلمزيد من المساعدة، افتح مشكلة على GitHub.
Update on GitHub