论文精选72°

Code2LoRA:用超网络生成仓库级代码适配器,零推理开销

Code2LoRA: Hypernetwork-Generated Adapters for Code Language Models under Software Evolution

精选理由

做代码仓库级上下文注入的团队终于有了一个轻量方案——Code2LoRA 用超网络生成适配器,省去逐仓库微调的成本,还支持代码演化场景。做代码补全或仓库级 AI 工具的开发者值得试试这个零推理开销的思路。

AI 摘要

Code2LoRA 提出一种超网络框架,为代码语言模型生成仓库专属的 LoRA 适配器,无需在推理时增加 token 开销。它支持两种模式:Code2LoRA-Static 用于稳定代码库的静态快照适配,Code2LoRA-Evo 则通过 GRU 隐藏状态逐 diff 更新适配器,适应代码演化。作者构建了 RepoPeftBench 基准,包含 604 个 Python 仓库的静态和演化任务。静态任务上,Code2LoRA-Static 达到 63.8% 跨仓库和 66.2% 仓库内精确匹配,与逐仓库 LoRA 上限持平;演化任务上,Code2LoRA-Evo 跨仓库精确匹配达 60.3%,比单个共享 LoRA 高 5.2 个百分点。代码和数据集已开源。

原文 · arXiv cs.AI

Code2LoRA: Hypernetwork-Generated Adapters for Code Language Models under Software Evolution

Code language models need repository-level context to resolve imports, APIs, and project conventions. Existing methods inject this knowledge as long inputs (retrieved through RAG or dependency analysis) or through per-repository fine-tuning and LoRA -- costly at repository scale and brittle to evolving codebases. We introduce Code2LoRA, a hypernetwork framework that generates repository-specific LoRA adapters, effectively injecting repository knowledge with zero inference-time token overhead. Code2LoRA supports two usage scenarios: Code2LoRA-Static converts a single repository snapshot into an adapter, suitable for comprehension of stable codebases; while Code2LoRA-Evo maintains an adapter backed by a GRU hidden state updated per code diff, suitable for active development of evolving codebases. To evaluate Code2LoRA against parameter-efficient fine-tuning baselines, we build RepoPeftBench, a benchmark of 604 Python repositories with two tracks: a static track with 40K training and 12K test assertion-completion tasks, and an evolution track with 215K commit-derived training and 87K commit-derived test tasks. On the static track, Code2LoRA-Static achieves 63.8% cross-repo and 66.2% in-repo exact match, matching the per-repository LoRA upper bound; on the evolution track, Code2LoRA-Evo achieves 60.3% cross-repo exact match (+5.2 pp over a single shared LoRA). Code2LoRA's code can be found at https://anonymous.4open.science/r/code2lora-6857; the model checkpoints and RepoPeftBench datasets can be found at https://huggingface.co/code2lora.