0xSero/turboquant
TurboQuant: Near-optimal KV cache quantization for LLM inference (3-bit keys, 2-bit values) with Triton kernels + vLLM integration
何を解決するか
TurboQuantは、LLM推論中のKey-Value (KV) キャッシュによる高いメモリオーバーヘッドに対処します。これは、GPUが扱える最大コンテキスト長や同時リクエスト数を制限する要因となることがよくあります。TurboQuantは、モデルの品質を大幅に損なうことなく、KVキャッシュを圧縮してVRAMを解放する方法を提供します。
仕組み
TurboQuantは、KVキャッシュのエントリを圧縮するために、いくつかの手法を組み合わせて使用します:
- Random Orthogonal Rotation: 情報を次元全体に分散させ、量子化をより効率的にします。
- Lloyd-Max Scalar Quantization: 回転後の値に対して最適なスカラー量子化を適用します。
- QJL Projection: 各次元の残差符号ビットを処理します。
- Group Quantization: グループごとのスケールとゼロ値を使用して値を圧縮します(2-bitまたは4-bitをサポート)。
- Bit-packing: 複数の値を単一のバイトにパックして、ストレージ効率を最大化します。
これはvLLMと統合されており、デコード・アテンション用の融合Tritonカーネルが含まれているため、推定される内積がバイアスを受けないことが保証されます。
対象者
コンテキストウィンドウを拡張したり、VRAMが限られたハードウェア(例:RTX 3090/5090 GPU)でスループットを向上させたりする必要がある、大規模言語モデル(LLM)を扱う開発者や研究者。
ハイライト
- 大幅なVRAM節約: 純粋な高密度トランスフォーマーにおいて最大4.4倍の圧縮を実現でき、GPUメモリを大幅に解放できます(例:Qwen3.5-27Bを4-GPU構成で使用する場合、30 GBの解放)。
- コンテキスト拡張: 最大トークン容量を増加させます(例:約457kから約914kトークンへ)。
- ほぼ損失のないKey圧縮: 3-bitおよび4-bitのKey圧縮は、ほぼ完璧なコサイン類似度を維持します。
- vLLM Integration: vLLM 0.18.0用のモンキーパッチ・アダプターが含まれています。
- 理論的検証: 論文のMSE歪み境界とバイアスなしの主張を検証するテストが含まれています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト