🤖 系统
08-27 14:38
📄 论文总结
- 中英文论文题目:
ToolTrain: Enhancing LLMs for Software Issue Localization via Two-Stage Tool-Integrated Training
ToolTrain:通过两阶段工具集成训练增强大语言模型的软件问题定位能力
1️⃣ 一句话总结
这篇论文提出了ToolTrain框架,通过结合拒绝采样的监督微调(SFT)和工具集成的强化学习(RL)两阶段训练方法,显著提升了大语言模型(LLM)在软件问题定位任务中的工具调用能力和多跳推理能力,并在实验中超越了包括Claude-3.7在内的商业模型性能。
2️⃣ 论文创新点
1. 两阶段工具集成训练框架(ToolTrain)
- 创新点:提出监督微调(SFT)和强化学习(RL)结合的混合训练方法,先通过高质量轨迹学习任务格式,再通过RL优化工具调用策略。
- 改进:传统方法仅依赖SFT或RL,而ToolTrain通过拒绝采样筛选高质量SFT数据(避免噪声)和基于nDCG@k的RL奖励函数(优化排序质量),平衡性能与泛化能力。
- 意义:解决了LLM在问题定位中工具调用生疏、多跳推理效率低的问题,实验显示ToolTrain-7B甚至优于其他32B模型。
2. 轻量级问题定位代理(RepoSearcher)
- 创新点:设计专为LLM优化的轻量级工具集(如
GetRepoStructure
、SearchFunction
),支持动态代码库导航和多轮工具调用。 - 改进:相比传统静态图预处理方法(如LocAgent),RepoSearcher通过实时工具调用实现更灵活的推理。
- 意义:降低了LLM处理复杂代码库的算力需求,工具调用成功率在RL训练后达95%以上。
3. 高质量数据构建与评估策略
- 创新点:从GitHub严格筛选28k(issue, PR)对构建训练数据,并设计多粒度评估指标(Recall@k、nDCG@k、%Resolved)。
- 改进:传统数据含噪声且评估单一,本文通过项目活跃度、代码修改比例等筛选数据,并引入nDCG@k衡量函数排序质量。
- 意义:提升了训练数据的可靠性和实验结果的普适性,在SWE-Bench-Verified基准上验证了方法的有效性。
3️⃣ 主要结果与价值
实验结果亮点
- 性能突破:ToolTrain-32B在问题定位任务中达到SOTA,部分指标超越Claude-3.7-Sonnet(如函数级Recall@5提升12%)。
- 轻量化优势:ToolTrain-7B在工具调用效率上优于其他32B模型,验证了框架的高效性。
- 训练策略有效性:结合SFT和RL的模型比单一方法性能提升显著(如SFT-7B 79.31 vs. ToolTrain-7B 83.11)。
实际应用价值
- 软件开发效率:精准的问题定位可减少开发者调试时间,实验显示ToolTrain将问题解决率(%Resolved)提升至31.6%。
- 跨领域潜力:工具集成训练框架可迁移至其他代码相关任务(如代码生成、缺陷修复)。
- 部署友好性:RepoSearcher的轻量级设计使其适合集成到IDE插件或CI/CD流程中。
4️⃣ 术语表
- ToolTrain:论文提出的两阶段训练框架,结合监督微调(SFT)和强化学习(RL)优化LLM工具调用能力。
- RepoSearcher:轻量级问题定位代理,通过多轮工具调用动态探索代码库。
- nDCG@k:归一化折损累积增益,衡量模型输出结果的排序质量(k为排名阈值)。
- SWE-Bench-Verified:包含500个已验证GitHub问题的基准数据集,用于评估问题定位性能。
- %Resolved:生成补丁通过单元测试的比例,反映问题解决成功率。
- 拒绝采样SFT:仅使用高质量轨迹微调模型,避免噪声干扰。
- 基于规则的RL:通过规则(如nDCG@k)生成奖励信号,优化模型策略。
(总结已合并重复术语,如ToolTrain、RepoSearcher等仅保留核心定义,省略非关键缩写如SGLang。)