# MXFP4

ملاحظة: تعمل عملية التكميم MXFP4 حاليًا فقط مع نماذج OpenAI GPT-OSS 120b و 20b.

MXFP4 هو تنسيق فاصلة عائمة بدقة 4 بت يقلل بشكل كبير من متطلبات الذاكرة للنماذج الكبيرة. يمكن استيعاب النماذج الكبيرة (GPT-OSS-120B) على وحدة معالجة رسومية واحدة بسعة 80 غيغابايت، بينما تتطلب النماذج الأصغر (GPT-OSS-20B) 16 غيغابايت من الذاكرة فقط. يستخدم هذا التنسيق التدرّج على مستوى الكتل (blockwise scaling) للحفاظ على نطاقه ودقته، وهما ما يميلان عادةً إلى التدهور عند استخدام دقات أدنى.

لاستخدام MXPF4، تأكد من أن جهازك يلبي المتطلبات التالية.

- ثبّت Accelerate وkernels وTriton ≥ 3.4. ثبّت Triton ≥ 3.4 يدويًا فقط إذا كنت تستخدم PyTorch 2.7، لأنه مدعوم مسبقًا في PyTorch 2.8.
- قدرة معالجة GPU من NVIDIA ≥ 7.5 والتي تشمل معالجات Tesla والأحدث منها. استخدم [get_device_capability](https://docs.pytorch.org/docs/stable/generated/torch.cuda.get_device_capability.html) للتحقق من قدرة المعالجة.

```python
from torch import cuda
cuda.get_device_capability()

# (7, 5)
```

تحقق من إعدادات التكميم الخاصة بالنموذج كما هو موضح أدناه لمعرفة ما إذا كان يدعم MXFP4. إذا كان `'quant_method': 'mxfp4'`، فإن النموذج يستخدم MXFP4 تلقائيًا.

```py
from transformers import GptOssConfig

model_id = "openai/gpt-oss-120b"
cfg = GptOssConfig.from_pretrained(model_id)
print(cfg.quantization_config)

# Example output:
# {
#   'modules_to_not_convert': [
#     'model.layers.*.self_attn',
#     'model.layers.*.mlp.router',
#     'model.embed_tokens',
#     'lm_head'
#   ],
#   'quant_method': 'mxfp4'
# }
```

## نواة MXFP4

يسحب Transformers تلقائيًا نواة Triton المدركة لـ MXFP4 من مستودع المجتمع عند تحميل نموذج يتطلبها. تُخزَّن النوى في ذاكرة التخزين المؤقت المحلية وتُستخدم أثناء المرور الأمامي.

تُستخدم نوى MXFP4 افتراضياً، إذا كانت متاحة ومدعومة، ولا تتطلب أي تغييرات في الكود.

يمكنك استخدام [hf cache scan](https://huggingface.co/docs/huggingface_hub/en/guides/manage-cache#scan-your-cache) للتحقق من تنزيل النوى.

```shell
hf cache scan
```

```shell
REPO ID                          REPO TYPE SIZE ON DISK
-------------------------------- --------- ------------
kernels-community/triton_kernels model           536.2K
openai/gpt-oss-20b               model            13.8G
```

## الموارد

تعرّف على المزيد حول تكميم MXFP4 وكيفية عمل التدرّج على مستوى الكتل في هذا [المقال](https://huggingface.co/blog/faster-transformers#mxfp4-quantization).

