数据工程观察 · 2026年10月19日
本期五条:AutoSFT 把数据工程师的六类动作交给多智能体而单智能体只用了一类、SWE-at-Scale 把历史修复反推成 bug 注入监督、Muon 的数据账与时间账在语言与视觉上给出相反答案、EliteReplay 把基模解法存成档案再回放、一个打乱词缀的对照组把分词形态正确性的结论收窄了。
本期五条围着同一个动作展开:改数据。arXiv 最新一批(Fri, 16 Oct 2026)里,有团队把「数据工程师会做的六件事」写成动作空间,再拿多智能体结构去覆盖它,单智能体只走到了其中一件;有团队不去凭空造 SWE 任务,而是把历史修复反过来看成「怎么引入 bug」的监督信号,拿 688 个仓库的 13,407 条真实变换去学注入分布;有一份优化器基准把「省数据」和「省时间」拆成两本账,结论在语言与视觉上正好相反;还有一份工作把多样性当成可存档资产,先用质量多样性搜索把基模的解法存进档案,再在 RL 训练里回放;最后一份分词研究给自己配了一个打乱词缀的对照组,测下来「切分符合语言学正确性」这一条假设并没有被证实。五条合起来给出一条朴素的工作纪律:动数据之前先把收益记在哪本账上想清楚。
AutoSFT:把数据工程师的六类动作交给智能体,单智能体只用了一类
事件概述:自动化后训练的系统越来越多,但现有做法只给智能体一种控制权——要么从固定池里挑行,要么调用一个生成器。真实的数据工程师做的事远不止这些:调类别配比、剪枝、修复、替换过长响应、为缺失能力补写样本、给数据排序。作者把这六类改动写成数据动作空间,先跑单智能体版本,看它能覆盖多少,再给出 AutoSFT 这套多智能体结构去补覆盖度。
技术细节:单智能体版本的失败有两种。它只走到「调整类别配比」这一类动作,重复给出相近配方;上下文被原始命令输出塞满,还在搜索中途被丢弃。AutoSFT 用 meta agent 持有每轮,往下派三种子智能体:executor 单独跑训练、转换与评测,只回传文件路径和一短条状态报告,让主智能体的上下文留给数据;四个 analysis subagent 分别从训练数据、失败样本、训练信号、前序轮次四个角度各提一条数据动作;synthesis subagent 为池子覆盖不到的能力写新数据。三个组件逐个叠加,base 模型 Qwen3-1.7B-Base、初始池、token 预算、训练脚本、评测在每次对比内固定,每轮都从 base 重训,所以每个组件的效应可归因。executor 把上下文损耗减半;analysis 把最佳 IFEval 抬了 +6.5;synthesis 再加 +3.4 IFEval 与 +2.9 IFBench。代码域没有现成的能力分类法,同一个循环把 MBPP+ 抬了 +3.7,而单智能体在那里没有改善。64 小时窗口内,Base 与 Base + Analysis 各跑完 15 轮,Base + Analysis + Synthesis 跑完 6 轮;单智能体看不出持续上升,Base + Analysis 在第 13 轮到 64.8%,加了合成的那条在第 6 轮就到 65.8%。成本也给了:8 张 H800 上训练约 0.8 GPU 小时一轮、评测约 0.15 GPU 小时,20 轮约 130 GPU 小时;智能体与生成后端每轮吃掉约 2.6×10⁸ token,API 开销约 95 美元一轮、整轮约 1,900 美元。作者自陈三点局限:只用了一个 base 模型的一个规模,每个配置只跑一次搜索,合成只通过少数几项池子供给不足的能力抬了总分,模型还学不会的能力它推不动。
对大模型数据工作的影响:把「自动化数据研究」的评价口径从分数挪到了动作覆盖度。单智能体刷不动分,未必是搜索不够强,而是它压根没走到剪枝、修复、合成那几类动作上。分工结构的收益(上下文损耗减半)比换更强的单个智能体更实在,这一点对正在搭数据实验平台的团队有直接参考价值。合成子智能体只在「池子缺能力」时被调用,也提示了合成数据的正确用法——补缺口,不是堆量。
SWE-at-Scale:把历史修复反过来,当 bug 注入的监督信号
事件概述:代码智能体越来越强,可验证的 SWE 任务供给却卡在两处——真实 issue 的报告频率有限,人工整理成本高。现有合成路线主要靠大模型的预训练知识加启发式提示,合成出来的软件故障机理不够真。作者提出反向思路:一次历史修复里藏着「bug 是怎么形成的」的机制知识,把修复倒过来,修 bug 的监督就变成了引入 bug 的监督。
技术细节:作者从 688 个仓库构造了 13,407 条真实修复变换作为训练语料,给出两个变体:SWE-at-Scale 直接学 bug-inducing patch,SWE-at-Scale+ 把引入 bug 的逻辑外化成自然语言模式再落地。可用性由测试决定,合成出的 bug 要能被测试捕获才留下。质量上,与真实 SWE-bench Verified 的 issue 两两比较时,人工评审在 55.9% 和 61.2% 的样例里判定两个变体造出的 bug 更像真实开发中会出现的那一个;四个解题模型上,SWE-at-Scale 的 Pass@1 落在 31.68% 到 48.48% 之间,SWE-at-Scale+ 落在 16.81% 到 37.02% 之间,后者接近 DeepSWE 这类人工设计任务的难度。多样性扫描做得细:50 个目标文件覆盖 12 个仓库,六个温度各生成 10 个候选,共 3,000 个;MBTE(bug 类型熵)从温度 0.0 的 0.527 升到 0.4 的 1.153、0.6 的 1.173,可用性却从 69.0% 掉到 1.0 时的 23.4%,0.4 到 0.6 是多样性—可用性的甜区。采样预算扫描里 K=200 时 MBTE 到 2.063 bits,可用性在 K>50 后稳定在约 47%,4,749 条可用候选中 4,192 条(88.27%)在归一化 diff 去重后仍唯一;对照的 LLM-Modify(DS-V4-Flash)在同样 K=200 只有 1.22 bits、44.1% 可用性、61.74% 唯一率。训练池从 5 个仓库扩到 100 个时,多样性与可用性一并上涨。改动规模上,两个变体平均改 18.793 行和 18.536 行,SWE-bench Verified 是 14.334 行。局限写了两条:只做了 Python,测试覆盖弱的仓库会丢掉造不出来的任务。
对大模型数据工作的影响:给「合成数据的分布从哪来」换了个来源。靠通用模型凭空想的 bug 会迅速收敛到重复模式(唯一率 61.74%),从真实修复反推的分布则在 200 次采样内还在继续拓宽(88.27% 唯一)。这条思路对数据合成通用:与其让模型自由生成,不如从已有的「修改记录」里学改动分布,再把分布实例化到新上下文。温度与采样预算的两条曲线也是可直接照搬的工程参数——中等温度拓类型,高温只损可用性,采样预算加到约 50 之后可用性就见顶了。
Muon 的数据账与时间账:语言与视觉给出相反答案
事件概述:Muon 的数据效率收益已经被反复报道,但「效率」可以是更少的训练 token、更短的训练时长,也可以是更少的调参。作者把这三种预算摊开,在同一张 A100 上配对了 17.7M 与 33.6M 参数的因果语言模型,以及 2.70M 参数的视觉 transformer,把口径问题摆到台面上。
技术细节:语言侧用 FineWeb-Edu,视觉侧用 CIFAR-100 的均衡版和 100:1 长尾版,共四个 workload。23 个候选的开发预算选出配置,再用五个 matched seeds 跑全周期,配 40 次主评测和 24 次预注册的次评测;测试集在冻结全部检查点和评测规则之后只访问一次。等数据预算下 Muon 全胜:验证损失 AUC 降低 3.25%(语言-micro)、4.46%(语言-small)、16.98%(视觉-balanced)、22.44%(视觉-long-tail),20 组配对全部稳定跨过 1% 边界,语言侧的跨界点在训练进程的 4.8% 与 3.0% 处,视觉侧在第一个 1% 评测点就已经跨过。换成等时间预算,结论翻转:视觉上 Muon 的时间归一化 AUC 改善 19.68% 和 22.31%,而语言上 AdamW 反而好 6.96% 和 3.38%;等时间终点损失同一形态,视觉 Muon 好 39.71% 与 41.09%,语言 AdamW 好 3.56% 与 0.73%,其中语言-small 的 95% 区间 [−1.60, 0.22] 含零。冻结测试损失的相对降低是 4.77%、7.01%、11.52%、26.03%,四任务均值 12.33%,分层 bootstrap 区间 [11.84, 12.83]。翻转的原因在开销:完整 Muon 调用(含辅助 AdamW 更新)吃掉训练时间的 56.1% 到 69.6%,AdamW 基线只有 6.1% 到 9.1%。调参预算是第三本账:从冻结候选池里随机只给一个候选时,Muon 的期望 AUC regret 是 13.66%,AdamW 是 7.52%;给五个候选降到 1.69% 与 0.42%,给十个降到 0.67% 与 0.09%。训练到 25% 再切 Muon,相对 AdamW 降 3.97% 到 23.40%,但四个 workload 上全周期 Muon 的损失仍更低。作者明确写了适用范围:小模型加参考实现,wall-clock 排序不能外推到更大模型或优化过的实现。
对大模型数据工作的影响:省下来的 token 不一定省得下机时,这句话现在有了刻度。数据侧收益(3.25%–22.44%)和算力侧收益(语言上为负)指向不同的决策,做预训练预算时把「数据复用几个 epoch」与「总训练时长」分开核算,才不会配错。调参 regret 那一栏更值得数据团队看:Muon 的优势建立在候选池被充分搜索的前提上,搜索预算被砍到只剩一两个候选时,它的期望损失是 AdamW 的近两倍。
相关链接:https://arxiv.org/abs/2610.21555、https://arxiv.org/pdf/2610.21555
EliteReplay:把基模的解法存进档案,再在 RL 里回放
事件概述:RLVR 提升 pass@1 的代价是锐化——概率集中到基模本来就有的少数行为上,pass@k 跟着掉。已有工作用 pass@k 当多样性代理,但 pass@k 只问「有没有一个样本对」,不问「对的样本是不是不一样」。作者先引入策略级多样性评测,再给出 EliteReplay:训练前用冻结的基模做质量多样性搜索,把覆盖不同行为的正确解存成档案,训练时把 GRPO 与档案上的回放损失结合。
技术细节:基模是 Qwen3.5-4B-Base,任务域 text-to-SQL,BIRD 做域内、Spider 做域外。档案构建分两步:8,000 次种子采样占满 1,132 个行为格,八轮定向变异把候选累积到 72,000 次、占格涨到 2,708,最终供出 1,500 条已验证的回放样本。为分离「定向搜索」与「多采样」的贡献,作者用同预算的 IID 档案做对照:547 道在两份档案里都有至少两个解的题,精英档案抽出的配对走不同策略(按 AST 相似度判定)的比例是 66.2%,IID 档案只有 45.5%。AmbiQT 的 Both@k 测歧义覆盖,k=128 时基模 37.0%、GRPO 4.2%、SetPO 10.0%、DPH-F 12.0%、MaxRL 14.2%、EliteReplay 27.0%,后者补回了最强基线与基模之间一半以上的差距。只做档案 SFT、不跑 RL 时,精英档案在 BIRD pass@128 上 74.6%、Spider 上 92.8%,比 IID 档案高 8 到 9 个百分点,但 pass@1 最多 37%,EliteReplay 是 52.5%——档案给覆盖,RL 给低采样精度。主结果:EliteReplay pass@1 52.5、pass@128 74.8、U@16 3.0、U@128 9.1,IID 回放是 51.7、75.6、2.4、7.4;BIRD 与 Spider 上每种策略的覆盖损失都小于全部基线。回放权重 μ 默认 0.05,扫描 0.02 到 0.15 时 pass@1 从 53.4 降到 50.3,pass@128 变动不大。局限两条:只用了一个 4B 基模,只在 SQL 这类能用 AST 区分策略的域上验证过。
对大模型数据工作的影响:多样性被当成了可离线构建、可复用的数据资产,而不是训练中顺带保住的副产品。档案只建一次、来自基模自身、成本可单独核算,这个形态对做后训练数据管线的团队很好落地。评测层面的提醒更硬:pass@k 相近的两个模型,策略数可以差很远(U@128 的 9.1 与 7.4),只看 pass@k 的多样性结论要打个问号。档案单独做 SFT 补覆盖、RL 补精度这一拆,也把「SFT 数据与 RL 数据各自负责什么」讲清楚了。
分词器的形态正确性:一个打乱词缀的对照组把结论收窄了
事件概述:类型学感知的分词器有个通行说法——尊重词素边界的切分保住了频率驱动切分会破坏的信息。这个说法默认了边界必须在语言学上正确。作者把「切得一致」和「切得正确」拆开,在他加禄语上做了一次带打乱对照的控制实验。
技术细节:他加禄语用中缀标记语态(s-um-ulat「写了」、s-in-ulat「被写了」),词根不连续,任何 BPE merge 序列都恢复不出来。作者构造 MorphAustro-Tok,把词根作为连续单元输出、后接一个位置中缀 token,对照语料匹配的 BPE 基线;在三档 fertility 中的两档另配 scrambled 控制——保住词素数量、可逆性和逐类型一致性,把伪中缀随机化,也就是切得一样碎、一样一致,只是形态上错。33 次运行(他加禄 24 次、印尼 9 次)。结果是:MorphAustro-Tok 相对匹配 BPE 的 chrF++ 逐句提升在 F0、F1、F2 三档分别是 0.844、1.488、3.396,域内切分上是 1.168、1.631、3.933。作者接着拿种子间标准差卡了一遍:三档分别是 2.265、2.527、1.577,F0 与 F1 的效应落在重训噪声以内,只有 F2 的 3.396 越过了地板。关键对照在打乱臂上:scrambled 相对 BPE 是 +1.543(F1)与 +2.735(F2),Morph 减 Scrambled 只剩 +0.661 与 +0.639,两处都停在分辨率地板,Holm 校正后不显著。参数与词表量也排了一遍:F2 上 BPE 1,483 词 1,116,032 参数、Morph 1,725 词 1,147,008 参数、Scrambled 1,872 词 1,165,824 参数——打乱臂比 Morph 多 18,816 个参数,chrF++ 反而更低(10.24 对 10.93)。NER 上出现一处不对称:打乱要付 0.023 F1,MT 上则检测不到代价,作者把它标为线索而非结论。印尼臂被主动砍掉:机制只覆盖 3.95% 的行、0.274% 的词,fertility separation 0.167%,比他加禄的 6.94% 低两个数量级,属于按实测证据止损。论文把主张收窄到一句——在这个语言、这个规模下,检测不到切分正确带来的贡献,把「一致」还是「正确」留给下一个对照组去确认。
对大模型数据工作的影响:给分词器改造的收益归因提了个醒。低频语言上换分词方案拿到几个 chrF++ 点,容易被直接归给「词素边界对了」;加一个保住粒度与一致性的打乱对照后,这部分收益基本消失,剩下的更能归因到「切得更一致」。作者把种子间标准差写进主结果、把砍掉的印尼臂连同实测数字一并公开,这套做法对数据实验的验收清单有直接参考价值:效应量先跟重训噪声比一次,再谈结论。