EFIM: Efficient Serving of LLMs for Infilling Tasks with Improved KV Cache Reuse
Tianyu Guo, Hande Dong, Yichong Leng, Feng Liu, Cheater Lin, Nong Xiao, Xianwei Zhang
TL;DR
EFIM identifies a bottleneck in infilling with large language models: traditional FIM prompts cause KV cache invalidation as the insertion region grows. It then presents two core innovations: a prompt transformation (EFIM) that relocates the incremental content to the end to maximize cross-request KV cache reuse, and a fragment tokenization training method that enables universal subtoken generation without architectural changes. Empirical results on two representative LLMs show EFIM achieves substantial speedups (52% latency reduction, 98% throughput gain) while preserving infilling capability, though subtokens require the fragment-tokenization augmentation to be universally reliable. The work also demonstrates favorable cost efficiency, suggesting practical viability for scalable LLM inference in infilling services. Overall, EFIM provides a pragmatic pathway to faster, scalable infilling serving by rethinking prompt structure and training data processing toward better KV-cache utilization and subtoken generation capability.
Abstract
Large language models (LLMs) are often used for infilling tasks, which involve predicting or generating missing information in a given text. These tasks typically require multiple interactions with similar context. To reduce the computation of repeated historical tokens, cross-request key-value (KV) cache reuse, a technique that stores and reuses intermediate computations, has become a crucial method in multi-round interactive services. However, in infilling tasks, the KV cache reuse is often hindered by the structure of the prompt format, which typically consists of a prefix and suffix relative to the insertion point. Specifically, the KV cache of the prefix or suffix part is frequently invalidated as the other part (suffix or prefix) is incrementally generated. To address the issue, we propose EFIM, a transformed prompt format of FIM to unleash the performance potential of KV cache reuse. Although the transformed prompt can solve the inefficiency, it exposes subtoken generation problems in current LLMs, where they have difficulty generating partial words accurately. Therefore, we introduce a fragment tokenization training method which splits text into multiple fragments before tokenization during data processing. Experiments on two representative LLMs show that LLM serving with EFIM can lower the latency by 52% and improve the throughput by 98% while maintaining the original infilling capability. EFIM's source code is publicly available at https://github.com/gty111/EFIM.
