Files
myWiki/concepts/muon-optimizer.md

70 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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*