論文の概要: KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache
- arxiv url: http://arxiv.org/abs/2402.02750v1
- Date: Mon, 5 Feb 2024 06:06:47 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-06 17:34:36.849041
- 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要約: 大規模言語モデル(LLM)は、要求毎のコストを削減するために、多くのリクエストを一緒に要求する。
キー値(KV)キャッシュはメモリ要求を大幅に増加させ、スピードとメモリ使用における新たなボトルネックとなる。
KVキャッシュサイズを減らすための単純で効果的な解決策は量子化であり、KVキャッシュが取る全バイトを削減する。
KIVIは、Llama (Llama-2)、Falcon、Mistralモデルとほぼ同じ品質を維持しながら、$mathbf2.6times$のピークメモリ使用量を減らすことができる。
- 参考スコア(独自算出の注目度): 70.90551156819498
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Efficiently serving large language models (LLMs) requires batching many
requests together to reduce the cost per request. Yet, 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. This memory demand increases with larger batch sizes and
longer context lengths. Additionally, the inference speed is limited by the
size of KV cache, as the GPU's SRAM must load the entire KV cache from the main
GPU memory for each token generated, causing the computational core to be idle
during this process. 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 the hardware-friendly
implementation, KIVI can enable Llama (Llama-2), Falcon, and Mistral models to
maintain almost the same quality while using $\mathbf{2.6\times}$ less peak
memory usage (including the 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キャッシュのサイズによって制限されるため、GPUのSRAMは、生成されたトークン毎にメインGPUメモリからKVキャッシュ全体をロードする必要があるため、このプロセス中に計算コアがアイドルになる。
KVキャッシュサイズを減らすための単純で効果的な解決策は量子化であり、KVキャッシュが取る全バイトを削減する。
しかし、KVキャッシュ量子化の硬さと限界を理解するため、KVキャッシュの要素分布を探索する詳細な研究は存在しない。
このギャップを埋めるために、人気のあるLCMのKVキャッシュにおける要素分布に関する総合的研究を行った。
以上の結果から,キーキャッシュはチャネル単位,すなわちチャネル次元に沿ってグループ要素を量子化し,それらを量子化するべきである。
対照的に、値キャッシュはトーケン毎に量子化されるべきである。
この解析から,チューニングフリーな2ビットkvキャッシュ量子化アルゴリズムkiviを開発した。
ハードウェアフレンドリーな実装により、kiviはllama (llama-2)、falcon、mistralモデルでほぼ同じ品質を維持しつつ、$\mathbf{2.6\times}$のピークメモリ使用量(モデル重量を含む)を削減できる。
このメモリ使用量の削減は、$\mathbf{4\times}$より大きなバッチサイズを可能にし、実際のLCM推論ワークロードで$\mathbf{2.35\times \sim 3.47\times}$スループットをもたらす。
ソースコードはhttps://github.com/jy-yuan/kiviで入手できる。
関連論文リスト
- 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)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。