【论文解读】Kimi开源《Muon is Scalable for LLM Training》

news/2025/2/27 5:44:52

Github:https://github.com/MoonshotAI/Moonlight
HF:https://huggingface.co/moonshotai/Moonlight-16B-A3B
Paper:https://github.com/MoonshotAI/Moonlight/blob/master/Moonlight.pdf


1. 摘要

  • 背景与动机
    随着大语言模型(LLM)的迅速发展,训练这些模型所需的计算资源和时间呈现指数级增长。当前大多数训练任务使用 Adam/AdamW 优化器,但最近的研究(例如 K. Jordan et al. 2024)提出了基于矩阵正交化思想的 Muon 优化器,在小规模语言模型上展现出较好的效果。
    在这里插入图片描述

  • 核心贡献
    论文通过两个关键改进使 Muon 优化器可以扩展到大规模 LLM 训练:

    1. 加入权重衰减:解决在大规模训练中模型权重和输出均值过大、超出 bf16 表示范围的问题;
    2. 调整每个参数的更新尺度:通过理论推导和实验验证,提出了基于矩阵尺寸(即 max ⁡ ( A , B ) \sqrt{\max(A, B)} max(A,B) )的更新尺度调整策略,使得不同形状的矩阵更新保持一致,并与 AdamW 的更新 RMS 相匹配。
      实验表明,在计算最优训练设置下,Muon 优化器在达到相同性能时只需要约 52% 的训练 FLOPs。
  • 实验证明与开源
    基于上述改进,论文引入了 Moonlight 模型(一个 3B/16B 参数的 MoE 模型,使用 5.7T tokens 进行训练),在多个基准(如 MMLU、HumanEval、GSM8K 等)上取得了优于 AdamW 的结果,同时也开源了分布式 Muon 实现、预训练模型、指令调优版本以及中间检查点,方便后续研究。


2. 引言

  • 大模型训练的挑战
    随着 LLM 在自然语言理解、代码生成和数学推理等任务上的广泛应用,训练这些模型变得极其计算密集。现有优化器如 AdamW 在训练过程中虽较为稳定,但在训练极大模型时效率和稳定性依然面临瓶颈。

  • Muon 优化器的提出
    Muon 优化器最初由 K. Jordan 等人提出,利用矩阵正交化的思想,通过对梯度动量进行正交化处理,避免参数更新过于集中于某几个主方向,从而提升优化效果。论文中指出:

    • 小规模实验中,Muon 已表现出超越 AdamW 的潜力;
    • 但在大规模训练中,直接使用 Muon 会遇到数值范围、更新尺度不一致以及分布式实现等一系列问题。
  • 论文主要问题
    论文重点讨论了以下几个问题:

    1. 如何将基于矩阵正交化的优化器有效扩展到拥有数十亿参数、数万亿 token 训练的场景;
    2. 如何在分布式环境下高效计算近似正交化;
    3. 这种优化器是否能在预训练和监督微调(SFT)等不同阶段保持一致的性能优势。

3. 方法

3.1 Muon 优化器的基本原理

  • 更新公式
    Muon 在每次迭代中以动量方式累积梯度,然后利用 Newton-Schulz 迭代对梯度矩阵进行正交化:

    M t = μ M t − 1 + ∇ L ( W t − 1 ) M_t = \mu M_{t-1} + \nabla L(W_{t-1}) Mt=μMt1+L(Wt1)

    接着采用 Newton-Schulz 迭代求解:

    O t = Newton-Schulz ( M t ) ≈ ( M t M t T ) − 1 / 2 M t O_t = \text{Newton-Schulz}(M_t) \approx (M_t M_t^T)^{-1/2} M_t Ot=Newton-Schulz(Mt)(MtMtT)1/2Mt

    最后更新权重:

    W t = W t − 1 − η t O t W_t = W_{t-1} - \eta_t O_t Wt=Wt1ηtOt

  • 直观解释
    正交化确保了更新矩阵的各个方向具有等同性,从而避免模型仅在某些主方向上快速收敛,导致表示能力受限。

3.2 Newton-Schulz 迭代

  • 迭代过程
    为了计算 ( M t M t T ) − 1 / 2 M t (M_t M_t^T)^{-1/2} M_t (MtMtT)1/2Mt ,论文使用 Newton-Schulz 迭代。初始设 X 0 = M t ∥ M t ∥ F X_0 = \frac{M_t}{\|M_t\|_F} X0=MtFMt,然后通过迭代:

    X k = a X k − 1 + b ( X k − 1 X k − 1 T ) X k − 1 + c ( X k − 1 X k − 1 T ) 2 X k − 1 X_k = a X_{k-1} + b (X_{k-1} X_{k-1}^T) X_{k-1} + c (X_{k-1} X_{k-1}^T)^2 X_{k-1} Xk=aXk1+b(Xk1Xk1T)Xk1+c(Xk1Xk1T)2Xk1

    当迭代 N N N 次后, X N X_N XN 近似得到所需的正交化结果。论文中给出了特定的系数设置(例如 a = 3.4445 ,   b = − 4.7750 ,   c = 2.0315 a = 3.4445, \, b = -4.7750, \, c = 2.0315 a=3.4445,b=4.7750,c=2.0315),以保证快速收敛。

3.3 权重衰减与更新尺度的调整

在这里插入图片描述

  • 权重衰减的重要性
    在大规模训练中,若不引入权重衰减,模型中的权重和层输出的均方根值(RMS)会不断增长,可能超出 bf16 的数值表示范围,进而影响模型性能。为此,论文将 AdamW 的权重衰减机制引入 Muon,更新公式变为:

    W t = W t − 1 − η t ( O t + λ W t − 1 ) W_t = W_{t-1} - \eta_t \Bigl( O_t + \lambda W_{t-1} \Bigr) Wt=Wt1ηt(Ot+λWt1)

  • 参数形状与更新 RMS
    论文提出一个重要定理:对于形状为 [ A , B ] [A, B] [A,B] 的全秩矩阵,其理论更新 RMS 为

    RMS ≈ 1 max ⁡ ( A , B ) \text{RMS} \approx \sqrt{\frac{1}{\max(A, B)}} RMSmax(A,B)1

    当不同层的矩阵尺寸差异较大时,更新尺度不一致会影响整体训练。因此提出两种解决方案:

    1. 直接归一化更新:将更新矩阵 O t O_t Ot 归一化使得其 RMS 达到预期值(例如 0.2);
    2. 调整学习率:对每个矩阵的更新乘以 max ⁡ ( A , B ) \sqrt{\max(A, B)} max(A,B) ,使得更新 RMS 与 AdamW 的更新 RMS 0.2 ⋅ H 0.2 \cdot \sqrt{H} 0.2H (H 为隐藏层大小)相匹配。
  • 结果与分析
    实验表明:

    • 直接归一化和调整学习率均优于 Baseline;
    • 对于形状较大(如 MLP 矩阵)的层,调整学习率策略使得更新 RMS 提升至 Baseline 的约两倍,而对于形状为 [ H , H ] [H, H] [H,H] 的层,二者保持一致。
      最终选择调整学习率策略,因其实现成本更低且性能表现良好。

4. 实验部分

4.1 更新 RMS 一致性实验

  • 实验设置
    在一个 800M 参数模型上,使用 100B tokens 进行训练。论文对比了三种策略:

    1. Baseline:直接将更新矩阵乘以 0.2 ⋅ H 0.2 \cdot \sqrt{H} 0.2H (H 为隐藏层大小);
    2. Update Norm:直接归一化更新矩阵,使其 RMS 固定为 0.2;
    3. Adjusted LR:按每个矩阵的形状调整学习率,即乘以 (0.2 \cdot \sqrt{\max(A, B)})。
  • 结果与分析
    实验表明:

    • Update Norm 和 Adjusted LR 均优于 Baseline;
    • 对于形状较大(如 MLP 矩阵)的层,Adjusted LR 使得更新 RMS 提升至 Baseline 的约两倍,而对于形状为 ([H, H]) 的层,二者保持一致。

    最终选择 Adjusted LR 策略,因其实现成本更低且性能表现良好。

4.2 扩展定律实验

  • 实验目标
    在 Llama 架构的多个模型上对比 Muon 与 AdamW 的扩展定律,确保在计算最优训练设置下,Muon 能够在更低 FLOPs 下达到相似性能。

  • 主要发现
    根据拟合的扩展定律曲线(见图 1a 和图 3),Muon 在达到与 AdamW 相同性能时,只需大约 52% 的训练 FLOPs,证明了其计算效率优势。


4.3 预训练实验:Moonlight 模型

  • 模型架构与训练设置
    使用 DeepSeek-V3-Small 作为基础架构,对模型进行预训练,模型参数约为 2.24B(激活参数)/15.29B(总参数,含 embedding 部分),后续 MoE 模型扩展至 3B/16B。预训练数据包括长上下文(8K)数据,训练分阶段进行:

    1. 初始阶段(0 至 33B tokens):学习率从 0 线性上升到 4.2 × 1 0 − 4 4.2 \times 10^{-4} 4.2×104,batch size 固定;
    2. 衰减阶段(33B 至 5.2T tokens):学习率按余弦衰减;
    3. 冷却阶段(5.2T 至 5.7T tokens):先短暂上升再线性衰减至 0,同时使用高质量数据集(数学、代码、推理)。

4.4 奇异谱动态分析

  • 目的
    通过对权重矩阵进行奇异值分解(SVD),计算 SVD 熵来评估参数更新的多样性。

  • 发现
    与 AdamW 相比,使用 Muon 优化器的权重矩阵在各训练阶段均表现出更高的 SVD 熵,说明 Muon 能够提供更丰富的更新方向,这一现象在 MoE 模型的路由权重中尤为明显。

4.5 监督微调(SFT)实验

  • 实验设置
    分别采用相同预训练模型(Moonlight 或 Moonlight-A),在开放的 tulu-3-sft-mixture 数据集上进行微调,比较预训练和微调阶段优化器的组合:

    • 预训练和 SFT 均使用 Muon;
    • 预训练使用 Muon 而 SFT 使用 AdamW,反之亦然。

5. 讨论

  • 全参数整合问题
    当前 Muon 与 AdamW 混用,部分参数(如 RMSNorm、Embedding)仍使用 AdamW。未来的研究可以探讨如何将所有参数完全纳入 Muon 框架中。

  • 扩展到 Schatten 范数
    Muon 本质上是在谱范数下进行最速下降,考虑到 Schatten 范数的广泛应用,将 Muon 扩展到一般 Schatten 范数下可能获得更强的优化能力。

  • 预训练-微调不匹配问题
    论文中观察到预训练和微调阶段使用不同优化器时,模型性能不如统一使用 Muon 的情况。理解这种不匹配的根本原因,并提出解决方案,是未来研究的重要方向。

6. 结论

  • 本文系统地探讨了如何将基于矩阵正交化的 Muon 优化器扩展到大规模 LLM 训练中。
  • 通过引入权重衰减、调整每个参数的更新尺度,并设计分布式实现方案,Muon 成功在预训练和监督微调阶段均展示了优异性能。
  • 实验结果表明,在计算资源上,Muon 具有大约 2 倍的效率提升,同时在多个评测任务上超越了基于 AdamW 的模型。
  • 论文的开源工作(实现、模型和检查点)为后续在大规模优化器设计及训练方法改进提供了宝贵资源。

7. 附录与参考文献

论文中还附有以下补充内容:

  • 附录 A: 关于 Lemma 1 的证明,展示了对于形状为 [ A , B ] [A, B] [A,B] 的矩阵,其 Muon 更新 RMS 理论上为 1 / max ⁡ ( A , B ) \sqrt{1/\max(A,B)} 1/max(A,B)
  • 附录 B: 系统的超参数搜索实验细节,包括模型大小、token 数、学习率和 batch size 与 FLOPs 之间的关系;
  • 附录 C: 模型架构的修改细节(例如去除多 token 预测层、auxfree bias 更新规则的调整、门控缩放因子计算等)。


http://www.niftyadmin.cn/n/5869549.html

相关文章

JavaScript 系列之:Ajax、Promise、Axios

前言 同步:会阻塞。同步代码按照编写的顺序逐行依次执行,只有当前的任务完成后,才会执行下一个任务。 异步:异步代码不会阻塞后续代码的执行。当遇到异步操作时,JavaScript 会将该操作放入任务队列中,继续…

苹果折叠屏iPhone突破折痕难题 或将在2026年发布

(2025年2月26日)据供应链最新消息,苹果联合三星与美国安费诺公司,在折叠屏核心技术上取得重大突破,首款折叠屏iPhone样品已接近理想水平,最快将于2026年底上市。 屏幕采用三星供应的内折OLED柔性屏&#x…

OpenCV计算摄影学(5)处理一系列图像(例如视频帧)的非局部均值去噪的函数fastNlMeansDenoisingColoredMulti()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 对用于彩色图像序列的 fastNlMeansDenoisingMulti 函数的修改。 cv::fastNlMeansDenoisingColoredMulti 函数是 OpenCV 中用于处理一系列图像&am…

怎么获取免费的 GPU 资源完成大语言模型(LLM)实验

怎么获取免费的 GPU 资源完成大语言模型(LLM)实验 目录 怎么获取免费的 GPU 资源完成大语言模型(LLM)实验在线平台类Google ColabKaggle NotebooksHugging Face Spaces百度飞桨 AI Studio在线平台类 Google Colab 特点:由 Google 提供的基于云端的 Jupyter 笔记本环境,提…

【开源免费】基于SpringBoot+Vue.JS美食烹饪互动平台(JAVA毕业设计)

本文项目编号 T 219 ,文末自助获取源码 \color{red}{T219,文末自助获取源码} T219,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

博云先进算力管理平台AIOS已上线全尺寸DeepSeek系列模型

在异构基础设施上轻松运行全尺寸DeepSeek DeepSeek于2024年12月发布了包括 DeepSeek V3、R1、Janus Pro等多版本模型。V3版本适用于通用型自然语言处理任务,R1专注于复杂推理任务,而 Janus Pro 则擅长多模态理解与生成,可满足企业不同 AI 场…

建筑三维设计软件如何实现弯道超车?

三个问题 建筑三维设计软件属于工业设计软件的一种,在这个领域一直是国外公司垄断。前些年,在房地产高歌猛进的时代,很多公司也尝试投入到建筑三维设计软件的研发。随着房地产市场行业的下行,建筑三维设计软件的发展也受到了影响…

Byzer:面向Data+AI的云原生低代码化语言

在数据科学和人工智能迅速发展的今天,企业面临着如何高效处理海量数据并实现AI模型快速开发的挑战。Byzer,作为一种创新的云原生低代码化语言,为这一难题提供了独特的解决方案。本文将深入探讨Byzer的设计哲学、应用场景及其工程特性&#xf…