AI・機械学習
上級

AQLM(加算型量子化)(エーキューエルエム)

LLMの重みを2〜3ビットに極端圧縮しながら品質を維持する加算型量子化手法。複数のコードブックから学習済みコードワードを加算して重みを近似することで、GPTQ・AWQより低ビット数での高品質推論を実現する。

0 回閲覧
0 いいね
2026/5/25 更新
関連タグ
AQLM
加算型量子化
ベクトル量子化
2ビット量子化
LLM圧縮
極低ビット
コードブック
HSE大学

AQLMとは

AQLM(Additive Quantization for Language Model Compression)は、2024年2月にHSE大学(Higher School of Economics, Moscow)・Yandex・MIT CSAIL・Skoltech の共同研究チームが発表した極低ビットLLM量子化手法です。ICLR 2024 Spotlight に採択されています。

従来の量子化手法(GPTQ・AWQ・BitsAndBytes)が4ビット以上を主たる対象としていたのに対し、AQLMは2〜3ビットの極端な圧縮でも実用的な品質を維持することを目標としています。2026年現在、2ビット量子化において最高水準のperplexity性能を示す手法の一つです。

加算型量子化の仕組み

AQLMの核心はベクトル量子化(Vector Quantization)をLLM重みに適用したコードブック方式です。

従来の量子化(スカラー量子化)

各重み値 w → nearest quantization bin (例: Q4_0 なら 16段階) スカラー量子化では各重みを独立に量子化するため、2ビットでは表現精度が極端に落ちます。

AQLMの加算型量子化

重みベクトル w ∈ ℝ^d → Σ codebook_i[index_i] (i = 1 to M)

  • コードブック(Codebook): 事前学習された代表ベクトルのテーブル(例: 65536 エントリ × 8次元)
  • コードワード(Codeword): コードブック内のインデックス(実際に格納するのは短いインデックス)
  • 加算近似: M 個のコードワードを取り出して加算することで重みベクトルを近似

この方式により、2ビット相当の格納コストで従来の3〜4ビット量子化に匹敵する品質を実現します。

主な仕様・パラメータ

パラメータ説明推奨値
nbits_per_codebookコードブック1つ当たりのビット数16(65536エントリ)
num_codebooks使用するコードブック数(M)1〜4
effective_bits実効ビット幅2〜8
in_group_sizeグループサイズ8〜16

perplexityベンチマーク(WikiText-2、Llama 2 7B)

手法実効ビット幅Perplexity(↓低いほど良い)相対劣化
FP16(ベースライン)16 bit5.470%
GPTQ 4bit4 bit5.63+2.9%
AWQ 4bit4 bit5.60+2.4%
AQLM 3bit3 bit5.75+5.1%
GPTQ 3bit3 bit6.22+13.7%
AQLM 2bit2 bit6.82+24.7%
GPTQ 2bit2 bit11.51+110%

Llama 2 70Bの場合はさらに差が縮小し、AQLM 2bitがGPTQ 4bitに匹敵するという驚異的な結果も報告されています。

VRAM使用量の比較(Llama 3.1 70B)

形式VRAM消費量必要GPU構成
FP16(BF16)約140 GBH100×2 または A100×4
GPTQ INT4約35 GBRTX 4090×2
AWQ INT4約35 GBRTX 4090×2
AQLM 2bit約17.5 GBRTX 4090 1枚
AQLM 3bit約26 GBRTX 4090×2

インストール・使用方法

pip install aqlm[gpu]
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model = AutoModelForCausalLM.from_pretrained(
    "ISTA-DASLab/Meta-Llama-3-70B-Instruct-AQLM-2Bit-1x16",
    torch_dtype=torch.float16,
    device_map="cuda"
)
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-70B-Instruct")

自作PCでの活用シナリオ

RTX 4090(24GB)単体でLlama 3.1 70Bを動かす: AQLM 2bit量子化モデルはVRAM約17.5GBのため、RTX 4090の24GBで余裕を持って稼働可能。GPT-4o相当の高性能モデルをプライベート環境で運用できます。

RTX 3090(24GB)でのコスト最適化: RTX 4090の半額以下で同等のVRAMを持つRTX 3090でも同様に動作。CUDA 12以降で最大性能を発揮。

macOS(Apple Silicon)での活用: M3 Max(128GB)でLlama 3.1 70B AQLM 2bitが快適に推論可能。

よくある質問(FAQ)

Q1: AQLMとGPTQ/AWQはどちらを選べばよいですか? A: 4bit以上の量子化ならGPTQ/AWQで十分。2〜3bitの極端な圧縮が必要(例: RTX 4090 1枚でLlama 70B稼働)な場合はAQLMが最善の選択肢です。

Q2: AQLM量子化に必要な計算リソースは? A: HuggingFace配布の量子化済みモデルを使えば高スペックは不要。自分でFP16モデルから量子化する場合はA100/H100クラスのGPUが必要です(キャリブレーションに数時間かかる)。

Q3: llama.cppやOllamaとAQLMは互換性がありますか? A: 直接の互換性はありません。llama.cppはGGUFフォーマット独自の2bit(IQ2_XXS等)を使用。AQLMモデルはHuggingFace Transformers + aqlmライブラリを通して推論します。

まとめ

  • 2ビット量子化で従来手法の3〜4ビット相当の品質を達成
  • RTX 4090 1枚でLlama 70B級モデルの単体推論が可能
  • HuggingFace Hub に主要モデルのAQLM量子化版が公開済み
  • 量子化コスト(時間・GPU)は高いが推論時は一般環境で動作
この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/5/25