エンジニアリング2026-03-11公開·8分で読めます
7Bモデルをスマホに押し込む:量子化フィールドガイド
Q4_K_M、AWQ、GPTQ、SmoothQuant — RAM 4GB、電力 4W という制約の下で本当に効くのは何か。
モバイルでは量子化がすべてだ
モバイルのボトルネックはFLOPsではなく、バイトだ。fp16の7Bモデルは14GB。スマホのRAMは合計4〜8GBで、AI負荷に現実的に借りられるのは1.5〜3GB——それを超えるとOSが前景アプリをスワップし始める。攻めの量子化なしには算数が成り立たない。
実際に出荷しているもの
- Q4_K_M(k-quants、グループ混在)——一般LLM負荷向け。4ビット以下で測った範囲で品質/バイト比が最高、ロングテイルのトークンで意外にやさしく劣化する。
- AWQ-int4(活性化を考慮した重み量子化)——コードと数学推論向け。活性化のはずれ値が効くので、素朴なRTN量子化だと目に見えて劣化する。
- fp16のホット重み——埋め込みテーブルと最終lm_head射影に残す。重み全体ではごく一部だが、知覚品質への寄与は不釣り合いに大きい。
- int8のKVキャッシュ——トークンごとのスケール付きで、キャッシュ予算を抑えつつint4 KVのような壊滅的な劣化を避ける。
- ディスク上はGGUFをコンテナに——ローダを書き直さずに量子化方式を差し替えられる。
パープレキシティは正しい指標ではない
ユーザは次トークンのクロスエントロピーを気にしない。要約が正しいか、翻訳が自然か、コミットメッセージが変更を正しく述べているかを気にする。私たちは社内に小さなevalを作り、実会議の文字起こし、実メニューの翻訳、実コミットdiffで終端タスクの品質を採点している。これはパープレキシティと約18%の頻度で食い違う。0.3ビットのパープレキシティを失う量子化方式が、要約品質では4ポイント勝つことがある——失敗モードが「次トークンの微妙な悪化」から「逸脱が減る」へ移るからだ。
意外だったこと
- 層によっては、グループサイズがビット幅より効く。 FFNでグループサイズを128から64へ落とす方が、attentionで4から5ビットへ上げるより品質を救った。
- はずれ値はクラスタする。 各transformerブロックの少数チャネルが活性化の大きさを支配する。それらを高精度分岐(SmoothQuant的、あるいはチャネルごとのスケール)で扱う方が、全体のビット幅を上げるより効率的だ。
- キャリブレーションデータはレバーだ。 実プロダクト負荷から取った256サンプルが、C4から取った8Kサンプルに毎回勝つ。
結論
論文で量子化方式を選ぶな。自分のevalで選べ——そしてevalはプロダクトそのものに見せかけるべきだ。