INF^2: High-Throughput Generative Inference of Large Language Models using Near-Storage Processing
Hongsun Jang, Siung Noh, Changmin Shin, Jaewon Jung, Jaeyong Song, Jinho Lee
TL;DR
INF^2 introduces a near-storage processing framework that shifting KV-cache attention workloads to accelerators inside computational storage devices, reducing KV-cache I/O bottlenecks for large-scale LLM inference. The method combines Attention-Near Storage, delayed KV cache writeback, and cooperative X-cache to hide storage latency and utilize host memory, achieving up to 3.46× throughput gains over state-of-the-art baselines on real hardware. The work demonstrates a practical, PyTorch-ready system using off-the-shelf components, with a real accelerator on Samsung SmartSSDs and a scheduler enabling scalable deployment; it also provides extensive ablation and sensitivity analyses and discusses cost-effectiveness. By leveraging the internal bandwidth of CSDs and intelligent dataflow, INF^2 offers a viable path to high-throughput, long-context LLM inference without exclusively relying on more expensive GPUs. The authors plan to open-source INF^2 to facilitate broader adoption and further research in near-storage AI acceleration.
Abstract
The growing memory and computational demands of large language models (LLMs) for generative inference present significant challenges for practical deployment. One promising solution to address these challenges is offloading-based batched inference, which leverages host memory and disk as an extended memory hierarchy for GPUs. While the approach cost-effectively enables LLM inference, its performance is limited by substantial I/O overhead, primarily due to the large key-value (KV) cache sizes, which increase with batch size and LLM context window length. In this paper, we introduce INFerence-INFinity (INF^2), a framework that boosts generative inference throughput using computational storage devices (CSDs). The core of INF^2 is attention-near storage, which offloads memory-intensive self-attention operations to near-storage accelerators, significantly reducing traffic through the system interconnect. We also propose delayed KV cache writeback to hide storage write latency by delaying newly generated KV cache writes until the cache reaches sufficient size in system memory. Additionally, we introduce cooperative X-cache, a technique designed to further trade off the remaining memory capacity for storage bandwidth. Our methods effectively minimize idle time for computation, improving the overall throughput. To demonstrate the effectiveness of our approach, \thiswork has been implemented on PyTorch and evaluated on a real system. Our experiments show that INF^2 achieves up to 3.46$\times$ throughput improvement compared to state-of-the-art baselines. We will open-source INF^2 to facilitate broader adoption.
