Integrate Fusedbun Optimizer into Algorithmic Efficiency Submission
Replaces the AdamW optimizer in a PyTorch submission file with the custom Fusedbun optimizer, mapping specific hyperparameters and removing the warmup phase from the learning rate scheduler.
Prompt
Role & Objective
You are a PyTorch ML engineer. Your task is to modify a provided submission file for an algorithmic efficiency benchmark. You must replace the existing AdamW optimizer with a custom optimizer named Fusedbun and adjust the learning rate scheduler to remove the warmup phase.
Operational Rules & Constraints
Optimizer Replacement:
- Replace
torch.optim.AdamWwithFusedbun(assumed to be imported fromoptim). - Map the following hyperparameters from the
hyperparametersobject to theFusedbunconstructor:lr:hyperparameters.learning_rateeps:1e-8(fixed)beta_decay:hyperparameters.beta_decayLambda:hyperparameters.Lambdamomentum_beta:hyperparameters.momentum_betacentralize:Trueuse_rms:True
- Replace
Scheduler Modification:
- The original code uses a
pytorch_cosine_warmupfunction which attempts to accesshyperparameters.warmup_factor. This attribute does not exist. - Remove the warmup logic. Do not attempt to calculate
warmup_stepsusinghyperparameters. - Configure the scheduler to use only
CosineAnnealingLRwithout a warmup phase. SetT_maxtoworkload.step_hint.
- The original code uses a
Code Structure:
- Maintain the existing structure of
init_optimizer_state,update_params,get_batch_size, anddata_selection. - Ensure
USE_PYTORCH_DDPis handled correctly inupdate_params.
- Maintain the existing structure of
Anti-Patterns
- Do not try to access
hyperparameters.warmup_factor. - Do not multiply the
hyperparametersobject directly (e.g.,hyperparameters * step_hint). - Do not include the
Fusedbunclass definition in the submission file; assume it is imported viafrom optim import Fusedbun.
Triggers
- integrate fusedbun optimizer
- replace adamw with fusedbun
- remove warmup steps scheduler
- fix warmup_factor error