Olmo-core 3:面向大 MoE 的开源训练基础设

来自 Hugging Face · 期号 2026-10-01

摘要

Allen AI 发布了 Olmo-core 3,一个面向 MoE 模型的开源训练基础设施。 MoE 模型虽然每个 token 只激活部分参数,但完整模型仍要存于 GPU 显存,专家间的路由和通信也会产生额外开销。Olmo-core 3 从 FSDP 切换到 DDP,让专家常驻 GPU、把数据路由过去,省掉了反复收集权重的步骤。 在一项基准测试中,专家数从 8 个扩展到 128 个(每 token 仍激活 4 个),总参数量从 4.6B 增至 47B,训练吞吐量下降不到 5%。在 8 块 B300 GPU 上,47B MoE 每 GPU 每秒处理 52,000 个 token,是此前实现的 2.7 倍。 MXFP8 低精度格式在关键环节启用后,训练吞吐量比 BF16 高约 21%,峰值显存从 103 GiB 降至 95 GiB。系统已在 512 块 GPU 上跑过 1.2 万亿参数规模的基准测试,每 GPU 每秒有效计算量达 858 TFLOP。 技术报告还记录了一些反直觉的发现:用于鼓励负载均衡的分数可能在负载实际变得更不均衡时反而上升(称为 token gerrymandering);通信与计算在独立 GPU 流上重叠并不总能加速训练。 Olmo-core 3 完全开源,下一代的 Olmo 将基于它训练。

深读

导读 Allen AI 发布了 Olmo-core 3,一个专为大规模混合专家(MoE)模型设计的开源训练基础设施。它通过从 FSDP 切换到 DDP、让专家常驻 GPU 等设计,解决了 MoE 模型在扩展时通信开销侵蚀计算优势的核心问题。读完本文,你将了解这套系统如何在 8 块 GPU 上实现 2.7 倍的吞吐量提升,以及它如何支撑万亿参数级别的训练。 关键信息 - 在基准测试中,专家数从 8 个扩展到 128 个(每 token 仍激活 4 个),总参数量从 4.6B 增至 47B,训练吞吐量下降不到 5%。 - 在 8 块 NVIDIA B300 GPU 上,47B 参数的 MoE 模型每 GPU 每秒处理 52,000 个 token,是此前 FSDP 实现的 2.7 倍(此前为 19,400 token/s/GPU)。 - MXFP8 低精度格式在关键环节启用后,训练吞吐量比 BF16 高约 21%,峰值显存从 103 GiB 降至 95 GiB。 - 系统已在 512 块 NVIDIA B300 GPU 上跑过 1.2 万亿参数规模的模型(每 token 激活 583.6 亿参数),最高观测到 858 TFLOP/s/GPU 的吞吐量。 - 使用 DeepEP v2 替代方案后,系统在短时容量测试中达到了 2.38 万亿总参数。 逐节讲解 为什么 MoE 需要新的训练栈 MoE 模型虽然每个 token 只激活部分参数,但完整模型仍要存于 GPU 显存,且专家间的路由和通信会产生额外开销。随着 MoE 规模增长,这些开销会侵蚀其计算优势。Olmo-core 3 的目标就是缩小这一差距。 从 FSDP 到 DDP:让专家常驻 GPU Olmo-core 之前的 MoE 实现使用全分片数据并行(FSDP),每处理一小批数据都要收集和重新分片模型权重。Olmo-core 3 切换到基于分布式数据并行(DDP)的系统,让专家常驻 GPU,将相关数据路由到专家所在位置,省去了反复收集权重的步骤。在 8 块 NVIDIA B300 GPU 上的初步测试中,47B 参数的 MoE 模型吞吐量达到 52,000 token/s/GPU,是此前 FSDP 实现的 2.7 倍。 三种并行策略与三项优化 Olmo-core 3 结合三种技术来拆分模型和训练状态:专家并行将专家分散到各 GPU;流水线并行将模型层拆分到 GPU 组;分布式优化器将优化器状态分散存储,而非每块 GPU 都存一份完整副本。 此外,系统还通过三项优化降低路由和计算成本:行式专家并行将路由数据直接放入专家输入缓冲区;GPU 驻留路由将路由元数据留在 GPU 上,避免 CPU 等待数据拷贝;分组 GEMM 将多个小规模专家计算合并,让 GPU 更高效地执行。 MXFP8 低精度训练的效果 Olmo…

读原文

本站只做摘要与索引,全部内容版权归原作者所有。