# AQLM

Dil Modellerinin Çekirdeksel Kuantizasyonu ([AQLM](https://huggingface.co/papers/2401.06118)), birden fazla ağırlığı birlikte kuantize eder ve bunlar arasındaki karşılıklı bağımlılıklardan yararlanır. AQLM, 8-16 ağırlıktan oluşan grupları, birden çok vektör kodunun toplamı olarak temsil eder.

AQLM, [PEFT](https://huggingface.co/docs/peft) kütüphanesiyle [LoRA](https://huggingface.co/docs/peft/package_reference/lora) kullanılarak ince ayarı da destekler ve daha hızlı çıkarım ve eğitim için [torch.compile](https://pytorch.org/tutorials/intermediate/torch_compile_tutorial.html) ile tam uyumludur.

GPU ve CPU çıkarımı ile eğitim için çekirdek desteğine sahip AQLM kütüphanesini yüklemek için aşağıdaki komutu çalıştırın.

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

AQLM-kuantize edilmiş bir modeli [from_pretrained()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) ile yükleyin.

```python
from transformers import AutoTokenizer, AutoModelForCausalLM

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

## Yapılandırmalar

AQLM kuantizasyon kurulumları, kullanılan kod kitabı sayısında ve kod kitabı boyutlarında (bit cinsinden) farklılık gösterir. En popüler kurulumlar ve desteklenen çıkarım çekirdekleri aşağıda gösterilmektedir.

| Çekirdek | Kod kitapları sayısı | Kod kitabı boyutu, bit | Notasyon | Doğruluk | Hızlanma     | Hızlı GPU çıkarımı | Hızlı CPU çıkarımı |
|---|---------------------|---------------------|----------|-------------|-------------|--------------------|--------------------|
| Triton | K                   | N                  | KxN     | -        | ~0,7x'e kadar | ✅                  | ❌                  |
| CUDA | 1                   | 16                  | 1x16     | En iyi        | ~1.3x'e kadar | ✅                  | ❌                  |
| CUDA | 2                   | 8                   | 2x8      | Tamam          | ~3.0x'e kadar | ✅                  | ❌                  |
| Numba | K                   | 8                   | Kx8      | İyi        | ~4.0 katına kadar | ❌                  | ✅                  |

## Kaynaklar

Daha fazla örnek için, bir modeli nasıl kuantize edeceğinizi, kuantize edilmiş bir modeli Hub'a nasıl yükleyeceğinizi ve daha fazlasını gösteren AQLM demo [notebook](https://colab.research.google.com/drive/1-xZmBRXT5Fm3Ghn4Mwa2KRypORXb855X?usp=sharing)'unu çalıştırın.

Daha fazla örnek demo defterleri için AQLM [deposuna](https://github.com/Vahe1994/AQLM) göz atın.

