File size: 2,138 Bytes
beadbc2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/usr/bin/env bash
# Pull everything run_longeval.sh needs from HuggingFace onto a fresh Hopper box.
# Checkpoints are ~3.9 GB each (~16 GB total, ~6 min each on a typical link).
set -uo pipefail
cd "$(dirname "$0")"
HFR=${HFR:-unparallelled/BluScriptCP}
HF=${HF:-hf}
CK=checkpoints_bluscriptcp/rank_0
mkdir -p "$CK" Data_Loader/Data

command -v "$HF" >/dev/null || { echo "ERROR: 'hf' CLI not on PATH (pip install -U huggingface_hub)"; exit 1; }
"$HF" auth whoami >/dev/null 2>&1 || { echo "ERROR: run '$HF auth login' first"; exit 1; }

echo "=== checkpoints ==="
declare -A MAP=(
  [extended_blumodelcp_run7_step_750.ckpt]=blumodelcp_run7_step_750.ckpt
  [arm_a_blumodelcp_run12_step_400.ckpt]=blumodelcp_run12_step_400.ckpt
  [arm_b_blumodelcp_run15_step_400.ckpt]=blumodelcp_run15_step_400.ckpt
  [arm_c_blumodelcp_run16_step_400.ckpt]=blumodelcp_run16_step_400.ckpt
)
for SRC in "${!MAP[@]}"; do
  DST="$CK/${MAP[$SRC]}"
  if [ -f "$DST" ]; then echo "  have ${MAP[$SRC]}"; continue; fi
  echo "  downloading $SRC"
  "$HF" download "$HFR" "checkpoints/in2/$SRC" --local-dir /tmp/hf_ck >/dev/null \
    && cp "/tmp/hf_ck/checkpoints/in2/$SRC" "$DST" && echo "    -> $DST" \
    || echo "    FAILED $SRC"
done

# Haystack filler. The generator falls back to synthetic text without it, but real
# flux text is the distribution the model was trained on, so prefer it.
echo "=== haystack (flux val shard) ==="
if ls Data_Loader/Data/flux_val_*.bin >/dev/null 2>&1; then
  echo "  have $(ls Data_Loader/Data/flux_val_*.bin | head -1)"
else
  "$HF" download navingv/flux --repo-type dataset --include "flux_val_000000.bin" \
      --local-dir /tmp/flux >/dev/null 2>&1 \
    && cp /tmp/flux/flux_val_000000.bin Data_Loader/Data/ && echo "  -> Data_Loader/Data/flux_val_000000.bin" \
    || echo "  WARN: no flux shard; generator will use synthetic filler"
fi

echo "=== python deps ==="
python3 -c "import tiktoken" 2>/dev/null && echo "  tiktoken ok" || pip install -q tiktoken && echo "  tiktoken installed"

echo
echo "Next:"
echo "  make CP_FUSED_ROPE=1 CP_ATTN_SPLIT=1 SM_ARCH=90 bluscript-cp -j\$(nproc)"
echo "  ./run_longeval.sh"