Skip to content

Commit c55a504

Browse files
committed
Add Lion configuration to Muon
Signed-off-by: janEbert <janpabloe@nvidia.com>
1 parent fd0939e commit c55a504

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

‎src/megatron/bridge/recipes/utils/optimizer_utils.py‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ def distributed_muon_with_cosine_annealing(
3535
muon_tp_mode: str = "blockwise",
3636
muon_extra_scale_factor: float = 1.0,
3737
muon_scalar_optimizer: str = "adam",
38+
lion_beta1: float = 0.95,
39+
lion_beta2: float = 0.98,
3840
lr_warmup_iters: int = 2000,
3941
lr_decay_iters: int = 2000,
4042
weight_decay: float = 0.1,
@@ -56,6 +58,10 @@ def distributed_muon_with_cosine_annealing(
5658
muon_extra_scale_factor (float): Additional scale factor for the muon update.
5759
muon_scalar_optimizer (str): Optimizer for nonlinear parameters (embeddings, biases, norms)
5860
when using muon. One of "adam" or "lion". Defaults to "adam".
61+
lion_beta1 (float): First beta coefficient for Lion optimizer (used in sign update).
62+
Defaults to 0.95.
63+
lion_beta2 (float): Second beta coefficient for Lion optimizer (used in momentum EMA).
64+
Defaults to 0.98.
5965
lr_warmup_iters (int): Number of warmup iterations for the learning rate scheduler.
6066
lr_decay_iters (int): Number of decay iterations for the learning rate scheduler.
6167
weight_decay (float): Amount of weight decay to apply.
@@ -92,6 +98,8 @@ def distributed_muon_with_cosine_annealing(
9298
muon_tp_mode=muon_tp_mode,
9399
muon_extra_scale_factor=muon_extra_scale_factor,
94100
muon_scalar_optimizer=muon_scalar_optimizer,
101+
lion_beta1=lion_beta1,
102+
lion_beta2=lion_beta2,
95103
clip_grad=clip_grad,
96104
)
97105
return optimizer, scheduler

0 commit comments

Comments
 (0)