Quantization
量子化
りょうしか
Definition
Quantization is a technique that reduces compute and memory by representing model weights with lower bit-width numbers, making inference faster and cheaper. It can trade a small accuracy drop for efficiency gains.
数百億パラメータのLLMを自分のPCで動かしたい。しかしGPUメモリが足りない。そんな壁にぶつかったとき、解決策となるのが量子化です。量子化(Quantization)とは、モデルの重みパラメータをより少ないビット数で表現することで、メモリ使用量と計算コストを大幅に削減する技術です。
ビット数を減らすとは
通常、LLMの重みは32ビットまたは16ビットの浮動小数点数で保存されています。量子化はこれを8ビット、4ビット、あるいはそれ以下に変換します。たとえば、16ビット→4ビットの量子化では、メモリ使用量が約4分の1になります。70Bパラメータのモデルが、16ビットでは約140GBのメモリを必要としますが、4ビット量子化で約35GBにまで圧縮でき、一般的なGPUでも動作可能になります。
精度への影響
「情報量を減らして品質は落ちないのか」という疑問は当然です。実際、量子化による精度低下は避けられませんが、最新の手法ではその影響は驚くほど小さくなっています。8ビット量子化ではほぼ精度低下なし、4ビットでも多くのタスクで実用的な品質を維持できます。ただし、2ビット以下の極端な量子化では品質の劣化が目立つため、用途に応じたビット数の選択が重要です。
主要な量子化手法
量子化にはいくつかの手法があります。GPTQは学習後の重みをGPUで効率的に量子化する手法で、推論速度に優れます。GGUF(旧GGML)はllama.cppで使われるフォーマットで、CPUでの推論に最適化されており、MacやWindows PCでLLMを動かすときの定番です。AWQはハードウェアを意識した量子化で、GPTQより高速な推論が可能です。bitsandbytesはHugging Face環境で手軽に量子化を適用できるライブラリとして広く使われています。
ローカルLLMの民主化
量子化技術の発展は、LLMのローカル実行を現実的なものにしました。OllamaやLM Studioといったツールを使えば、4ビット量子化されたLlama 3やMistralなどのモデルを、16GBのメモリを搭載した一般的なノートPCでも動かせます。クラウドAPI不要、データを外部に送信する必要もないため、プライバシーを重視する用途やオフライン環境で特に価値があります。量子化は、高性能AIを手元で使える時代を切り開いた重要な技術です。