GoogleはTurboQuantアルゴリズムのおかげで、AIモデルのメモリ消費を6倍に削減しつつ精度を維持しました
Google Researchは、大規模言語モデルのKVキャッシュを圧縮する新しい方法「TurboQuant」を発表しました。アルゴリズムは、エラー訂正を追加すると4ビット、追加しないと3ビットにキャッシュのビット幅を削減しつつ、回答精度を損なわず、追加学習も不要です。Nvidia H100アクセラレータ上では、TurboQuantが注意ロジット計算性能を8倍に向上させ、KVキャッシュサイズを6倍に縮小しました。
KVキャッシュとは何か、その重要性
* KVキャッシュは、注意メカニズムの計算で得られたキー(K)とバリュー(V)を保持します。
これによりモデルはトークン生成の各ステップで再計算する必要がなくなります。
* コンテキストウィンドウが大きくなるとキャッシュは指数関数的に増加し、メモリコストが高くなります。
* 従来の量子化手法はキャッシュサイズを削減しますが、ZIP/RAR のような定数辞書(量子化定数)を保持する必要があります。
これらの辞書は大きなオーバーヘッドを生みます。
TurboQuantの仕組み
TurboQuantは2段階で構成され、完全に辞書を排除します。
| ステージ | 実行内容 | なぜ重要か |
|---|---|---|
| 1. PolarQuant | デカルト座標から極座標(半径+角度)へベクトル変換 | 角度分布は予測可能で集中しているため、各ブロックの正規化を省略でき、高品質な圧縮が辞書なしで実現できます。 |
| 2. 1ビットエラー訂正層 | Johnson‑Lindenstrauss の量子化アルゴリズムを適用し、残差誤差を1ビットに削減 | 注意計算の体系的な誤差を最小限の追加コストで除去します。 |
実験結果
| テスト | アルゴリズム | 成果 |
|---|---|---|
| LongBench, Needle In A Haystack, ZeroSCROLLS, RULER, L‑Eval (Gemma & Mistral) | TurboQuant vs KIVI | TurboQuantはKVキャッシュを最低6倍に圧縮し、検索タスク「ハイエンドの針探し」では精度損失なし。LongBenchではKIVIより劣らず、場合によっては優れています。 |
| ベクトル検索 (GloVe) | TurboQuant vs Product Quantization, RabbiQ | 学習不要でTurboQuantが競合を上回り、結果品質とメモリ消費の両面で優位です。 |
結論
* TurboQuantはKVキャッシュを3〜4ビットに強力に圧縮しつつ精度損失や追加学習を伴いません。
* Nvidia H100上で性能が8倍向上、キャッシュサイズが6倍削減されました。
* 大規模言語モデルとベクトル検索の両方で微調整不要に機能します。
したがって、TurboQuantは高負荷環境でも実用化可能で、大規模モデルの効率的運用に新たな可能性を提供します。
コメント (0)
感想を共有してください。礼儀正しく、話題に沿ってお願いします。
コメントするにはログイン