You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v5.22.1).
AQLM
言語モデルの加法的量子化(AQLM)は、複数の重みをまとめて量子化し、それらの間の相互依存性を活用します。AQLMでは、8〜16個の重みのグループを、複数のベクトルコードの和として表現します。
AQLMはPEFTライブラリによるLoRAでのファインチューニングにも対応しており、torch.compileと完全に互換性があるため、より高速な推論と学習を実現できます。
GPUおよびCPUでの推論と学習のカーネルサポート付きでAQLMライブラリをインストールするには、以下のコマンドを実行してください。
pip install aqlm[gpu,cpu]
from_pretrained() で AQLM 量子化モデルを読み込みます。
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推論 | 高速なCPU推論 |
|---|---|---|---|---|---|---|---|
| Triton | K | N | KxN | - | 約0.7倍まで | ✅ | ❌ |
| CUDA | 1 | 16 | 1x16 | ベスト | 最大で約1.3倍 | ✅ | ❌ |
| CUDA | 2 | 8 | 2x8 | OK | 最大で約3.0倍 | ✅ | ❌ |
| Numba | K | 8 | Kx8 | 良い | 最大約4.0倍 | ❌ | ✅ |
リソース
AQLMのデモノートブックを実行して、モデルの量子化方法、量子化済みモデルをHubにプッシュする方法など、さらに多くの例を確認してください。
AQLMのリポジトリには、その他のデモノートブックの例があります。
Update on GitHub