20260429:一些新东西
This commit is contained in:
69
concepts/muon-optimizer.md
Normal file
69
concepts/muon-optimizer.md
Normal file
@@ -0,0 +1,69 @@
|
||||
---
|
||||
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*
|
||||
Reference in New Issue
Block a user