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
45 lines
1.8 KiB
Bash
Executable file
45 lines
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
# The curriculum society campaign (prereg tasks/prereg-llm-society-v4.md, v5 families): one (seed, arm)
|
|
# per array element, seeds 2-3 x 4 arms = 8 elements; seed 1 runs locally as the hedge. Baselines run
|
|
# once per seed in the `isolated` element (they are cheap and need no partner). Each element checkpoints
|
|
# every generation and resumes if requeued.
|
|
# submit: qsub hpc/llm_curriculum.pbs status: qstat -u $USER -t
|
|
# index -> seed = 2 + (i-1)/4, arm = (isolated society society_dry seed_bank)[(i-1)%4]
|
|
#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S
|
|
#PBS -l walltime=06:00:00
|
|
#PBS -N lam_curriculum
|
|
#PBS -J 1-8
|
|
|
|
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
|
|
|
|
ARMS=(isolated society society_dry seed_bank)
|
|
I=$((PBS_ARRAY_INDEX - 1))
|
|
SEED=$((2 + I / 4))
|
|
ARM=${ARMS[$((I % 4))]}
|
|
|
|
source .venv/bin/activate
|
|
nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader
|
|
echo "seed=$SEED arm=$ARM start=$(date)"
|
|
|
|
CFG="configs/llm/_gen/curriculum_v5_s${SEED}_${ARM}.yaml"
|
|
mkdir -p configs/llm/_gen
|
|
python - "$SEED" "$ARM" "$CFG" <<'EOF'
|
|
import sys, yaml
|
|
seed, arm, out = int(sys.argv[1]), sys.argv[2], sys.argv[3]
|
|
cfg = yaml.safe_load(open("configs/llm/curriculum_v5_s1.yaml"))
|
|
cfg["seed"] = seed
|
|
cfg["arms"] = [arm]
|
|
cfg["baselines"] = ["sequential", "single_shot_merge", "joint"] if arm == "isolated" else []
|
|
cfg["batch_size"] = 48 # L40S: 46 GB
|
|
cfg["train_batch_size"] = 4
|
|
cfg["output"] = {"dir": f"results/llm_curriculum_v5/s{seed}_{arm}"}
|
|
yaml.safe_dump(cfg, open(out, "w"), sort_keys=False)
|
|
EOF
|
|
|
|
python -m llm.experiment "$CFG"
|
|
echo "done: $(date)"
|