The LR Death Spiral 🧨 — Muon/Dion3 Debugging Saga

I was supposed to be running optimizer experiments for my upcoming PyTorch Conference talk.

Instead, my learning rate entered a death spiral. :sob:

I was testing AdamW, Muon, Dion, and the latest Dion3 implementation in OLMo-core—and Dion3 broke things in some very interesting ways. :clown_face:

Turns out the debugging trail involved distributed optimizer state, LR scheduling, and a particularly nasty PyTorch tensor aliasing trap.

A fun debugging experience nonetheless. :smiling_face_with_horns:

I wrote up the whole adventure here:

https://medium.com/@jenwei0312/the-lr-death-spiral-escaping-pytorchs-memory-traps-in-distributed-optimizers-da1d724a557f

More optimizer experiments coming before PyTorch Con! :rabbit_face:

1 Like