# أنوية التدريب

تستهدف النوى المخصصة عمليات محددة مثل ضرب المصفوفات والانتباه والتطبيع لتنفيذها بشكل أسرع. يؤدي دمج عدة عمليات في نواة واحدة إلى تقليل استخدام عرض نطاق ذاكرة القراءة والكتابة من خلال تقليل عدد مرات القراءة والكتابة من ذاكرة وحدة معالجة الرسوميات، كما يقلل من تكلفة إطلاق كل عملية على حدة.

## أنوية Hub

يستضيف [Hub](https://huggingface.co/kernels-community) نواةً مجتمعية يمكنك تحميلها باستخدام [KernelConfig](/docs/transformers/main/ar/main_classes/kernels#transformers.KernelConfig). مرّر الإعداد إلى `kernel_config` في [from_pretrained()](/docs/transformers/main/ar/model_doc/auto#transformers.AutoModel.from_pretrained). بمجرد تحميل النواة، تصبح نشطة للتدريب. اقرأ دليل [تحميل النوى](./kernel_doc/loading_kernels#kernelconfig) للاطلاع على جميع الخيارات المتاحة.

```py
from transformers import AutoModelForCausalLM, KernelConfig

kernel_config = KernelConfig(
    kernel_mapping={
        "RMSNorm": "kernels-community/liger-kernels:LigerRMSNorm",
    }
)
model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3-0.6B",
    use_kernels=True,
    kernel_config=kernel_config,
)
```

## Liger

يجمع [Liger Kernel](https://github.com/linkedin/Liger-Kernel) طبقات مثل RMSNorm وRoPE وSwiGLU وCrossEntropy وFusedLinearCrossEntropy في نواة Triton واحدة. وهو متوافق مع FlashAttention وFSDP وDeepSpeed، ويحسّن معدل إنتاجية التدريب متعدد وحدات GPU مع تقليل استهلاك الذاكرة، مما يجعل استخدام مجموعات مفردات أكبر، وحجم دفعات أكبر، وأطوال سياق أطول أكثر قابلية للتطبيق.

```bash
pip install liger-kernel
```

اضبط `use_liger_kernel=True` في [TrainingArguments](/docs/transformers/main/ar/main_classes/trainer#transformers.TrainingArguments) لتعديل طبقات النموذج المقابلة باستخدام نواة Liger.

> [!TIP]
> راجع صفحة [إصلاح العيوب](https://github.com/linkedin/Liger-Kernel#patching) للحصول على قائمة كاملة بالنماذج المدعومة.

```py
from transformers import TrainingArguments

training_args = TrainingArguments(
    ...,
    use_liger_kernel=True
)
```

للتحكم في الطبقات التي سيتم تطبيق التصحيحات عليها، مرّر `liger_kernel_config` كقاموس. تختلف الخيارات المتاحة حسب النموذج وتشمل: `rope`، `swiglu`، `cross_entropy`، `fused_linear_cross_entropy`، `rms_norm`، وغيرها.

```py
from transformers import TrainingArguments

training_args = TrainingArguments(
    ...,
    use_liger_kernel=True,
    liger_kernel_config={
        "rope": True,
        "cross_entropy": True,
        "rms_norm": False,
        "swiglu": True,
    }
)
```

## الخطوات التالية

- راجع دليل [واجهات الانتباه الخلفية](./attention_interface) للحصول على تفاصيل حول النوى مثل FlashAttention التي تقلل من استهلاك الذاكرة.
- اطّلع على دليل [torch.compile](./torch_compile) لمعرفة كيفية تجميع المسارين الأمامي والخلفي لخطوة التدريب بأكملها.

