From 91cbb2c84b2b53236540c0274b360c80f411e9ed Mon Sep 17 00:00:00 2001 From: SimJeg Date: Mon, 20 Jan 2025 08:29:36 +0000 Subject: [PATCH 1/6] Update README --- README.md | 23 +++++++++++------- .../assets/peak_memory_consumption_xkcd.png | Bin 0 -> 76393 bytes evaluation/assets/ruler_llama_xkcd.png | Bin 0 -> 107142 bytes 3 files changed, 14 insertions(+), 9 deletions(-) create mode 100644 evaluation/assets/peak_memory_consumption_xkcd.png create mode 100644 evaluation/assets/ruler_llama_xkcd.png diff --git a/README.md b/README.md index 6ada295d..e56d5a4d 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ [![PyPI version](https://badge.fury.io/py/kvpress.svg)](https://badge.fury.io/py/kvpress) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Colab example notebook](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1JNvaTKuuAHrl49dYB9-mdEH_y52Ib-NP?usp=drive_link) +[![Hugging Face Space](https://img.shields.io/badge/🤗%20Hugging%20Face-Space-blue)](https://huggingface.co/spaces/YOUR_SPACE_NAME) +[![Blog Post](https://img.shields.io/badge/Blog-Post-red)](https://YOUR_BLOG_POST) + + ![kvpress](kvpress.jpg) -Deploying long-context LLMs is costly due to the linear growth of the key-value (KV) cache in transformer models. For example, handling 1M tokens with Llama 3.1-70B in float16 requires up to 330GB of memory. This repository implements multiple KV cache compression methods and benchmarks using [🤗 transformers](https://huggingface.co/docs/transformers/en/index), aiming to simplify the development of new methods for researchers and developers in this field. +Deploying long-context LLMs is costly due to the linear growth of the key-value (KV) cache in transformer models. For example, handling 1M tokens with Llama 3.1-70B in float16 requires up to 330GB of memory. This repository implements multiple KV cache compression methods and benchmarks using 🤗 transformers, aiming to simplify the development of new methods for researchers and developers in this field. ## Installation @@ -12,27 +16,27 @@ Deploying long-context LLMs is costly due to the linear growth of the key-value pip install kvpress ``` -We recommend using [flash attention](https://github.com/Dao-AILab/flash-attention/) if possible: +If you want to use flash attention: ```bash pip install flash-attn --no-build-isolation ``` ## Usage -This repository provides a set of "presses" that compress the KV cache. A press is only applied during the pre-filling phase and is associated with a `compression_ratio` attribute that measures the compression of the cache. The easiest way to use a press is through our custom `KVPressTextGenerationPipeline` that is automatically registered as a transformers pipeline with the name "kv-press-text-generation" when kvpress is imported. It handles chat templates and tokenization for you: +This repository provides a set of presses that compress the KV cache. A press is only applied during the pre-filling phase and is associated with a `compression_ratio` attribute that measures the compression of the cache. The easiest way to use a press is through our custom `KVPressTextGenerationPipeline`. This pipeline is automatically registered as a transformers pipeline with the name "kv-press-text-generation" when kvpress is imported and handles chat templates and tokenization for you: ```python from kvpress import ExpectedAttentionPress from transformers import pipeline device = "cuda:0" -model= "microsoft/Phi-3.5-mini-instruct" +model= "meta-llama/Llama-3.1-8B-Instruct" pipe = pipeline("kv-press-text-generation", model=model, device=device, torch_dtype="auto", model_kwargs={"attn_implementation":"flash_attention_2"}) context = "A very long text you want to compress once and for all" question = "\nA question about the compressed context" # optional -press = ExpectedAttentionPress(compression_ratio=0.4) +press = ExpectedAttentionPress(compression_ratio=0.5) answer = pipe(context, question=question, press=press)["answer"] ``` @@ -75,14 +79,15 @@ For a detailed list of existing KV cache compression methods, check [Awesome-KV- ## Evaluation See the [speed_and_memory.ipynb](notebooks/speed_and_memory.ipynb) notebook on how to measure peak memory usage and total time gain. -drawing + +drawing We provide a simple CLI to evaluate the performance of the different presses on several long-context datasets. -_Average performance on the RULER dataset with 4k context length and Loogle Short Dependency QA task for 3 models and 7 presses_ -![RULER](evaluation/assets/ruler_4096_average%20score.png) -![Loogle](evaluation/assets/loogle_shortdep_qa.png) +_Average performance on the RULER dataset with 4k context length for different presses_ + +![RULER](evaluation/assets/ruler_llama_xkcd.png) Please refer to the [evaluation](evaluation/README.md) directory for more details and results. diff --git a/evaluation/assets/peak_memory_consumption_xkcd.png b/evaluation/assets/peak_memory_consumption_xkcd.png new file mode 100644 index 0000000000000000000000000000000000000000..993318c3c0384299d2aa5c5cf38b50529e496a40 GIT binary patch literal 76393 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

2)yE^ z=5g2Cp!6JM(a2*l4m#sY=H_%NtaTxl%Fd~qVYNTI@iP@}x>rua*ZZZi$tPAz{`5#z z=MS-X|B<^`L_`t+Gl7Ehp0qSrrsV5>L5C@4C`8``35{-B^mU~1W}Z|2wI06`>4kV_ zXgA&@3EdvUvD#O)onUfr_w0g2~59s$T`;+#;8E}+QGNEJrfZ91z2ZP)lwRB z8`qj+!aD|J22LK>9yG$>vb=%HcJR2No<43wdTBk6Zz`_0YX0PDKeJX|N%1w5O3|f1+b!sC(=7HX6H{-grOr%w0CYAO zU#kEcb&S9FC(TL5z!s6Z~dZ{+^8j5IKP7MTK!}7AhQ@R{&byc6wTAYPasxqpX&SB z$gcC&X+!VqUS@&?lGD0p>sATc74~sAFpfocUX_;+p5`l z>-_CZ=o2dw`9S%0>gM2nkWaFCCQ)*>VJsTQyvTnrIt#gpDy19 z{r+gJVfL?5=D+FcXJ|#&Ee;lfo1F;M_vbzj4aGqh{{

0VhJ-yK2RMKL5kmszBh6 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 literal 0 HcmV?d00001 From 68b6ab0d1f63ed0a94e730c8462a12a4b41aaed1 Mon Sep 17 00:00:00 2001 From: SimJeg Date: Mon, 20 Jan 2025 09:43:18 +0000 Subject: [PATCH 2/6] Update README --- README.md | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e56d5a4d..4faa0e66 100644 --- a/README.md +++ b/README.md @@ -23,15 +23,15 @@ pip install flash-attn --no-build-isolation ## Usage -This repository provides a set of presses that compress the KV cache. A press is only applied during the pre-filling phase and is associated with a `compression_ratio` attribute that measures the compression of the cache. The easiest way to use a press is through our custom `KVPressTextGenerationPipeline`. This pipeline is automatically registered as a transformers pipeline with the name "kv-press-text-generation" when kvpress is imported and handles chat templates and tokenization for you: +kvpress provides a set of "presses" that compress the KV cache during the prefilling-phase. Each press is associated with a `compression_ratio` attribute that measures the compression of the cache. The easiest way to use a press is through our custom `KVPressTextGenerationPipeline`. It is automatically registered as a transformers pipeline with the name "kv-press-text-generation" when kvpress is imported and handles chat templates and tokenization for you: ```python -from kvpress import ExpectedAttentionPress from transformers import pipeline +from kvpress import ExpectedAttentionPress device = "cuda:0" model= "meta-llama/Llama-3.1-8B-Instruct" -pipe = pipeline("kv-press-text-generation", model=model, device=device, torch_dtype="auto", model_kwargs={"attn_implementation":"flash_attention_2"}) +pipe = pipeline("kv-press-text-generation", model=model, device=device) context = "A very long text you want to compress once and for all" question = "\nA question about the compressed context" # optional @@ -46,7 +46,7 @@ In the snippet above, the compression is only applied on the context tokens so t > We focus on compression during the pre-filling phase as the KV cache becomes a bottleneck for long-context sequence (100k - 1M tokens) which are essentially long context prompts. This would typically apply to improving prompt caching systems. > [!NOTE] -> To use the `ObservedAttentionPress`, use `model_kwargs={"attn_implementation":"eager"}` in order to materialize the attention weights (this method is not compatible with flash attention). +> Use `model_kwargs={"attn_implementation":"flash_attention_2"}` to enable flash attention. To use the press `ObservedAttentionPress`, you need to specify `model_kwargs={"attn_implementation":"eager"}` as this press requires to materialize the attention weights ## Contributing with a new press @@ -69,7 +69,7 @@ Some presses rely on a different logic: - `SimLayerKVPress`: identify "lazy" layers, and apply the StreamingLLM approach to them ([paper](https://arxiv.org/abs/2410.13846)) Finally we provide special presses: -- `AdaKVPress`: prune bottom scores of any `ScorerPress` but across all heads, achieving head-wise compressions (see [paper](https://arxiv.org/abs/2407.11550)) +- `AdaKVPress`: prune bottom scores of any `ScorerPress` but across all heads, achieving head-wise compressions ([paper](https://arxiv.org/abs/2407.11550)) - `PerLayerCompressionPress`: compress each layer with a different compression ratio (experimental). This press can be used with any other press that allows to set a compression_ratio - `ComposedPress`: compose multiple presses together by chaining their forward hooks - `KeyRerotationPress`: rerotate pruned keys to have continuous RoPE embeddings. This press can be used with any other press that inherits from `ScorerPress`. @@ -80,18 +80,15 @@ For a detailed list of existing KV cache compression methods, check [Awesome-KV- See the [speed_and_memory.ipynb](notebooks/speed_and_memory.ipynb) notebook on how to measure peak memory usage and total time gain. -drawing - - -We provide a simple CLI to evaluate the performance of the different presses on several long-context datasets. +![memory](evaluation/assets/peak_memory_consumption_xkcd.png) -_Average performance on the RULER dataset with 4k context length for different presses_ +We provide a simple CLI to evaluate the performance of the different presses on several long-context datasets. Below we report the average performance on the RULER dataset with 4k context length for different presses. ![RULER](evaluation/assets/ruler_llama_xkcd.png) Please refer to the [evaluation](evaluation/README.md) directory for more details and results. -## KV cache quantization +## Quantization We support KV cache quantization through the transformers `QuantizedCache` class (see [HF blog post](https://huggingface.co/blog/kv-cache-quantization#how-to-use-quantized-kv-cache-in-%F0%9F%A4%97-transformers)). To use it, simply pass a cache object to your pipeline: @@ -107,7 +104,7 @@ pipe(..., cache=cache) By default, the `DynamicCache` is used (no quantization). > [!IMPORTANT] -> To use the `QuantizedCache`, you need to install additional dependencies (e.g. `pip install optimum-quanto`). +> To use the `QuantizedCache`, you need to install additional dependencies (_e.g._ `pip install optimum-quanto`). ## FAQ @@ -117,7 +114,7 @@ By default, the `DynamicCache` is used (no quantization). ### Which models are supported ? -Some presses depend on the model architecture (_e.g._ `ExpectedAttentionPress` and `SnapKVPress`) hence they might not work with all models. We tested support for `LlamaForCausalLM`, `MistralForCausalLM`, `Phi3ForCausalLM` and `Qwen2ForCausalLM` but many other models might be supported out of the box because their implementation is often similar in transformers. +Some presses depend on the model architecture (_e.g._ `ExpectedAttentionPress` or `SnapKVPress`) hence they might not work with all models. We tested support for `LlamaForCausalLM`, `MistralForCausalLM`, `Phi3ForCausalLM` and `Qwen2ForCausalLM` but many other models might be supported out of the box because their implementation is often similar in transformers. From 0abeac8c2aa9d8a5360eca5302350dfa369f055c Mon Sep 17 00:00:00 2001 From: SimJeg Date: Mon, 20 Jan 2025 10:09:37 +0000 Subject: [PATCH 3/6] Update README --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4faa0e66..cabfda86 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,8 @@ ![kvpress](kvpress.jpg) -Deploying long-context LLMs is costly due to the linear growth of the key-value (KV) cache in transformer models. For example, handling 1M tokens with Llama 3.1-70B in float16 requires up to 330GB of memory. This repository implements multiple KV cache compression methods and benchmarks using 🤗 transformers, aiming to simplify the development of new methods for researchers and developers in this field. + +Deploying long-context LLMs is costly due to the linear growth of the key-value (KV) cache in transformer models. For example, handling 1M tokens with Llama 3.1-70B in float16 requires up to 330GB of memory. kvpress implements multiple KV cache compression methods and benchmarks using 🤗 transformers, aiming to simplify the development of new methods for researchers and developers in this field. ## Installation @@ -48,9 +49,9 @@ In the snippet above, the compression is only applied on the context tokens so t > [!NOTE] > Use `model_kwargs={"attn_implementation":"flash_attention_2"}` to enable flash attention. To use the press `ObservedAttentionPress`, you need to specify `model_kwargs={"attn_implementation":"eager"}` as this press requires to materialize the attention weights -## Contributing with a new press +## Contributing -We welcome contributions! If you want to implement a new press, open an issue or a pull request. Refer to the [new_press.ipynb](notebooks/new_press.ipynb) notebook for a step-by-step guide to understand how presses work and what should be done to create a new one. +We welcome contributions! To add a new press, simply open an issue or submit a pull request. Check the [new_press.ipynb](notebooks/new_press.ipynb) notebook for a step-by-step guide. ## Available presses @@ -78,7 +79,7 @@ For a detailed list of existing KV cache compression methods, check [Awesome-KV- ## Evaluation -See the [speed_and_memory.ipynb](notebooks/speed_and_memory.ipynb) notebook on how to measure peak memory usage and total time gain. +The [speed_and_memory.ipynb](notebooks/speed_and_memory.ipynb) notebook can help you to measure peak memory usage and total time gain. ![memory](evaluation/assets/peak_memory_consumption_xkcd.png) From 8ba0e54382420c28cd268a3e03215a4dab422bba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20J=C3=A9gou?= Date: Tue, 21 Jan 2025 11:54:57 +0100 Subject: [PATCH 4/6] Update README.md --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cabfda86..fdc92a4b 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,10 @@ [![PyPI version](https://badge.fury.io/py/kvpress.svg)](https://badge.fury.io/py/kvpress) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Colab example notebook](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1JNvaTKuuAHrl49dYB9-mdEH_y52Ib-NP?usp=drive_link) -[![Hugging Face Space](https://img.shields.io/badge/🤗%20Hugging%20Face-Space-blue)](https://huggingface.co/spaces/YOUR_SPACE_NAME) +[![Hugging Face Space](https://img.shields.io/badge/🤗%20Hugging%20Face-Space-blue)](https://huggingface.co/spaces/nvidia/kvpress) [![Blog Post](https://img.shields.io/badge/Blog-Post-red)](https://YOUR_BLOG_POST) - ![kvpress](kvpress.jpg) @@ -41,7 +40,7 @@ press = ExpectedAttentionPress(compression_ratio=0.5) answer = pipe(context, question=question, press=press)["answer"] ``` -In the snippet above, the compression is only applied on the context tokens so that you can evaluate the compression for different questions. Check the [Wikipedia notebook demo](notebooks/wikipedia_demo.ipynb) for a more detailed example. +In the snippet above, the compression is only applied on the context tokens so that you can evaluate the compression for different questions. Check the [Wikipedia notebook demo](notebooks/wikipedia_demo.ipynb) for a more detailed example (also available on Colab [here](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1JNvaTKuuAHrl49dYB9-mdEH_y52Ib-NP?usp=drive_link)). > [!IMPORTANT] > We focus on compression during the pre-filling phase as the KV cache becomes a bottleneck for long-context sequence (100k - 1M tokens) which are essentially long context prompts. This would typically apply to improving prompt caching systems. From c5cf0b5696522cbc17a38ee5d0726e2599d1df76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20J=C3=A9gou?= Date: Tue, 21 Jan 2025 14:10:53 +0100 Subject: [PATCH 5/6] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index fdc92a4b..4d832c00 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,6 @@ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Colab example notebook](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1JNvaTKuuAHrl49dYB9-mdEH_y52Ib-NP?usp=drive_link) [![Hugging Face Space](https://img.shields.io/badge/🤗%20Hugging%20Face-Space-blue)](https://huggingface.co/spaces/nvidia/kvpress) -[![Blog Post](https://img.shields.io/badge/Blog-Post-red)](https://YOUR_BLOG_POST) ![kvpress](kvpress.jpg) From 01f8e8b85444a316548562ab72bb8b684d2cce7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20J=C3=A9gou?= Date: Tue, 21 Jan 2025 15:21:08 +0100 Subject: [PATCH 6/6] Update README.md --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4d832c00..7039274b 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Deploying long-context LLMs is costly due to the linear growth of the key-value pip install kvpress ``` -If you want to use flash attention: +If possible, install flash attention: ```bash pip install flash-attn --no-build-isolation ``` @@ -29,12 +29,13 @@ from transformers import pipeline from kvpress import ExpectedAttentionPress device = "cuda:0" -model= "meta-llama/Llama-3.1-8B-Instruct" -pipe = pipeline("kv-press-text-generation", model=model, device=device) +model = "meta-llama/Llama-3.1-8B-Instruct" +model_kwargs = {"attn_implementation": "flash_attention_2"} +pipe = pipeline("kv-press-text-generation", model=model, device=device, model_kwargs=model_kwargs) context = "A very long text you want to compress once and for all" -question = "\nA question about the compressed context" # optional - +question = "\nA question about the compressed context" # optional + press = ExpectedAttentionPress(compression_ratio=0.5) answer = pipe(context, question=question, press=press)["answer"] ```