msrcam's picture
Upload setup.sh with huggingface_hub
ab0ef03 verified
#!/bin/bash
# ═══════════════════════════════════════════════════════════════
# Claudia Persistent Absorber v2 β€” Instance Setup
# Target: Vast.ai 33093662 (A100 80GB, Sweden)
# SSH: ssh -p 13662 root@ssh1.vast.ai
# ═══════════════════════════════════════════════════════════════
set -e
echo "═══════════════════════════════════════════"
echo " Claudia Persistent Absorber v2 β€” Setup"
echo "═══════════════════════════════════════════"
# ── 1. System packages ──
echo "[1/6] System packages..."
apt-get update -qq && apt-get install -y -qq git wget > /dev/null 2>&1
# ── 2. Python deps ──
echo "[2/6] Python dependencies..."
pip install -q torch torchvision --index-url https://download.pytorch.org/whl/cu124
pip install -q 'transformers>=4.57,<5' accelerate peft safetensors huggingface_hub datasets trl
# ── 3. Create directories ──
echo "[3/6] Creating directories..."
mkdir -p /workspace/models
mkdir -p /workspace/checkpoints
mkdir -p /workspace/logs
mkdir -p /workspace/scripts
# ── 4. Download base model (if not cached) ──
MODEL_DIR="/workspace/models/qwen3-base"
if [ -d "$MODEL_DIR" ] && [ -f "$MODEL_DIR/config.json" ]; then
echo "[4/6] Base model already cached at $MODEL_DIR"
else
echo "[4/6] Downloading base model (this takes ~20 min)..."
python3 -c "
from huggingface_hub import snapshot_download
snapshot_download(
'huihui-ai/Huihui-Qwen3-Omni-30B-A3B-Instruct-abliterated',
local_dir='$MODEL_DIR',
max_workers=4,
)
print('Base model downloaded.')
"
fi
# ── 5. Download Claudia v6 adapter (if not cached) ──
ADAPTER_DIR="/workspace/models/claudia-v6"
if [ -d "$ADAPTER_DIR" ] && [ -f "$ADAPTER_DIR/adapter_config.json" ]; then
echo "[5/6] Claudia v6 adapter already cached at $ADAPTER_DIR"
else
echo "[5/6] Downloading Claudia v6 adapter..."
python3 -c "
from huggingface_hub import snapshot_download
snapshot_download(
'msrcam/claudia-v6-combined',
local_dir='$ADAPTER_DIR',
max_workers=4,
)
print('Adapter downloaded.')
"
fi
# ── 6. Copy absorber script ──
echo "[6/6] Setup complete."
echo ""
echo "═══════════════════════════════════════════"
echo " FIRST RUN:"
echo " python /workspace/scripts/persistent_absorber.py \\"
echo " --model_path /workspace/models/qwen3-base \\"
echo " --adapter_path /workspace/models/claudia-v6 \\"
echo " --ffn_patch /workspace/models/claudia-v6/ffn_patch.pt"
echo ""
echo " RESUME (after first session):"
echo " python /workspace/scripts/persistent_absorber.py \\"
echo " --model_path /workspace/checkpoints/claudia_session_YYYYMMDD_HHMM \\"
echo " --checkpoint /workspace/checkpoints/claudia_session_YYYYMMDD_HHMM"
echo "═══════════════════════════════════════════"