Papers › H2O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models

H2O: Heavy-Hitter Oracle for Efficient Generative Inference of Large Language Models

21 Sep 2023NeurIPS 2023 11archive 2025-07-28

Large Language Models (LLMs), despite their recent impressive accomplishments, are notably cost-prohibitive to deploy, particularly for applications involving long-content generation, such as dialogue systems and story writing. Often, a large amount of transient state information, referred to as the 𝖪𝖵 𝖼𝖺𝖼𝗁𝖾, is stored in GPU memory in addition to model parameters, scaling linearly with the sequence length and batch size. In this paper, we introduce a novel approach for implementing the 𝖪𝖵 𝖼𝖺𝖼𝗁𝖾 which significantly reduces its memory footprint. Our approach is based on the noteworthy observation that a small portion of tokens contributes most of the value when computing attention scores. We call these tokens Heavy Hitters (𝖧₂). Through a comprehensive investigation, we find that (i) the emergence of 𝖧₂ is natural and strongly correlates with the frequent co-occurrence of tokens in the text, and (ii) removing them results in significant performance degradation. Based on these insights, we propose Heavy Hitter Oracle (𝖧₂𝖮), a 𝖪𝖵 𝖼𝖺𝖼𝗁𝖾 eviction policy that dynamically retains a balance of recent and 𝖧₂ tokens. We formulate the 𝖪𝖵 𝖼𝖺𝖼𝗁𝖾 eviction as a dynamic submodular problem and prove (under mild assumptions) a theoretical guarantee for our novel eviction algorithm which could help guide future work. We validate the accuracy of our algorithm with OPT, LLaMA, and GPT-NeoX across a wide range of tasks. Our implementation of 𝖧₂𝖮 with 20\% heavy hitters improves the throughput over three leading inference systems DeepSpeed Zero-Inference, Hugging Face Accelerate, and FlexGen by up to 29×, 29×, and 3× on OPT-6.7B and OPT-30B. With the same batch size, 𝖧₂𝖮 can reduce the latency by up to 1.9×.Submission Number: 9012

PaperPDFCode

Code

fminference/h2o officialmentioned in paperjax report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Methods

GPT-NeoXOPT

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections