#!/usr/bin/env bash # Complete the NATIVE-config RULER curve for the 128k models: T=131072 YaRN x32 # ORIG=4096 (factor = 131072/4096, exactly Qwen's target/original pattern), held # FIXED across all lengths -- which is what RULER does via vLLM static YaRN. # Missing cells: 8,192 and 16,360. 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 L=eval_native_logs; mkdir -p "$L" A680="CP_N_EMBD=1536 CP_N_LAYER=24 CP_N_HEAD=12 CP_N_KVHEAD=4 CP_FFN=4096 CP_WEIGHT_TYING=1" say(){ echo "[$(date -u +%H:%M:%S)] $*" | tee -a "$L/master.log" >&2; } : # ordering handled by eval_chain.sh say "=== native x32 fill-in: c300 / d360 at 8,192 and 16,360 ===" for PL in 8192 16360; do O="en_${PL}" A1B="$A680" HAY="data/mix128_b6_60/val_shard_00000.bin" GEN_DATA_ROOT="data/mix128_b6_60" \ CKPT_EXTRA="c300=t128c_s300.ckpt d360=t128d_s360.ckpt" CKPTS="c300 d360" \ TASKS="niah_single" N=100 T=131072 YARN=32 YARN_ORIG=4096 PROMPT_LEN="$PL" \ GPUS="0,1,2,3" NP=1 JOBS_PER_GPU=2 OUT="$O" ./run_longeval.sh > "$L/len_${PL}.log" 2>&1 say " $PL: $(head -1 $O/summary.csv 2>/dev/null|tr -d '\r') -> $(grep -h '^niah_single,' $O/summary.csv 2>/dev/null|tr -d '\r')" done say "EVAL_NATIVE_DONE"