AI Pulse
📡 X 信号

Code2LoRA:无需每查询付费即可赋予代码LLM全仓库知识

如何在不为每次查询付费的前提下,让代码大语言模型(code LLM)掌握整个代码仓库的知识?我们提出 Code2LoRA:一种超网络(hypernetwork),能将任意代码仓库直接转化为专属的 LoRA 适配器。仓库知识被固化进权重中 → 推理时零 token 开销。

常规方案各有缺陷:
• RAG / 长上下文 → 每次查询都要为检索出的 token 付费,且大型仓库极易超出上下文窗口限制。
• 每仓库独立训练 LoRA → 规模扩大后成本高昂,且每次新提交都可能触发重训练。

Code2LoRA 提供两种变体,区分依据是知识如何注入权重、以及何时刷新:
• 静态版(Static):基于单个仓库快照生成一个适配器。适用于稳定不变的代码库。
• 演化版(Evo):用 GRU 隐藏状态逐代码差异(diff)更新 → 为持续演进的仓库生成每次提交对应的适配器。

为评估效果,我们构建了 RepoPeftBench:包含 604 个 Python 仓库的数据集,任务为断言补全(assertion-completion),要求模型真正理解仓库上下文。设两条评测轨道——静态快照轨道与提交历史演化轨道——外加一个截止时间后的时序留出集(temporal holdout),实现严格的分布外(OOD)评估。

结果:
• 静态轨道:跨仓库准确率(EM)63.8%,仓内准确率 66.2%,在无需任何每仓库训练的前提下,达到每仓库 LoRA 的性能上限。
• 演化轨道:在基于提交生成的任务上,跨仓库 EM 达 60.3%(较共享 LoRA 提升 +5.2 个百分点),且在 OOD 留出集上表现最强。

📦 论文:
🤗 数据/模型:
衷心感谢 @LarryYinxiLi 的合作,以及我的导师 @yuntiandeng 和 @pyniex 的指导与持续支持!

本文由 AI 翻译自英文原帖,技术名词保留英文。

查看 X 原帖

📬 订阅 AI Pulse

每天三次更新,不错过重要信号

▲ 回到顶部