# البدء السريع

TRL هي مكتبة شاملة لتدريب النماذج الأساسية بعد التدريب الأولي باستخدام تقنيات مثل الضبط الدقيق الإشرافي (SFT)، وتحسين سياسة المجموعة النسبية (GRPO)، وتحسين التفضيل المباشر (DPO).

## أمثلة سريعة

ابدأ فورًا مع أكثر مدرّبي TRL شيوعًا. يستخدم كل مثال نماذج مدمجة للتجارب السريعة.

### الضبط الدقيق الإشرافي

```python
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]`.

```python
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()
```

### تحسين التفضيلات المباشرة

```python
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()
```

### نمذجة المكافآت

```python
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()
```

## واجهة سطر الأوامر

تخطَّ الكود بالكامل - درّب مباشرةً من الطرفية:

```bash
# 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
```

## ما التالي؟

### 📚 تعلّم المزيد

- [مدرب SFT](sft_trainer) - دليل SFT الكامل
- [مدرب DPO](dpo_trainer) - محاذاة التفضيلات
- [مدرب GRPO](grpo_trainer) - تحسين السياسة النسبي الجماعي

### 🚀 التوسّع

- [التدريب الموزّع](distributing_training) - إعدادات متعددة وحدات معالجة الرسوميات
- [تحسين الذاكرة](reducing_memory_usage) - تدريب فعّال
- [تكامل PEFT](peft_integration) - LoRA و QLoRA

### 💡 أمثلة

- [نصوص أمثلة](https://github.com/huggingface/trl/tree/main/examples) - كود جاهز للإنتاج
- [دروس المجتمع](community_tutorials) - أدلة خارجية

## استكشاف الأخطاء وإصلاحها

### نفاد الذاكرة؟

تقليل حجم الدفعة وتفعيل التحسينات:

```python
training_args = SFTConfig(
    per_device_train_batch_size=1,  # Start small
    gradient_accumulation_steps=8,  # Maintain effective batch size
)
```

```python
training_args = DPOConfig(
    per_device_train_batch_size=1,  # Start small
    gradient_accumulation_steps=8,  # Maintain effective batch size
)
```

```python
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
)
```

### هل لا تتناقص الدالة الخاسرة؟

جرّب تعديل معدل التعلم:

```python
training_args = SFTConfig(learning_rate=2e-5)  # Good starting point
```

لمزيد من المساعدة، افتح [مشكلة على GitHub](https://github.com/huggingface/trl/issues).

