File size: 1,298 Bytes
20c62e0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #!/bin/bash
# Grid 8 - does the parallelism curriculum hold ACROSS difficulties?
#
# The previous method was excellent at 8 digits (3/3 seeds ~100%) but unstable
# at 10-12 (1/3 seeds) because it demanded a full carry chain in one pass from
# random initialisation. `prog` anneals the number of parallel commits 16->1 and
# ramps the one-pass term in, so each stage is a small increment. Capacity is
# also raised, since 14-16 digits previously failed even at sequential decoding
# and that is a learnability failure, not a parallelism one.
#SBATCH -J g8
#SBATCH -p gpu-h100
#SBATCH --gpus=h100:1
#SBATCH -c 8
#SBATCH --mem=64g
#SBATCH -t 10:00:00
#SBATCH -o logs/g8-%A_%a.out
#SBATCH --array=0-29%12
source /etc/profile
SCR=/scratch/zt1/project/msml612/user/$USER
module load python/3.10.10
export PYTHONPATH=
PY=$SCR/hf_env/bin/python
cd $SCR/pcmd/src
I=$SLURM_ARRAY_TASK_ID
DIG=(8 10 12 14 16); MODES=(mdlm prog); SEEDS=(0 1 2)
D=${DIG[$((I / 6))]}
M=${MODES[$(((I % 6) / 3))]}
S=${SEEDS[$((I % 3))]}
SL=$(( 3 * D + 4 ))
NAME="g8-d$D-$M-s$S"
echo "=== $NAME ==="
$PY train_add.py --mode $M --digits $D --seq_len $SL --seed $S \
--n_train 500000 --n_eval 400 --eval_bs 100 \
--d 512 --layers 10 --heads 8 --bs 128 --steps 60000 --lr 3e-4 \
--K_max 16 --lam 1.0 --out $SCR/pcmd/runs/$NAME
|