unparallelled commited on
Commit
f094b8f
·
verified ·
1 Parent(s): 8289a8d

Upload scripts/t32_finish.sh with huggingface_hub

Browse files
Files changed (1) hide show
  1. scripts/t32_finish.sh +84 -0
scripts/t32_finish.sh ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+ # Wait for 32k training -> evaluate -> upload everything verified -> teardown verdict.
3
+ set -uo pipefail
4
+ cd "$(dirname "$0")"
5
+ export PATH=/root/Adhi/BluTrain/envv/bin:$PATH
6
+ source /root/Adhi/BluTrain/envv/bin/activate 2>/dev/null
7
+ REPO=unparallelled/BluScriptCP
8
+ L=t32_logs; M="$L/finish.log"
9
+ say(){ echo "[$(date -u +%H:%M:%S)] $*" | tee -a "$M" >&2; }
10
+
11
+ say "waiting for training..."
12
+ while ! grep -qa '32K TRAINING COMPLETE\|FATAL' "$L/master.log" 2>/dev/null; do
13
+ pgrep -f bluscriptCP_exec >/dev/null 2>&1 || { sleep 30
14
+ grep -qa '32K TRAINING COMPLETE\|FATAL' "$L/master.log" 2>/dev/null || {
15
+ say "trainer vanished without COMPLETE"; break; }; }
16
+ sleep 60
17
+ done
18
+ if grep -qa FATAL "$L/master.log" 2>/dev/null; then say "training FAILED"; fi
19
+
20
+ CK=checkpoints_bluscriptcp/rank_0
21
+ RN=$(cat "$L/runnum" 2>/dev/null || echo "")
22
+ FINAL=""
23
+ [ -n "$RN" ] && FINAL=$(ls -t $CK/blumodelcp_run${RN}_step_*.ckpt 2>/dev/null | head -1)
24
+ [ -z "$FINAL" ] && FINAL=$(ls -t $CK/blumodelcp_run*_step_*.ckpt 2>/dev/null | grep -v run12 | head -1)
25
+ if [ -z "$FINAL" ]; then say "NO CHECKPOINT FOUND -- nothing to evaluate"; else
26
+ say "final: $(basename "$FINAL") ($(stat -c%s "$FINAL") B)"
27
+ A680="CP_N_EMBD=1536 CP_N_LAYER=24 CP_N_HEAD=12 CP_N_KVHEAD=4 CP_FFN=4096 CP_WEIGHT_TYING=1"
28
+ HAY=Data_Loader/Data/b2_8192_16384/val_shard_00000.bin
29
+ EX="t32=$(basename "$FINAL") p1final=blumodelcp_run12_step_1200.ckpt base680=varybatch.ckpt"
30
+ ev(){ # T SCALE PL TASKS tag
31
+ local T=$1 S=$2 PL=$3 TK=$4
32
+ local TG=$5 O="t32ev_${5}_${3}"
33
+ [ -s "$O/summary.csv" ] && [ "$(wc -l < "$O/summary.csv")" -gt 1 ] && return 0
34
+ say " eval $TG len $PL (T=$T x$S -> virtual $((PL/S))) [$TK]"
35
+ A1B="$A680" HAY="$HAY" GEN_DATA_ROOT="Data_Loader/Data/evalsrc" \
36
+ CKPT_EXTRA="$EX" CKPTS="t32 p1final base680" TASKS="$TK" N=100 \
37
+ T=$T YARN=$S YARN_ORIG=4096 PROMPT_LEN=$PL GPUS=0,1 NP=1 OUT="$O" \
38
+ ./run_longeval.sh >> "$L/ev_${TG}_${PL}.log" 2>&1
39
+ if [ -s "$O/summary.csv" ] && [ "$(wc -l < "$O/summary.csv")" -gt 1 ]; then
40
+ say " $(head -1 $O/summary.csv)"; tail -n +2 "$O/summary.csv"|sed 's/^/ /'|tee -a "$M" >&2
41
+ else say " FAILED"; fi
42
+ }
43
+ say "=== EVAL: three-way, t32 vs p1final vs base680 ==="
44
+ ev 131072 32 32744 niah_single x32
45
+ ev 262144 64 32744 niah_single x64
46
+ ev 262144 64 65512 niah_single x64
47
+ ev 262144 64 32744 "val_backward niah_multikey" vb
48
+ fi
49
+
50
+ up(){ [ -f "$1" ] || { say " MISSING $1"; return 1; }
51
+ hf upload "$REPO" "$1" "$2" >>"$L/upload.log" 2>&1
52
+ python - "$REPO" "$1" "$2" <<'V'
53
+ import sys,os
54
+ from huggingface_hub import HfApi
55
+ w=os.path.getsize(sys.argv[2])
56
+ g={f.rfilename:(f.size or 0) for f in HfApi().repo_info(sys.argv[1],files_metadata=True).siblings}.get(sys.argv[3])
57
+ ok=(g==w); print((" VERIFIED " if ok else " *** FAILED ")+f"{sys.argv[3]} local={w:,} remote={g}")
58
+ sys.exit(0 if ok else 1)
59
+ V
60
+ }
61
+ BAD=0
62
+ say "=== UPLOAD ==="
63
+ for f in t32_train.sh t32_finish.sh final_evals.sh memprobe.sh dl_t32.sh; do
64
+ up "$f" "scripts/$f" || BAD=$((BAD+1)); done
65
+ up Data_Loader/Data/t32mix/MANIFEST.txt data/t32mix_MANIFEST.txt || BAD=$((BAD+1))
66
+ for g in "$L"/master.log "$L"/train.log "$L"/probe.log; do
67
+ [ -f "$g" ] && { cp -f "$g" "${g}.snap"; up "${g}.snap" "logs/t32_$(basename $g)" || BAD=$((BAD+1)); }; done
68
+ for d in t32ev_* fin_*; do [ -f "$d/summary.csv" ] || continue
69
+ up "$d/summary.csv" "evals/2026-09-16/${d}_summary.csv" || BAD=$((BAD+1)); done
70
+ if [ -n "$FINAL" ]; then
71
+ say "=== final checkpoint, both ranks (full resumable) ==="
72
+ ST=$(basename "$FINAL" | grep -oE 'step_[0-9]+' | cut -d_ -f2)
73
+ for r in 0 1; do for e in ckpt zero_g1; do
74
+ f="checkpoints_bluscriptcp/rank_$r/$(basename "${FINAL%.ckpt}").$e"
75
+ f="checkpoints_bluscriptcp/rank_$r/blumodelcp_run${RN}_step_${ST}.$e"
76
+ [ -f "$f" ] && { up "$f" "checkpoints/t32_680m_step${ST}_rank${r}.$e" || BAD=$((BAD+1)); }
77
+ done; done
78
+ fi
79
+ say "=== TEARDOWN VERDICT ==="
80
+ if [ "$BAD" -eq 0 ] && [ -n "$FINAL" ]; then
81
+ say "ALL VERIFIED -- SAFE TO TEAR DOWN"
82
+ else
83
+ say "*** $BAD failure(s), final='${FINAL:-none}' -- DO NOT TEAR DOWN ***"
84
+ fi