核心观点 - 北京大学、字节跳动Seed团队及香港大学联合提出「SWE-Swiss」配方,通过精巧方法论设计使32B参数模型SWE-Swiss-32B在SWE-bench Verified基准上取得60.2%准确率,与更大模型性能相当,体现卓越训练效率 [1][2] - 该研究将软件工程问题解决流程解构为代码定位、修复和单元测试生成三项核心技能,并通过验证性拒绝采样构建高质量数据集,采用两阶段训练方法(多任务SFT+两阶段RL)显著提升模型性能 [5][8][10][11] - 测试时扩展阶段引入「增强自我一致性」方法,结合多补丁生成与相似度度量,使模型在生成120个补丁时达到60.2%准确率,较传统方法优化显著 [14][15][18] - 团队宣布将开源32B模型及全部训练数据,推动社区研究发展 [9][21] 模型性能 - SWE-Swiss-32B在SWE-bench Verified基准上取得60.2%顶级分数,与Kimi-Dev、DeepSeek-R1-0528等更大模型同属SOTA梯队 [1][2] - 两阶段训练使性能阶梯式提升:SFT后达36.0%,RL阶段跃升至45.0%,最终测试时扩展达60.2% [11][12][18][20] - 两阶段RL课程中,第一阶段200步训练后剪枝简单样本(准确率>90%),第二阶段90步专注难题,带来额外性能增益 [11][16] 方法论创新 - 验证性拒绝采样构建数据集:生成候选数据后通过基于测试的自动化验证筛选,仅保留成功样本用于微调 [8] - 两阶段训练架构:第一阶段混合10,254个样本进行多任务SFT,第二阶段通过POLARIS启发式RL课程强化修复能力 [11] - 增强自我一致性算法:在传统完全匹配基础上引入相似度度量,奖励相似解决方案密集区域的候选补丁 [14][15] 技术实现 - 基于Qwen2.5-32B模型进行改造,三项核心技能显式建模(代码定位/修复/单元测试生成) [10][11] - 修复模块利用定位和检索文件生成补丁,测试生成模块验证补丁有效性,形成闭环工作流 [7] - GitHub和Hugging Face已公开模型及数据集资源 [9]
北大、字节跳动联手发布SWE-Swiss:一把修复代码Bug的「瑞士军刀」,完整配方直指开源SOTA
机器之心·2025-08-08 04:48