論文の概要: CacheGen: KV Cache Compression and Streaming for Fast Large Language Model Serving
- arxiv url: http://arxiv.org/abs/2310.07240v6
- Date: Fri, 19 Jul 2024 21:04:14 GMT
- ステータス: 処理完了
- システム内更新日: 2024-07-24 05:36:51.450706
- Title: CacheGen: KV Cache Compression and Streaming for Fast Large Language Model Serving
- Title(参考訳): CacheGen: KVキャッシュ圧縮と高速大規模言語モデルのストリーミング
- Authors: Yuhan Liu, Hanchen Li, Yihua Cheng, Siddhant Ray, Yuyang Huang, Qizheng Zhang, Kuntai Du, Jiayi Yao, Shan Lu, Ganesh Ananthanarayanan, Michael Maire, Henry Hoffmann, Ari Holtzman, Junchen Jiang,
- Abstract要約: CacheGenは、大きな言語モデルのための高速なコンテキストローディングモジュールである。
カスタムテンソルエンコーダを使用して、KVキャッシュをコンパクトなビットストリーム表現にエンコードする。
KVキャッシュの異なる部分の圧縮レベルを適用して、利用可能な帯域幅の変化に対処する。
- 参考スコア(独自算出の注目度): 31.766738294505767
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: As large language models (LLMs) take on complex tasks, their inputs are supplemented with longer contexts that incorporate domain knowledge. Yet using long contexts is challenging, as nothing can be generated until the whole context is processed by the LLM. While the context-processing delay can be reduced by reusing the KV cache of a context across different inputs, fetching the KV cache, which contains large tensors, over the network can cause high extra network delays. CacheGen is a fast context-loading module for LLM systems. First, CacheGen uses a custom tensor encoder, leveraging KV cache's distributional properties to encode a KV cache into more compact bitstream representations with negligible decoding overhead, to save bandwidth usage. Second, CacheGen adapts the compression level of different parts of a KV cache to cope with changes in available bandwidth, in order to maintain low context-loading delay and high generation quality. % When available bandwidth drops, CacheGen may raise the compression level for a part of the context or recompute its KV cache on the fly. We test CacheGen on popular LLMs and datasets. Compared to the recent systems that reuse the KV cache, CacheGen reduces the KV cache size by 3.5-4.3x and the total delay in fetching and processing contexts by 3.2-3.7x with negligible impact on the LLM response quality. Our code is at: https://github.com/UChi-JCL/CacheGen.
- Abstract(参考訳): 大きな言語モデル(LLM)が複雑なタスクをこなすにつれて、その入力はドメイン知識を組み込んだ長いコンテキストで補われます。
しかし、LLMがコンテキスト全体を処理するまで何も生成できないため、長いコンテキストを使うことは難しい。
異なる入力間でコンテキストのKVキャッシュを再利用することで、コンテキスト処理の遅延を低減できるが、ネットワーク上の大きなテンソルを含むKVキャッシュをフェッチすることで、ネットワーク上のネットワーク遅延が増大する可能性がある。
CacheGenは、LLMシステムのための高速なコンテキストローディングモジュールである。
まず、CacheGenはカスタムのテンソルエンコーダを使用し、KVキャッシュの分散特性を利用して、KVキャッシュをよりコンパクトなビットストリーム表現にエンコードし、デコードオーバーヘッドを無視して帯域幅を節約する。
第二に、CacheGenはKVキャッシュの異なる部分の圧縮レベルに適応して、低コンテキストローディング遅延と高生成品質を維持するために、利用可能な帯域幅の変化に対処する。
% 利用可能な帯域幅が減少すると、CacheGenはコンテクストの一部の圧縮レベルを上げたり、KVキャッシュをオンザフライで再計算する。
一般的なLLMとデータセットでCacheGenをテストします。
KVキャッシュを再利用した最近のシステムと比較すると、CacheGenはKVキャッシュのサイズを3.5-4.3xに減らし、LLMの応答品質に無視できない影響を与えながら、フェッチと処理のコンテキストを3.2-3.7xに減らした。
私たちのコードは以下の通りです。
関連論文リスト
- Efficient Inference of Vision Instruction-Following Models with Elastic Cache [76.44955111634545]
我々は,命令追従型大規模視覚言語モデルの効率的なデプロイのための新しい戦略であるElastic Cacheを紹介する。
本稿では,冗長キャッシュを具現化する重要なキャッシュマージ戦略を提案する。
命令符号化では,キャッシュの重要性を評価するために周波数を利用する。
様々なLVLMの結果は、Elastic Cacheが効率を向上するだけでなく、言語生成における既存のプルーニングメソッドよりも優れていることを示している。
論文 参考訳(メタデータ) (2024-07-25T15:29:05Z) - PyramidKV: Dynamic KV Cache Compression based on Pyramidal Information Funneling [53.08975547824068]
ピラミッドKVは新規かつ効果的なKVキャッシュ圧縮法である。
提案手法は,KVキャッシュの12%しか保持せず,完全なKVキャッシュでモデルの性能と一致していることを示す。
メモリ効率を強調するシナリオでは、KVキャッシュのわずか0.7%しか維持されていないが、Praamid KVは他のKVキャッシュ圧縮技術を超え、TRECでは最大20.5の絶対精度の向上を実現している。
論文 参考訳(メタデータ) (2024-06-04T07:51:30Z) - CacheBlend: Fast Large Language Model Serving for RAG with Cached Knowledge Fusion [15.344568214955688]
大規模な言語モデル(LLM)は、必要なコンテキストを提供するために、入力に複数のテキストチャンクを組み込むことが多い。
プリフィルを高速化するために、テキストのKVキャッシュをプリコンプリートし、コンテキストが別のLCM入力のプレフィックスとして再利用されるときにKVキャッシュを再使用することができる。
我々は,プリコンパイルされたKVキャッシュをプレフィックスの有無にかかわらず再利用し,トークンの小さなサブセットのKV値を選択的に再計算し,再利用されたKVキャッシュを部分的に更新する方式であるCacheBlendを提案する。
論文 参考訳(メタデータ) (2024-05-26T06:00:17Z) - MiniCache: KV Cache Compression in Depth Dimension for Large Language Models [48.03117580340151]
キーバリュー(KV)キャッシュは、以前に生成されたトークンのキー値状態を格納する。
KVキャッシュのサイズはシーケンス長とともに線形に増加し、長いコンテキスト入力と広範囲なシーケンス生成を必要とするアプリケーションの課題を提起する。
レイヤ間のKVキャッシュを,新しい奥行きの観点から圧縮する,MiniCacheという,シンプルで効果的なアプローチを提案する。
論文 参考訳(メタデータ) (2024-05-23T09:43:52Z) - 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) - KIVI: A Tuning-Free Asymmetric 2bit Quantization for KV Cache [67.9776980972508]
我々はKIVIというチューニング不要な2ビットKVキャッシュ量子化アルゴリズムを開発した。
KIVI は Llama, Falcon, Mistral のモデルを $mathbf2.6times$ less peak memory を使用しながらほぼ同じ品質を維持することができる。
論文 参考訳(メタデータ) (2024-02-05T06:06:47Z) - Model Tells You What to Discard: Adaptive KV Cache Compression for LLMs [86.98304577162465]
大規模言語モデル(LLM)における生成推論のメモリフットプリントを削減するプラグイン・アンド・プレイ方式である適応KVキャッシュ圧縮を導入する。
我々は,アテンションモジュールの本質的な構造を明らかにするために,ターゲットプロファイリングを行う。
認識された構造に基づいて、我々はKVキャッシュを適応的に構築する: 注意頭上の長距離コンテキストを排除し、局所的なコンテキストを強調し、特別なトークンを中心とした注意頭上の特別なトークンを排除し、すべてのトークンに広く参加する注目頭に対して標準のKVキャッシュのみを使用する。
論文 参考訳(メタデータ) (2023-10-03T05:17:08Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。