Apr22 Beta-Schedule Profiling

Back to design Back to results

Note

This note is scoped to local profiling artifacts from path:.runs/synthetic_sequences/disentangled/exp2_continuous_cvae-Apr22-beta-schedule-followup/*/profiling/profiling_summary.json and aggregate runtime summaries under path:experiments/synthetic_sequences/disentangled/analysis/aggregates/continuous_cvae-Apr22-beta-schedule-followup_20260422. Runtime here means profiled in-process wall time from the run profiler, not scheduler-reported elapsed time. All 108/108 Apr22 runs have profiling summaries.

Runtime Snapshot

  • profiled runs: 108
  • mean profiled runtime: 3.25h
  • median profiled runtime: 2.85h
  • range: 0.56h to 8.02h
  • slowest mean tasks: base_conversion 6.20h, sorting_algorithms 5.89h, grid_pathfinding 3.10h
  • fastest mean tasks: list_summation 0.63h, linear_equation_solving 1.13h, multidigit_addition 2.54h
  • mean runtime by adaptation mode: lora 3.80h, full 3.04h, reinit 2.91h

Mean runtime by loss setting and adaptation mode. Caption: Mean runtime in hours by loss setting and adaptation mode.

Runtime By Loss Setting

Runtime differences are smaller than the main metric differences, but the secondary runtime table is still structured rather than flat:

  • beta0p01_d50_lin50 is the shortest mean-runtime setting overall at 2.9081h.
  • beta0p1_cyclin25_w12p5 is the longest mean-runtime setting overall at 3.4135h.
  • The largest single matched runtime difference is the beta=0.01 / lora comparison, where delayed linear runs about 1.1352h faster than the matched cyclical schedule.
loss_settingmean_runtime_hours
beta0p1_cyclin25_w12p53.4135
beta0p1_d50_lin503.3307
beta1_d50_lin503.3190
beta0p01_cyclin25_w12p53.3043
beta0_unnorm3.2233
beta0p01_d50_lin502.9081

Where Time Goes

The run profiler is dominated by scheduled router-sampled evaluation. Averaged over runs, epoch/eval_router_sampled accounts for 43.04% of profiler total, and epoch/eval_router_sampled/free_generation alone accounts for 41.74%. The next largest sections are much smaller: run/setup 4.89%, epoch/train 4.02%, epoch/eval_val_loss 3.05%, and scheduled posterior_mu_diag 1.24%.

profiler_sectionmean_total_hoursmean_share_of_profile_totalmean_countmean_event_seconds
epoch/eval_router_sampled1.467243.04%50.3106.40
epoch/eval_router_sampled/free_generation1.436141.74%50.3104.16
run/setup0.09464.89%1.0340.50
epoch/train0.08754.02%50.36.28
epoch/eval_val_loss0.07023.05%50.35.06
epoch/eval_router_sampled/posterior_mu_diag0.03001.24%50.32.16
run/final_eval_router_sampled0.02960.89%1.0106.48
run/final_eval_val_loss0.00200.09%1.07.17
epoch/eval_router_sampled/router_sampled_z_animation0.00090.05%50.30.07
epoch/checkpoint0.00010.01%1.00.32

The practical interpretation is that this collection is evaluation-bound rather than training-bound. The scheduled router-sampled generation pass repeats about 50 times per run and is much larger than the train window, validation-loss pass, checkpoint, output-writing, and animation costs.

Task Dependence

Task explains the clearest runtime spread. The slow tasks are slow because scheduled router-sampled generation is slow, not because training or validation loss changes enough to dominate.

task_namemean_runtime_hoursmean_router_eval_secondsmean_free_generation_secondsmean_val_loss_secondsmean_train_window_seconds
base_conversion6.20217.7214.57.08.3
sorting_algorithms5.89191.8188.57.18.3
grid_pathfinding3.10101.198.75.36.7
multidigit_addition2.5478.976.84.96.1
linear_equation_solving1.1332.831.43.44.5
list_summation0.6316.215.12.63.7

Speedup Implications

The highest-leverage speedup knob is scheduled evaluation cost. Loosening val_check_interval would directly reduce the repeated epoch/eval_router_sampled and epoch/eval_val_loss sections; reducing the scheduled validation generation budget would target the single largest subsection, epoch/eval_router_sampled/free_generation.

Checkpointing, output writing, and router-sampled-z animation are low-leverage for this collection. Combined, they are far below 1% of profiler total, so optimizing those paths would not materially change sweep runtime.

Built with LogoFlowershow