LongCodeZip: Compressione del contesto lungo per modelli linguistici di codice
LongCodeZip: Compress Long Context for Code Language Models
October 1, 2025
Autori: Yuling Shi, Yichun Qian, Hongyu Zhang, Beijun Shen, Xiaodong Gu
cs.AI
Abstract
La generazione di codice in contesti lunghi sta diventando sempre più cruciale poiché i Large Language Models (LLM) devono ragionare su ampie quantità di informazioni presenti nel codebase. Sebbene i recenti progressi consentano ai LLM per il codice di elaborare input lunghi, gli elevati costi delle API e la latenza di generazione rimangono ostacoli significativi. Le tecniche esistenti di pruning del contesto, come LLMLingua, ottengono risultati promettenti per il testo generico ma trascurano le strutture e le dipendenze specifiche del codice, portando a prestazioni subottimali nei task di programmazione. In questo articolo, proponiamo LongCodeZip, un nuovo framework di compressione del codice plug-and-play progettato specificamente per i LLM per il codice. LongCodeZip utilizza una strategia a due fasi: (1) compressione a grana grossa, che identifica e classifica i chunk a livello di funzione utilizzando la perplexità condizionale rispetto all'istruzione, mantenendo solo le funzioni più rilevanti; e (2) compressione a grana fine, che segmenta le funzioni mantenute in blocchi basati sulla perplexità e seleziona un sottoinsieme ottimale sotto un budget adattivo di token per massimizzare la rilevanza. Le valutazioni su più task, tra cui completamento del codice, riassunto e risposta a domande, mostrano che LongCodeZip supera costantemente i metodi di base, raggiungendo un rapporto di compressione fino a 5,6x senza degradare le prestazioni del task. Riducendo efficacemente la dimensione del contesto preservando le informazioni essenziali, LongCodeZip consente ai LLM di scalare meglio a scenari di codice su larga scala del mondo reale, migliorando l'efficienza e le capacità delle applicazioni di intelligenza del codice.
English
Code generation under long contexts is becoming increasingly critical as
Large Language Models (LLMs) are required to reason over extensive information
in the codebase. While recent advances enable code LLMs to process long inputs,
high API costs and generation latency remain substantial bottlenecks. Existing
context pruning techniques, such as LLMLingua, achieve promising results for
general text but overlook code-specific structures and dependencies, leading to
suboptimal performance in programming tasks. In this paper, we propose
LongCodeZip, a novel plug-and-play code compression framework designed
specifically for code LLMs. LongCodeZip employs a dual-stage strategy: (1)
coarse-grained compression, which identifies and ranks function-level chunks
using conditional perplexity with respect to the instruction, retaining only
the most relevant functions; and (2) fine-grained compression, which segments
retained functions into blocks based on perplexity and selects an optimal
subset under an adaptive token budget to maximize relevance. Evaluations across
multiple tasks, including code completion, summarization, and question
answering, show that LongCodeZip consistently outperforms baseline methods,
achieving up to a 5.6x compression ratio without degrading task performance. By
effectively reducing context size while preserving essential information,
LongCodeZip enables LLMs to better scale to real-world, large-scale code
scenarios, advancing the efficiency and capability of code intelligence
applications.