- Add download script (10), start script (11), and background launcher (12) for the 122B FP8 model using all 4 GPUs with TP=4 - Both models share port 7080; only one runs at a time - Update README with dual-model hardware table, switching workflow, and updated file overview - Update STUDENT_GUIDE with both model names and discovery instructions Made-with: Cursor
52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ------------------------------------------------------------------
|
|
# 10_download_model_122b.sh
|
|
# Downloads Qwen3.5-122B-A10B-FP8 weights from Hugging Face
|
|
# using huggingface-cli INSIDE the Apptainer container.
|
|
#
|
|
# Prerequisites:
|
|
# - Container built via 01_build_container.sh
|
|
#
|
|
# Usage:
|
|
# bash 10_download_model_122b.sh [TARGET_DIR]
|
|
# ------------------------------------------------------------------
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
SIF_FILE="${SCRIPT_DIR}/vllm_qwen.sif"
|
|
|
|
MODEL_ID="Qwen/Qwen3.5-122B-A10B-FP8"
|
|
TARGET_DIR="${1:-$HOME/models/Qwen3.5-122B-A10B-FP8}"
|
|
HF_CACHE_DIR="${HOME}/.cache/huggingface"
|
|
|
|
if [ ! -f "$SIF_FILE" ]; then
|
|
echo "ERROR: Container image not found at ${SIF_FILE}"
|
|
echo " Run 01_build_container.sh first."
|
|
exit 1
|
|
fi
|
|
|
|
echo "=== Downloading ${MODEL_ID} to ${TARGET_DIR} ==="
|
|
echo " Using huggingface-cli inside the container."
|
|
echo " This is ~125 GB and may take a while."
|
|
echo ""
|
|
|
|
mkdir -p "$TARGET_DIR" "$HF_CACHE_DIR"
|
|
|
|
apptainer exec \
|
|
--writable-tmpfs \
|
|
--bind "$(dirname "$TARGET_DIR"):$(dirname "$TARGET_DIR")" \
|
|
--bind "${HF_CACHE_DIR}:${HF_CACHE_DIR}" \
|
|
--env HF_HOME="${HF_CACHE_DIR}" \
|
|
--env HF_HUB_CACHE="${HF_CACHE_DIR}/hub" \
|
|
--env XDG_CACHE_HOME="${HOME}/.cache" \
|
|
"$SIF_FILE" \
|
|
huggingface-cli download "$MODEL_ID" \
|
|
--local-dir "$TARGET_DIR" \
|
|
--local-dir-use-symlinks False
|
|
|
|
echo ""
|
|
echo "=== Download complete ==="
|
|
echo "Model stored at: ${TARGET_DIR}"
|
|
echo "Total size:"
|
|
du -sh "$TARGET_DIR"
|