计算机科学 > 软件工程
[提交于 2025年8月1日
]
标题: SPENCER:用于高效代码检索的自适应模型蒸馏
标题: SPENCER: Self-Adaptive Model Distillation for Efficient Code Retrieval
摘要: 代码检索旨在根据用户的自然语言查询为用户提供所需的代码片段。 随着深度学习技术的发展,采用预训练模型进行此任务已成为主流。 考虑到检索效率,大多数先前的方法为此任务采用双编码器,分别将描述和代码片段编码为表示向量。 然而,双编码器的模型结构往往会限制模型的性能,因为在训练过程中,模型底层缺乏代码片段和描述之间的交互。 为了在保持效率的同时提高模型的有效性,我们提出了一种框架,该框架采用自适应模型蒸馏用于高效代码检索,命名为SPENCER。 SPENCER首先采用双编码器缩小搜索空间,然后采用交叉编码器提高准确性。 为了提高SPENCER的效率,我们提出了一种新颖的模型蒸馏技术,可以在保持整体性能的同时大幅减少双编码器的推理时间。 我们还为模型蒸馏提出了一个教学助手选择策略,该策略可以在模型蒸馏过程中自适应地为不同的预训练模型选择合适的教学助手模型,以确保模型性能。 大量实验表明,与仅基于双编码器的模型相比,双编码器和交叉编码器的结合提高了整体性能。 此外,我们的模型蒸馏技术在将双编码器的推理时间减少70%的同时,保留了超过98%的整体性能。
文献和引用工具
与本文相关的代码,数据和媒体
alphaXiv (什么是 alphaXiv?)
CatalyzeX 代码查找器 (什么是 CatalyzeX?)
DagsHub (什么是 DagsHub?)
Gotit.pub (什么是 GotitPub?)
Hugging Face (什么是 Huggingface?)
带有代码的论文 (什么是带有代码的论文?)
ScienceCast (什么是 ScienceCast?)
演示
推荐器和搜索工具
arXivLabs:与社区合作伙伴的实验项目
arXivLabs 是一个框架,允许合作伙伴直接在我们的网站上开发和分享新的 arXiv 特性。
与 arXivLabs 合作的个人和组织都接受了我们的价值观,即开放、社区、卓越和用户数据隐私。arXiv 承诺这些价值观,并且只与遵守这些价值观的合作伙伴合作。
有一个为 arXiv 社区增加价值的项目想法吗? 了解更多关于 arXivLabs 的信息.