70 lines
2.2 KiB
Markdown
70 lines
2.2 KiB
Markdown
---
|
||
title: "Muon Optimizer"
|
||
domain: "Deep Learning / Optimization"
|
||
tags: [optimizer, training, convergence, transformer]
|
||
sources: [[deepseek-v4-million-token-context]], Jordan et al. (2024), Liu et al. (2025)
|
||
---
|
||
|
||
# Muon Optimizer
|
||
|
||
> **类型**: Concept (Tier 1 — Core)
|
||
> **来源**: [[deepseek-v4-million-token-context]]
|
||
|
||
## 定义
|
||
|
||
Muon 是一种基于矩阵正交化的优化器,相比 AdamW 具有更快的收敛速度和更好的训练稳定性。DeepSeek-V4 中,Muon 应用于大多数模块(除 embedding、prediction head、mHC 静态偏置、RMSNorm 外)。
|
||
|
||
## 核心算法
|
||
|
||
```
|
||
for each weight W ∈ ℝⁿˣᵐ:
|
||
Gₜ = ∇W Lₜ(Wₜ₋₁) # 计算梯度
|
||
Mₜ = μMₜ₋₁ + Gₜ # 动量累积
|
||
Oₜ' = HybridNewtonSchulz(μMₜ + Gₜ) # Nesterov + 混合 Newton-Schulz
|
||
Oₜ = Oₜ' · √max(n,m) · γ # RMS 重缩放
|
||
Wₜ = Wₜ₋₁ · (1 − ηλ) − ηOₜ # 权重衰减 + 更新
|
||
```
|
||
|
||
### 混合 Newton-Schulz 迭代
|
||
|
||
两阶段策略(共 10 次迭代):
|
||
1. **前 8 步**:系数 (a,b,c) = (3.4445, −4.7750, 2.0315) — 快速收敛
|
||
2. **后 2 步**:系数 (a,b,c) = (2, −1.5, 0.5) — 精确正交化
|
||
|
||
迭代公式:Mₖ = aMₖ₋₁ + b(Mₖ₋₁Mₖ₋₁ᵀ)Mₖ₋₁ + c(Mₖ₋₁Mₖ₋₁ᵀ)²Mₖ₋₁
|
||
|
||
## 关键设计
|
||
|
||
### 1. Nesterov 技巧
|
||
使用 Nesterov 动量(μMₜ + Gₜ)而非标准动量进行牛顿迭代。
|
||
|
||
### 2. RMS 重缩放
|
||
将更新矩阵的 RMS 缩放到固定值,便于复用 AdamW 的超参数。
|
||
|
||
### 3. 避免注意力爆炸
|
||
DeepSeek-V4 的注意力架构允许在 Q/K 上直接应用 RMSNorm,避免使用 QK-Clip。
|
||
|
||
## 与 AdamW 的混合使用
|
||
|
||
| 模块 | 优化器 |
|
||
|------|--------|
|
||
| Embedding | AdamW |
|
||
| Prediction Head | AdamW |
|
||
| mHC 静态偏置/门控 | AdamW |
|
||
| RMSNorm 权重 | AdamW |
|
||
| **其他所有模块** | **Muon** |
|
||
|
||
## 优势
|
||
|
||
- 更快收敛:通过矩阵正交化加速训练
|
||
- 更好稳定性:混合 Newton-Schulz 迭代确保数值精度
|
||
- 无缝集成:RMS 重缩放允许复用 AdamW 超参数
|
||
|
||
## 相关概念
|
||
|
||
- [[manifold-constrained-hyper-connections]] — mHC(共同提升训练稳定性)
|
||
|
||
---
|
||
|
||
*Last Updated: 2026-04-27*
|