LongCodeZip:压缩代码语言模型的长上下文

发表
YulingYuling 提交
作者: YulingYuling 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 能够更好地扩展到真实世界的大规模代码场景,提高了代码智能应用程序的效率和能力。
查看 arXiv 页面查看 PDF

评论

YulingYuling
论文作者
论文提交者

如何压缩长代码上下文?📚

看看我们的 LongCodeZip!论文刚刚被 ASE 2025 接受。🔥

代码:https://github.com/YerbaPage/LongCodeZip 论文:https://huggingface.co/papers/2510.00446

Atharva SrivastavaAtharva Srivastava

恭喜各位!

Prithiv SakthiPrithiv Sakthi

根据指令对函数级块的条件困惑度进行排名,并对 ATB 进行比例分配。 伙计们,这是了不起的工作!恭喜!🔥👏

3Pf5RWob0LBpyT0yMoM2-

Arthur EDMONDArthur EDMOND

这很有希望,我会尝试的!

Silin ChenSilin Chen

干得漂亮👍

AbbyFangAbbyFang

你值得拥有最好的一切!