| # training_method — bathroom-toilet v2 training (ported from multilayer-sae) |
| |
| Self-contained copy of the code needed to run `run_bathroom_toilet_v2.sh` |
| (originally `/data/caotue/multilayer-sae/run_bathroom_toilet_v2.sh`), placed in |
| the hallucination repo. Files that already exist **identically** in hallucination |
| are NOT copied — they're imported from the existing `experiment.*` / `sae.*` |
| packages. Only files that are new or differ from hallucination were added here. |
|
|
| ## Added here (copied — differ from / missing in hallucination) |
| - `sequence_probe.py` — DIFF (adds per-token `token_logits` / `forward_token_logits`) |
| - `finetune_adv.py` — DIFF (adds `scene_only` probe-label mode) |
| - `train_probe_gen.py` — DIFF (stage-1 entry: probe pretrain) |
| - `finetune_adv_gen.py` — identical to hallucination, but copied because it imports |
| the DIFF `finetune_adv` (intra-package import rewired) |
| - `finetune_adv_gen_resume.py` — stage-2 entry; same reason (imports DIFF deps) |
| - `adv_config_bathroom_toilet_seqprobe_adv16.json` — missing in hallucination |
| - `run_bathroom_toilet_v2.sh`, `run_finetune_adv_gen_refined.sh` — drivers (module |
| paths repointed to `training_method.*`, REPO → hallucination) |
| |
| Cross-imports between the 5 copied `.py` were rewired `experiment.training.X` |
| → `training_method.X`. All other imports are left as `experiment.*` / `sae.*` |
| and resolve to hallucination's existing (byte-identical) modules. |
|
|
| ## Imported from hallucination (NOT copied — identical) |
| `sae.Training_Utils`, `experiment.config.{train_config,relation_config}`, |
| `experiment.data.{datasets,hf_loader}`, `experiment.evaluation.metrics`, |
| `experiment.training.{gen_features,preference}`. |
|
|
| ## Run |
| ```bash |
| source /data/caotue/multilayer-sae/.venv/bin/activate # torch/transformers env |
| cd /data/caotue/hallucination |
| bash training_method/run_bathroom_toilet_v2.sh |
| ``` |
| `PYTHONPATH` is set to the hallucination root by the driver, so both |
| `training_method.*` and `experiment.*`/`sae.*` import correctly. |
|
|
| ## Caveats |
| - Outputs land under `hallucination/probe_outputs_seq` and |
| `hallucination/adv_gen_outputs` (driver `REPO` = hallucination). |
| - The config's `output_dir` still points at `/data/caotue/multilayer-sae/...` |
| but is overridden by the driver's `--output_dir`. `general_image_dir` |
| (`/data/caotue/CC3M-Dataset/cc3m_images/train`) and `dataset_id` are shared paths. |
| - GPUs auto-selected at runtime (>28 GiB free). Stage-1 DDP probe pretrain → |
| stage-2 adversarial LoRA via the runner. |
|
|