#!/usr/bin/env bash # base680 at the SAME config as t128c: T=131072, YaRN x32, ORIG=4096. # Identical scale AND identical real lengths -> the only difference is the # extension training. This is the "what did 128k training actually buy" test, # and it removes the real-length confound in my earlier virtual-position claim. 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_bx32_logs; mkdir -p "$L"; M="$L/master.log" say(){ echo "[$(date -u +%H:%M:%S)] $*" | tee -a "$M" >&2; } one(){ local PL="$1"; local G="$2" local O="bx32_${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=131072 YARN=32 YARN_ORIG=4096 PROMPT_LEN="$PL" GPUS="$G" NP=1 JOBS_PER_GPU=1 OUT="$O" \ ./run_longeval.sh > "$L/len_${PL}.log" 2>&1 say " base680 x32 len $PL (virtual $((PL/32))) -> $(grep -h '^niah_single,' $O/summary.csv 2>/dev/null|cut -d, -f2|tr -d '\r')" } say "=== base680 @ x32, T=131072 -- matched to t128c ===" one 4096 0 & one 8192 1 & one 16360 2 & one 32744 3 & wait one 65512 0 & one 131000 1 & wait say "=== base680 x32 vs t128c x32 (identical config) ===" printf " %-8s %-8s %-8s %s\n" len virtual base680 t128c | tee -a "$M" for c in "4096 99" "8192 97" "16360 99" "32744 92" "65512 45" "131000 28"; do set -- $c; b=$(grep -h '^niah_single,' bx32_$1/summary.csv 2>/dev/null|cut -d, -f2|tr -d '\r') printf " %-8s %-8s %-8s %s\n" "$1" "$(($1/32))" "${b:-.}" "$2" | tee -a "$M" done say "BASEX32 DONE"