# AQLM

تقوم تقنية [AQLM](https://huggingface.co/papers/2401.06118) (التكميم الإضافي لنماذج اللغة) بتكميم عدة أوزان معاً والاستفادة من التبعيات المتبادلة بينها. تمثّل AQLM مجموعات من 8 إلى 16 وزناً على شكل مجموع لرموز متجهات متعددة.

يدعم AQLM أيضًا الضبط الدقيق باستخدام [LoRA](https://huggingface.co/docs/peft/package_reference/lora) مع مكتبة [PEFT](https://huggingface.co/docs/peft)، وهو متوافق تمامًا مع [torch.compile](https://pytorch.org/tutorials/intermediate/torch_compile_tutorial.html) للحصول على استدلال وتدريب أسرع.

شغّل الأمر أدناه لتثبيت مكتبة AQLM مع دعم النواة للاستدلال والتدريب على كل من GPU و CPU.

```bash
pip install aqlm[gpu,cpu]
```

قم بتحميل نموذج مُكمَّم بتقنية AQLM باستخدام [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained).

```python
from transformers import AutoTokenizer, AutoModelForCausalLM

quantized_model = AutoModelForCausalLM.from_pretrained(
    "ISTA-DASLab/Mixtral-8x7b-AQLM-2Bit-1x16-hf",
    dtype="auto", 
    device_map="auto"
)
```

## التكوينات

تختلف إعدادات تكميم AQLM بشكل رئيسي في عدد كتالوجات الرموز المستخدمة، وكذلك أحجامها بالبتات. تُعرض أدناه أكثر الإعدادات شيوعًا ونوى الاستدلال المدعومة.

| النواة | عدد كتل الرموز | حجم كود الكتاب، البتات | الرموز | الدقة | التسريع     | استدلال GPU سريع | استدلال سريع على المعالج |
|---|---------------------|---------------------|----------|-------------|-------------|--------------------|--------------------|
| Triton | K                   | N                  | KxN     | -        | حتى ~0.7x | ✅                  | ❌                  |
| CUDA | 1                   | 16                  | 1x16     | أفضل        | حتى ~1.3x | ✅                  | ❌                  |
| CUDA | 2                   | 8                   | 2x8      | حسنًا          | حتى ~3.0x | ✅                  | ❌                  |
| Numba | K                   | 8                   | Kx8      | جيد        | حتى ~4.0x | ❌                  | ✅                  |

## الموارد

شغّل [دفتر ملاحظات](https://colab.research.google.com/drive/1-xZmBRXT5Fm3Ghn4Mwa2KRypORXb855X?usp=sharing) AQLM التجريبي لمزيد من الأمثلة حول كيفية تكميم نموذج، ودفع نموذج مكمّم إلى Hub، والمزيد.

لمزيد من دفاتر الملاحظات التوضيحية، قم بزيارة مستودع AQLM [repository](https://github.com/Vahe1994/AQLM).

