BluScriptCP / scripts /eval_saturate.sh
unparallelled's picture
Upload scripts/eval_saturate.sh with huggingface_hub
e0744d0 verified
Raw History Blame Contribute Delete
2.11 kB
#!/usr/bin/env bash
# Phase 1: base680 positional-competence GRID -- 8 small jobs, all 4 GPUs.
# scale=1 (virtual==real): 512 1024 2048 3072 4096 -> does the BASE hold to 4,096?
# scale=4 (virtual=real/4): 4096 8192 16360 -> same base, compressed
# If base is flat at scale=1 but the extensions aren't, the damage is in the ladder.
# If base drops at real 4,096, theta=500,000 at a 4,096 pretrain is the ceiling.
# Phase 2: x64 arm, 6 big jobs.
set -uo pipefail; cd "$(dirname "$0")"
export LD_LIBRARY_PATH="$(cd ../.. && pwd)/Tensor-Implementations/lib:$(cd ../.. && pwd)/Profiler/lib:${LD_LIBRARY_PATH:-}"
export PATH=/usr/local/cuda/bin:$PATH; export PY=/root/Adhi/BluTrain/envv/bin/python
A680="CP_N_EMBD=1536 CP_N_LAYER=24 CP_N_HEAD=12 CP_N_KVHEAD=4 CP_FFN=4096 CP_WEIGHT_TYING=1"
L=eval_sat_logs; mkdir -p "$L"; M="$L/master.log"
say(){ echo "[$(date -u +%H:%M:%S)] $*" | tee -a "$M" >&2; }
one(){ # scale T promptlen gpu tag
local S=$1 TT=$2 PL=$3 G=$4 O="eb_s${S}_${PL}"
A1B="$A680" HAY="data/mix128_b6_60/val_shard_00000.bin" GEN_DATA_ROOT="data/mix128_b6_60" \
CKPT_EXTRA="base=base680.ckpt" CKPTS="base" TASKS="niah_single" N=100 \
T=$TT YARN=$S YARN_ORIG=4096 PROMPT_LEN=$PL GPUS="$G" NP=1 JOBS_PER_GPU=1 OUT="$O" \
./run_longeval.sh > "$L/s${S}_${PL}.log" 2>&1
say " base680 scale=$S len=$PL (virtual $((PL/S))) -> $(grep -h '^niah_single,' $O/summary.csv 2>/dev/null|cut -d, -f2|tr -d '\r')"
}
say "=== PHASE 1: base680 grid, 8 jobs across 4 GPUs ==="
one 1 8192 512 0 & one 1 8192 1024 1 & one 1 8192 2048 2 & one 1 8192 3072 3 &
one 1 8192 4096 0 & one 4 16384 4096 1 & one 4 16384 8192 2 & one 4 16384 16360 3 &
wait
say "=== BASE680 GRID (niah_single, N=100) ==="
for c in "1 512" "1 1024" "1 2048" "1 3072" "1 4096" "4 4096" "4 8192" "4 16360"; do
set -- $c; v=$(grep -h '^niah_single,' eb_s$1_$2/summary.csv 2>/dev/null|cut -d, -f2|tr -d '\r')
printf " scale=%-2s len=%-6s virtual=%-5s -> %s\n" "$1" "$2" "$(($2/$1))" "${v:-.}" | tee -a "$M"
done
say "=== PHASE 2: x64 arm ==="
./eval_x64.sh >> eval_x64.boot 2>&1
say "SATURATE DONE"