量子化対応訓練 QAT(リョウシカタイオウクンレン キューエーティー)
推論時の量子化による精度劣化を最小化するため、訓練段階から量子化ノイズをシミュレートして重みを最適化する手法。GPTQ/AWQなどのPost-Training Quantization(PTQ)の上位互換として位置づけられる。
量子化対応訓練(QAT)とは
量子化対応訓練(Quantization-Aware Training, QAT)は、モデル訓練中に量子化の影響をシミュレーション(Fake Quantization)し、量子化後も高精度を維持できるように重みを最適化する技術である。訓練後量子化(PTQ: Post-Training Quantization)であるGPTQやAWQが「訓練済みモデルを後から圧縮する」のに対し、QATは「圧縮されることを前提に訓練する」アプローチをとる。
概要
QATの基本原理はStraight-Through Estimator(STE)にある。順伝播では重みをINT8/INT4に量子化して計算するが、逆伝播では量子化前の連続値の勾配をそのまま伝播させる。これにより量子化による情報損失に対してロバストな重み分布が学習される。
2025-2026年のLLM向けQATの進展:
- LLM-QAT(Meta, 2023): Llama系モデル向けにデータフリーQATを提案。合成データで蒸留しながらQAT実行
- QLoRA + QAT: INT4量子化モデル上でLoRAファインチューニングし、量子化に適応した重みを学習
- AQLM(2024): Additive Quantization for Language Modelsで2ビット量子化でもPTQ比大幅精度改善
- QuIP# (2024): 不整合量子化(incoherence processing)でINT2量子化の限界を押し上げ
- BitNet b1.58: 訓練時から重みを{-1, 0, +1}の三値に制約する究極のQAT
PTQ vs QATの比較
| 特性 | PTQ (GPTQ/AWQ) | QAT |
|---|---|---|
| 適用タイミング | 訓練後 | 訓練中 |
| 必要な計算資源 | 小(キャリブレーション数時間) | 大(フル訓練の10-30%) |
| INT8精度 | ベースライン比-0.1〜0.5% | ベースライン比-0.05〜0.2% |
| INT4精度 | ベースライン比-0.5〜2% | ベースライン比-0.2〜0.5% |
| INT2精度 | 使用困難(5%+劣化) | AQLM/QuIP#で2-3%劣化 |
| データ要件 | 128-1024サンプル | 数千〜数万サンプル(蒸留含む) |
| モデル修正 | 不要 | 訓練コード修正必要 |
| 代表ツール | AutoGPTQ, AutoAWQ | LLM-QAT, AQLM, BitNet |
主要QAT手法の詳細
LLM-QAT(Meta Research, 2023)
- 特徴: 訓練データ不要(データフリー)。教師モデル自身の出力を合成データとして使用
- 手順: FP16教師 → INT4/INT8生徒を同一アーキテクチャで初期化 → STE + KL Divergence蒸留
- 結果: Llama 2 7B INT4でGPTQ比Perplexity 0.3改善(WikiText-2: 5.47 vs 5.78)
- コスト: A100 8枚で7Bモデル約24時間(フル訓練の約15%)
AQLM(Additive Quantization, 2024)
- 原理: 重みベクトルを複数のコードブック(Codebook)の和で表現する加算量子化
- 性能: Llama 2 70B 2ビット量子化でGPTQ INT3と同等精度(MMLU 68.2% vs 67.8%)
- ストレージ: 70Bモデルを約17.5GBに圧縮(FP16比20倍圧縮)
- 推論: CUDA最適化カーネルで2ビットでもINT4 GPTQと同等の推論速度
BitNet b1.58(Microsoft Research, 2024)
- 原理: 線形層の重みを{-1, 0, +1}の三値に制約。活性化はINT8量子化
- 訓練: スクラッチからQATで訓練(既存FP16モデルの変換ではない)
- 性能: BitNet b1.58 3BがLlama 3B FP16と同等精度(MMLU、ARC-C)でメモリ10倍削減
- 推論: 行列乗算が加減算のみで実現可能→専用ハードウェアで100倍高速化の可能性
- 制約: スクラッチ訓練が必要で、既存モデルへの適用は不可
QLoRA統合QAT
- 手法: INT4量子化済みベースモデルにLoRAアダプタを付与し、量子化ノイズ下でタスク適応
- 利点: RTX 4090 24GBで70Bモデルのファインチューニングが可能
- ツール: Unsloth(2x高速化)、PEFT(HuggingFace標準)、TRL(RLHF統合)
- 精度: LoRA rank 64でフルファインチューニングの95-98%の性能を達成
実務での適用指針
QATを選ぶべきケース
- INT2/INT3の極端な低ビット量子化が必要(エッジデバイス、モバイル展開)
- 量子化後の精度が厳密に求められる(医療、金融、法律ドメイン)
- 大量の訓練計算資源が確保できる(H100クラスタ利用可能)
PTQで十分なケース
- INT4/INT8量子化で精度要件を満たせる(一般的なチャットボット、要約)
- 迅速なデプロイが必要(PTQは数時間、QATは数日)
- 計算資源が限定的(RTX 4090数枚レベル)
よくある質問(FAQ)
Q1: QATはPTQと比べてどの程度精度が改善されるか? A: INT8ではPTQ比0.1-0.3%の改善とわずかだが、INT4では0.3-1.5%、INT2では3-10%と低ビットになるほどQATの優位性が顕著になる。INT4以上であればPTQ(GPTQ/AWQ)で十分なケースが多い。
Q2: 既存のFP16モデルをQATで再訓練できるか? A: 可能。LLM-QATはFP16教師モデルを起点にQATファインチューニングを行う。ただしBitNet b1.58はスクラッチ訓練専用で、既存モデルの変換には対応していない。
Q3: QATの訓練コストはフル訓練と比べてどの程度か? A: 一般的にフル事前訓練の10-30%程度。Llama 2 7BのQATでA100 8枚×24時間(フル事前訓練は数千GPU時間)。QLoRA方式なら単一RTX 4090で数時間から可能。
まとめ
- QATは訓練中に量子化ノイズをシミュレートし、低ビット量子化でもPTQより高精度を維持
- INT4以上ならPTQ(GPTQ/AWQ)で実用十分、INT2以下の極端な圧縮でQATが真価を発揮
- BitNet b1.58は三値量子化QATで従来のスケーリング則を覆す可能性を示す
- 実務ではQLoRA統合によりRTX 4090単体でも70Bモデルの量子化対応ファインチューニングが可能