Transformers documentation

AQLM

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).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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推論
TritonKNKxN-約0.7倍まで✅❌
CUDA1161x16ベスト最大で約1.3倍✅❌
CUDA282x8OK最大で約3.0倍✅❌
NumbaK8Kx8良い最大約4.0倍❌✅

リソース

AQLMのデモノートブックを実行して、モデルの量子化方法、量子化済みモデルをHubにプッシュする方法など、さらに多くの例を確認してください。

AQLMのリポジトリには、その他のデモノートブックの例があります。

Update on GitHub