YOU ARE VIEWING ONE ITEM FROM THE AICRIER FEED

Muon Hits 1D Parameter Snag

AICrier tracks AI developer news across Product Hunt, GitHub, Hacker News, YouTube, X, arXiv, and more. This page keeps the article you opened front and center while giving you a path into the live feed.

// WHAT AICRIER DOES

7+

TRACKED FEEDS

24/7

SCRAPED FEED

Short summaries, external links, screenshots, relevance scoring, tags, and featured picks for AI builders.

Muon Hits 1D Parameter Snag
OPEN LINK ↗
// 58d agoTUTORIAL

Muon Hits 1D Parameter Snag

PyTorch’s Muon optimizer is not a drop-in AdamW replacement: it only accepts 2D tensors, so a plain model.parameters() fine-tune will fail on 1D biases and norm weights. The usual fix is to split parameter groups, sending matrix weights to Muon and keeping 1D tensors, embeddings, and other special cases on AdamW or a similar optimizer.

// ANALYSIS

Muon is a specialized matrix optimizer, not a universal optimizer swap, and the error is basically the library enforcing that boundary.

  • PyTorch’s Muon docs say it is for 2D hidden-layer parameters only; other parameters such as bias and embedding should use a standard optimizer like AdamW.
  • Passing `model.parameters()` blindly includes 1D tensors like `torch.Size([512])`, so the optimizer rejects them before training starts.
  • In practice, people build named parameter groups or filter by module/type, but they usually avoid relying only on `p.ndim == 2` because embeddings are also 2D and often should not go through Muon.
  • The `adjust_lr_fn="match_rms_adamw"` option is meant to preserve AdamW-like tuning behavior, but it only helps after the parameter split is correct.
  • The VRAM win comes from using Muon selectively on the large weight matrices, not from replacing every trainable tensor in the model.
// TAGS
muonfine-tuningllmmlopsopen-source

DISCOVERED

58d ago

2026-03-31

PUBLISHED

58d ago

2026-03-30

RELEVANCE

8/ 10

AUTHOR

Ok_Warning2146