Upload scripts/cut400.sh with huggingface_hub
Browse files- scripts/cut400.sh +32 -0
scripts/cut400.sh
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env bash
|
| 2 |
+
# Stop the AdamW control arm cleanly once step 400 is checkpointed.
|
| 3 |
+
set -uo pipefail; cd "$(dirname "$0")"
|
| 4 |
+
say(){ echo "[$(date -u +%H:%M:%S)] $*"; }
|
| 5 |
+
LOG=p1_const_adamw_logs/train.log
|
| 6 |
+
CK=checkpoints_const_adamw/rank_0/blumodelcp_run2_step_400.ckpt
|
| 7 |
+
SCRIPT_PID=30792
|
| 8 |
+
|
| 9 |
+
say "waiting for step 400 checkpoint to be written safely..."
|
| 10 |
+
for i in $(seq 1 360); do
|
| 11 |
+
grep -qa 'Saved: .*step_400\.ckpt (safely)' "$LOG" && { say "step 400 checkpoint confirmed safe"; break; }
|
| 12 |
+
kill -0 "$SCRIPT_PID" 2>/dev/null || { say "chain already exited"; break; }
|
| 13 |
+
sleep 10
|
| 14 |
+
done
|
| 15 |
+
grep -qa 'Saved: .*step_400\.ckpt (safely)' "$LOG" || { say "ABORT: no safe step-400 ckpt, leaving run alone"; exit 1; }
|
| 16 |
+
|
| 17 |
+
sleep 5 # let the .zero_g1 shard flush
|
| 18 |
+
say "sizes: $(stat -Lc%s "$CK" 2>/dev/null) + $(stat -Lc%s "${CK%.ckpt}.zero_g1" 2>/dev/null)"
|
| 19 |
+
|
| 20 |
+
# parent script first so it cannot advance to the next stage, then the trainer
|
| 21 |
+
kill "$SCRIPT_PID" 2>/dev/null && say "stopped abl_phase1.sh ($SCRIPT_PID)"
|
| 22 |
+
for p in $(nvidia-smi --query-compute-apps=pid --format=csv,noheader); do
|
| 23 |
+
kill "$p" 2>/dev/null && say "TERM trainer $p"
|
| 24 |
+
done
|
| 25 |
+
for i in $(seq 1 30); do
|
| 26 |
+
[ -z "$(nvidia-smi --query-compute-apps=pid --format=csv,noheader)" ] && break; sleep 2; done
|
| 27 |
+
for p in $(nvidia-smi --query-compute-apps=pid --format=csv,noheader); do
|
| 28 |
+
kill -9 "$p" 2>/dev/null && say "KILL -9 $p"; done
|
| 29 |
+
sleep 3
|
| 30 |
+
say "GPU now: $(nvidia-smi --query-gpu=memory.used --format=csv,noheader)"
|
| 31 |
+
say "last step: $(grep '^step' "$LOG" | tail -1)"
|
| 32 |
+
say "CUT_DONE"
|