2026-08-28 — views
SWE-Prime 以更少的轨迹提升模型性能
为什么值得读 开发者应关注此问题,因为嘈杂的监督信号会鼓励模型模仿不良的问题解决行为。
新方法 SWE-Prime 通过过滤训练数据,提升大语言模型解决现实世界软件问题的能力。该方法在轨迹和片段层面逐步筛选数据,剔除无效、冗余或高风险步骤,仅保留对解决方案有积极贡献的片段参与损失计算,同时完整保留上下文。
监督微调的挑战
先前的工作侧重于构建大规模智能体轨迹数据集,并对成功轨迹进行监督微调。然而,任务成功并不能保证高质量的监督。成功的轨迹仍可能包含无效、冗余或高风险的步骤。直接使用此类轨迹进行 SFT 会引入嘈杂的监督信号,并鼓励模型模仿不良的问题解决行为。
介绍 SWE-Prime
为了解决这些问题,研究人员提出了 SWE-Prime,这是一种多粒度、两阶段的 SFT 数据选择方法,在轨迹和片段层面逐步过滤训练数据。第一阶段基于过程质量、结果质量和数据代表性进行轨迹级筛选。此步骤选出了高质量且具有代表性的成功轨迹子集。
第二阶段执行片段级选择,将连续的步骤分组为语义片段。每个片段根据其最终解决方案的贡献度、可学习性和潜在风险进行评估。在 SFT 期间,所有片段保留在序列中以保持上下文,而仅选定的片段参与损失计算。
实验结果
在 SWE-Bench Pro 和 SWE-Bench Verified 上的实验表明,使用 SWE-Prime 筛选出的 10% 轨迹子集进行训练的效果优于在全量已解决数据集上进行训练。该方法分别带来了高达 12.2% 和 24.2% 的相对性能提升。
实务笔记
开发者应在微调前实施多阶段数据选择以过滤无效步骤。必须确保仅使用对解决方案有积极贡献的片段进行损失计算,同时保留完整上下文。