広告

[P] 重み向けTurboQuant:損失なし8ビット残差による、ほぼ最適な4ビットLLM量子化—メモリを3.2×節約

Reddit r/MachineLearning / 2026/3/29

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • TurboQuantをKVキャッシュ量子化からLLMの重み圧縮へ適用し、nn.Linearの「差し替え(drop-in replacement)」として動作する4ビット量子化手法を提案しています。
  • Qwen3.5-0.8Bではbf16のPPL 14.29を「4+4(4ビット+損失なし8ビット残差のような構成)」で維持しつつ、圧縮サイズを約1,504MBから762MBへ約2倍縮小しています。
  • 単純な4ビット構成はPPL悪化(例:PPL 16.23〜16.57)と引き換えに大幅な圧縮(361〜381MB)を達成しています。
  • GitHub(Tritonカーネル詳細含む)でドキュメントとベンチマークが公開されており、4Bモデルでの拡張検証(4+2残差など)も追記されています。
  • 4BのQwen3.5では、4+4(g=128)でPPLほぼ維持(+0.03)しつつ、KLDも小さく、より高圧な残差構成も一定の良好さを示しています。

最近のTurboQuantアルゴリズム(Zandiehら、2025)の適応であり、KV‑cache量子化からモデル重みの圧縮へと拡張しています。歪みがほぼ最適なnn.Linearのドロップイン置換を提供します。

ベンチマーク(Qwen3.5‑0.8B、WikiText‑103)

Config Bits PPL Δ PPL Compressed Size
ベースライン bf16 16 14.29 1,504 MB
4+4 residual 8 14.29 0.00 762 MB
4ビット(group=full) 4 16.23 +1.94 361 MB
4ビット(group=128) 4 16.57 +2.28 381 MB

完全なドキュメント、ベンチマーク、Tritonカーネルの詳細は、GitHubリポジトリを確認してください。

編集1(4Bモデルでテスト):

編集2(4Bを4+2 residual g=128で実行。有望そうですが、altough KLD 4+4のほうがはるかに良いです):

Qwen3.5-4B

Config Total Bits PPL Δ PPL KLD
ベースライン bf16 16 10.67
4+4 residual g=128 8 10.70 +0.03 0.0028
4ビット g=128 4 11.28 +0.61 0.0852
4+2 residual g=128 6 10.65 −0.02 0.0133
投稿者 /u/cksac
[リンク] [コメント]

広告