summaryrefslogtreecommitdiff
path: root/collaborativeagents/slurm/run_sft_h200.sh
diff options
context:
space:
mode:
authorYurenHao0426 <blackhao0426@gmail.com>2026-01-27 09:57:37 -0600
committerYurenHao0426 <blackhao0426@gmail.com>2026-01-27 09:57:37 -0600
commitdc801c07cf38b0c495686463e6ca6f871a64440e (patch)
tree599f03114775921dbc472403c701f4a3a8ea188a /collaborativeagents/slurm/run_sft_h200.sh
parente43b3f8aa36c198b95c1e46bea2eaf3893b13dc3 (diff)
Add collaborativeagents module and update gitignore
- Add collaborativeagents subproject with adapters, agents, and evaluation modules - Update .gitignore to exclude large binary files (.whl, .tar), wandb logs, and results Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'collaborativeagents/slurm/run_sft_h200.sh')
-rw-r--r--collaborativeagents/slurm/run_sft_h200.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/collaborativeagents/slurm/run_sft_h200.sh b/collaborativeagents/slurm/run_sft_h200.sh
new file mode 100644
index 0000000..3be79d2
--- /dev/null
+++ b/collaborativeagents/slurm/run_sft_h200.sh
@@ -0,0 +1,64 @@
+#!/bin/bash
+#SBATCH --job-name=sft_train
+#SBATCH --account=bfqt-delta-gpu
+#SBATCH --partition=gpuH200x8
+#SBATCH --nodes=1
+#SBATCH --ntasks=1
+#SBATCH --cpus-per-task=16
+#SBATCH --gres=gpu:4
+#SBATCH --mem=200G
+#SBATCH --time=12:00:00
+#SBATCH --output=/projects/bfqt/users/yurenh2/ml-projects/personalization-user-model/sft_train_%j.out
+#SBATCH --error=/projects/bfqt/users/yurenh2/ml-projects/personalization-user-model/sft_train_%j.err
+
+# SFT Training on H200
+
+set -e
+cd /projects/bfqt/users/yurenh2/ml-projects/personalization-user-model
+
+source /u/yurenh2/miniforge3/etc/profile.d/conda.sh
+conda activate eval
+
+export HF_HOME=/projects/bfqt/users/yurenh2/hf_cache/huggingface
+export PYTHONPATH="${PWD}/src:${PWD}/collaborativeagents:${PWD}/collaborativeagents/scripts:${PYTHONPATH}"
+export WANDB_PROJECT="collaborative-agent-reflection-sft"
+
+echo "=== SFT Training (H200) ==="
+date
+nvidia-smi --query-gpu=index,name,memory.total --format=csv
+
+DATA_PATH="collaborativeagents/training/training_data/sft_training_data.json"
+MODEL_PATH="/projects/bfqt/users/yurenh2/ml-projects/personalization-user-model/models/llama-3.1-8b-instruct"
+OUTPUT_DIR="collaborativeagents/training/outputs/sft_reflection"
+
+echo "Data: $DATA_PATH"
+echo "Model: $MODEL_PATH"
+echo "Output: $OUTPUT_DIR"
+
+# Check data exists
+if [ ! -f "$DATA_PATH" ]; then
+ echo "ERROR: Training data not found at $DATA_PATH"
+ exit 1
+fi
+
+echo ""
+echo "Training data size: $(wc -c < $DATA_PATH) bytes"
+python -c "import json; d=json.load(open('$DATA_PATH')); print(f'Training examples: {len(d)}')"
+
+mkdir -p $OUTPUT_DIR
+
+echo ""
+echo "Starting SFT training..."
+python collaborativeagents/training/train_sft.py \
+ --model-path $MODEL_PATH \
+ --data-path $DATA_PATH \
+ --output-dir $OUTPUT_DIR \
+ --num-epochs 4 \
+ --learning-rate 1e-6 \
+ --batch-size 1 \
+ --gradient-accumulation 64
+
+echo ""
+echo "=== SFT Training Complete ==="
+echo "Model saved to: $OUTPUT_DIR"
+date