# MLX

[MLX](https://ml-explore.github.io/mlx/build/html/index.html) هو إطار عمل للمصفوفات مخصص لتعلم الآلة على معالجات Apple silicon، ويعمل أيضًا مع CUDA. على معالجات Apple silicon، تبقى المصفوفات في الذاكرة المشتركة لتجنب نسخ البيانات بين المعالج المركزي (CPU) ومعالج الرسوميات (GPU). يتيح الحساب الكسول (Lazy computation) التلاعب بالرسوم البيانية (Graphs) وإجراء تحسينات. كما أن الدعم الأصلي لـ [safetensors](https://huggingface.co/docs/safetensors/en/index) يعني أن نماذج اللغة في Transformers تعمل مباشرة على MLX.

قم بتثبيت مكتبة [mlx-lm](https://github.com/ml-explore/mlx-lm).

```bash
pip install mlx-lm transformers
```

يمكنك تحميل أي نموذج لغة من Transformers من Hub طالما أن بنية النموذج [مدعومة](https://huggingface.co/mlx-community/models). لا يلزم إجراء أي تحويل للأوزان.

```py
from mlx_lm import load, generate

model, tokenizer = load("openai/gpt-oss-20b")
output = generate(
    model,
    tokenizer,
    prompt="The capital of France is",
    max_tokens=100,
)
print(output)
```

## تكامل Transformers

- يحمّل [mlx_lm.load](https://github.com/ml-explore/mlx-lm?tab=readme-ov-file#python-api) أوزان safetensor ويعيد نموذجًا ومقسّمًا.
- تحمّل MLX مصفوفات الأوزان المفهرسة بأسماء الموترات وتُقرّبها إلى شجرة معلمات [nn.Module](https://ml-explore.github.io/mlx/build/html/python/nn/module.html#) في MLX. ويتوافق ذلك مع طريقة تنظيم نقاط التفتيش في Transformers.

> [!TIP]
> تكامل MLX Transformers ثنائي الاتجاه. كما يمكن لـ Transformers تحميل أوزان MLX من Hub وتشغيلها.

## الموارد

- توثيق [MLX](https://ml-explore.github.io/mlx/build/html/index.html)
- مستودع [mlx-lm](https://github.com/ml-explore/mlx-lm) الذي يحتوي على تطبيقات نماذج اللغة الكبيرة في MLX
- مكتبة المجتمع [mlx-vlm](https://github.com/Blaizzy/mlx-vlm) مع تطبيقات نماذج اللغة المرئية

