summaryrefslogtreecommitdiff
path: root/collaborativeagents/slurm/fullscale/generate_jobs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'collaborativeagents/slurm/fullscale/generate_jobs.sh')
-rw-r--r--collaborativeagents/slurm/fullscale/generate_jobs.sh89
1 files changed, 89 insertions, 0 deletions
diff --git a/collaborativeagents/slurm/fullscale/generate_jobs.sh b/collaborativeagents/slurm/fullscale/generate_jobs.sh
new file mode 100644
index 0000000..0bc5c0b
--- /dev/null
+++ b/collaborativeagents/slurm/fullscale/generate_jobs.sh
@@ -0,0 +1,89 @@
+#!/bin/bash
+# Generate all job scripts (6 methods × 4 profile ranges = 24 jobs)
+# Each job: 50 profiles × 15 sessions = 750 sessions ≈ 7-8 hours
+
+METHODS="vanilla contextual reflection all_memory rag rag_vector"
+RANGES="0:50 50:100 100:150 150:200"
+
+for method in $METHODS; do
+ for range in $RANGES; do
+ start=${range%:*}
+ end=${range#*:}
+
+ cat > run_${method}_p${start}.sh << EOF
+#!/bin/bash
+#SBATCH --job-name=exp_${method}_p${start}
+#SBATCH --account=bfqt-delta-gpu
+#SBATCH --partition=gpuA100x4
+#SBATCH --nodes=1
+#SBATCH --ntasks=1
+#SBATCH --cpus-per-task=16
+#SBATCH --gres=gpu:nvidia_a100:2
+#SBATCH --mem=128G
+#SBATCH --time=12:00:00
+#SBATCH --output=exp_${method}_p${start}_%j.out
+#SBATCH --error=exp_${method}_p${start}_%j.err
+
+# Full run: ${method} method, profiles ${start}-${end} (50 profiles × 15 sessions)
+
+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:\${PYTHONPATH}"
+export NCCL_P2P_DISABLE=1
+
+set -a
+source .env
+set +a
+
+pip install --quiet openai python-dotenv json-repair
+
+MODEL_8B="/projects/bfqt/users/yurenh2/ml-projects/personalization-user-model/models/llama-3.1-8b-instruct"
+
+pkill -f "vllm.entrypoints" 2>/dev/null || true
+sleep 2
+
+CUDA_VISIBLE_DEVICES=0 python -m vllm.entrypoints.openai.api_server \\
+ --model \$MODEL_8B --port 8003 --tensor-parallel-size 1 \\
+ --gpu-memory-utilization 0.5 --max-model-len 8192 \\
+ --dtype bfloat16 --disable-log-requests &
+
+for i in \$(seq 1 90); do
+ curl -s http://localhost:8003/health > /dev/null 2>&1 && break
+ sleep 2
+done
+echo "vLLM ready."
+
+cd collaborativeagents/scripts
+
+python run_experiments.py \\
+ --methods ${method} \\
+ --datasets math-hard \\
+ --n-profiles 200 \\
+ --start-profile ${start} \\
+ --end-profile ${end} \\
+ --n-sessions 15 \\
+ --max-turns 8 \\
+ --use-vllm \\
+ --use-openai-user \\
+ --openai-user-model gpt-5-mini \\
+ --reward-mode llm \\
+ --vllm-agent-url http://localhost:8003/v1 \\
+ --parallel-profiles 25 \\
+ --profile-path ../data/complex_profiles_v2/profiles_200.jsonl \\
+ --output-dir ../results/fullscale_15sess
+
+echo "${method} p${start}-${end} complete!"
+pkill -f "vllm.entrypoints" 2>/dev/null || true
+EOF
+ chmod +x run_${method}_p${start}.sh
+ echo "Created run_${method}_p${start}.sh"
+ done
+done
+
+echo ""
+echo "Generated 24 job scripts (6 methods × 4 profile ranges)"
+echo "Each job: 50 profiles × 15 sessions = 750 sessions"
+echo "Estimated time per job: ~7-8 hours"