fix: resume optimizer LR, step display, and consumed_samples alignment
This commit is contained in:
parent
13998da15a
commit
bb175fda91
|
|
@ -210,7 +210,7 @@ class ProgressBarCallback(TrainCallback):
|
|||
@only_on_rank(0)
|
||||
def on_optimizer_step(self, context: TrainContext):
|
||||
postfix = {
|
||||
"step": context.optimizer_step,
|
||||
"step": f"{context.optimizer_step:d}",
|
||||
"loss": f"{context.loss:.4f}",
|
||||
"lr": f"{context.optimizer.param_groups[-1]['lr']:.2e}",
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,7 +99,12 @@ class TrainContextBuilder:
|
|||
context.model_config = checkpoint.config
|
||||
context.epoch = checkpoint.epoch or cfg.start_epoch
|
||||
if checkpoint.consumed_samples > 0:
|
||||
context.consumed_samples = checkpoint.consumed_samples
|
||||
per_step = (
|
||||
cfg.batch_per_device * context.world_size * cfg.grad_accum_steps
|
||||
)
|
||||
context.consumed_samples = (
|
||||
checkpoint.consumed_samples // per_step
|
||||
) * per_step
|
||||
else:
|
||||
context.consumed_samples = cfg.start_samples * context.world_size
|
||||
context.checkpoint = checkpoint
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ class MuonMix(optim.Optimizer):
|
|||
def load_state_dict(self, state_dict: Dict[str, Any]):
|
||||
self.muon.load_state_dict(state_dict["muon"])
|
||||
self.adamw.load_state_dict(state_dict["adamw"])
|
||||
self.param_groups = [*self.muon.param_groups, *self.adamw.param_groups]
|
||||
|
||||
|
||||
def parse_args() -> argparse.Namespace:
|
||||
|
|
|
|||
Loading…
Reference in New Issue