WM/OM Ablation Notebooks¶
The ablation notebooks live under notebooks/ablations/<env_name>/ and mirror the
standard three-stage workflow:
train_wm_mo.pytrain_om_mo.pyexperiments_mo.py
They currently cover:
pursuit, fixed to 2 agentsmarkov_stag_hunt
Conditions¶
Two ablation conditions are supported by --ablation:
weak_wm_strong_omstrong_wm_weak_om
strong means the checked-in default budget from the corresponding canonical
environment notebook. weak means a 10% training-budget variant while keeping
the model architecture and most optimization settings unchanged.
Budget Definition¶
Weak world model:
n_steps=75_000instead of750_000epochs=6instead of60- hidden width, batch size, learning rate, graph build, and reporting settings otherwise match the canonical notebook for that environment.
Weak opponent model:
- level-0 fit epochs:
3instead of30 - pursuit soft-rollout PI:
agent_updates=200,opp_updates=400 - markov_stag_hunt soft-rollout PI:
agent_updates=300,opp_updates=450 - OM architecture, rollout horizon, rollout count, batch sizes, temperatures, and learning rates otherwise match the canonical notebook.
The notebooks also expose CLI overrides such as --n-steps, --epochs,
--eval-steps, --level0-epochs, --agent-updates, and --opp-updates for
smoke runs. Those overrides are intended for testing/debugging, not for the
reported ablation setting.
Export Layout¶
All ablation artifacts are rooted at:
Each condition root is shaped like a normal experiment root:
wm/storesD.pkl,models.pkl, policy checkpoints,world_model.pt,env_transition_graph.pkl,wm_history.pkl, andwm_report.txtom/storesiop_stack.ptandpolicy_after_imagination.ptshield/stores the learned transition-shield cacheexperiments/histories/ippo_shielded_histories.pklstores ablation shielded training historiesexperiments/*.pngstores cumulative, post-WM cumulative, episodic, post-WM episodic, and shield telemetry plots
The learned shield setup deliberately points at the ablation condition root, so
it consumes that condition's wm/env_transition_graph.pkl and om/iop_stack.pt.
Comparison Sources¶
The ablation experiment notebooks train only the selected learned
IPPO_Shielded condition. They load canonical histories for comparison only:
- pursuit baseline:
exports/gridworlds/pursuit/2 - markov_stag_hunt baseline:
exports/gridworlds/markov_stag_hunt
If the other ablation condition has already been run, its learned shielded history is included in plots automatically.
Expected Run Order¶
For each environment and condition:
uv run python notebooks/ablations/<env_name>/train_wm_mo.py --ablation=<condition>
uv run python notebooks/ablations/<env_name>/train_om_mo.py --ablation=<condition>
uv run python notebooks/ablations/<env_name>/experiments_mo.py --ablation=<condition>
For a quick script smoke run, reduce the experiment budget: