Manuscript revision and pending experiment work, snapshot before restructuring

Clarity pass over the main text (36-item audit), Discussion rewrite and cut,
acknowledgements, Souly et al. as ref 62, lettered SI panels, model section
moved under Results; plus the untracked curriculum/society/compose/smol
configs, runners, figures, stats and tests that the SI already cites.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y64o8FKP7rCuXzC48pxpMm
This commit is contained in:
Giorgio Gilestro 2026-09-13 16:54:09 +01:00
parent e4804adabc
commit 84124de143
450 changed files with 52813 additions and 1202 deletions

38
hpc/llm_curriculum_timing.pbs Executable file
View file

@ -0,0 +1,38 @@
#!/bin/bash
# Conflict-arrival curricula (manuscript revision 2026-09-12): seeds 1-3 x {early, early_obl, late,
# late_obl} = 12 elements. early/late = isolated + declinable society (~40 min); *_obl = obligate
# society only (~20 min). Output results/llm_curriculum_v5_<name>/s{seed}/.
# submit: qsub hpc/llm_curriculum_timing.pbs status: qstat -u $USER -t
# index -> seed = 1 + (i-1)/4, name = (early early_obl late late_obl)[(i-1)%4]
#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S
#PBS -l walltime=01:30:00
#PBS -N lam_timing
#PBS -J 1-12
cd "$PBS_O_WORKDIR"
export HF_HOME="$EPHEMERAL/hf_cache"
export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets"
export TOKENIZERS_PARALLELISM=false
export UV_CACHE_DIR="$EPHEMERAL/uvcache"
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
source .venv/bin/activate
nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader
mkdir -p configs/llm/_gen
NAMES=(early early_obl late late_obl)
I=$((PBS_ARRAY_INDEX - 1))
SEED=$((1 + I / 4))
NAME=${NAMES[$((I % 4))]}
echo "seed=$SEED config=$NAME start=$(date)"
CFG="configs/llm/_gen/curriculum_v5_${NAME}_s${SEED}.yaml"
python - "$SEED" "$NAME" "$CFG" <<'PYEOF'
import sys, yaml
seed, name, out = int(sys.argv[1]), sys.argv[2], sys.argv[3]
cfg = yaml.safe_load(open(f"configs/llm/curriculum_v5_{name}.yaml"))
cfg["seed"] = seed
cfg["batch_size"] = 48 # L40S: 46 GB (matches the v5 seeds 2-3 runs)
cfg["train_batch_size"] = 4
cfg["output"] = {"dir": f"results/llm_curriculum_v5_{name}/s{seed}"}
yaml.safe_dump(cfg, open(out, "w"), sort_keys=False)
PYEOF
python -m llm.experiment "$CFG"
echo "done: $(date)"