arXivで公開された論文で、著者らはLeech格子量子化LLMを2ビット台でサービングする新しいコードブックとカーネル「Tetra」を発表しました。従来カーネルがコード2ビットに対してGPUメモリから4.804 bits per weightを読み出していたのに対し、Tetraは同じ格子上の新コードブックで2.148 bits per weightに削減し、Qwen3-4B/8B/14Bをモデル全体で2.73、2.70、2.73 bits per parameterに収めています。
何が新しいか
Leech格子量子化は2 bits per weight程度で品質を保てる一方、コードブックが10^14点を超えるため単純なルックアップテーブルには収まりません。著者らの以前のカーネルはロード時にコードを展開する方式で、2ビットのコードのためにGPUメモリから4.804 bits per weightを読み出していました。Tetraは同じ格子上に新しいコードブックを定義し、この読み出し量を2.148 bits per weightに下げます。
仕様と数値
| 項目 | 値 |
|---|---|
| ブロックサイズ | 24 weights |
| ブロック格納量 | 48 bits |
| トレリス状態数(Golay符号) | 64 states |
| 共有テーブル容量 | 16 KiB |
| テーブルロード数 | 6 |
| 小規模ルックアップ数 | 2 |
| GPUメモリ読み出し量 | 2.148 bits per weight |
| 従来カーネルの読み出し量 | 4.804 bits per weight |
24重みのブロックは48ビットに格納され、そのほとんどがGolay符号の64状態トレリスと1つの共有16 KiBテーブルのインデックスに使われます。カーネルは行列ベクトル積の内部で6回のテーブルロードと2回の小規模ルックアップによってブロックをデコードします。
フルモデルへの適用と評価
フルモデルでは行列行ごとに1つのスケールを再学習し、損失が最も大きい行列は4-bit整数として保存、その分を4-bit埋め込みテーブルで補います。Qwen3-4B、8B、14Bのファイルはモデル全体で2.73、2.70、2.73 bits per parameterです。
MMLUのフルテストセットでのスコアは63.37、69.58、75.66で、5.3〜6.0 bits per parameterの4-bit AWQに対してそれぞれ4.76、4.21、2.46ポイント下回ります。生成速度は著者らのエンジンで113.8、95.0、57.2 tokens per secondです。GSM8Kではserved kernel経由でFP16に対し9.63、4.62、3.26ポイント低下します。4Bでは、llama.cppのIQ2_XXS(2.48 bits per parameter)を23.6ポイント上回っています。
表や図のために測定した数値はすべてNVIDIA L40S GPU 1基によるもので、著者らは主な実験を事前登録したとしています。

まだコメントはありません。