论文

CodeShrink:用于高效多模式代码理解的自适应视觉压缩

CodeShrink: Adaptive Visual Compression for Efficient Multimodal Code Understanding

上下文与知识上下文工程

摘要

将源代码渲染为图像提供了一种降低多模态 大语言模型 (MLLM) 输入成本的有前途的方法。调整图像分辨率可以用视觉标记成本与内容保真度进行交换。然而,分辨率缩放本身忽略了低效率的两个来源:由换行符和缩进创建的空白区域,以及与当前指令无关的代码区域。此外,最佳压缩设置因输入、任务和模型而异,限制了固定比率策略。我们提出了 CodeShrink,一种具有三个组件的自适应视觉压缩框架。无空白渲染用紧凑布局和显式结构标记替换了依赖于空白的布局,从而删除了布局引起的标记。自适应压缩配置使用经过强化学习训练的轻量级代理来预测平衡词元效率和可读性的每个输入设置。主导标记选择联合分析指令和代码图像,以在推理过程中修剪与任务无关的视觉标记。我们在代码问答、克隆检测和代码完成方面评估 CodeShrink。 CodeShrink 将视觉词元的使用减少了高达 71.2%,同时匹配或超过了未压缩的纯文本输入,并且在所有三个任务中始终优于基于文本和视觉的压缩基线。这些结果表明,将布局压缩、自适应配置和指令感知修剪相结合可以使多模式代码理解更加高效。我们的代码可在 https://github.com/vinsontang1/CodeShrink 获取。