File size: 1,750 Bytes
bc7101b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env bash
# Chain: train 7B BLT-Reasoner → final n=200 z-ablation → push to HF under pilot7b/
set -uo pipefail

REPO="LauraGG/blt-reasoner-pilot1"
OUT="/home/ubuntu/work/blt_pilot7b"
CFG="/home/ubuntu/experiments/blt_reasoner/configs/pilot7b_qwen_math_gsm8k.json"
LOG="/home/ubuntu/work/queue_pilot7b.log"

log() { echo "[$(date +%T)] $*" | tee -a "$LOG"; }

mkdir -p "$OUT"
cd /home/ubuntu
export TOKENIZERS_PARALLELISM=false TRANSFORMERS_NO_ADVISORY_WARNINGS=1 HF_HUB_DISABLE_PROGRESS_BARS=1
export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True

log "=========================================="
log "7B PILOT: BLT-Reasoner on Qwen2.5-Math-7B-Instruct"
log "=========================================="
python3 -u -m experiments.blt_reasoner.train --config "$CFG" \
    > "$OUT/train.log" 2>&1
rc=$?
log "train exit=$rc"

# Always try eval + push, even if train errored
log "running n=200 K=16 z-ablation on final ckpt"
python3 -u -m experiments.blt_reasoner.eval \
    --ckpt "$OUT/final" --config "$CFG" \
    --n 200 --K 16 --max_new_tokens 192 --temperature 0.0 \
    --out "$OUT/final/ablation_n200_K16.json" \
    > "$OUT/eval.log" 2>&1
log "eval exit=$?"

# Push intermediate ckpts + final + ablation + logs to HF under pilot7b/
log "pushing to HF under pilot7b/"
python3 - <<PY
import os
from huggingface_hub import HfApi
token = os.environ.get("BLT_HF_TOKEN", "").strip()
assert token.startswith("hf_"), "BLT_HF_TOKEN missing"
api = HfApi(token=token)
api.upload_folder(
    folder_path="$OUT",
    path_in_repo="pilot7b",
    repo_id="$REPO", repo_type="model",
    commit_message="7B pilot: trained policy + final ablation",
    ignore_patterns=["*.tmp", "**/*.tmp"],
)
print("[push] done")
PY
log "queue_pilot7b.sh DONE"