事件:Ai2 开源 Olmo-core 3,冲着万亿参数去
10 月 1 日,艾伦人工智能研究所(Ai2)在 Hugging Face 上开源了 Olmo-core 3,这是他们开发大语言模型的训练框架的一次大版本升级,核心是一套重新设计的开放 MoE(混合专家)训练系统。官方在博客里把它定位为「下一代 Olmo 背后的核心系统之一」,同时放出了技术报告、代码和一个交互式演示。
和过去几年开源的模型权重不同,这次开源的是训练本身的地基。MoE 模型的思路是把模型拆成很多「专家」小块,每个输入只激活其中几个,这样能塞进更多参数,而不用每次都把所有参数算一遍。但规模一大,权重和训练状态摊到几十上百张 GPU 上、再把每个 token 送到正确的专家那里,通信和协调的代价会吃掉稀疏结构省下来的算力。Olmo-core 3 要解决的就是这块。
对普通读者来说,这是一条偏底层但影响很长的消息:它决定未来几年开源阵营能训出多大的模型,也决定学术界有没有可能自己动手复现前沿规模的训练。
稀疏模型为什么会越训越慢:瓶颈不在算力,在搬运
MoE 之所以被认为更省算力,前提是「不是每个参数都参与计算」。但有个容易被忽略的事实:模型总权重和训练状态(优化器里要维护的那些数据)仍然要完整放进 GPU 显存,并在每一步训练中被更新和重新分片。模型越大,显存占用和跨卡通信就越紧张。
Ai2 之前的 MoE 实现基于全分片数据并行(FSDP),做法是把模型权重收集到一起处理、再切回各张 GPU,每一小批训练数据都要重复一次这个过程。Olmo-core 3 换成以分布式数据并行(DDP)为基础的方案:专家权重常驻在 GPU 上不动,只把需要的数据路由过去,避免反复收集权重。
这次改动背后还有 Ai2 自己的路线变化。OlmoE 用的是 64 个路由专家的 MoE 架构,而上一代 Olmo 3 走的是稠密路线——几乎所有参数对每个 token 都参与计算。Olmo-core 3 等于把为稠密模型设计的训练栈重新拉回稀疏模型,作为下一代 Olmo 的底座。
8 张 B300 上吞吐翻 2.7 倍,具体做了哪几件事
最直观的一组数字来自 8 张 NVIDIA B300 上的测试:一个 470 亿参数的 MoE 模型,新栈每张 GPU 每秒处理 52,000 个 token,旧实现是 19,400 个,约 2.7 倍。官方把这一项明确标注为初步测试,不是完整训练结果,引用时需要注意。
做法可以拆成三层。第一层是怎么把模型摊开:专家并行把专家分散到不同 GPU,每张卡只存一部分专家池;流水线并行把模型的层拆到不同 GPU 组;分布式优化器把优化器状态也摊开,而不是每张卡都存一份完整副本。三者配合,MoE 才能在不让任何一张卡扛下整个模型的前提下继续放大。
第二层是减少路由开销。行式专家并行把路由过来的数据直接放进专家的输入缓冲区,尽量避免额外的数据重排;GPU 常驻路由把路由元数据留在 GPU 上,CPU 排队任务时不用等信息回传;分组矩阵乘把许多小规模专家计算合并起来,让 GPU 执行得更高效。
第三层是精度。Olmo-core 3 支持 MXFP8 这种低精度数值格式。在 4 张 B300 的对照测试里,工作负载均匀分给各专家,开启 MXFP8 后端到端吞吐比 BF16 基线高约 21%,峰值激活显存从 103 GiB 降到 95 GiB。官方说明收益主要来自前馈计算和专家之间的数据传输,而不是注意力部分。这几层必须一起调:加速一块可能把压力挪到数据搬运上,减少传输位数也可能被格式转换的开销吃掉。
专家池从 8 扩到 128:容量翻十倍,激活参数不变
最能说明这套栈价值的一个基准,是专家池从 8 个扩到 128 个,但每个 token 仍然只选 4 个专家。结果是激活参数量基本不变,维持在约 32 亿,而总参数容量从 46 亿涨到 470 亿,训练吞吐下降不到 5%。
同一套基础设施在更大规模上也跑过:官方给出一个 1.2 万亿总参数、每 token 激活 583.6 亿参数、分布在 512 张 GPU 上的配置,最高观测吞吐为每卡每秒 858 TFLOP/s。另外用 DeepEP v2 这种替代的专家间通信方案摸到过 2.38 万亿参数,但官方明确说明那是一次短时容量测试,不是完整训练,用来说明这套栈能到达的规模,而非持续训练性能。这些跑分用的还是随机路由,测的是系统能力,不是训练出来的模型质量。
这三个数字要放在一起看才完整:吞吐代表效率,容量代表规模,而随机路由意味着质量尚未验证。2.7 倍的提速和 858 TFLOP/s 的峰值,说明系统层面的改进是实打实的,但不能直接换算成「下一代模型会强多少」。
怎么自己验证:代码、技术报告和交互演示
想自己上手的话有三个入口。代码在 GitHub 的 allenai/olmo-core 仓库,PyPI 上的包名是 ai2-olmo-core;技术报告在 allenai.org/papers/olmocore3;还有一个交互式演示,用动画讲清楚数据并行、专家并行和流水线并行如何配合,从单卡一路看到多卡。
判断这套东西对自己有没有用,可以分三种情况。手上没有大规模集群的学术团队,最直接的价值是多了一层可信的开源参照——以前要理解大规模 MoE 训练,大概率得去啃闭源的工业界代码,现在有一份带完整技术报告的实现可以读。当然,能不能跑起来仍然取决于硬件,这不是给单卡用户准备的工具。已经自建训练栈的团队,重点看 DDP 路由方案和 MXFP8 的实现细节,官方给的 2.7 倍和 21% 可以作为自己的对照基线。
至于普通读者和 AI 应用开发者,这次发布不会改变今天在用的任何产品。它不提供 API,也不发布模型权重。真正的影响要等下一代 Olmo 用这套栈训出来才会显现——到那时开源模型的上限可能被重新抬高,而闭源与开源之间的差距也许会因此缩小一点。
技术报告里几个反直觉的实验发现
报告里有几条实验结论,比跑分本身更值得读。
一条是被 Ai2 命名为「token gerrymandering」(选票操纵)的现象:他们试了一个意在鼓励均衡路由的评分方式,结果分数确实变好了,实际负载却变得更不均衡——指标和现实反着走。这类「优化指标导致目标恶化」的情况在 MoE 训练里并不罕见,看到某个均衡度数字变好时,值得反查真实负载。
另一条是:因为专家处理的 token 数量更少,就相应调低专家的学习率,在他们测试的那个模型系列里并没有带来效果提升。这和很多人的直觉相反。
还有一条属于性能对比的方法论提醒:当处理的数值内容变化时,GPU 计算耗时会不同,即使矩阵形状完全一样。所以做性能对比时,输入的数值也要匹配,光对齐 shape 是不够的。这些细节说明团队不只是报了个吞吐数字,而是把踩过的坑一并写了出来。
对谁有影响,以及接下来该盯什么
我们的判断是:技术含量高、开放程度高,但对普通用户的即时影响接近零。它的价值要到下一代 Olmo 公开时才真正兑现。
接下来值得盯三件事。一是 Ai2 会不会用这套栈训出下一代 Olmo,以及模型权重和训练日志是否照旧全量开放——过去 Ai2 的做法是模型、代码、数据配置一起放出,如果这次延续这个惯例,开源社区能复现的程度会很高。二是 NVIDIA Megatron-Core 这个成熟的工业界选项与 Olmo-core 3 的差距会不会缩小,官方在文中把 Megatron-Core 列为既有选项,但没有给直接对比数字。三是 MXFP8 在非均匀负载下的表现,官方这次测的是工作负载均匀分配的情况,而真实训练里专家负载往往不均,这块还缺数据。
如果你在关注开源模型的能力上限,这是一条值得加进关注列表的消息;如果只是在日常用 AI 产品,那没有需要立刻跟进的动作,也不必为此调整现有工具链。
来源与说明
本文由 AI 潮汐编辑部基于官方公告与公开资料整理,补充了行业影响、适用场景和行动建议,帮助你在阅读原文前先理解这条信息为什么重要。
原始来源:https://huggingface.co/blog/allenai/olmocore3
如发现事实、价格或链接有误,可通过 联系我们 提交更正。
常见问题
Olmo-core 3 是一个新模型吗?我能直接拿来用吗?
不是模型,而是训练模型的框架,本身不能对话、不能调用。它是 Ai2 用来训练下一代 Olmo 的底层工具链,对普通用户没有任何直接使用入口。有多卡集群的研究团队可以装到代码里读和改;单卡用户装它没有实际意义。
报道里 2.7 倍、21%、858 TFLOP/s 这些数字可以直接对比吗?
不能横向混用。2.7 倍是 8 张 B300 上 470 亿参数 MoE 的初步测试,21% 是 4 张 B300 上工作负载均匀分配时的 MXFP8 对 BF16 对照,858 TFLOP/s 是 512 张卡、1.2 万亿参数、且使用随机路由测得的系统峰值。这三个数字测的是不同配置、也不同目标,没有官方给出的统一横向对比。
这套东西和 NVIDIA 的 Megatron-Core 是什么关系?是替代品吗?
官方把 Megatron-Core 称为「已有选项」,并说自己带来的是集成进 Olmo 框架的 MoE 训练栈,但没有给出两者的直接性能对比数字。实践上的差别更多在定位:Megatron-Core 是通用的大规模训练框架,Olmo-core 3 是围绕 Olmo 系列模型本身构建的,目前是 Ai2 下一代模型的底座。
我需要现在就调整自己的技术栈吗?
不需要。除非你已经在跑大规模 MoE 训练,并且正在为此搭建自研训练栈,那么值得读它的技术报告和 DDP 路由、MXFP8 两处实现细节,把官方数字当作自己的对照基线。普通应用开发和模型调用场景,这次发布不构成任何需要行动的变化。