量子化は、限られたビット数で数値を表現するために、元の値を有限個の代表値へ対応させる操作である。4 ビットなら利用できるコードは最大 16 種類であり、それより多くの値を扱うには複数の入力を同じ代表値へまとめる必要がある。この対応によって保存量やメモリ転送量を減らせる一方、量子化前の値と再構成値の間には誤差が生じる。
モデル性能を考えると、この誤差は大きさだけでは評価できない。ある誤差は後続計算で急速に減衰し、別の誤差は多数の生成ステップを通じて状態に残る。同じノルムを持つ誤差でも、後続の演算が敏感な方向へ向いていれば出力を大きく変え、感度の低い方向へ向いていれば影響は小さくなる。量子化後の性能は、どれだけ誤差が生じたかに加えて、その誤差が計算の中でどのように扱われるかによって決まる。
既稿では、量子化を「目的に不要な区別を捨てる操作」として整理し、入力空間を有限個の領域へ分割して代表値へ対応させる構造を扱った[1]。量子化によって複数の入力が同じ代表値へ写されるため、元の値と再構成値の差として量子化誤差が生じる。また三値 LLM の圧縮では、有限個の状態へ写した後にも、保存形式と復号処理をどこへ配置するかという設計問題が残ることを確認した[2]。有限ビット表現を実際の推論処理へ組み込むと、量子化器が作る誤差と、その誤差を受け取る計算構造の両方が性能を決める。
量子化理論では、入力と再構成値の差を歪みとして評価し、限られた符号数の下でその歪みを小さくする問題が研究されてきた[3]。一方、有限精度の数値計算では、ある演算で生じた丸め誤差が後続の演算へ伝わり、途中で減衰するか、保存されるか、増幅されるかが計算結果の精度を左右する[4]。量子化したニューラルネットワークでは、この二つの問題が重なる。量子化器が局所的な誤差を作り、その誤差をニューラルネットワークの状態遷移と読み出し処理が次の計算へ運ぶ。
LLM の推論では、ここにメモリ転送量という実装上の制約も加わる。重み、活性値、再帰状態、KV キャッシュを低ビット化すると、メモリに保持するデータ量だけでなく、各生成ステップでメモリから読み出すデータ量も減る。演算能力に対してメモリ転送量が大きい処理では、Roofline モデルが示すようにメモリ帯域が実行性能の上限を決めるため、低ビット化による転送量削減が推論性能へ直接つながり得る[5]。そのため、量子化では精度を保つことと、状態やキャッシュを実際に小さく保つことを同時に満たす必要がある。
この関係を一つの問題として見ると、量子化の評価対象は、量子化直後の値から計算全体へ広がる。どの時点で誤差を発生させるか、その誤差が状態更新によってどれだけ長く残るか、どの方向の誤差が出力へ強く投影されるかによって、同じビット数でも最終的な影響は変わる。低ビット量子化は、有限個の代表値を選ぶ問題に加えて、限られた精度を計算構造のどこへ配分するかという摂動最適化の問題になる。
1. 同じ量子化誤差でも計算結果への影響は同じではない
元の値を \(x\)、量子化後のコードから再構成した値を \(\hat{x}\) とする。このとき、局所的な量子化誤差は次のように書ける。
\[
\varepsilon=\hat{x}-x
\]
\(\varepsilon\) は、量子化という多対一の対応によって失われた区別が、再構成値との数値差として現れたものである。平均二乗誤差を使う場合は、各成分の差を二乗して加算し、量子化前後の値がどれだけ離れたかを評価する。この尺度は、量子化器が入力そのものをどの程度正確に近似できたかを測る。
ニューラルネットワークでは、再構成された \(\hat{x}\) がそのまま最終結果になるのではなく、後続の層や状態更新へ入力される。そこで、\(x\) が線形写像 \(W^\top x\) に渡される場合を考える。量子化前の出力を \(y=W^\top x\)、量子化後の出力を \(\hat{y}=W^\top\hat{x}\) とすると、その差は次のようになる。
\[
\Delta y
=
\hat{y}-y
=
W^\top(\hat{x}-x)
=
W^\top\varepsilon
\]
\(W\) は後続計算の重み、\(\Delta y\) は量子化誤差が実際の出力へ現れた量である。ここでは、入力空間で生じた \(\varepsilon\) が \(W^\top\) によって別の空間へ写されている。量子化前後の値だけを比較すると \(\varepsilon\) の大きさまでしか分からないが、モデルが受ける影響は \(W\) を通した後の \(\Delta y\) に現れる。
出力誤差の二乗ノルムを計算すると、この方向依存性を明示できる。
\[
\|\Delta y\|_2^2
=
\varepsilon^\top WW^\top\varepsilon
\]
\(WW^\top\) は、入力空間の各方向に生じた誤差が出力へどの程度強く写されるかを表す。たとえば \(\varepsilon\) が \(WW^\top\) の大きな固有値に対応する固有ベクトルと同じ方向を向けば、その成分は出力で大きく重み付けされる。小さな固有値に対応する方向へ同じ大きさの誤差を置けば、出力への影響は小さくなる。
したがって、二つの量子化方式が同じ \(\|\varepsilon\|_2\) を達成していても、最終的なモデル出力への影響が同じになるとは限らない。一方の方式が後続計算の感度が高い方向へ誤差を作り、もう一方が感度の低い方向へ誤差を分散させれば、入力空間で測った平均二乗誤差が同程度でも出力誤差には差が生じる。
| 評価対象 | 測っているもの | 評価に加える必要がある構造 |
|---|---|---|
| 局所的な量子化誤差 | 量子化前の値と再構成値がどれだけ離れたかを測る。 | 量子化器そのものの再構成精度を評価できるが、後続演算の方向別感度は含まれない。 |
| 出力誤差 | 量子化誤差が後続の演算結果をどれだけ変えたかを測る。 | \(W\) や \(WW^\top\) を通じて、どの誤差方向が出力へ強く投影されるかを含める。 |
| 時間を含む状態誤差 | 過去に生じた誤差が状態更新を通じて残り、将来の出力へ与える影響を測る。 | 方向別感度に加えて、状態遷移による誤差の減衰、保存、累積を含める。 |
この違いによって、低ビット化で精度を配分する基準も変わる。入力空間のすべての成分を同じ精度で近似する設計では、モデル出力への影響が小さい方向にも同じビット予算を使う。後続計算の感度が分かれば、出力へ強く投影される成分を高い精度で残し、影響の小さい方向ではより大きな量子化誤差を許容する設計が可能になる。
再帰状態を持つモデルでは、この方向依存性に時間方向の依存性も重なる。一度生じた誤差が状態更新を通じて次の状態へ入り、その状態がさらに量子化されれば、過去の誤差を含んだ値へ新しい誤差が加わる。量子化誤差を評価する尺度は、局所的な距離から出力への射影へ進み、さらに誤差が将来へ残る時間発展まで含む必要がある。
2. 再帰状態では量子化誤差そのものが次の入力になる
通常の Attention では、過去のキーとバリュー を KV キャッシュへ保存し、後続トークンから直接参照する。線形 Attention の一部は、この履歴を固定サイズの再帰状態へ集約する。Gated DeltaNet はゲートによる忘却と Delta rule による選択的な更新を組み合わせ[6]、Kimi Linear の Kimi Delta Attention も固定サイズの状態を逐次更新して履歴を保持する[7]。保持する状態量を系列長に対して一定にできる一方、その状態は一度計算して終わる中間値ではなく、次の時刻の状態を作る入力として繰り返し使われる。
この再利用が、再帰状態の量子化を通常の一回限りの量子化と異なる問題にする。状態を低ビットで保存すると、量子化によって生じた誤差も次の状態更新へ入力される。その更新結果を再び量子化すれば、以前の誤差を含む状態へ新しい量子化誤差が加わる。誤差の影響は、その時点の再構成精度だけでなく、状態更新を何回通過し、その過程でどの程度残るかによって決まる。
この構造を見るために、時刻 \(t\) の再帰状態を \(x_t\) とし、状態更新を次の形へ単純化する。
\[
x_t=A_t x_{t-1}+u_t
\]
\(x_{t-1}\) は一つ前の状態、\(A_t\) はその状態を現在へどのように引き継ぐかを表す状態遷移、\(u_t\) は現在のトークンから新たに加わる更新である。実際の Delta-rule 系モデルでは状態は行列であり、更新も入力依存だが、誤差伝播を考えるときの中心は、過去の状態へ何らかの作用素を適用し、現在の更新を加えるという構造にある。
量子化された状態を \(\hat{x}_t\) とし、その時点の量子化によって新たに生じる誤差を \(\varepsilon_t\) とする。同じ状態更新を量子化された状態へ適用すると、
\[
\hat{x}_t
=
A_t\hat{x}_{t-1}
+
u_t
+
\varepsilon_t
\]
と表せる。ここで \(\varepsilon_t\) は、時刻 \(t\) の量子化操作が新たに追加した局所誤差である。量子化されていない軌道との差を、
\[
e_t=\hat{x}_t-x_t
\]
と定義し、二つの状態更新式の差を取ると、
\[
e_t
=
A_te_{t-1}
+
\varepsilon_t
\]
が得られる。右辺の \(A_te_{t-1}\) は過去に蓄積した誤差が現在まで運ばれた部分であり、\(\varepsilon_t\) は現在の量子化によって新しく加わった部分である。再帰状態の量子化では、この二つが同じ \(e_t\) の中に共存する。
| 項 | 数理上の役割 | 量子化設計上の意味 |
|---|---|---|
| \(e_{t-1}\) | 過去の量子化によってすでに状態へ蓄積している誤差を表す。 | 現在の量子化精度だけを改善しても、この成分は残る。 |
| \(A_te_{t-1}\) | 過去の誤差が現在の状態へどれだけ残るかを表す。 | 状態遷移による減衰が遅い成分では、一度の誤差が多数の時刻へ影響する。 |
| \(\varepsilon_t\) | 現在の量子化操作によって新たに注入される誤差を表す。 | 量子化器の精度だけでなく、量子化を実行する頻度によって累積量が変わる。 |
一回だけ量子化する場合、主な評価対象はその一回で生じる \(\varepsilon_t\) である。毎トークン再量子化する場合は状況が変わる。時刻 \(t-1\) までに生じた誤差を含む \(\hat{x}_{t-1}\) が状態更新へ入り、その結果へさらに \(\varepsilon_t\) が加わる。直接原因は量子化操作の反復であり、その影響を長期化させる背後構造は、再帰状態が次の計算へそのまま引き継がれることである。
状態遷移 \(A_t\) が各時刻で誤差を増幅しなくても、十分な速度で減衰しなければ影響は残る。たとえば過去の誤差を 0.99 倍ずつ保持する方向では、100 ステップ後にも約 0.99100 の割合が残る。個々の量子化誤差が小さくても、保持率が高い状態へ繰り返し誤差を注入すれば、その時点で観測される状態誤差は複数時刻の寄与を含む。
誤差の再帰式を実際に展開すると、この重ね合わせを明示できる。初期状態に量子化誤差がない場合、
\[
e_t
=
\varepsilon_t
+
A_t\varepsilon_{t-1}
+
A_tA_{t-1}\varepsilon_{t-2}
+
A_tA_{t-1}A_{t-2}\varepsilon_{t-3}
+
\cdots
\]
となる。現在の誤差 \(e_t\) は、現在の \(\varepsilon_t\) だけで構成されているわけではない。1 ステップ前の誤差には \(A_t\)、2 ステップ前の誤差には \(A_tA_{t-1}\)、さらに古い誤差にはより長い状態遷移の積が作用する。時刻 \(s\) で生じた誤差が時刻 \(t\) まで残る量は、一般に、
\[
A_tA_{t-1}\cdots A_{s+1}\varepsilon_s
\]
で決まる。この積が急速に小さくなる方向では古い誤差の影響は短時間で消え、長く保たれる方向では一度の量子化誤差が多数の生成ステップにわたって状態へ残る。
再帰状態の低ビット化では、量子化器単体の平均二乗誤差だけを最小化しても、系列全体で観測される状態誤差を直接には最小化しない。局所誤差 \(\varepsilon_t\) の大きさに加えて、それを何回注入するか、各誤差が状態遷移の積によって何ステップ残るかが累積誤差を決める。量子化精度の評価対象は、一回の丸め誤差から、誤差が時間方向へ運ばれる動力学へ広がる。
3. 誤差の重要度はノルムではなく出力への射影で決まる
再帰状態に誤差が残っていても、その誤差がそのまま同じ大きさでモデル出力へ現れるわけではない。状態空間には、出力が強く参照する方向と、ほとんど参照しない方向があるためである。時刻 \(t\) の状態を \(x_t\)、その状態から出力を取り出す読み出しを局所的に \(y_t=G_tx_t\) と書くと、状態誤差 \(e_t\) によって生じる出力差は、
\[
\Delta y_t
=
G_te_t
\]
となる。\(G_t\) は、状態空間の各方向が現在の出力へどのように写されるかを表す作用素である。同じノルムを持つ二つの状態誤差でも、\(G_t\) が強く読み出す方向へ向いた誤差は大きな \(\Delta y_t\) を生み、読み出し感度の低い方向へ向いた誤差は出力へほとんど現れない。
この違いは、出力誤差の二乗ノルムを取ると明示できる。
\[
\|\Delta y_t\|_2^2
=
e_t^\top G_t^\top G_t e_t
\]
ここで、
\[
H_t
=
G_t^\top G_t
\]
と置けば、状態誤差が出力へ与える影響を、
\[
\mathcal{L}_t
=
e_t^\top H_t e_t
\]
という二次形式で表せる。\(H_t\) は、状態空間のどの方向へ誤差が存在すると出力が大きく変わるかを表す感度行列として解釈できる。\(H_t\) の大きな固有値に対応する方向では小さな状態誤差でも出力誤差が大きくなり、小さな固有値に対応する方向では比較的大きな状態誤差を許容できる。
ここまでで、量子化誤差には少なくとも三つの異なる評価段階があることが分かる。最初は、その時点の量子化で生じる局所誤差 \(\varepsilon_t\) である。次に、その誤差が状態遷移 \(A_t\) を通じて将来へ残り、状態誤差 \(e_t\) を形成する。最後に、その \(e_t\) が読み出し感度 \(H_t\) によって方向別に重み付けされ、実際の出力損失へ変換される。
\[
\varepsilon_t
\;\longrightarrow\;
e_t
\;\longrightarrow\;
e_t^\top H_t e_t
\]
第一段階では量子化器そのものの精度を測り、第二段階では誤差の時間的な寿命を測り、第三段階ではモデル出力に対する実効的な影響を測る。この三つを区別すると、局所的な平均二乗誤差だけを改善しても、最終的なモデル性能が同じ割合で改善するとは限らない理由を説明できる。
| 数理対象 | 表しているもの | 量子化設計で操作できる要素 | 性能への影響 |
|---|---|---|---|
| \(\varepsilon_t\) | 時刻 \(t\) の量子化操作によって新しく発生する局所誤差である。 | 量子化器、ビット幅、尺度、外れ値処理、量子化を実行する頻度を変更できる。 | 一回ごとの誤差量と、系列全体へ新しい誤差を注入する回数を左右する。 |
| \(A_t\) | 過去の状態誤差を現在から将来へ運ぶ状態遷移である。 | 誤差の寿命を推定し、長く残る状態や成分へ高い精度を配分できる。 | 同じ局所誤差でも、短時間で減衰するか、多数の生成ステップへ残るかを決める。 |
| \(H_t\) | 現在の状態誤差が出力へ与える方向別の感度である。 | 重要な行や方向へ細かい量子化尺度を割り当てたり、座標変換によって誤差方向を変えたりできる。 | 同じ状態誤差ノルムでも、実際の出力品質へ与える影響を変える。 |
たとえば、局所誤差 \(\varepsilon_t\) が小さくても、その誤差が \(A_t\) によってほとんど減衰せず長期間保持され、さらに \(H_t\) の高感度方向へ投影されれば、最終的な影響は大きくなる。逆に、局所誤差が多少大きくても、状態遷移の中で急速に減衰し、読み出し感度の低い方向へ存在するなら、出力への影響は限定される。
この構造から、低ビット量子化で配分すべき資源も定まる。すべての状態成分へ均等なビット幅を与える方法では、短時間で消える誤差と長く残る誤差、出力に効かない方向と高感度な方向を同じ条件で扱う。状態遷移と読み出し感度を利用すれば、長く残る成分、高感度な方向、繰り返し誤差が注入される場所へ優先的に精度を割り当てられる。
2026 年 9 月に公表された LeapQuant、STEPQuant、WUSH-KV は、この共通構造の異なる部分を操作している。LeapQuant は主に \(\varepsilon_t\) の発生頻度と大きさを抑え、STEPQuant は \(A_t\) が作る誤差寿命と読み出し感度に応じて精度を配分し、WUSH-KV は \(H_t\) が強く重み付けする方向へ量子化誤差が出にくい座標系を構成する。三つの研究は、量子化器の違いというより、誤差が発生してから出力へ到達するまでのどの段階を制御するかという違いとして整理できる。
4. LeapQuant は誤差を発生させる回数を減らす
LeapQuant が対象にするのは、線形 Attention の再帰状態を低ビットで保持するときに生じる誤差の累積である[8]。再帰状態は次のトークンの計算へそのまま引き継がれるため、毎トークン状態を量子化すると、量子化済みの状態を使って更新し、その結果を再び量子化する処理が繰り返される。各時刻で生じる丸め誤差が次の状態更新へ入り、その状態へ新しい丸め誤差が追加されるため、生成系列が長くなるほど FP32 の状態軌道との差が蓄積する。
この構造を、前章までの誤差式で書くと明確になる。毎トークン量子化する場合、時刻 \(t\) の状態誤差は、
\[
e_t
=
A_te_{t-1}
+
\varepsilon_t
\]
で更新される。ここで \(A_te_{t-1}\) は過去から持ち越された誤差、\(\varepsilon_t\) は現在の量子化によって新たに注入された誤差である。量子化器を改善して \(\varepsilon_t\) を小さくする方法に加えて、\(\varepsilon_t\) が発生する時刻そのものを減らせば、系列全体で加算される量子化誤差の回数を減らせる。
LeapQuant の窓単位の量子化は、この考え方をそのまま実装する。\(p\) トークンを一つの窓として区切り、窓の開始時点にある量子化済み状態を基準とする。窓内部では各トークンによる状態更新を高い精度で保持し、更新のたびには再量子化しない。\(p\) 個の更新を蓄積した後、窓の終端で状態を一度だけ低ビット表現へ戻す。
毎トークン量子化では、\(p\) トークンの間に最大 \(p\) 回の新しい \(\varepsilon_t\) が加わる。窓単位の量子化では、同じ区間で低ビット状態へ丸め直す回数は 1 回になる。単純化すれば、量子化誤差を新たに注入する頻度は約 \(1/p\) まで下がる。誤差伝播を抑える直接原因は再量子化回数の削減であり、その効果が生じる背後構造は、窓内部の更新を量子化済み状態へ逐次書き戻さず、高精度側へ一時的に保持することにある。
LeapQuant の実験では、Qwen3.5-9B を用いた 64K トークン生成で、この差が状態誤差として現れている。16 トークン単位で量子化すると、毎トークン量子化した場合と比べて、BF16 を用いた設定では状態誤差が約 100 分の 1、INT8 では約 39 分の 1まで低下したと報告されている[8]。ここで改善しているのは各丸め処理の精度だけではなく、誤差を再帰状態へ書き込む回数そのものである。
| 操作 | 数理上の対象 | 直接的な効果 | 再帰誤差への影響 |
|---|---|---|---|
| 窓単位の量子化 | \(\varepsilon_t\) の発生時刻 | 状態を低ビットへ丸め直す回数を減らす。 | 系列全体で新しく注入される量子化誤差の回数を減らす。 |
| Compensator Token | 量子化対象となる残差 | 状態の支配的な低ランク成分を高精度側へ分離する。 | 低ビット量子化へ渡す残差の振幅を小さくし、一回ごとの \(\varepsilon_t\) を抑える。 |
| 残差平滑化 | 行ごとの動的範囲 | 一部の行だけが量子化尺度を支配する状態を緩和する。 | 限られた量子化レベルを残差行列へより均等に配分する。 |
量子化頻度を減らしても、窓末尾で量子化する状態そのものに大きな外れ値が残っていれば、一回の量子化で生じる \(\varepsilon_t\) は大きくなり得る。LeapQuant はこの部分に対して、状態の支配的な成分を低ランク表現として高精度側へ分離する。
窓末尾の状態を \(S_p\) とすると、その中からランク 1 行列で最もよく近似できる成分を、
\[
(\tilde{k},\tilde{u})
=
\operatorname*{arg\,min}_{k,u}
\|S_p-ku^\top\|_F
\]
によって求める。\(\|\cdot\|_F\) はフロベニウスノルムであり、行列の各要素の二乗和に基づいて近似誤差を測る。ここで得られる \(\tilde{k}\tilde{u}^\top\) は、状態 \(S_p\) の中で大きなエネルギーを持つランク 1 成分を表す。
この成分を Compensator Token として高い精度で保持し、低ビット化する対象を、
\[
R_p
=
S_p
–
\tilde{k}\tilde{u}^\top
\]
という残差へ変える。\(S_p\) 全体を直接量子化する場合、大きな成分に合わせて量子化尺度を広げる必要があり、その結果として小さな成分に割り当てられる有効な分解能が低下する。支配的な低ランク成分を先に取り除けば、残差 \(R_p\) の値域を狭められるため、同じビット数でも残差へより細かな量子化段階を割り当てられる。
Compensator Token を複数使う場合、この分解は、
\[
S_p
\approx
\tilde{K}\tilde{U}^\top
+
R_p
\]
という低ランク和へ拡張される。高精度で保持する \(\tilde{K}\tilde{U}^\top\) が状態の支配的な構造を受け持ち、低ビットの \(R_p\) は残りの成分を表す。すべての状態要素へ高精度を割り当てる代わりに、量子化誤差を大きくしやすい構造へ高精度表現を集中させる設計である。
残差 \(R_p\) にも、行ごとの値域の差が残る。ある行だけが大きな値を持つと、その行に合わせた量子化尺度が他の行にも影響し、小さい値を持つ行では利用できる量子化段階が粗くなる。LeapQuant は可逆な尺度変換によって行ごとの大きさを平滑化し、量子化器へ渡す残差の動的範囲を整える。変換そのものは元の状態を失わず、近似誤差は低ビット化を行う段階で生じる。
LeapQuant の三つの操作は、再帰誤差式の異なる位置へ作用する。窓単位の量子化は \(\varepsilon_t\) を加える回数を減らし、Compensator Token は量子化対象から支配的な成分を分離して一回ごとの \(\varepsilon_t\) を小さくし、残差平滑化は限られた量子化レベルを残差へ配分しやすい形へ変える。結果として、状態を均一に低ビット化するのではなく、誤差を発生させる頻度と、誤差が大きくなりやすい構造の両方を制御している。
5. STEPQuant は誤差の寿命と位置へビットを配る
STEPQuant は、再帰状態に生じる量子化誤差を、時間方向と空間方向の二つに分けて評価する[9]。時間方向では、一度生じた誤差が何ステップ先まで残るかが状態単位ごとに異なる。空間方向では、同じ大きさの状態誤差でも、どの行に存在するかによって現在の出力への影響が異なる。有限のビット予算を均等に配る代わりに、この二つの非一様性を使って、誤差の影響が大きい場所へ高い精度を割り当てる。
前章までの誤差式、
\[
e_t
=
A_te_{t-1}
+
\varepsilon_t
\]
に対応させると、STEPQuant が扱う二つの軸を整理できる。時間方向の評価は、状態遷移 \(A_t\) が過去の誤差をどれだけ長く保持するかを見る。空間方向の評価は、その誤差が読み出しを通じて現在の出力へどれだけ強く投影されるかを見る。局所的な量子化誤差 \(\varepsilon_t\) の大きさだけを測る代わりに、その後の寿命と出力感度まで精度配分へ含める構造である。
5.1 時間方向では誤差の寿命が変わる
Delta-rule 系の再帰状態では、過去の状態をどの程度残すかがゲートによって制御される。ある状態単位 \(u\) について、時刻 \(t\) の保持率を \(r_{t,u}\) とすると、時刻 \(t\) で生じた誤差が \(j\) ステップ後まで残る割合は、各時刻の保持率の積として表される。
\[
\prod_{s=1}^{j}
r_{t+s,u}
\]
保持率が毎時刻同じなら単純な指数減衰になるが、実際には入力に応じて変化する。STEPQuant は、その変動を扱いやすくするため、保持率の対数平均を、
\[
\ell_u
=
\mathbb{E}
[
\log r_{t,u}
]
\]
として要約する。積の対数は和になるため、\(j\) ステップ後の代表的な保持量を、
\[
\prod_{s=1}^{j}
r_{t+s,u}
\approx
\exp(j\ell_u)
\]
と近似できる。\(\ell_u\) が 0 に近いほど保持率は 1 に近く、過去の誤差が長く残る。負の値が大きいほど減衰が速く、古い誤差の影響は短時間で小さくなる。
量子化誤差を二乗損失として評価する場合、残存率も二乗される。評価する時間幅を \(H\) とすると、状態単位 \(u\) に一度入った誤差が将来へ残す累積的な影響を、STEPQuant は次の寿命重みで近似する。
\[
L_u
=
\sum_{j=0}^{H-1}
\exp(2j\ell_u)
\]
\(j=0\) は誤差が発生した直後、\(j=1\) は 1 ステップ後、それ以降はさらに先の時刻を表す。保持率が低ければ各項は急速に小さくなり、\(L_u\) も小さくなる。保持率が高ければ多数の項が大きな値を保つため、\(L_u\) は大きくなる。つまり \(L_u\) は、その状態単位へ入った量子化誤差を何ステップ分まで重く評価する必要があるかを一つの数値へまとめた指標である。
この寿命をビット配分へ直接使う。状態単位 \(u\) を \(b\) ビットで量子化したときの局所的な再構成歪みを \(d_u(b)\)、その単位が持つ状態要素数を \(n_u\)、利用可能な平均ビット数を \(\bar{b}\) とすると、配分問題は、
\[
\min_{\{b_u\}}
\sum_u
L_ud_u(b_u)
\]
という目的関数と、
\[
\sum_u
n_ub_u
\leq
\bar{b}
\sum_u
n_u
\]
というビット予算制約の組み合わせとして書ける。\(d_u(b)\) は現在の量子化によって生じる歪み、\(L_u\) はその歪みが将来へ残る時間的な重みである。同じ量子化歪みを持つ二つの状態単位でも、\(L_u\) が大きい方へ高いビット幅を割り当てれば、系列全体へ残る累積誤差をより大きく減らせる。
| 量 | 表しているもの | 値が大きい場合の意味 | ビット配分への作用 |
|---|---|---|---|
| \(r_{t,u}\) | 時刻 \(t\) で状態単位 \(u\) をどれだけ保持するかを表す。 | 現在の状態と、その中に含まれる過去の誤差が強く残る。 | 高い保持率が継続する単位ほど精度を保つ価値が高くなる。 |
| \(\ell_u\) | 保持率の時間的な傾向を対数平均としてまとめた値である。 | 0 に近いほど減衰が遅く、誤差寿命が長い。 | 将来まで残る誤差量を指数関数として近似するために使う。 |
| \(L_u\) | 有限期間 \(H\) にわたる二乗誤差の累積的な寿命を表す。 | 一度生じた誤差が多数の生成ステップへ影響する。 | 局所歪み \(d_u(b)\) を重み付けし、高いビット幅を優先する。 |
このモデルが必要になるのは、局所的な量子化歪みだけでは状態の重要度を識別できないためである。ある単位では INT6 にした直後の誤差が多少大きくても数ステップで消える一方、別の単位では同程度の誤差が長期間保持される。後者では、各生成ステップでその誤差を含む状態が再利用されるため、一回の量子化誤差が多数の出力計算へ参加する。
論文では、この時間構造が実測値とも対応している。Qwen3.8-27B において、ゲートから推定した半減期と、INT6 量子化で観測した累積状態誤差との Spearman 順位相関係数が約 0.80 と報告されている[9]。保持時間が長い状態ほど量子化誤差も累積しやすいという関係が、単なるモデル上の仮定だけでなく実測された順位関係にも現れている。
5.2 空間方向では出力への感度が変わる
時間方向の寿命だけでは、同じ時刻に存在する状態行どうしの重要度差は表せない。STEPQuant は、この差を現在の読み出しに対する感度から評価する。状態誤差行列を \(E_{t-1}\)、現在のクエリを \(q_t\)、状態遷移を \(A_t\) とすると、誤差が読み出しへ与える影響は、
\[
\Delta y_t
=
E_{t-1}^{\top}
A_t^\top q_t
\]
と表せる。ここで、
\[
g_t
=
A_t^\top q_t
\]
と置けば、
\[
\Delta y_t
=
E_{t-1}^{\top}g_t
\]
となる。\(g_{t,i}\) は、状態誤差行列の第 \(i\) 行に存在する誤差が、現在の出力へどの程度強く投影されるかを表す係数として読める。絶対値が大きい行ほど、同じ大きさの量子化誤差でも出力への影響が大きい。
一つのトークンだけでは \(g_t\) が入力内容に依存するため、STEPQuant は校正データ上でその二乗平均を取り、行ごとの影響度を、
\[
\omega_i
=
\mathbb{E}_{\mathrm{cal}}
[
g_{t,i}^2
]
\]
と定義する。二乗することで符号を消し、出力へ与える影響の大きさを評価する。\(\omega_i\) が大きい行では、量子化誤差が現在の読み出しへ強く現れやすく、小さい行では同程度の誤差を許容しやすい。
論文では、この感度指標と実際のモデル性能の対応も検証している。影響度 \(\omega_i\) の高い行を選んで INT4 に量子化した場合ほどパープレキシティの悪化が大きく、低い行を量子化した場合には影響が小さい傾向が報告されている[9]。状態行の量子化しやすさが、その行の値域だけでなく、読み出し側から見た重要度にも依存することを示している。
STEPQuant は、この空間的な感度を量子化尺度の推定にも使う。再帰状態 \(X\) には、行方向と列方向の両方に値域の偏りがあるため、再構成値を、
\[
\hat{X}_{ij}
=
r_ic_jz_{ij}
\]
と表す。\(r_i\) は行方向の尺度、\(c_j\) は列方向の尺度、\(z_{ij}\) は低ビット整数である。一つの尺度だけで行列全体を表す場合、大きな値を持つ一部の行や列が量子化範囲を支配し、他の成分で利用できる分解能が低下する。行と列を分けて尺度を持たせることで、この二方向の偏りをそれぞれ補正できる。
さらに尺度の推定では、すべての再構成誤差を同じ重みで評価する代わりに、読み出し感度を反映した重み付き目的関数を使う。
\[
\min_{\{c_j>0\}}
\sum_{i,j}
w_i^2
\left(
X_{ij}
–
r_ic_jz_{ij}
\right)^2
\]
\(w_i\) は行 \(i\) の重要度を反映する重みである。高感度な行では同じ数値誤差にも大きな損失を与え、低感度な行では相対的に大きな誤差を許容する。目的関数そのものを、値の一様な再構成から、読み出しへの影響を考慮した再構成へ変えている。
| 評価軸 | 基準となる量 | 大きい場合に意味すること | 精度配分 |
|---|---|---|---|
| 時間方向 | \(L_u\) | 一度の量子化誤差が多数の将来ステップへ残る。 | 長寿命の状態単位へ高いビット幅を割り当てる。 |
| 空間方向 | \(\omega_i\) | 状態行の誤差が現在の出力へ強く投影される。 | 高感度な行の再構成誤差へ大きな重みを与える。 |
| 値域 | \(r_i,c_j\) | 行方向または列方向に量子化しにくい尺度差がある。 | 二軸の尺度を使って限られた量子化段階を各成分へ合わせる。 |
LeapQuant が主として新しい量子化誤差 \(\varepsilon_t\) を注入する回数と一回ごとの誤差量を抑えるのに対し、STEPQuant は注入された誤差がその後どう扱われるかを評価する。時間方向では状態遷移による誤差寿命を \(L_u\) として近似し、空間方向では読み出しへの影響を \(\omega_i\) として測る。その上で、平均ビット数という同じ予算の中でも、長く残る状態と出力へ強く効く行へ精度を集中させる。
この設計では、量子化の単位ごとに「何ビット必要か」という問いの意味が変わる。局所的な再構成誤差が小さいだけでは十分な基準にならず、その誤差が何ステップ残り、どの出力へどれだけ強く現れるかまで含めてビットの価値を評価する。STEPQuant は、再帰状態の低ビット化を、均一な数値表現から時間的寿命と空間的感度に応じた精度予算の配分問題へ変えている。
6. WUSH-KV は量子化する座標系そのものを変える
LeapQuant と STEPQuant が線形 Attention の再帰状態を対象にするのに対し、WUSH-KV は通常の Attention が過去のキーとバリューを保持する KV キャッシュを低ビット化する[10]。KV キャッシュでは、保存したベクトルが後続トークンの Attention 計算へ繰り返し使われるため、量子化誤差の影響は再構成値そのものの差だけでは決まらない。どの方向へ誤差が生じ、その方向を後続の Attention がどれだけ強く利用するかによって、同じ誤差ノルムでも出力への影響が変わる。
WUSH-KV が操作するのは、この誤差が発生する座標系である。量子化対象の行列を \(X\)、可逆変換を \(T\)、量子化器を \(Q\) とすると、まず \(X\) を \(TX\) へ変換してから量子化し、利用時に \(T^{-1}\) で元の座標系へ戻す。最終的な再構成誤差は、
\[
\varepsilon
=
T^{-1}Q(TX)-X
\]
となる。量子化を挟まず \(T^{-1}TX\) とすれば元の \(X\) に戻るため、可逆変換そのものは情報を失わない。近似誤差を発生させるのは \(Q(TX)\) であり、\(T\) の役割は、量子化器へ入力される値の分布と、量子化後の誤差が元の座標系へ戻ったときの方向を同時に変えることである。
変換後の座標で生じた量子化誤差を、
\[
\delta
=
Q(TX)-TX
\]
と置けば、元の座標系に戻した誤差は、
\[
\varepsilon
=
T^{-1}\delta
\]
と書ける。同じ量子化器が同じ大きさの \(\delta\) を生じさせても、\(T^{-1}\) によって元の空間へ戻す方向が変われば、後続計算へ与える影響も変わる。WUSH-KV は、量子化前の値を均等に整えるだけでなく、量子化誤差をどの方向へ配置するかまで変換 \(T\) の設計対象に含める。
この変換を決める一方の情報が、量子化対象そのものの統計である。校正データから得た行列 \(X\) に対して、WUSH-KV は、
\[
M
=
XX^\top
\]
というグラム行列を使う[10]。\(M\) の対角成分は各方向の大きさに関係し、非対角成分は方向どうしの相関を含む。大きな固有値に対応する方向にはデータが強く広がり、小さな固有値に対応する方向では変動が小さい。量子化器から見れば、\(M\) は限られた量子化段階をどのような分布へ割り当てる必要があるかを表す。
もう一方の情報が、後続計算の感度である。ある量子化誤差 \(\varepsilon_j\) が後続演算へ与える局所的な損失を二次近似すると、
\[
\ell
=
\frac{1}{2}
\sum_j
\varepsilon_j^\top H\varepsilon_j
\]
と表せる。\(H\) はヘッセ行列に相当する感度行列であり、誤差の方向ごとに損失への寄与を変える。単純な二乗誤差 \(\|\varepsilon_j\|_2^2\) は全方向を同じ重みで評価するのに対し、\(H\) を含む二次形式では、高感度な方向の誤差へ大きな損失が割り当てられる。
ここへ \(\varepsilon_j=T^{-1}\delta_j\) を代入すると、変換後の座標で生じた誤差 \(\delta_j\) に対する損失は、
\[
\ell
=
\frac{1}{2}
\sum_j
\delta_j^\top
T^{-\top}
H
T^{-1}
\delta_j
\]
となる。この式では、変換 \(T\) が二つの役割を持つことが明確になる。第一に、量子化器が受け取る \(TX\) の分布を変え、どの方向で大きな丸め誤差が発生しやすいかを変える。第二に、変換後に生じた \(\delta_j\) を元の空間へ戻したとき、感度行列 \(H\) からどれだけ重く評価される方向へ配置されるかを変える。
| 数理対象 | 表しているもの | 変換 \(T\) が作用する部分 | 量子化設計上の意味 |
|---|---|---|---|
| \(M=XX^\top\) | 校正データ上で量子化対象がどの方向へ広がっているかを表す。 | \(TX\) の分布を変え、量子化器へ入力される各方向の値域と相関を変える。 | データが集中する方向だけに量子化範囲が支配される状態を緩和できる。 |
| \(H\) | 量子化誤差の各方向が後続計算の損失へどれだけ影響するかを表す。 | \(T^{-\top}HT^{-1}\) を通じて、変換後の誤差に対する実効的な感度を変える。 | 出力へ強く影響する方向へ量子化誤差が集中することを避けられる。 |
| \(\delta=Q(TX)-TX\) | 変換後の座標系で量子化器が直接生じさせる誤差である。 | \(TX\) の分布が変わることで、誤差の大きさと方向が変化する。 | 同じ量子化器とビット幅でも、座標系によって得られる誤差構造が変わる。 |
| \(\varepsilon=T^{-1}\delta\) | 元の座標系へ戻した後に実際の計算へ入る誤差である。 | \(T^{-1}\) が変換座標の誤差を元の空間の各方向へ写す。 | 最終的にどの感度方向へ誤差が配置されるかを制御できる。 |
元の WUSH は、このデータ統計 \(M\) と損失感度 \(H\) の両方を利用して、量子化に適した可逆変換を構成する[11]。データ側だけを見る変換なら、値の分布を均し、量子化器にとって扱いやすい座標系を作れる。しかし、その方向が後続計算にとって重要かどうかまでは判断できない。感度側だけを見ても、実際のデータがその方向にどれだけ広がっているかが分からない。WUSH は二つを同時に扱うことで、量子化誤差が発生しやすい方向と、発生すると損失が大きい方向の組み合わせを変換設計へ反映する。
WUSH-KV では、この考え方をキーとバリューへ別々に適用する[10]。Attention ではキーとバリューの役割が異なる。キーの誤差はクエリとの内積を通じて Attention の重みの計算へ影響し、その変化が複数のバリューの重み付けへ波及する。バリューの誤差は、計算された Attention の重みによって重み付けされ、出力へ直接加算される。そのため、両者ではデータ統計だけでなく、誤差が出力へ到達する経路も異なる。WUSH-KV はキーとバリューについて別々にグラム行列と感度行列を集計し、それぞれの計算経路に対応する変換を校正データから構成する。
この設計は、第 3 章で用いた \(e^\top He\) という感度付き誤差の考え方を、量子化前の座標変換まで遡って利用している。STEPQuant が高感度な状態行へ多くの精度を配る方法だとすれば、WUSH-KV は高感度方向へ誤差が発生しにくいよう、量子化器へ渡す基底そのものを変更する方法と整理できる。
WUSH-KV の理論解析では、QuEST で用いられる整数量子化器を対象に、加法的な丸め雑音モデル、正規化後の分布の裾、クリッピング誤差などに条件を置いた上で、WUSH 変換の近最適性を評価している[12]。この結果が保証するのは、定理で設定された量子化モデルと分布条件に対する変換の性質である。
一方、WUSH-KV の主要なエンドツーエンド評価では、OSCAR で用いられる分位点クリッピング型の 2 ビット量子化器と WUSH 変換を組み合わせている[13]。そのため、理論解析と最終的な生成性能には異なる評価範囲がある。前者は定められた量子化モデルの下で変換を評価し、後者は実際のモデルへ組み込んだときの経験的な性能を測る。2 ビット KV キャッシュで得られた個々のベンチマーク結果を、近最適性の定理そのものから導く関係にはなっていない。
座標変換を使って量子化誤差を整える発想には先行する系統がある。QuaRot は直交回転によって活性値や KV キャッシュの外れ値を複数の座標へ分散させ、少数の大きな成分が量子化尺度を支配する状態を緩和する[14]。直交変換ではノルムを保ったまま成分の配置を変えられるため、モデルの等価性を維持しながら量子化しやすい表現へ移せる。
SpinQuant は、同じ機能を保つ回転の中にも量子化後の性能差があることを利用し、回転行列自体を学習する[15]。固定されたアダマール系の回転を使うだけでなく、実際の量子化損失に適した方向を探索することで、座標系の選択を最適化対象へ含める。
| 方式 | 変換の決め方 | 利用する構造 | 誤差制御の中心 |
|---|---|---|---|
| QuaRot | 所定の直交回転を利用する。 | 回転によって外れ値を座標間へ分散できる性質を利用する。 | 少数成分が動的範囲を支配する状態を緩和し、量子化器へ入力する値域を整える。 |
| SpinQuant | 量子化後の性能を目的として回転を学習する。 | 機能的に等価な回転の間にも量子化誤差の差が生じることを利用する。 | 利用可能な回転の中から量子化に適した座標系を探索する。 |
| WUSH-KV | 校正データから得た \(M\) と後続計算の感度 \(H\) を用いて可逆変換を構成する。 | 量子化対象の分布と、誤差が出力へ与える方向別の影響を同時に利用する。 | 量子化誤差が発生する分布と、元の空間へ戻した誤差の方向を同時に調整する。 |
LeapQuant、STEPQuant、WUSH-KV の違いは、同じ誤差伝播問題のどこへ介入するかに現れる。LeapQuant は新しい量子化誤差を状態へ書き込む頻度と一回ごとの誤差量を減らす。STEPQuant は発生した誤差の寿命と読み出し感度を測り、精度予算を非均一に配る。WUSH-KV はさらに量子化以前へ遡り、データ分布と後続計算の感度に合わせて座標系を変える。同じビット幅と同じ量子化器でも結果が変わる理由を、誤差量だけでなく誤差方向の設計として説明できる。
7. 三つの手法は同じ誤差予算問題の異なる変数を操作している
LeapQuant、STEPQuant、WUSH-KV は、対象と実装方法が異なる。LeapQuant と STEPQuant は再帰状態を量子化し、WUSH-KV は KV キャッシュを量子化する。しかし、三つを誤差の発生、伝播、出力への影響という順序で見ると、有限の精度予算をどこへ使うかという共通の問題として整理できる。
再帰状態については、局所的な量子化誤差を \(\varepsilon_t\)、時刻 \(t\) までに蓄積した状態誤差を \(e_t\)、状態遷移を \(A_t\) とすると、
\[
e_t
=
A_te_{t-1}
+
\varepsilon_t
\]
と書ける。ここで \(\varepsilon_t\) を小さくするだけでは、系列全体の影響は決まらない。過去の誤差が \(A_t\) を通じてどれだけ残るかによって、同じ局所誤差でも現在の \(e_t\) への寄与が変わる。さらに、状態誤差が実際の出力へ与える影響を感度行列 \(H_t\) で表せば、その時点の損失は、
\[
\mathcal{L}_t
\approx
e_t^\top H_te_t
\]
という二次形式で評価できる。誤差が長く残る方向と、出力が敏感な方向が重なれば、小さな局所誤差でも大きな影響を持つ。反対に、局所的には大きな誤差でも、急速に減衰し、読み出し感度の低い方向へ存在すれば、最終的な影響は小さくなり得る。
この関係を系列全体へ広げると、概念的な目的は、
\[
\min
\sum_t
e_t^\top H_te_t
\]
と表せる。ただし、量子化では損失だけを自由に小さくできるわけではない。ビット数を増やせば誤差は減らしやすくなるが、保存量とメモリ転送量が増える。状態の一部を FP16 や BF16 で保持すれば精度を守りやすいが、高精度領域が大きくなれば圧縮率が下がる。複雑な校正や変換を加えれば誤差を減らせても、量子化処理や実行時処理のコストが増える。
そのため、実際の設計では量子化器 \(Q\)、座標変換 \(T\)、各部分へ割り当てるビット幅 \(b\)、高精度で保護する部分集合 \(\mathcal{S}\) などを、限られた資源の下で選ぶことになる。局所誤差自体もこれらの選択に依存するため、
\[
\varepsilon_t
=
\varepsilon_t(Q,T,b,\mathcal{S})
\]
と考えれば、統一した問題は概念的に、
\[
\min_{Q,T,b,\mathcal{S}}
\sum_t
e_t^\top H_te_t
\]
という形で表せる。ここにはさらに、平均ビット数、メモリ使用量、転送量、計算量、高精度要素数、校正コストなどの制約が付く。三つの研究はこの最適化問題をそのまま共同で定式化しているわけではないが、それぞれが異なる設計変数を操作していると見ることで、手法間の関係を同じ座標上に置ける。
| 研究 | 主な設計変数 | 直接操作する誤差構造 | 有限予算の使い方 |
|---|---|---|---|
| LeapQuant | 量子化時刻、高精度の低ランク成分、残差尺度 | 新しい \(\varepsilon_t\) を発生させる頻度と、一回ごとの局所誤差を小さくする。 | 毎時刻へ均等に量子化処理を適用せず、窓境界と支配的な低ランク成分へ精度を集中する。 |
| STEPQuant | 単位ごとのビット幅、FP16 ピボット、行列の二軸尺度 | \(A_t\) が作る誤差寿命と、読み出し感度が高い状態行の誤差を重く扱う。 | 同じ平均ビット数の中で、長く残る状態と出力へ強く影響する場所へ高い精度を配る。 |
| WUSH-KV | 量子化前の可逆変換 \(T\) | 量子化器が誤差を生じる座標と、元の空間へ戻した誤差の方向を変える。 | 同じビット幅でも、データ分布と下流感度に合わせた座標系を使い、高感度方向の誤差を抑える。 |
LeapQuant が変えるのは、主として誤差を発生させる時刻である。毎トークン新しい \(\varepsilon_t\) を加える代わりに、窓内部では高精度更新を保持し、窓境界でだけ再量子化する。さらに Compensator Token へ支配的な低ランク成分を逃がすことで、低ビット化する残差の動的範囲を狭める。有限の高精度領域を、量子化誤差を大きくしやすい成分へ集中させる設計と読める。
STEPQuant は、誤差を発生させた後の伝播構造を精度配分へ使う。状態単位ごとの寿命重み \(L_u\) は、同じ局所歪みが将来へ何ステップ分残るかを区別する。行ごとの影響度 \(\omega_i\) は、同じ状態誤差が出力へどれだけ強く投影されるかを区別する。平均ビット数という制約を固定したまま、すべての状態へ同じ精度を配る方法から、誤差の将来的な損失が大きい場所へビットを移す方法へ変えている。
WUSH-KV はさらに量子化以前へ遡り、誤差が発生する座標そのものを変える。データ統計を表す Gram 行列 \(M\) と、下流演算の感度を表す \(H\) を使って変換 \(T\) を構成し、同じ低ビット量子化器でも高感度方向へ有害な誤差が出にくい表現を作る。ここでは高精度要素を増やすことより、既存の量子化段階をどの方向へ割り当てるかが設計変数になる。
この考え方は、三つの研究だけに現れたものではない。LLM の学習後量子化では、すでに「すべての数値を同じ条件で量子化する」という設計から、量子化誤差の影響に応じて処理を変える方向へ発展してきた。
GPTQ は近似的な二次情報を用いて重みを逐次量子化し、ある重みを丸めた影響を残りの重みで補償する[16]。単純に各重みの数値差を独立に小さくするより、層の入力を通した出力誤差を抑える構造を持つ。ここでも量子化対象そのものの距離より、後続計算へ現れる影響が評価基準に入っている。
SmoothQuant は、活性値の外れ値が低ビット化を難しくすることに対して、数学的に等価な尺度変換によって量子化の難しさを活性値側から重み側へ移す[17]。元の浮動小数点計算が表す関数を維持したまま、どちらのテンソルに大きな動的範囲を持たせるかを変更するため、量子化誤差を生じやすい場所を変換によって移動する方法と位置付けられる。
AWQ は活性値の統計から重要な重みチャネルを特定し、それらのチャネルの尺度を調整して量子化誤差を抑える[18]。すべての重みを同じ重要度として扱う代わりに、実際の活性値と組み合わせたときに出力へ大きく寄与するチャネルを優先して保護する。STEPQuant が再帰状態の行ごとに読み出し感度を使う構造と、対象は異なっても同じ資源配分の考え方が見える。
KV キャッシュ量子化でも、統計構造に応じて処理単位を変える方法が使われている。KIVI はキーとバリュー の値分布を調べ、キーはチャネル単位、バリューは token 単位で量子化する構成を採る[19]。同じ KV キャッシュでも、キーとバリュー の統計的な異方性が異なるため、一つの量子化軸を両方へ適用するより、それぞれに適した方向で尺度を持たせる。
KVQuant は、量子化しにくい外れ値を別に扱いながら低ビット表現を構成する[20]。GEAR は大部分の要素を低ビット量子化した後、その残差を低ランク行列で近似し、さらに個別の大きな残差を疎成分で補償する[21]。誤差を一種類の表現で均一に削減する代わりに、量子化しやすい成分、低ランクで説明できる残差、少数の外れた残差へ別々の表現を割り当てる。
重み量子化の SpQR も、特に大きな量子化誤差を生じさせる外れ値となる重みを識別し、それらだけを高い精度で保存し、残りの大部分を低ビット化する[22]。全パラメータを同じビット幅で扱う代わりに、量子化誤差への寄与が大きい少数要素へ高精度表現を集中させる方法である。
| 設計原理 | 代表例 | 均一量子化から変更するもの | 誤差予算としての解釈 |
|---|---|---|---|
| 出力への影響を使う | GPTQ、AWQ、STEPQuant | 値そのものの誤差だけでなく、後続計算に対する重要度を評価する。 | 同じ数値誤差でも損失が大きい場所へ多くの精度を使う。 |
| 量子化しやすい表現へ変換する | SmoothQuant、WUSH-KV | 量子化前の尺度や座標系を変更する。 | 固定されたビット数を、誤差が生じにくい表現空間で利用する。 |
| 統計構造に応じて量子化単位を変える | KIVI | テンソル全体へ共通の量子化軸を適用せず、対象ごとに尺度の方向を変える。 | 値域の偏りが小さくなる単位で量子化段階を使う。 |
| 高影響成分を別表現へ逃がす | LeapQuant、GEAR、SpQR、KVQuant | 低ビット表現だけで全成分を近似せず、低ランク成分、外れ値、高精度成分を分離する。 | 高価な表現を誤差寄与の大きい少数成分へ集中する。 |
これらの方法を並べると、低ビット量子化における設計自由度が一つの軸に限られないことが分かる。ビット幅を変えるだけでなく、量子化する時刻、量子化単位、尺度、座標系、高精度で残す成分、残差の補償方法を変えられる。それぞれの操作は、有限の保存量と計算量の中で、どの誤差を許容し、どの誤差を抑えるかを決めている。
量子化をこのような誤差予算問題として捉えると、「4 ビットか 8 ビットか」という比較だけでは設計を十分に表せない。同じ平均ビット数でも、短時間で消える状態に 4 ビットを使い、長く残る状態へ 8 ビットを使う構成がある。同じ 2 ビットでも、高感度方向の誤差を避ける座標変換を先に適用できる。大部分を低ビットにしながら、少数の支配的な成分だけを高精度で残すこともできる。
有限の精度をどこへ配るかという観点では、ビット数は制約条件の一つであり、最終的な目的は計算結果へ残る損失をその制約内で小さくすることにある。LeapQuant、STEPQuant、WUSH-KV は、その目的に対してそれぞれ時間、寿命と感度、座標という異なる自由度を使う。低ビット量子化は、数値表現の幅を一律に縮める処理から、誤差が発生し、伝播し、出力へ到達する経路へ精度を配分する最適化問題へ広がっている。
8. 低精度計算では誤差量より誤差の行き先を見る
LeapQuant、STEPQuant、WUSH-KV を同じ誤差モデルへ置くと、低ビット量子化で評価すべき対象を三つに分けられる。第一は、その時点の量子化操作によって新しく生じる局所誤差 \(\varepsilon_t\) である。第二は、その誤差が状態遷移 \(A_t\) を通じて将来へ運ばれた結果として蓄積する状態誤差 \(e_t\) である。第三は、蓄積した誤差が出力感度 \(H_t\) によって方向別に重み付けされた最終的な影響である。
\[
e_t
=
A_te_{t-1}
+
\varepsilon_t
\]
という状態誤差の更新と、
\[
\mathcal{L}_t
\approx
e_t^\top H_te_t
\]
という感度付き損失を組み合わせると、局所的な量子化誤差だけでは最終性能を決められない理由が分かる。小さな \(\varepsilon_t\) でも、\(A_t\) によって長時間保持されれば多数の生成ステップへ残る。その誤差がさらに \(H_t\) の高感度方向へ存在すれば、状態空間でのノルム以上に大きな出力損失を生む。反対に、比較的大きな局所誤差でも、短時間で減衰し、出力感度の低い方向へ配置されるなら、最終的な影響は限定される。
この構造から見ると、三つの研究が採る方法の違いも明確になる。LeapQuant は新しい \(\varepsilon_t\) を発生させる回数を減らし、一回ごとの誤差も低ランク分離と残差平滑化によって抑える。STEPQuant は \(A_t\) が作る誤差の寿命と、読み出し側の感度を測り、有限のビット予算を長寿命・高感度な場所へ集中させる。WUSH-KV はさらに量子化前へ遡り、データ分布と下流感度から座標変換を構成して、高感度方向へ量子化誤差が出にくい状態を作る。
| 評価段階 | 中心となる量 | 誤差が大きくなる条件 | 対応する制御方法 |
|---|---|---|---|
| 誤差の発生 | \(\varepsilon_t\) | 量子化頻度が高い、値域が広い、外れ値が量子化尺度を支配する。 | 量子化回数を減らし、支配的な成分を高精度側へ分離し、尺度を調整する。 |
| 誤差の伝播 | \(A_t\) | 状態遷移が過去の誤差を長時間保持する。 | 誤差寿命を測り、長く残る状態へ高いビット幅を割り当てる。 |
| 出力への影響 | \(H_t\) | 誤差が読み出し感度の高い方向へ存在する。 | 高感度成分を高精度化し、座標変換によって誤差方向を調整する。 |
ただし、この共通モデルは三つの研究の保証範囲まで同一にするものではない。LeapQuant の窓単位の量子化が量子化頻度を減らせるのは、窓内部の更新を高い精度で一時保持するためである。量子化誤差の注入回数を減らす代わりに、高精度な補助状態と窓単位の更新処理を使っている。
STEPQuant の寿命重み \(L_u\) も、実際の再帰状態の将来挙動を完全に解く量ではない。保持ゲートから得た平均的な減衰率を使い、有限期間における誤差寿命を指数減衰として近似する。行ごとの影響度 \(\omega_i\) も校正データ上の読み出しから推定した値であり、推論中のすべての入力系列に対して同じ感度が厳密に成立することを意味しない。STEPQuant は、この近似でも量子化精度の配分に利用できる程度の構造が再帰状態に存在することを実験で示している。
WUSH-KV では、理論保証とエンドツーエンド評価の境界をさらに明確に分ける必要がある。近最適性の解析は、QuEST 型の整数量子化器、加法的な丸め雑音、分布の裾やクリッピング誤差に関する条件の下で導かれている。一方、主要な 2 ビット KV キャッシュの実験では OSCAR 型の分位点クリッピング量子化器を用いている。理論が保証する対象は変換の特定条件下での性質であり、個々の生成ベンチマーク得点を定理から直接導いているわけではない。
この区別は、局所的な量子化指標とモデル全体の性能を分けて読む上でも重要である。WUSH-KV の追加評価では、QuEST が局所的な \(L_2\) 量子化誤差では小さい値を示す一方、エンドツーエンドの生成課題では OSCAR 型量子化器の方が高い得点を示したと報告されている[10]。量子化対象の値をどれだけ正確に復元したかという尺度と、その誤差が自回帰生成を通じて最終出力へ与えた影響は、一対一には対応しない。
この結果は、平均二乗誤差が不要であることを意味しない。平均二乗誤差は量子化器そのものの再構成精度を測る基礎的な尺度であり、値域、尺度、ビット幅の違いを比較するには有用である。その値からモデル性能までを評価するには、誤差が通過する計算経路を追加で考える必要がある。再帰状態なら状態遷移、KV キャッシュなら Attention の読み出し構造、重み量子化なら後続層の入力分布が、その経路を決める。
低精度計算で守る対象も、この経路に応じて変わる。長く残る状態には多くのビットを割り当てる。出力感度が高い行や方向では再構成誤差を小さくする。低ビット量子化の値域を大きく広げる少数の成分は、高精度表現や低ランク表現へ分離する。量子化誤差が高感度方向へ集中するなら、量子化前の座標系を変える。有限の精度を一様に配る代わりに、計算結果への寄与に応じて配置を変えることが、三つの研究に共通する設計原理である。
量子化そのものは、連続的あるいは高精度な値を有限個の代表値へ写す操作である。しかし、その操作を LLM の内部計算へ組み込むと、失われた情報の価値は量子化した時点だけでは決まらない。再帰状態では誤差が未来の状態へ運ばれ、KV キャッシュでは誤差が Attention を通じて後続トークンの出力へ作用する。量子化器が作った誤差は、その後の計算構造によって減衰、保持、再配分される。
低ビット化の設計で問うべきなのは、誤差を一律に何分の一へ減らせるかという量だけではない。どの誤差なら短時間で消え、どの誤差が長く残り、どの方向の誤差が出力へ大きく作用するかを見分けることが必要になる。LeapQuant、STEPQuant、WUSH-KV がそれぞれ量子化頻度、誤差寿命と感度、座標変換を操作しているのは、この区別を異なる位置から利用しているためである。
有限のビット数でモデルの内部状態を表現する以上、すべての数値を元と同じ精度で残すことはできない。そこで必要になるのは、誤差を単純に減らすことより、どこへ誤差を許容し、どこへ精度を残すかを計算構造から決めることである。低精度計算における精度設計は、数値の保存量を決める問題から、誤差が通る経路に沿って有限の精度予算を配置する問題へ変わっている。
参考文献
- id774, 量子化について詳しく解説する(2026-08-07). https://blog.id774.net/entry/2026/08/07/5472/
- id774, 三値 LLM の圧縮は保存量と復号処理の配置問題になる(2026-09-25). https://blog.id774.net/entry/2026/09/25/5710/
- R. M. Gray and D. L. Neuhoff, Quantization, IEEE Transactions on Information Theory, 1998. https://doi.org/10.1109/18.720541
- Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM, 2002. https://epubs.siam.org/doi/book/10.1137/1.9780898718027
- Samuel Williams, Andrew Waterman, David Patterson, Roofline: An Insightful Visual Performance Model for Multicore Architectures, 2009. https://doi.org/10.1145/1498765.1498785
- Songlin Yang, Jan Kautz, Ali Hatamizadeh, Gated Delta Networks: Improving Mamba2 with Delta Rule, 2024. https://arxiv.org/abs/2412.06464
- Kimi Team et al., Kimi Linear: An Expressive, Efficient Attention Architecture, 2025. https://arxiv.org/abs/2510.26692
- Yi Pan et al., LeapQuant: Efficient Linear Attention with Accurate Recurrent State Quantization, 2026. https://arxiv.org/abs/2609.38166v1
- Bingchen Yao et al., STEPQuant: When and Where Errors Matter in Delta-Rule Recurrent State Quantization, 2026. https://arxiv.org/abs/2609.38169v1
- Jiale Chen et al., WUSH-KV: KV Cache Quantization with Data-Adaptive Transforms, 2026. https://arxiv.org/abs/2609.38121v1
- Jiale Chen et al., WUSH: Near-Optimal Adaptive Transforms for LLM Quantization, 2025. https://arxiv.org/abs/2512.00956
- Andrei Panferov et al., QuEST: Stable Training of LLMs with 1-Bit Weights and Activations, 2025. https://arxiv.org/abs/2502.05003
- Zhongzhu Zhou et al., OSCAR: Offline Spectral Covariance-Aware Rotation for 2-bit KV Cache Quantization, 2026. https://arxiv.org/abs/2605.17757
- Saleh Ashkboos et al., QuaRot: Outlier-Free 4-Bit Inference in Rotated LLMs, 2024. https://arxiv.org/abs/2404.00456
- Zechun Liu et al., SpinQuant: LLM Quantization with Learned Rotations, 2024. https://arxiv.org/abs/2405.16406
- Elias Frantar et al., GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers, 2022. https://arxiv.org/abs/2210.17323
- Guangxuan Xiao et al., SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models, 2022. https://arxiv.org/abs/2211.10438
- Ji Lin et al., AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration, 2023. https://arxiv.org/abs/2306.00978
- Zirui Liu et al., KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache, 2024. https://arxiv.org/abs/2402.02750
- Coleman Hooper et al., KVQuant: Towards 10 Million Context Length LLM Inference with KV Cache Quantization, 2024. https://arxiv.org/abs/2401.18079
- Hao Kang et al., GEAR: An Efficient KV Cache Compression Recipe for Near-Lossless Generative Inference of LLM, 2024. https://arxiv.org/abs/2403.05527
- Tim Dettmers et al., SpQR: A Sparse-Quantized Representation for Near-Lossless LLM Weight Compression, 2023. https://arxiv.org/abs/2306.03078