Files
esh-pfi-infrastructure/scripts/yarros-corpus/chain-yarros-4b-base.sh
T
vh 38eb40ace4 BabyYarros: stage the 4B-Base comparison arm, both concurrent and chained
One arm is not a comparison. On the Brontë corpus Base won held-out loss (2.814
against the instruct arm's 2.908) while instruct won instruction-following, and
that trade is the open question for Skaldsong. It has to be re-measured on this
corpus rather than carried over: BabyYarros is 12% larger and contemporary.

Two entry points because the right one depends on a measurement rather than an
argument. The box has 98 GiB free against an 18.4 GiB training footprint, so VRAM
is not the constraint -- but VRAM was never the binding constraint on a GB10 that
onboarding measured at 6x slower than ana-ml2 where compute predicts 2.7x, and
where batching was not a throughput lever. If the box is already at its bandwidth
roofline, a second job splits the same bandwidth and buys nothing.

So: launch-yarros-4b-base.sh takes an explicit --allow-shared-gpu that bypasses
the GPU-clear guard, and chain-yarros-4b-base.sh waits on the instruct run and
refuses if it produced no adapter. The bypass is an argument and never a default,
because the guard's normal job -- stopping a chain from firing into a live run --
is what keeps one lost run from becoming two. A shared-GPU launch stamps its own
log with a warning that its s/it is not comparable to a solo run, since the
harness is part of the number.

Both carry the same gate guard as the instruct arm: refuse to start unless the
leak gate report on disk says PASSED.
2026-09-11 10:22:21 -07:00

19 lines
845 B
Bash
Executable File

#!/usr/bin/env bash
# Chain the Qwen3-4B-Base arm behind the instruct arm.
#
# ⚠ Gated on the instruct run having actually produced an adapter. If that run died,
# this must not quietly start and consume the box: a chain that fires on failure turns
# one lost run into two.
set -uo pipefail
PREV=/home/infra-ops/r49-runs/yarros-4b-instruct-1ep
CHAINLOG=/home/infra-ops/r49-runs/chain-yarros-4b-base.log
exec >> "$CHAINLOG" 2>&1
echo "=== $(date -Is) chain armed, waiting on $PREV"
while [ -f "$PREV/run.pid" ] && kill -0 "$(cat "$PREV/run.pid")" 2>/dev/null; do sleep 60; done
echo "=== $(date -Is) instruct run finished"
if [ ! -f "$PREV/adapter/adapter_model.safetensors" ]; then
echo "=== REFUSING to chain: $PREV produced no adapter -- the instruct run did not succeed"
exit 1
fi
exec /home/infra-ops/r49-prep/launch-yarros-4b-base.sh