| ちょっとばかげて聞こえるけど、私は Clifford 幾何代数のベクトル量子化(Clifford Algebra Vector Quantization)で、cuda + metal シェーダーの両方で動く形として turboquant を再構想し、再発明しました。— https://github.com/tonbistudio/turboquant-pytorch/pull/4 https://github.com/TheTom/turboquant_plus/pull/34 考え方: d×d のランダム直交行列 Π を、Cl(3,0) の Clifford ロトールで置き換えます。密な行列積(d=128 のとき 16,384 回の FMA)を行う代わりに、ベクトルを 3 次元ごとに塊(チャンク)にして、4 パラメータのロトールをサンドイッチ積 RvR̃(合計で約 100 回の FMA)で各塊を回転させます。 Qwen2.5-3B-Instruct の KV キャッシュでの結果: - コサイン類似度:0.990(TurboQuant の 0.991 に対して)— 実質的に同一 重要な洞察:純粋なベクトルに対しては、ロトールのサンドイッチは疎な 3×3 回転に等価です。フューズドカーネルはすべてをレジスタ内に保持し、メモリへの往復がないため、TurboQuant の行列積が高度に最適化されているにもかかわらず BLAS GEMM に勝てます。 トレードオフは、ランダムな単位ベクトルに対する合成 MSE が高くなることです(ブロック対角の回転は厳密なベータ分布を誘導しません)。ただし QJL 補正を使えば、実モデルでの注意(attention)の忠実度は同一で、場合によっては top-1/top-5 のリトリーバルがより良くなります。 論文:https://www.scrya.com/rotorquant/ [リンク] [コメント] |
RotorQuant:Cliffordロトールによるターボ量子化(TurboQuant)の10〜19倍高速な代替(44倍少ないパラメータ)
Reddit r/LocalLLaMA / 2026/3/26
💬 オピニオンSignals & Early TrendsIdeas & Deep AnalysisTools & Practical UsageModels & Research
要点
- RotorQuantは、TurboQuantの密なランダム直交行列を、Clifford代数(Cl(3,0))のロトールで置き換えることを提案する。ベクトルの3Dチャンクに対し、ロトールの「サンドイッチ積」を適用することで、計算量とパラメータ数を削減する。
- この手法は、メモリ往復を避ける融合CUDAカーネルと、融合Metalシェーダ実装を用いる。報告によれば、Qwen2.5-3B-InstructのKVキャッシュ処理において、NVIDIA RTX PRO 4000で10〜19×、Apple M4で9〜31×の高速化を達成している。
- 報告されている品質はTurboQuantと実質的に変わらない。コサイン類似度は0.991に対して約0.990で、「針を藁の中から探す」ような探索の成功率はビット幅を通じて9/9である。
- RotorQuantは、パラメータ数が44倍少ない(d=128で372対16,399)と主張し、トレードオフとしてランダムな単位ベクトルに対する合成MSEが高くなる点を挙げる。この影響は、実モデルの注意(attention)忠実度を維持したまま、QJL補正により軽減されるとしている。