Download scripts/eval_cliff.sh from unparallelled/BluScriptCP: direct link, hf CLI and curl.
- Browser
- Download file 2.27 kB
-
https://huggingface.co/unparallelled/BluScriptCP/resolve/main/scripts/eval_cliff.sh
- Command line
-
hf download hf://unparallelled/BluScriptCP/scripts/eval_cliff.sh
-
curl -L -o eval_cliff.sh https://huggingface.co/unparallelled/BluScriptCP/resolve/main/scripts/eval_cliff.sh
2.27 kB
| # Eval the checkpoint at the cliff ONSET (local step 200 = global 1400) against | |
| # its own parent (mix64k step 1200 = 83/70/50/31, measured on this harness). | |
| # The question: has the loss cliff actually cost capability yet, or only loss? | |
| set -uo pipefail | |
| cd "$(dirname "$0")" | |
| source /root/Adhi/BluTrain/envv/bin/activate | |
| export LD_LIBRARY_PATH="/root/Adhi/BluTrain/Tensor-Implementations/lib:/root/Adhi/BluTrain/Profiler/lib:${LD_LIBRARY_PATH:-}" | |
| PY=python | |
| T=65536; ORIG=32768; SCALE=2 | |
| DATA=Data_Loader/Data/mixcont | |
| HAY="$PWD/Data_Loader/Data/b2_8192_16384/val_shard_00000.bin" | |
| L=mixcont_logs; M="$L/eval.log"; : > "$M" | |
| say(){ echo "[$(date -u +%H:%M:%S)] $*" | tee -a "$M" >&2; } | |
| say "=== eval global step 1400 (cliff onset) -- 4 lengths, one GPU each ===" | |
| for LEN in 8192 16360 32744 65512; do | |
| ( GEN_DATA_ROOT=$DATA HAY="$HAY" PY=$PY OUT=cliff1400_len_$LEN TASKS="niah_single" \ | |
| CKPTS="c1400" N=100 PROMPT_LEN=$LEN MAX_NEW=24 T=$T \ | |
| DEPTHS="0.0,0.25,0.5,0.75,1.0" YARN_ORIG=$ORIG YARN=$SCALE \ | |
| GPUS=$(( (LEN==8192)?0:(LEN==16360)?1:(LEN==32744)?2:3 )) JOBS_PER_GPU=1 \ | |
| BF16=1 GREEDY=1 CKPT_EXTRA="c1400=cliff_g1400.ckpt" ./run_longeval.sh \ | |
| >> "$L/eval_$LEN.log" 2>&1 ) & | |
| done | |
| wait | |
| say "=== results vs parent (mix64k step 1200) ===" | |
| $PY - <<'PY' | tee -a "$M" | |
| import csv, math, os | |
| P={8192:83.0,16360:70.0,32744:50.0,65512:31.0} # the parent, measured | |
| def w(p,n=100): | |
| z=1.96; ph=p/100 | |
| return 100*z*math.sqrt(ph*(1-ph)/n+z*z/(4*n*n))/(1+z*z/n) | |
| print(f" {'ctx':>7} {'parent':>7} {'g1400':>7} {'delta':>7} {'bar':>6} verdict") | |
| for L in (8192,16360,32744,65512): | |
| f=f"cliff1400_len_{L}/summary.csv"; v=None | |
| if os.path.exists(f): | |
| for r in csv.reader(open(f)): | |
| if r and r[0].strip()=="niah_single": v=float(r[1]) | |
| if v is None: print(f" {L:>7} {P[L]:>7.1f} {'-':>7} {'-':>7} {'-':>6} not scored"); continue | |
| b=math.hypot(w(v),w(P[L])); d=v-P[L] | |
| print(f" {L:>7} {P[L]:>7.1f} {v:>7.1f} {d:>+7.1f} {b:>6.1f} {'DEGRADED' if -d>b else 'ok'}") | |
| PY | |
| say "=== depth profiles ===" | |
| for LEN in 8192 16360 32744 65512; do | |
| f=cliff1400_len_$LEN/depth_summary.csv | |
| [ -s "$f" ] && { printf " %6s: " "$LEN" >&2; awk -F, 'NR>1{printf "%5.1f ",$5}' "$f" >&2; echo >&2; } | |
| done | |
| say "=== EVAL DONE ===" | |