#!/usr/bin/env bash # MATH dataset experiment. Resumes from GRPO ckpt, fine-tunes on MATH, runs # capacity_diagnostic + TF + AR ablations on the final ckpt, pushes to HF. set -uo pipefail REPO="LauraGG/blt-reasoner-pilot1" OUT="/home/ubuntu/work/blt_math" CFG="/home/ubuntu/experiments/blt_reasoner/configs/exp7b_math.json" RESUME_FROM="/home/ubuntu/work/blt_grpo_opt13/final" LOG="/home/ubuntu/work/queue_math.log" log() { echo "[$(date +%T)] $*" | tee -a "$LOG"; } mkdir -p "$OUT" cd /home/ubuntu export TOKENIZERS_PARALLELISM=false TRANSFORMERS_NO_ADVISORY_WARNINGS=1 HF_HUB_DISABLE_PROGRESS_BARS=1 export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True log "===========================================" log "MATH fine-tune from $RESUME_FROM (GSM8K-trained baseline)" log "===========================================" python3 -u -m experiments.blt_reasoner.train --config "$CFG" \ --resume_from "$RESUME_FROM" \ > "$OUT/train.log" 2>&1 log "train exit=$?" log "Capacity diagnostic on math final" python3 -u -m experiments.blt_reasoner.scripts.capacity_diagnostic \ --ckpt "$OUT/final" --config "$CFG" --n 100 --K 16 --max_new_tokens 192 \ --out "$OUT/final/capacity_diagnostic.json" \ > "$OUT/capacity.log" 2>&1 log "capacity diag exit=$?" log "TF ablation (MATH-aware)" python3 -u -m experiments.blt_reasoner.scripts.ablate_teacher_forced \ --ckpt "$OUT/final" --config "$CFG" --n 200 --K 16 \ --out "$OUT/final/ablation_teacher_forced.json" \ > "$OUT/tf_eval.log" 2>&1 log "TF ablate exit=$?" log "AR ablation (MATH boxed-answer parsing)" python3 -u -m experiments.blt_reasoner.eval \ --ckpt "$OUT/final" --config "$CFG" --n 200 --K 16 \ --max_new_tokens 256 --temperature 0.0 \ --out "$OUT/final/ablation_n200_K16.json" \ > "$OUT/ar_eval.log" 2>&1 log "AR ablate exit=$?" log "pushing math_exp/ to HF" python3 - <