autoresearch arms: add D/E context arms (KV 4.05e9 = 2.00x under MTP3; E adds MNBT 4096 + util 0.99)
This commit is contained in:
@@ -72,18 +72,52 @@ OVER_C=(
|
|||||||
'FRANK_PRIMARY_UTIL=0.95'
|
'FRANK_PRIMARY_UTIL=0.95'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# D/E: the CONTEXT arms. Measured 2026-10-02 (arms run 20261002T233855Z): the
|
||||||
|
# KV pool is a hard byte request divided by a PER-TOKEN PRICE, and MTP raises
|
||||||
|
# that price because the drafter keeps its own KV per position:
|
||||||
|
# no spec: 3.15e9 / 398,658 tokens = 7,901 B/token (1.99x of 200,704)
|
||||||
|
# MTP3: 3.15e9 / 313,002 tokens = 10,064 B/token (1.56x)
|
||||||
|
# So arm C lost a fifth of the context to the drafter, not to util. Frank's
|
||||||
|
# contract is >=401,400 tokens over >=2 seqs = 2.00x of 200,704, which at
|
||||||
|
# 10,064 B/token costs 4.04e9 -> ask 4.05e9 (+0.83 GiB/rank).
|
||||||
|
# D is arm B with EXACTLY ONE variable changed (the KV bytes), so its result
|
||||||
|
# says whether the 4k-depth collapse (B 23.09 vs baseline 33.99) was KV or the
|
||||||
|
# batch shape.
|
||||||
|
KV401K='FRANK_PRIMARY_KV_BYTES=4050000000'
|
||||||
|
OVER_D=(
|
||||||
|
"FRANK_PRIMARY_SPEC='$SPEC3'"
|
||||||
|
"FRANK_PRIMARY_COMPCONFIG='$LADDER3'"
|
||||||
|
'FRANK_PRIMARY_GEN_CONFIG='"'$GEN07'"
|
||||||
|
"$KV401K"
|
||||||
|
)
|
||||||
|
# E: D with C's max_num_batched_tokens (4096 — C is the only arm that did NOT
|
||||||
|
# collapse at 4k depth: 33.15 where B gave 23.09) and util 0.99, the value
|
||||||
|
# Frank asked about. 0.99 is affordable on paper — production at util 0.98
|
||||||
|
# measures 30.37/34.21 GiB per card, 3.58 GiB physically unused — but it leaves
|
||||||
|
# only 0.32 GiB above the allowance while the CUDA-graph cost is an ANALYTIC
|
||||||
|
# estimate (C's was 1.47 GiB over 24 graphs), so it is measured, not assumed.
|
||||||
|
OVER_E=(
|
||||||
|
"FRANK_PRIMARY_SPEC='$SPEC3'"
|
||||||
|
"FRANK_PRIMARY_COMPCONFIG='$LADDER3'"
|
||||||
|
'FRANK_PRIMARY_GEN_CONFIG='"'$GEN07'"
|
||||||
|
"$KV401K"
|
||||||
|
'FRANK_PRIMARY_MNBT=4096'
|
||||||
|
'FRANK_PRIMARY_UTIL=0.99'
|
||||||
|
)
|
||||||
|
|
||||||
arm_overlay() {
|
arm_overlay() {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
baseline) ;; # the shipped env, no overlay
|
baseline) ;; # the shipped env, no overlay
|
||||||
B) printf '%s\n' "${OVER_B[@]}" ;;
|
B) printf '%s\n' "${OVER_B[@]}" ;;
|
||||||
B2) printf '%s\n' "${OVER_B2[@]}" ;;
|
B2) printf '%s\n' "${OVER_B2[@]}" ;;
|
||||||
C) printf '%s\n' "${OVER_C[@]}" ;;
|
C) printf '%s\n' "${OVER_C[@]}" ;;
|
||||||
|
D) printf '%s\n' "${OVER_D[@]}" ;;
|
||||||
|
E) printf '%s\n' "${OVER_E[@]}" ;;
|
||||||
*) return 1 ;;
|
*) return 1 ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "${1:-}" = "--list" ]; then
|
if [ "${1:-}" = "--list" ]; then
|
||||||
printf 'baseline B B2 C\n'
|
printf 'baseline B B2 C D E\n'
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user