遇见数据集

FIM-Midtraining-400K

收藏
github2026-07-15 更新2026-07-17 收录
官方服务:

资源简介:

FIM-Midtraining-400K是一个用于编码代理基础模型的数据集,包含40万样本和约26.3亿个标记。它通过程序依赖图分析和复杂度-可推断性双重标准选择并掩码函数,以支持中间训练,具体配置包括单函数、函数对和函数三重掩码目标。

FIM-Midtraining-400K is a dataset for mid-training of coding agent foundation models, comprising 400,000 samples and approximately 2.63 billion tokens. To support mid-training, it selects and masks functions via program dependency graph analysis and the dual criteria of complexity and inferability, with specific configurations including single-function, function-pair, and function-triple masking objectives.

创建时间:
2026-07-14
原始信息汇总

数据集概述

FIM-Midtraining-400K 是一个用于编码智能体基础模型中间训练的、函数感知的填充中间(Function-Aware Fill-in-the-Middle)数据集。其核心思想是利用普通代码中存在的、与编码智能体“行动→观察→继续”循环结构同构的函数调用模式,通过掩码函数并训练模型恢复它们,从而为后续的智能体后训练奠定基础。

数据集构成

  • 总样本数:400,000个样本。
  • 总词元数:约26.3亿个词元(2.63B tokens)。
  • 数据来源:从968个经许可的Python仓库构建,这些仓库的提交日期早于SWE-Bench基准的首次提交,且与SWE-Bench的源仓库无重叠。
  • 格式:每个样本均包含一个经过筛选的Gemini-3-Flash生成的推理过程(rationale)以及完整的原始数据元数据。

数据子集配置

数据集分为四个配置,不同配置针对不同规模的函数掩码目标:

配置名称 样本数量 掩码目标 词元数量
all_merged(主结果语料库) 400,000 80% 单个函数 / 15% 函数对 / 5% 函数三元组 ~26.3亿
single_function 320,000 单个函数体 ~20亿
function_pair 60,000 两个耦合函数(联合掩码) ~4亿
function_triple 20,000 三个耦合函数(联合掩码) ~2亿

目标函数选择策略

并非所有函数都适合作为掩码目标。选择过程基于程序依赖图(PDG)分析,并使用一个双重标准评分:

  1. 复杂度 (Ĥ):基于代码行数、圈复杂度和嵌套深度。
  2. 可推断性 (Î):基于调用点特异性、文件内被调用函数、函数签名、文档字符串和类上下文。

最终得分计算公式为 FIM = Ĥ·Î/(Ĥ+Î)·ρ(Δ),该得分会确保所选函数既足够复杂又具有可恢复性。同时,对于2-3个耦合函数,会根据八种依赖拓扑结构进行联合掩码选择,并重新计算联合掩码下的可推断性。

数据组织

相关模型与结果

该数据集用于中间训练,产生了一系列名为 FIM-Mid-{7B,8B,14B} 的模型。这些模型随后用于后训练,并在SWE-Bench基准上取得了显著提升(相对于单独后训练):

最终模型 基础模型 后训练方案 SWE-Bench-Verified SWE-Bench-Lite 平均提升
FIM-7B FIM-Mid-7B R2E-Gym 17.80 (+2.8) 15.00 (+3.7) +3.24
FIM-14B FIM-Mid-14B R2E-Gym 29.20 (+3.0) 22.00 (+4.0) +3.50
FIM-8B FIM-Mid-8B SWE-Lego 35.00 (+3.2) 32.70 (+5.4) +4.30
搜集汇总
数据集介绍
FIM-Midtraining-400K 数据集图片
构建方式
该数据集源于一项深刻洞察:编码智能体的内循环——“行动-观察-继续”——与编程语言中函数调用的结构形态高度同构。构建过程并非随机掩码,而是依托程序依赖图分析,精准选取函数作为掩码目标。每个入选函数需经由复杂度与可推断性的双重评分筛选,确保掩码目标既具实质性又具备可恢复性。针对选定的单一函数、成对函数或三元函数组,系统在完全屏蔽上下文的情况下生成推理依据,并强制遵循“推理在前、函数体在后”的格式编排,生动模拟了智能体在行动前先思考的决策模式。最终从968个采用宽松许可证的Python代码仓库中,精炼出40万条高质量训练样本,涵盖约26亿个令牌。
特点
该数据集最显著的特点在于其结构先验的普适性与迁移性。通过掩码函数并强制模型以“推理-执行”顺序进行填充,数据集在编码智能体的基础模型中植入了一种因果链式的思维结构——这种结构在后训练阶段完整保留,并横跨R2E-Gym、SWE-Smith、SWE-Lego等完全不同的后训练管道持续释放增益。实验证明,这一先验不仅显著提升了SWE-Bench上的编码能力,更令人惊讶的是,它竟能在τ-bench和BFCL等完全不包含Python代码编辑数据的基准测试中挽回大部分因智能体后训练而悄然流失的通用能力,显示出超越纯编码任务的结构泛化潜力。
使用方法
使用该数据集的最简捷方式是直接采用发布的FIM-8B等已微调检查点,通过vllm serve命令即可快速部署。若要完整复现论文成果,需依次执行数据重建、中间训练及后训练三个阶段。中间训练环节可借助LLaMA-Factory框架,将数据集加载至data目录后一键启动训练。关键要领在于必须对基座模型与中间训练后的检查点执行完全一致的后训练与评估流程,以精确剥离元方法带来的增益。该数据集已完整上传至Hugging Face平台,提供all_merged、single_function等多种配置,并附带详尽的无重叠代码源与提交时间戳等来源元数据,供研究者按需选用。
背景与挑战
背景概述
在代码智能领域,面向编码代理的基座模型通常依赖后续的智能体后训练提升软件工程基准性能,却常以通用能力衰减为代价。FIM-Midtraining-400K数据集由新加坡国立大学TIGER-Lab等机构于2026年创建,旨在回答一个核心研究问题:能否通过结构化的中间训练为编码代理注入一种永久的执行模式先验,使后训练带来的能力侵蚀得以大幅回补。该数据集包含来自968个宽松许可Python仓库的40万个函数感知填充中间样本,约26亿词元,通过程序依赖图分析筛选兼具复杂度与可推断性的函数体进行掩码,并融入基于思维链的推理前置格式。它不直接用于下游评估,而是充当后训练前的一次认知预调整,在Qwen2.5-Coder与Qwen3系列上均带来稳定提升,验证了结构化先验对编码代理基座模型的深远影响力。
当前挑战
该数据集面临的核心挑战是如何精确模拟编码代理的思维链路。传统随机掩码无法捕获函数调用关系中固有的“调用-观察-延续”结构,因此需要从程序依赖图中提取实参绑定、返回值传播等语义关系,这依赖复杂的调用图与类内兄弟边分析。构建中,每个候选函数需通过复杂度与可推断性的双准则联合评分,并针对2-3个耦合函数集群在八种依赖拓扑下重新计算联合推断性,筛选标准苛刻。此外,生成高质量推理链时须确保从掩码上下文中生成,不能泄露真实函数体,并通过大语言模型对比验证过滤,同时避免与SWE-Bench数据源形成仓库或提交时间重叠,对数据隐私与时效性提出严格约束。
常用场景
经典使用场景
在代码智能与自动化编程领域,FIM-Midtraining-400K数据集的核心用途在于作为面向编码智能体基础模型的中间训练语料。该数据集精心构造了约40万条函数感知的填充中间样本,其设计灵感来源于编码智能体“行动-观察-继续”的内循环结构与函数调用站点在结构上的同构性。研究者通过程序依赖图分析,选取复杂度与可推理性兼备的函数作为掩码目标,引导模型在恢复被遮蔽函数体的过程中学习推断因果关系,从而在后续的智能体后训练阶段显著提升模型在软件工程任务中的表现。这一数据集为弥合通用代码理解与专用智能体行为之间的鸿沟提供了关键桥梁。
实际应用
在实际部署中,基于该数据集训练的模型可直接用于构建更强大的自动化软件工程代理系统。以FIM-8B为代表的检查点在SWE-Bench-Verified上取得了35.00%的解决率,显著超越同等规模的传统模型,使其能够胜任真实世界中的代码修复、功能实现和仓库级问题排查任务。这些模型能够以更低的试错成本适应多样化的编程环境,例如通过R2E-Gym、SWE-Lego等后端训练框架与现有开发工具链无缝集成,从而作为企业级代码助手或持续集成流水线中的智能体核心,显著提升开发效率和代码质量。
衍生相关工作
该数据集衍生了一系列具有影响力的研究工作,典型代表包括基于不同基础模型家族构建的FIM-7B、FIM-8B和FIM-14B检查点,它们分别展示了函数感知中间训练在Qwen2.5-Coder与Qwen3架构上的普适有效性。此外,该研究工作还催生了与R2E-Gym、SWE-Smith、SWE-Lego等后训练流水线的深度结合实验,系统验证了所提方法在不同训练范式下的迁移鲁棒性。这些衍生工作共同构成了一个从数据构造、模型训练到评估基准的完整技术生态,为后续探索代码智能体的基础能力预训练提供了可复现的范式和宝贵的基线参考。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务