内容提要
阿里巴巴达摩院与宾夕法尼亚大学合作提出了一种新的编码Agent基础模型中期训练方法FIM Mid-Training。该方法通过自监督学习,利用从GitHub抽取的2.6B token数据,增强模型对函数调用的理解。实验结果表明,模型在多个基准测试中显著提升了性能,并有效缓解了工具调用微调对编码能力的负面影响。
关键要点
-
阿里巴巴达摩院与宾夕法尼亚大学合作提出了一种新的编码Agent基础模型中期训练方法FIM Mid-Training。
-
FIM Mid-Training通过自监督学习,利用从968个GitHub仓库抽取的2.6B token数据,增强模型对函数调用的理解。
-
该方法将函数调用模式映射到代码填充任务中,实现了工具调用归纳偏置的内化。
-
实验结果显示,模型在多个基准测试中显著提升了性能,SWE-Bench-Verified上分别获得+2.8、+3.0和+3.2的绝对提升。
-
FIM Mid-Training采用三段式掩码策略,模型需要预测中间的掩码内容,从而学习函数签名与调用上下文之间的深层关联。
-
掩码选择策略通过程序依赖图分析和复杂度可推断性标准,确保被掩码的函数在代码结构中处于关键位置。
-
中期训练的模型包括Qwen2.5-Coder-Instruct的7B和14B版本,以及Qwen3-8B。
-
FIM Mid-Training有效缓解了工具调用微调对编码能力的负面影响,保护了模型的编码基础能力。
延伸解读
自监督学习的优势
FIM Mid-Training 采用自监督学习方法,通过分析大量 GitHub 数据,增强了模型对函数调用的理解。这种方法不依赖人工标注,降低了数据准备的成本,同时提高了模型的泛化能力,使其在多种编码任务中表现更佳。
掩码策略的重要性
该方法使用三段式掩码策略,确保模型学习到函数调用的深层关联。掩码选择基于程序依赖图分析和复杂度可推断性标准,确保被掩码的函数在代码中具有关键性。这种策略不仅提升了模型的学习效率,也增强了其对复杂代码结构的理解能力。
中期训练的实际影响
FIM Mid-Training 显著提升了模型在多个基准测试中的性能,尤其是在 SWE-Bench-Lite 上的表现更为突出。这表明中期训练不仅增强了模型的编码能力,还有效缓解了工具调用微调对编码能力的负面影响,具有广泛的应用潜力。
延伸问答
FIM Mid-Training的主要目标是什么?
FIM Mid-Training的主要目标是通过自监督学习增强编码Agent对函数调用的理解。
FIM Mid-Training是如何选择掩码的?
FIM Mid-Training通过程序依赖图分析和复杂度可推断性标准选择掩码,确保掩码的函数在代码结构中处于关键位置。
FIM Mid-Training对模型性能的影响如何?
实验结果显示,FIM Mid-Training在多个基准测试中显著提升了模型性能,例如在SWE-Bench-Verified上获得了+2.8、+3.0和+3.2的提升。
FIM Mid-Training采用了什么样的训练策略?
FIM Mid-Training采用三段式掩码策略,将代码分为前缀、掩码部分和后缀,以学习函数签名与调用上下文之间的关联。
FIM Mid-Training如何缓解工具调用微调的负面影响?
FIM Mid-Training通过内化函数调用的结构感知能力,保护了模型的编码基础能力,避免了工具调用微调对编码能力的退化。
FIM Mid-Training使用了多少数据进行训练?
FIM Mid-Training使用了从968个GitHub仓库抽取的2.6B token数据进行训练。