capabvector-research / scripts /run_pilot.sh
AlexWortega's picture
Upload folder using huggingface_hub
aaf1c39 verified
Raw
History Blame Contribute Delete
1.32 kB
#!/usr/bin/env bash
# Phase-1 pilot chain for ONE trait: gen responses -> judge -> capture -> direction.
# Uses soyuz server (30007) for gen, local Qwen3-8B (30008) for judge.
set -uo pipefail
cd "$(dirname "$0")/.."
TRAIT=${TRAIT:-persistence-after-error}
NP=${NP:-10}
NQ=${NQ:-12}
PY=.venv/bin/python
LOG() { echo "[$(date -u +%H:%M:%S)] $*"; }
LOG "=== PILOT trait=$TRAIT (${NP}x${NQ}) ==="
LOG "1/4 gen_responses (soyuz self-generation)"
$PY scripts/11_responses/gen_responses.py --trait "$TRAIT" --n-pairs "$NP" --n-questions "$NQ" --parallel 4 || { LOG "gen FAILED"; exit 1; }
LOG "2/4 judge_responses (local Qwen3-8B)"
$PY scripts/12_judge/judge_responses.py --trait "$TRAIT" --local || { LOG "judge FAILED"; exit 1; }
LOG "3/4 stop soyuz server to free VRAM, then capture activations"
pkill -f steered_server; sleep 5
$PY scripts/13_capture/capture_response_acts.py --trait "$TRAIT" || { LOG "capture FAILED"; exit 1; }
LOG "4/4 compute_trait_dir (5-fold CV AUC)"
$PY scripts/14_direction/compute_trait_dir.py --trait "$TRAIT" --topk 3 || { LOG "direction FAILED"; exit 1; }
LOG "restart soyuz server for steering validation"
setsid bash -c 'STEER_PORT=30007 exec .venv/bin/python scripts/20_serve/steered_server.py > results/server.log 2>&1' & disown
LOG "=== PILOT DONE — see vectors/${TRAIT}_L*.pt ==="