論文の概要: KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache
- arxiv url: http://arxiv.org/abs/2402.02750v2
- Date: Thu, 25 Jul 2024 09:16:05 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-26 19:36:52.795465
- Title: KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache
- Title(参考訳): KIVI: KVキャッシュのためのチューニング不要な非対称2ビット量子化
- Authors: Zirui Liu, Jiayi Yuan, Hongye Jin, Shaochen Zhong, Zhaozhuo Xu, Vladimir Braverman, Beidi Chen, Xia Hu,
- Abstract要約: 我々はKIVIというチューニング不要な2ビットKVキャッシュ量子化アルゴリズムを開発した。
KIVI は Llama, Falcon, Mistral のモデルを $mathbf2.6times$ less peak memory を使用しながらほぼ同じ品質を維持することができる。
- 参考スコア(独自算出の注目度): 67.9776980972508
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Efficiently serving large language models (LLMs) requires batching of many requests to reduce the cost per request. Yet, with larger batch sizes and longer context lengths, the key-value (KV) cache, which stores attention keys and values to avoid re-computations, significantly increases memory demands and becomes the new bottleneck in speed and memory usage. Additionally, the loading of the KV cache causes the computational core to be idle, which limits the inference speed. A straightforward and effective solution to reduce KV cache size is quantization, which decreases the total bytes taken by KV cache. However, there is a lack of in-depth studies that explore the element distribution of KV cache to understand the hardness and limitation of KV cache quantization. To fill the gap, we conducted a comprehensive study on the element distribution in KV cache of popular LLMs. Our findings indicate that the key cache should be quantized per-channel, i.e., group elements along the channel dimension and quantize them together. In contrast, the value cache should be quantized per-token. From this analysis, we developed a tuning-free 2bit KV cache quantization algorithm named KIVI. With hardware-friendly implementation, KIVI can enable Llama, Falcon, and Mistral models to maintain almost the same quality while using $\mathbf{2.6\times}$ less peak memory (including model weight). This reduction in memory usage enables up to $\mathbf{4\times}$ larger batch size, bringing $\mathbf{2.35\times \sim 3.47\times}$ throughput on real LLM inference workload. The source code is available at https://github.com/jy-yuan/KIVI.
- Abstract(参考訳): 大規模言語モデル(LLM)の効率的な提供には,要求毎のコスト削減のために,多数の要求のバッチ処理が必要となる。
しかし、バッチサイズが大きく、コンテキスト長が長いキーバリュー(KV)キャッシュは、再計算を避けるために注意キーと値を格納し、メモリ要求を大幅に増加させ、スピードとメモリ使用における新たなボトルネックとなる。
さらに、KVキャッシュのロードにより、計算コアはアイドル状態になり、推論速度が制限される。
KVキャッシュサイズを減らすための単純で効果的な解決策は量子化であり、KVキャッシュが取る全バイトを削減する。
しかし、KVキャッシュ量子化の硬さと限界を理解するため、KVキャッシュの要素分布を探索する詳細な研究は存在しない。
このギャップを埋めるために、我々は人気のあるLCMのKVキャッシュにおける要素分布を網羅的に研究した。
以上の結果から,キーキャッシュはチャネル単位の量子化,すなわちチャネル次元に沿ってグループ要素の量子化を行い,それらをまとめて定量化する必要があることが示唆された。
対照的に、値キャッシュはトーケン毎に量子化されるべきである。
そこで本研究では,KIVIという2ビットKVキャッシュ量子化アルゴリズムを開発した。
ハードウェアフレンドリーな実装により、KIVIはLlama、Falcon、Mistralモデルとほぼ同じ品質を維持しながら、$\mathbf{2.6\times}$より少ないピークメモリ(モデルウェイトを含む)を使用することができる。
このメモリ使用量の削減は、$\mathbf{4\times}$より大きなバッチサイズを可能にし、実際のLCM推論ワークロードで$\mathbf{2.35\times \sim 3.47\times}$スループットをもたらす。
ソースコードはhttps://github.com/jy-yuan/KIVI.comで入手できる。
関連論文リスト
- KVSharer: Efficient Inference via Layer-Wise Dissimilar KV Cache Sharing [58.29726147780976]
我々は,層間をKVキャッシュで共有し,層間圧縮を実現する,textit KVSharerと呼ばれるプラグアンドプレイ方式を提案する。
実験の結果、textit KVSharerはKVキャッシュの計算を30%削減し、メモリ消費を削減できることがわかった。
我々は,textit KVSharerが既存の層内KVキャッシュ圧縮手法と互換性があることを検証する。
論文 参考訳(メタデータ) (2024-10-24T08:06:41Z) - ThinK: Thinner Key Cache by Query-Driven Pruning [63.13363917871414]
大規模言語モデル(LLM)は自然言語処理の分野に革命をもたらし、様々なアプリケーションで前例のない性能を達成した。
本稿では,KVキャッシュのメモリ消費の非効率性に対処する長文シナリオに焦点を当てた。
我々は,最小のチャネルを選択的に切断しながら,注目重量損失を最小限に抑える新しいクエリ依存型KVキャッシュプルーニング手法であるThinKを提案する。
論文 参考訳(メタデータ) (2024-07-30T17:59:08Z) - QJL: 1-Bit Quantized JL Transform for KV Cache Quantization with Zero Overhead [10.067037913589175]
LLMをシリアル化するには、KVキャッシュにキーバリューの埋め込みを格納する必要があるため、かなりのメモリを必要とする。
従来の量子化法は、量子化定数を保存する必要があるため、大きなメモリオーバーヘッドに直面している。
ジョンソン-リンデンシュトラウス変換とサインビット量子化を組み合わせた新しい量子化手法であるQJLを導入する。
論文 参考訳(メタデータ) (2024-06-05T17:42:05Z) - MiniCache: KV Cache Compression in Depth Dimension for Large Language Models [48.03117580340151]
キーバリュー(KV)キャッシュは、以前に生成されたトークンのキー値状態を格納する。
KVキャッシュのサイズはシーケンス長とともに線形に増加し、長いコンテキスト入力と広範囲なシーケンス生成を必要とするアプリケーションの課題を提起する。
レイヤ間のKVキャッシュを,新しい奥行きの観点から圧縮する,MiniCacheという,シンプルで効果的なアプローチを提案する。
論文 参考訳(メタデータ) (2024-05-23T09:43:52Z) - ZipCache: Accurate and Efficient KV Cache Quantization with Salient Token Identification [19.985314022860432]
KVキャッシュは、再計算を避けるために、以前のトークンからキーと値の状態を格納する。
KVキャッシュ圧縮はトークンの正当性を識別し、重要でないトークンを積極的に圧縮しながら重要な情報を保存する。
LLMの高精度かつ効率的なKVキャッシュ量子化手法ZipCacheを提案する。
論文 参考訳(メタデータ) (2024-05-23T07:37:16Z) - Unlocking Data-free Low-bit Quantization with Matrix Decomposition for KV Cache Compression [87.5604418100301]
キー値(KV)キャッシングは,大規模言語モデルの推論を高速化する重要な手法である。
既存の手法はしばしば精度を損なうか、キャリブレーションのために余分なデータを必要とする。
テンソル分解法に基づく新しいデータフリー低ビット量子化手法である textbfDecoQuant を導入する。
論文 参考訳(メタデータ) (2024-05-21T08:35:10Z) - SKVQ: Sliding-window Key and Value Cache Quantization for Large Language Models [43.22490117833939]
SKVQはスライディングウインドウKVキャッシュ量子化の略である。
SKVQは、量子化グループにおけるチャネルの類似性を改善するために、KVキャッシュのチャネルを再構成する。
7bモデルで80GBのメモリGPU上で最大1Mのコンテキスト長を処理でき、最大7倍高速な復号を行うことができる。
論文 参考訳(メタデータ) (2024-05-10T03:06:24Z) - Get More with LESS: Synthesizing Recurrence with KV Cache Compression for Efficient LLM Inference [78.65321721142624]
我々はキー値(KV)キャッシュによって課されるメモリボトルネックに焦点を当てる。
既存のKVキャッシュ手法は、比較的重要でないKVペアの大きなスワストを刈り取ったり、取り除いたりすることでこの問題に対処する。
本稿では,固定サイズキャッシュと退避型キャッシュを簡易に統合したLESSを提案する。
論文 参考訳(メタデータ) (2024-02-14T18:54:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。