Skip to content

Change the default optimizer from signum to adam - #139

Merged
luciaquirke merged 1 commit into
mainfrom
change-default-optimizer-to-adam
Jul 20, 2026
Merged

Change the default optimizer from signum to adam#139
luciaquirke merged 1 commit into
mainfrom
change-default-optimizer-to-adam

Conversation

@luciaquirke

Copy link
Copy Markdown
Contributor

This is the Schelling point and I disagree with our earlier decision to use something else

Adam is the recipe our released SAEs were actually trained with (e.g.
sae-SmolLM2-1.7B-layer17-32x used adam at lr 1e-4), so the default should
match what we publish rather than requiring an explicit flag.

The per-optimizer auto-LR in Trainer already handles the switch: adam picks
2e-4 / sqrt(num_latents / 2**14), which for a 32x SAE on d_model=2048
(65,536 latents) is exactly the 1e-4 used for those runs. Adam also has an
lr warmup schedule wired up, which signum (ScheduleFree) does not.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@luciaquirke
luciaquirke merged commit 42c0645 into main Jul 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant