π² Did you know Yahtzee can be solved optimally in less than 100 lines of Python and under 5min with 2 vCPU?
I built a @gradio-hf.bsky.social app so you can try it yourself: huggingface.co/spaces/simon...
Implementation is based on the excellent paper "An Optimal Strategy for Yahtzee" (Glenn, 2006)
Posts by
-> Repo: github.com/NVIDIA/kvpress (βοΈ me)
-> Blog post: huggingface.co/spaces/nvidi... (πΊme)
-> Space: huggingface.co/spaces/nvidi... (β€οΈme)
(2/2)
Fresh news from kvpress, our open source library for KV cache compression π₯
1. We published a blog post with
@huggingface
2. We published a Space for you to try it
3. Following feedback from the research community, we added a bunch of presses and benchmarks
Linksπ(1/2)
How do you find the permutation of words that minimize their perplexity as measured by an LLM ? In this year Kaggle Santa competition, I shared an approach to move to a continuous space where you can use gradient-descent using REINFORCE: www.kaggle.com/code/simjeg/...
π‘ We've just released KV cache quantization in kvpress, our open source package for KV cache compression. Check it out : github.com/NVIDIA/kvpress.
Special thanks for Arthur Zucker and Marc Sun from @huggingface.bsky.social for their support π€
nice work ! Identifying patterns could be done on the fly:
bsky.app/profile/simj...
π Excited to announce KVPress β our open-source library for efficient LLM KV cache compression!
π Check it out (and drop a β): github.com/NVIDIA/kvpress
π Full details in the thread π§΅ (1/4)
of course it's different ! transformer is an MLP predicting the parameters of another MLP π
You can reproduce this plot using this colab notebook: colab.research.google.com/drive/1DbAEm.... We used this property to create a new KV cache compression called Expected Attention in our kvpress repository:
Hidden states in LLM ~ follow normal distributions. Consequently, both queries and keys also follow a normal distribution and if you replace all queries and keys by their average counterpart, this magically explains the slash pattern observed in attention matrices
I created a DistillationPress that distills the (K,V) cache into a compressed (Kc,Vc) cache by minimizing ||A(q,K,V) - A(q,Kc,Vc)||^2. Checkout my notebook here: github.com/NVIDIA/kvpre.... More work needs to be done, it's just a first step (3/3)
KV cache quantization ? KV cache pruning ? KV cache approximation ? Replace "KV cache" by "MLP" and you'll see most of the research has already been exploredπ€― So I gave it a try in within our new kvpress repo π (2/3)
Ever noticed that the attention mechanism in transformers is essentially a two-layer MLP? π€
A(q, K, V) = V @ softmax(K / βd @ q)
Weights: K / βd and V
nonlinearity: softmax
π‘This offers fresh insights into KV cache compression research π§΅(1/3)
This release also introduces a new method we developed: Expected Attention! π― By leveraging the normal distribution of LLM hidden states, it measures the importance of each key-value pair. Learn more in this notebook: github.com/NVIDIA/kvpre... (4/4)
kvpress aims at helping researchers and developers to create and benchmark KV cache compression techniques offering a user-friendly repo built on π€ Transformers. All implemented methods are training free and model agnostic (3/4)
Long-context LLMs are resource-heavy due to KV cache growth: e.g., 1M tokens for Llama 3.1-70B (float16) needs 330GB of memory π¬. This challenge has driven intense research into KV cache compression, with many submissions to #ICLR2025. (2/4)
π Excited to announce KVPress β our open-source library for efficient LLM KV cache compression!
π Check it out (and drop a β): github.com/NVIDIA/kvpress
π Full details in the thread π§΅ (1/4)