量子化(Quantization)とは
量子化(Quantization)は、AIモデルのパラメータ精度を下げてモデルサイズを削減する技術です。たとえば、FP32(32ビット浮動小数点)からINT8(8ビット整数)に変換することで、モデルサイズを1/4に圧縮し、メモリ使用量を削減しながら、NPUでの高速実行を可能にします。Copilot+ PCでSLMやPhi-3を実行する際の必須技術です。
量子化の種類
1. INT8量子化
- 圧縮率:1/4(32bit → 8bit)
- 精度低下:最小限(ほぼ同等の性能)
- 速度:2-4倍高速化
- 用途:最も一般的、NPUで最適
2. INT4量子化
- 圧縮率:1/8(32bit → 4bit)
- 精度低下:やや低下
- 速度:3-5倍高速化
- 用途:超軽量化が必要な場合
3. 混合精度量子化
- 重要なレイヤーはFP16、それ以外はINT8
- 精度と速度のバランスを最適化
量子化の効果
| モデル | オリジナル(FP32) | INT8量子化 |
|---|---|---|
| Phi-3-mini | 15GB | 3.8GB(1/4) |
| Llama 3 8B | 32GB | 8GB(1/4) |
| 推論速度 | 基準 | 2-4倍高速 |
NPUと量子化
NPUはINT8演算に最適化されており、量子化モデルで最高のパフォーマンスを発揮します:
- 高速演算:INT8はFP32より4倍高速
- 低消費電力:演算量削減でバッテリー駆動時間延長
- メモリ効率:1/4のメモリで実行可能
量子化ツール
- ONNX Runtime:自動量子化機能
- OpenVINO:Post-Training Quantization
- PyTorch:torch.quantization
- TensorFlow:TFLite Converter
まとめ
量子化(Quantization)は、AIモデルを軽量化してPC上で動作可能にする重要技術です。Copilot+ PCのNPUは量子化モデルに最適化されており、SLMやPhi-3などのローカルLLM実行を現実的なものにしています。モデルサイズを1/4~1/8に削減しながら、精度をほぼ維持できる点が大きな魅力です。
