GOVINDFROM's picture
Automated push from Zaratan
2220ce4 verified
Raw History Blame Contribute Delete
1.46 kB
#!/bin/bash
# Grid 5 - Parallelism-Matched Diffusion on addition (unique answer, chained).
#
# mdlm standard uniform-t training (baseline)
# matched train only at the masking ratios a K-pass decode visits
# distill uniform training + one-pass supervision
# full matched schedule + one-pass supervision (the method)
#
# Prediction: the gap should be largest at FEW passes (high parallelism), where
# the baseline has to fit the whole carry chain into one forward pass having
# been trained mostly on nearly-complete states it never sees there. At many
# passes all methods should converge, since sequential decoding amortises the
# computation anyway.
#SBATCH -J g5
#SBATCH -p gpu-h100
#SBATCH --gpus=h100:1
#SBATCH -c 8
#SBATCH --mem=64g
#SBATCH -t 06:00:00
#SBATCH -o logs/g5-%A_%a.out
#SBATCH --array=0-35%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
MODES=(mdlm matched distill full); DIG=(4 6 8); SEEDS=(0 1 2)
M=${MODES[$((I / 9))]}
D=${DIG[$(((I % 9) / 3))]}
S=${SEEDS[$((I % 3))]}
SL=$(( 3 * D + 4 ))
NAME="g5-d$D-$M-s$S"
echo "=== $NAME ==="
$PY train_add.py --mode $M --digits $D --seq_len $SL --seed $S \
--n_train 200000 --n_eval 500 --eval_bs 100 \
--d 384 --layers 6 --heads 6 --bs 128 --steps 25000 --lr 3e-4 \
--K 4 --lam 1.0 --out $SCR/pcmd/runs/$NAME