量子化(Quantization)とは?AIモデルを軽量化する技術と手法

LLMの量子化とは?モデルを軽量化してローカルで動かす技術

AIを知りたい

先生、LLMをパソコンで動かしたいんですが、メモリが足りないみたいです。「量子化」をすると小さくなると聞いたのですが、どういう技術ですか?

AIエンジニア

量子化は、モデルの重み(パラメータ)の精度を下げることで、モデルのサイズとメモリ使用量を大幅に削減する技術だよ。例えば、通常のモデルは16ビットの浮動小数点数で重みを保持しているけど、これを4ビットの整数に変換すると、サイズが約1/4になるんだ。

AIを知りたい

精度を下げてしまうと、AIの性能は落ちないんですか?

AIエンジニア

実は、適切な量子化を行えば、性能の低下はごくわずかなんだ。例えば4ビット量子化(Q4_K_M)の場合、元のモデルの97〜99%程度の性能を維持しつつ、メモリ使用量を1/4に削減できる。これにより、70億パラメータのモデルがRTX 3060(12GB VRAM)でも動くようになるよ。

量子化とは。

人工知能に関わる言葉である「量子化(Quantization)」について説明します。AIモデルの重みパラメータを高精度(FP16/FP32)から低精度(INT8/INT4)に変換することで、モデルサイズとメモリ使用量を大幅に削減する技術です。推論速度の向上と省メモリ化により、ローカル環境やエッジデバイスでのLLM実行を可能にします。

量子化とは

量子化(Quantization)は、AIモデルの重み(パラメータ)を高精度の数値表現から低精度の数値表現に変換する技術です。通常、LLMの重みはFP16(16ビット浮動小数点数)またはFP32(32ビット)で保持されていますが、量子化によってINT8(8ビット整数)やINT4(4ビット整数)に変換します。

例えば、70億パラメータのLLM(Llama 3 8B)の場合、FP16では約16GBのメモリが必要ですが、4ビット量子化を適用すると約5GBまで削減できます。これにより、一般的なゲーミングPC(RTX 3060/12GB VRAM)でも大規模なLLMを実行可能になります。

量子化の種類

量子化手法 精度 サイズ削減率 性能維持 ツール
FP16(基準) 16ビット浮動小数点 基準 100%
INT8 8ビット整数 約50% 99%+ bitsandbytes
GPTQ(4bit) 4ビット整数 約75% 97-99% AutoGPTQ
GGUF(Q4_K_M) 4ビット混合精度 約75% 97-99% llama.cpp
AWQ(4bit) 4ビット(活性化考慮) 約75% 98-99% AutoAWQ
GGUF(Q2_K) 2ビット混合精度 約87% 90-95% llama.cpp

GGUF形式とllama.cpp

GGUF(GPT-Generated Unified Format)は、llama.cppプロジェクトで使用される量子化モデルのファイル形式です。CPU+GPU のハイブリッド推論に対応しており、GPUのVRAMが不足している場合でもCPUのRAMを活用してモデルを実行できます。

GGUFの量子化レベルは「Q4_K_M」のような名前で表現されます。Qの後の数字がビット数、K_MはK-quant方式のMediumサイズを意味します。Q4_K_M(4ビット)が最もバランスが良く、推奨される設定です。Q5_K_Mはやや高品質、Q3_K_MやQ2_Kはより小さいが品質は低下します。

GPTQ・AWQ・bitsandbytes

GPTQは、GPU上での推論に特化した量子化手法です。重みの量子化誤差を最小化するよう最適化されており、vLLMやtext-generation-inferenceなどの推論サーバーで広く使われています。

AWQ(Activation-Aware Weight Quantization)は、重みの重要度を活性化(Activation)の分布から推定し、重要な重みはより高い精度を維持する手法です。GPTQよりもさらに高品質な量子化が可能です。

bitsandbytesは、HuggingFaceのtransformersライブラリと統合された量子化ライブラリで、QLoRAでの学習時にも使用されます。4ビットおよび8ビットの量子化に対応しています。

量子化モデルの選び方

利用環境 推奨量子化 理由
RTX 4090(24GB) GPTQ 4bit / GGUF Q5_K_M 高品質、十分なVRAM
RTX 3060(12GB) GGUF Q4_K_M バランス良好
8GB VRAM以下 GGUF Q3_K_M / Q2_K メモリ節約優先
CPU only(16GB RAM) GGUF Q4_K_M(小モデル) CPUでも動作可能
スマートフォン INT4 + 小規模モデル エッジデバイス向け

まとめ

量子化は、大規模AIモデルを限られたハードウェアで実行可能にする重要な技術です。4ビット量子化であれば元のモデルの97〜99%の性能を維持しながら、メモリ使用量を約1/4に削減できます。GGUF、GPTQ、AWQなど複数の手法があり、利用環境と目的に応じて最適な手法を選択することが重要です。

関連記事