TL;DR

Muon không phải Kimi tạo ra. Optimizer này do Keller Jordan (OpenAI) phát minh và đẩy lên repo modded-nanogpt ngày 04/10/2024 để phá kỷ lục speedrun nanoGPT của Andrej Karpathy — kéo thời gian train từ 31.4 phút xuống 24.9 phút trên 8×H100. Đến tháng 02/2025, đội Kimi tại Moonshot AI mới là bên đầu tiên chứng minh Muon scale được lên LLM-class qua paper arxiv 2502.16982 và mô hình Moonlight 3B/16B MoE. Hai vai trò khác nhau, đừng nhầm.

Gốc của Muon: nanoGPT speedrun

Tháng 5/2024, Andrej Karpathy lập baseline cho nanoGPT speedrun: train một LM về validation loss 3.28 trên FineWeb dùng 8×H100, mất 45 phút bằng llm.c. Speedrun này thành sân chơi cộng đồng — ai cải tiến được thuật toán/kiến trúc thì set kỷ lục mới.

Keller Jordan tham gia, thử nghiệm với CIFAR-10 speedrun trước đó, rồi áp dụng kinh nghiệm sang LLM. Ngày 04/10/2024, Keller push một optimizer tên Muon (MomentUm Orthogonalized by Newton-Schulz) lên repo. Kết quả: kỷ lục nanoGPT từ 31.4 phút rơi xuống 24.9 phút ngay lập tức.

Đến 15/10/2024, kỷ lục official ghi nhận Muon cải thiện 35% so với AdamW tuned. Từ đó đến nay, qua hơn 70 kỷ lục mới do 7+ researcher khác nhau set, Muon vẫn là optimizer mặc định. Đến 08/04/2026, kỷ lục hiện tại là 1.406 phút — vẫn là Muon (với tweak orthogonalize Q/K theo cặp head).

Blog post chính thức của Keller Jordan công bố ngày 08/12/2024 trên kellerjordan.github.io. Tác giả phụ: Jeremy Bernstein, Yuchen Jin, Vlado Boza, Jiacheng You, Franz Cesista, Laker Newhouse.

Muon hoạt động thế nào

Muon chỉ áp dụng cho weights 2D ở hidden layers (Linear, conv flatten). Embeddings, classifier head, biases, gains vẫn dùng AdamW.

Bốn bước:

  1. Tính update G bằng SGD với Nesterov momentum.
  2. Chuẩn hoá: G ← G / ‖G‖_F.
  3. Chạy 5 vòng Newton-Schulz iteration với polynomial bậc 5: G ← a·G + b·(GGᵀ)G + c·(GGᵀ)²G, hệ số tuned (3.4445, −4.7750, 2.0315). Toàn bộ trong bfloat16.
  4. Apply update. Kết quả xấp xỉ U·Vᵀ trong SVD U·S·Vᵀ của G — giữ singular vectors, vứt singular values.

Nền tảng lý thuyết (do Jeremy Bernstein & Laker Newhouse trong paper Modular Duality in Deep Learning): Muon là steepest descent dưới RMS-to-RMS operator norm. Khác với Adam vốn có gốc heuristic.

So sánh với AdamW

MetricMuonAdamW
NanoGPT speedrun (10/2024)35% nhanh hơnbaseline
Sample efficiency (1.5B)~1.5×–2×baseline
FLOPs để đạt GPT-2 XL HellaSwag~52%100%
Wallclock (1.5B trên 8×H100)10 giờ13.3 giờ
CIFAR-10 → 94% (A100-sec)2.63.3
FLOP overhead/step<1% (0.7% NanoGPT, 0.5% Llama 405B)
Wallclock overhead/step<2%
MemoryThấp hơn (1 momentum buffer)Cao hơn (2 moments)

Tóm gọn: Muon chậm hơn ~2% mỗi step nhưng cần ít step hơn, tổng thể nhanh hơn 30–50% và tốn ít memory hơn AdamW.

Kimi/Moonshot đã làm gì

Đây là phần dễ nhầm nhất. Tháng 02/2025, đội Kimi tại Moonshot AI publish paper Muon is Scalable for LLM Training. Họ không tạo ra Muon. Họ là bên đầu tiên chứng minh Muon scale được lên LLM-class. Cụ thể:

  • Hai fix để scale: (1) thêm weight decay — Muon gốc không có và sẽ vỡ ở scale lớn; (2) per-parameter update scale — giữ update RMS đồng đều giữa matrix và non-matrix params, ổn định training.
  • Distributed implementation: phiên bản ZeRO-1 style, memory-optimal, communication-efficient, giữ nguyên tính chất toán học của Muon. Open-source ở MoonshotAI/Moonlight.
  • Scaling-law validation: so sánh nghiêm túc với AdamW baseline mạnh, xác nhận Muon đạt ~2× compute efficiency / ~52% FLOPs.
  • Moonlight model: MoE 3B activated / 16B total params, train trên 5.7T tokens hoàn toàn bằng Muon. Cùng kiến trúc DeepSeek-V3.

Sau đó, Moonshot tiếp tục dùng biến thể MuonClip trong training Kimi K2 (trillion-param) — extend Muon bằng cách rescale Q/K sau mỗi update để chống attention logit nổ.

Benchmark Moonlight

BenchmarkLlama3.2-3BQwen2.5-3BDSV2-LiteMoonlight
Activated params2.81B2.77B2.24B2.24B
Training tokens9T18T5.7T5.7T
OptimizerAdamWAdamWMuon
MMLU54.7565.658.370.0
MMLU-pro25.034.625.542.4
HumanEval28.042.129.948.1
MATH8.542.617.145.3
BBH46.856.344.165.2

Train với chỉ 5.7T tokens (so với 9T của Llama3.2 và 18T của Qwen2.5) mà vượt rõ rệt — đó là minh chứng cho hiệu quả compute của Muon ở scale lớn.

Tại sao chuyện này quan trọng

Khoa học mở vận hành dựa trên credit attribution chính xác. Gọi Muon là "optimizer của Kimi" làm:

  • Mất công lao của Keller Jordan và đội nanoGPT speedrun cộng đồng, những người đã làm hàng nghìn experiment để tinh chỉnh hệ số Newton-Schulz, chiến lược momentum, và toàn bộ thiết kế.
  • Mất nền tảng lý thuyết của Bernstein & Newhouse về modular duality.
  • Hiểu sai bản chất đóng góp thực sự của Moonshot — vốn cũng rất giá trị: scaling, distributed implementation, và validation ở LLM-class.

Cách hiểu đúng: Keller Jordan phát minh. Moonshot scale-up và validate. Cả hai đều cần thiết để có Muon hôm nay.

Timeline

  • 2024-05-28 — Karpathy lập baseline llm.c (45 phút)
  • 2024-10-04 — Keller Jordan push Muon vào modded-nanogpt
  • 2024-10-15 — Muon set kỷ lục nanoGPT chính thức (-35%)
  • 2024-12-08 — Blog post Muon của Keller Jordan
  • 2025-02-24 — Moonshot AI publish paper Moonlight
  • 2025-03-07 — Bernstein publish "Deriving Muon"
  • 2026-04-08 — Kỷ lục NanoGPT speedrun đạt 1.406 phút (vẫn Muon)

Nguồn: Keller Jordan blog, modded-nanogpt, arxiv 2502.16982, MoonshotAI/Moonlight, Deriving Muon.