⏶105
LongCodeZip:压缩代码语言模型的长上下文
发表
由
Yuling 提交
作者:
Yuling Shi, Yichun Qian, Hongyu Zhang, Beijun Shen, Xiaodong Gu
摘要
AI 生成总结
LongCodeZip 是一个用于 LLM 的代码压缩框架,它使用双阶段压缩来减小上下文大小而不会降低性能,提高了代码智能应用中的效率。随着大型语言模型(LLM)被要求在大量的代码库信息中进行推理,长上下文下的代码生成正变得越来越重要。虽然最近的进展使代码 LLM 能够处理长输入,但高 API 成本和生成延迟仍然是主要的瓶颈。现有的上下文剪枝技术,如 LLMLingua,在通用文本方面取得了可喜的成果,但却忽略了代码特定的结构和依赖关系,导致在编程任务中的性能不理想。在本文中,我们提出了 LongCodeZip,一个专为代码 LLM 设计的新颖即插即用代码压缩框架。LongCodeZip 采用双阶段策略:(1)粗粒度压缩,使用相对于指令的条件困惑度识别和排序函数级块,仅保留最相关的函数;(2)细粒度压缩,根据困惑度将保留的函数分割成块,并在自适应令牌预算下选择最佳子集以最大化相关性。在代码补全、摘要和问答等多个任务上的评估表明,LongCodeZip 在不降低任务性能的情况下,持续优于基线方法,实现了高达 5.6 倍的压缩比。通过有效减少上下文大小同时保留关键信息,LongCodeZip 使 LLM 能够更好地扩展到真实世界的大规模代码场景,提高了代码智能应用程序的效率和能力。

如何压缩长代码上下文?📚
看看我们的 LongCodeZip!论文刚刚被 ASE 2025 接受。🔥
代码:https://github.com/YerbaPage/LongCodeZip 论文:https://huggingface.co/papers/2510.00446