AREX Feed Article
百度文心发布自动研究系统 ERNIE Evolve,称两项公开基准超过公开验证最好结果
11 月 9 日,百度文心团队在发布自动研究系统 ERNIE Evolve,称其在 NanoChat AutoResearch 和 NanoGPT Speedrun 两项公开 AI 研发任务上“超过了目前公开验证的最好结果”:NanoChat AutoResearch 验证集 BPB(bits per byte,每字节比特数,越低越好)降到 0.8763,低于社区公开最佳的 0.8878;NanoGPT Speedrun 的 Track 1 用 38.9 秒训到目标损失(公开最佳 39.9 秒),Track 3 用 2,590 步达标(公开最佳 2,690 步)。在第三项任务 SOL-ExecBench 上,系统取得平均 SOL 分数 0.819,距榜首 0.827 还差 0.008。
博客同时称,ERNIE Evolve 已接入正在开发中的 ERNIE-5.5-Flash 做推理效率优化,它找到的改动与人工提交一样通过了文心团队的压测和正确性检查:昆仑芯 P800 低时延场景的生成速度提升至基线的 623.6%,GPU 确定性推理吞吐提升 33.7%,极致解码速度提升 14.9%。基准成绩与运行日志已在 开源。上述数字均为百度文心团队自报的结果。
外层定方向、内层做验证:双层循环怎么跑
按博客的描述,模型研发由一轮轮密集的实验迭代组成:判断哪个方向值得投入,设计并运行实验,从结果里分辨真实进步与偶然波动,再把经验带入下一轮。ERNIE Evolve 的定位是围绕明确目标与约束、持续提出研究方向并开展实验验证的自动研究系统,同时回答“研究什么”和“如何做好”两个问题。
组织方式是双层循环。外层根据历史实验和知识资料提出研究方向,每个方向交给一条研究线(lane)并行执行,各线维护自己的候选树;内层在研究线里连续迭代,每轮从已有版本出发修改代码,再交给独立的评测和复核。系统内部分工明确:Director 从经验库(Experience Bank)和知识库(Knowledge Base)里挑出下一个值得验证的方向并选定起点,可以是原始代码、此前最优版本、中间版本或上游主干的最新提交;Selector 决定研究线内每一轮从哪个节点出发、验证什么假设,除分数外还参考各候选的代码改动、失败原因和此前决策的结果;Executor 在隔离环境中按计划修改代码、产出新版本。
新版本能否保留,由两道独立把关决定。Evaluator 是固定的评测程序,放在被优化仓库之外、对所有智能体不可见,在真实负载上测性能、查正确性:超出允许修改范围的改动不进入评测,提升超过噪声阈值才会被接受。Reviewer 对照代码改动和评测结果,检查改动是否偏离本轮方向、提升是否来自钻评测的漏洞,偏离方向的版本不能成为最优版本,利用漏洞的版本直接作废。博客称,每轮的代码改动和实验结果都会沉淀下来,成为后续研究的依据。
(图:ERNIE Evolve 架构,来源:百度文心官方研究博客)
公开基准检验:三项任务各改了什么
博客选了三项有公开评测协议和经过验证榜单记录的任务检验系统,分别对应训练算法、训练速度优化和底层算子优化。博客的对比表汇总如下:
| 任务 | 指标 | 社区公开最佳 | ERNIE Evolve |
|---|---|---|---|
| NanoChat AutoResearch | 验证集 BPB,越低越好 | 0.8878 | 0.8763 |
| NanoGPT Speedrun Track 1 | 达标训练时间,越低越好 | 39.9 秒 | 38.9 秒 |
| NanoGPT Speedrun Track 3 | 达标训练步数,越低越好 | 2,690 步 | 2,590 步 |
| SOL-ExecBench | 平均 SOL 分数,越高越好 | 0.827 | 0.819 |
NanoChat AutoResearch 要求在单卡 5 分钟的固定训练预算内,同时权衡模型结构、优化器、学习率策略和执行效率。博客称社区方案持续优化后,单纯改网络结构的空间已经很小,ERNIE Evolve 于是在神经网络之外加入两个预测分支:一个利用全训练语料的 n-gram(n 元语法)统计,另一个检索与当前上下文相似的训练文档、用其中的后续内容做预测,门控按各分支在此前位置的预测表现动态调整混合权重,让网络在五分钟内来不及充分学习的语料信息也能参与预测;为控制开销,方案用不存动量的稀疏优化器管理大型输入表,把 softcap 与交叉熵融合为一个 Triton 算子,并让 CPU 建表与 GPU 训练并行。0.8878 的对照值出自 :该公司报告其 AI 研究团队在同一 NanoChat 基准、单张 B200 五分钟训练预算下,取得 10 个随机种子(seed)平均 0.887791 的 BPB。博客对比表里还列了 Recursive(BPB 0.9109、77.5 秒、SOL 0.676)和腾讯 Hyra-1.0(0.9015、76.4 秒、0.736)这两个自动研究系统的成绩,并注明 Hyra-2.0 已发布但未报告相关结果。
NanoGPT Speedrun 是 Keller Jordan 的 里的竞速任务:用 8 张 H100 把模型训到 FineWeb 验证集 3.28 的损失,比谁用时短;仓库 README 显示当前纪录已压进 40 秒以内,而最初的 llm.c 复现基线要 45 分钟。博客称这项任务已被社区优化两年多、九十多次。ERNIE Evolve 在 Track 1 的改动集中在通信重叠、反向传播和输出层梯度计算,处理成熟方案里仍然存在的串行等待、隐性数据搬运和昂贵的梯度计算;Track 3 固定架构与数据、比达标步数,系统整合两条搜索分支的发现,即把矩阵权重拆分为方向与幅度,以及引入基于历史位移的 EMA-Nesterov 外推,并解决了一个实现冲突:优化器会从内部状态重写权重,直接加在权重上的外推会被覆盖,外推必须作用于分解后的状态。
SOL-ExecBench 是 ,包含 235 个来自真实模型的算子问题,要求写出既正确又快的 kernel。博客称榜单发布 7 个多月来已有 700 多名开发者提交近 5 万次。NVIDIA 仓库说明,官方评测在 B200 上进行、SM 时钟锁定在 1,500 MHz,SOL 分数按 B200 理论性能上限(roofline)给 kernel 打分。ERNIE Evolve 的平均 SOL 分数为 0.819,高于 Recursive 的 0.676 和 Hyra-1.0 的 0.736,没有超过榜首的 0.827。博客称,系统没有针对某一种指标或代码结构做专门适配,而是用同一套研究闭环处理这三类问题。
昆仑芯 P800 低时延任务:约 168 小时、四轮方向
博客称,在公开任务验证能力后,团队把 ERNIE Evolve 接入文心团队正在推进的 ERNIE-5.5-Flash 推理效率优化。与公开任务相比,真实研发的难点被博客归纳为四条:多数任务基线已被工程师专项优化,容易拿到的收益已经被拿走;改动要进生产级代码,确定性、精度和延迟都不能变差,修改范围限定在指定模块内;不少有效改进的单项收益与测量噪声同量级;每次实验都要在多卡机器上启动完整推理服务再跑压测和精度检查。
第一个真实任务是昆仑芯 P800 低时延场景的推理速度,改动限定在昆仑芯适配插件内,模型和部署方式不变。称这一任务历时约 168 小时。博客按四轮展开:低时延生成的每步计算量很小,时间大多耗在 Python 调用、临时张量分配和主机与设备之间的同步上,这些开销每层、每步都会重复。第一轮把 mHC 由大量小算子拼接的调用路径转接到昆仑芯原生融合算子,并利用模型自带的多 token 预测层启用投机解码,累计提升至基线的 282.9%;第二轮转向主机调度与同步,小矩阵乘绕过推理用不到的包装层、验证阶段不再等待设备到主机的同步、索引和中间信息跨层复用、注意力接入原生算子,累计到 588.8%,其间系统试过用通用集合通信替换专用通信,速度反降 14.0%,这个方向随即被放弃;第三轮缓存 MoE(Mixture of Experts,混合专家)计算的索引和工作缓冲区,只再带来约 1.4% 的提升,系统据此重新测量各阶段开销;第四轮的运行时检查发现,通信模式虽设成了自动选择,生成请求却仍走普通路径,修正分派逻辑、按实际规模缩小通信缓冲区后,单流生成才真正用上 DeepEP 低延迟通信,最终生成速度达到基线的 623.6%,并通过全部正确性检查。
(图:昆仑芯 P800 低时延场景的优化过程,来源:百度文心官方研究博客)
确定性吞吐与解码速度:在 1%~2% 的噪声量级里找提升
第二个真实任务是 GPU 上的确定性推理吞吐。强化学习训练要求推理确定:同一个请求不论和哪些请求拼成一批,生成的 token 和 logprob(对数概率)都必须逐位相同,还要与训练端重算整段序列的结果逐位一致。SGLang 的确定性模式为此固定了所有规约顺序,代价是 GPU 算力用不满;按 batch 大小选择算子实现、原子加、自适应通信这些常规加速手段都会改变规约顺序,在这里用不了。博客称基线已包含工程师的专项优化,剩下的改进单项往往只有 1%~2%,与测量波动相当。约 3 天的搜索走了三个方向:系统先测出确定性采样约占每步 GPU 时间的 14%,把它改成按词表切块并行的 Triton 算子,这是单项收益最大的一处改动,随后优化稀疏注意力与小 batch 矩阵乘,累计提升 20.6%;第二个方向单改一个 MoE 通信开关的收益在噪声之内,配合相应算子改动才见效,人工调定的 mHC 切分常数从 8 改为 32 后再有收益,累计到 32.6%;第三个方向检验“确定性模式下很多算子的并行切分数固定,逐 token 生成时每张卡处理的数据又很少,只能用上 GPU 的一小部分计算单元”这一推广假设,逐个检验后大部分被证伪,只保留 mHC 后处理算子改二维并行等少数改动,最终吞吐提升 33.7%,平均每个 token 的生成时间缩短 26%,首 token 延迟缩短 12%,确定性保持不变。
(图:确定性推理吞吐的优化过程,来源:百度文心官方研究博客)
第三个任务优化 GPU 极致解码速度。服务使用投机解码,草稿模型先猜一段 token,主模型一次验证,提速只能来自缩短每一步的耗时。博客称工程师此前已把跨卡通信和算子之间的空闲压得很低,剩余耗时散在主模型验证与草稿生成的大量小算子上,没有单一热点,不少有效改动单项只带来 0.3%~0.5% 的提升,比测量噪声还小。系统共提出 7 个研究方向,3 个有效:第一轮重新分配 MoE 第一层矩阵乘与路由计算并行时的算力、让 mHC 后处理算子直接输出下一层需要的 FP8 量化输入,累计提升 5.4%,同轮另外三个方向(长上下文注意力、跨卡通信、算子间空隙与主机开销)被测量证伪,例如单次跨卡通信已接近 NVLink 往返的延迟下限,算子间空隙只占一步的 2%~4%;第二轮发现输入不足 8 行时原来的 FP8 矩阵乘有一半操作数是零填充,把权重和 token 交换到矩阵乘两侧、改用原生 FP16 矩阵乘指令,并把 MoE 专家矩阵乘的调度器从逐组串行扫描全部专家改成两级索引(单项收益最大),累计到 13.2%;最后一个方向转向一直处在关键路径上的草稿模型,把每个位置的采样和跨卡归约合并成一个算子、合并草稿注意力的计算,解码速度累计提升 14.9%,精度与基线相同。
成绩是自报的,代码和日志在 GitHub 上
公开发布里能直接核对的,是文心团队放在 (页面显示更新于 11 月 8 日)中的材料:四个任务目录各存一份最终代码和测量它的运行日志,其中 Track 1 成绩标注为 38.92 秒(n=18)、Track 3 为 2,590 步(n=8),SOL-ExecBench 收录 7 个 kernel、单核分数 0.6669~0.9920。仓库说明称,每份日志都嵌入了所执行的代码或其 sha256,日志可与旁边的代码互相核对,并附各结果的复现命令;SOL-ExecBench 部分特别注明官方榜单把 SM 时钟锁在 1,500 MHz,不锁钟的读数不可比。
对照基准里,一部分可以独立查证:rekursiv.ai 自己的博客与 0.8878 的社区最佳口径一致,modded-nanogpt 仓库确认 Track 1 当前纪录在 40 秒以内;NanoGPT 官方榜单的 39.9 秒、2,690 步和 SOL-ExecBench 榜首 0.827,目前依据的是博客对官方榜单的引用。发布当天,雷峰网以“百度文心首次披露 RSI 进展”为题报道了这次发布、文末附技术博客链接,等也发布了同题快讯。
RSI 竞赛与新模型时间表
博客把 ERNIE Evolve 定位为递归自我改进(Recursive Self-Improvement,RSI)方向上的一步,即让自动研究应用于执行自动研究的 AI 本身,并称 RSI 正在成为模型制造商的关键竞争力,直接影响模型的迭代效率。雷峰网的报道把这次发布称为百度文心“首次披露 RSI 进展”,并列出 OpenAI、Anthropic、腾讯、智谱等多家厂商都在探索把 RSI 引入模型研发。
按博客的说法,推理基础设施优化是 RSI 在真实 AI 研发中的第一个落点,同一闭环接下来计划延伸到训练系统优化、围绕模型能力指标自动提出假设并设计实验验证,再到评测基准与评测套件的自迭代。博客同时给扩展立了前提:必须以可控、可暂停为前提,在明确的目标、权限和资源边界内运行,接受持续的安全评估和人工监督,“只有当人类仍能理解、监督和终止系统时,才逐步扩大研究范围”。
ERNIE-5.5-Flash 本身仍在开发中。雷峰网报道提到,11 月 5 日百度已开源文心 5.5 Flash Base 基座模型,并援引接近百度人士的说法称文心新模型或将于近期发布。眼下能做的独立核对,是按 ernie-research/ERNIE-Evolve-Results 仓库里的复现命令重跑 NanoChat 与 NanoGPT Speedrun 的成绩;在社区复现之前,这两项超纪录结论仍以百度自己的代码和日志为据。