GOVINDFROM's picture
Recurrent masked diffusion: results, code, card
ae02605 verified
Raw History Blame Contribute Delete
1.62 kB
#!/bin/bash
# The baselines that can overturn the paper's framing.
#
# 0,1 DIRECT + RECURRENT: predict every blank from the puzzle, no masking
# schedule, recurrent with deep supervision. This is the Recurrent
# Transformer setup reimplemented in our codebase - the control that asks
# whether the DIFFUSION framing earns its place at all. If it matches
# 99.70%, diffusion contributes nothing and the paper's framing collapses.
# 2,3 DIRECT + FEED-FORWARD: same, without recurrence. Isolates recurrence
# from the objective.
# 4,5 AUTOREGRESSIVE: left-to-right cell filling at matched size. Asks whether
# any iterative model would do, making the generative framing irrelevant.
#SBATCH -J base
#SBATCH -p gpu-h100
#SBATCH --gpus=h100:1
#SBATCH -c 8
#SBATCH --mem=48g
#SBATCH -t 5:00:00
#SBATCH -o logs/base-%A_%a.out
#SBATCH --array=0-5%6
source /etc/profile
SCR=/scratch/zt1/project/msml612/user/$USER
module load python/3.10.10
export PYTHONPATH=
cd $SCR/pcmd/src
I=$SLURM_ARRAY_TASK_ID
S=$((I % 2))
COMMON="--seed $S --pe ape --hard $SCR/pcmd/data/sudoku_hard --augment \
--heads 4 --bs 256 --steps 120000 --lr 3e-4 --warmup 3000 \
--eval_bs 250 --ckpt_every 10000"
case $((I / 2)) in
0) NAME="base-directrec-s$S"
ARGS="--objective direct --recurrent --R 32 --R_infer 64 --d 128 --layers 1" ;;
1) NAME="base-directff-s$S"
ARGS="--objective direct --d 128 --layers 12" ;;
2) NAME="base-ar-s$S"
ARGS="--objective ar --d 128 --layers 12" ;;
esac
echo "=== $NAME ==="
$SCR/hf_env/bin/python -u train_sudoku.py $ARGS $COMMON --out $SCR/pcmd/runs/$NAME