AR / cleanup.sh
AjayRangoji's picture
Upload AR-4B pretraining codebase, configs, and cluster scripts
2ae6691 verified
Raw History Blame Contribute Delete
2.08 kB
#!/bin/bash
# Frees disk space after pretraining. Shows what it would remove; deletes only with --go.
# NEVER touches: the two final models (stage1_final, stage2_final), the token data (bin/, stage2/),
# the held-out sets, the code, or anything outside /fsx/ajay-stu/ar-data.
# Usage: ./cleanup.sh (dry run, shows sizes)
# ./cleanup.sh --go (actually delete)
set -uo pipefail
D=${D:-/fsx/ajay-stu/ar-data}
GO=${1:-}
KEEP1=ckpt_571999 # final Stage 1 (also kept in stage1_final)
KEEP2=ckpt_619699 # final Stage 2 (also kept in stage2_final)
# refuse to delete while training is running
if squeue -u "${USER:-$(id -un)}" -h -n ar-real 2>/dev/null | grep -q .; then
echo "STOP: a training job is still running"; exit 1
fi
# build the list: training checkpoints except the two finals, and eval exports
targets=()
for p in "$D"/checkpoints/ckpt_*; do
b=$(basename "$p")
[ -d "$p" ] && [ "$b" != "$KEEP1" ] && [ "$b" != "$KEEP2" ] && targets+=("$p")
done
for p in "$D"/eval/*.pt; do [ -f "$p" ] && targets+=("$p"); done
if [ ${#targets[@]} -eq 0 ]; then
echo "nothing to clean"; df -h /fsx | tail -1; exit 0
fi
# show each item with its real disk use (hard-linked copies count as 0 here)
echo "would remove:"
du -shc --apparent-size "${targets[@]}" 2>/dev/null | tail -1 | sed 's/^/ apparent total: /'
for p in "${targets[@]}"; do printf " %-8s %s\n" "$(du -sh "$p" 2>/dev/null | cut -f1)" "$p"; done
echo "keeping: $D/stage1_final $D/stage2_final $D/bin $D/stage2 $D/heldout"
if [ "$GO" != "--go" ]; then
echo; echo "DRY RUN - nothing deleted. Run './cleanup.sh --go' to delete."; exit 0
fi
# safety: the two final models must exist before anything is removed
for f in "$D/stage1_final/model_stage1_final.pt" "$D/stage2_final/model_stage2_final.pt" \
"$D/stage1_final/$KEEP1/.metadata" "$D/stage2_final/$KEEP2/.metadata"; do
[ -e "$f" ] || { echo "STOP: $f is missing - nothing deleted"; exit 1; }
done
echo "final models verified"
for p in "${targets[@]}"; do rm -rf "$p" && echo "removed $p"; done
df -h /fsx | tail -1