diff --git a/configs/llm/society_campaign_s1.yaml b/configs/llm/society_campaign_s1.yaml new file mode 100644 index 0000000..25a5867 --- /dev/null +++ b/configs/llm/society_campaign_s1.yaml @@ -0,0 +1,23 @@ +# The society campaign: 4-arm ablation, one seed per job (founders trained inline, no cache races). +# Seed 1 runs locally (A4000, queue insurance); seeds 2-4 on CX3 (hpc/llm_society.pbs, L40S). +experiment: llm_society_campaign +kind: llm_society +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +agents: 8 +generations: 10 +arms: [full, no_grounding, no_sex, no_diversity] +g: 0.5 +lam: 0.3 +n_test: 40 +n_val: 30 +n_conf: 90 +n_inherit: 600 +n_candidates: 6 +elitism: 1 +n_parents: 4 +epochs: 3 +spec_train: 600 +spec_epochs: 3 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_campaign/s1} diff --git a/configs/llm/society_campaign_s2.yaml b/configs/llm/society_campaign_s2.yaml new file mode 100644 index 0000000..c536e5f --- /dev/null +++ b/configs/llm/society_campaign_s2.yaml @@ -0,0 +1,23 @@ +# The society campaign: 4-arm ablation, one seed per job (founders trained inline, no cache races). +# Seed 1 runs locally (A4000, queue insurance); seeds 2-4 on CX3 (hpc/llm_society.pbs, L40S). +experiment: llm_society_campaign +kind: llm_society +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 2 +agents: 8 +generations: 10 +arms: [full, no_grounding, no_sex, no_diversity] +g: 0.5 +lam: 0.3 +n_test: 40 +n_val: 30 +n_conf: 90 +n_inherit: 600 +n_candidates: 6 +elitism: 1 +n_parents: 4 +epochs: 3 +spec_train: 600 +spec_epochs: 3 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_campaign/s2} diff --git a/configs/llm/society_campaign_s3.yaml b/configs/llm/society_campaign_s3.yaml new file mode 100644 index 0000000..0f04b11 --- /dev/null +++ b/configs/llm/society_campaign_s3.yaml @@ -0,0 +1,23 @@ +# The society campaign: 4-arm ablation, one seed per job (founders trained inline, no cache races). +# Seed 1 runs locally (A4000, queue insurance); seeds 2-4 on CX3 (hpc/llm_society.pbs, L40S). +experiment: llm_society_campaign +kind: llm_society +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 3 +agents: 8 +generations: 10 +arms: [full, no_grounding, no_sex, no_diversity] +g: 0.5 +lam: 0.3 +n_test: 40 +n_val: 30 +n_conf: 90 +n_inherit: 600 +n_candidates: 6 +elitism: 1 +n_parents: 4 +epochs: 3 +spec_train: 600 +spec_epochs: 3 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_campaign/s3} diff --git a/configs/llm/society_campaign_s4.yaml b/configs/llm/society_campaign_s4.yaml new file mode 100644 index 0000000..7e265b9 --- /dev/null +++ b/configs/llm/society_campaign_s4.yaml @@ -0,0 +1,23 @@ +# The society campaign: 4-arm ablation, one seed per job (founders trained inline, no cache races). +# Seed 1 runs locally (A4000, queue insurance); seeds 2-4 on CX3 (hpc/llm_society.pbs, L40S). +experiment: llm_society_campaign +kind: llm_society +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 4 +agents: 8 +generations: 10 +arms: [full, no_grounding, no_sex, no_diversity] +g: 0.5 +lam: 0.3 +n_test: 40 +n_val: 30 +n_conf: 90 +n_inherit: 600 +n_candidates: 6 +elitism: 1 +n_parents: 4 +epochs: 3 +spec_train: 600 +spec_epochs: 3 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_campaign/s4} diff --git a/hpc/llm_society.pbs b/hpc/llm_society.pbs new file mode 100644 index 0000000..452dd38 --- /dev/null +++ b/hpc/llm_society.pbs @@ -0,0 +1,25 @@ +#!/bin/bash +# The LLM society campaign (C3): 4-arm ablation, one seed per array element on one L40S each. +# Seed 1 runs locally on GG's A4000 (queue insurance); this array covers seeds 2-4. Each job is +# self-contained (founders trained inline, adapters under models/, deleted per generation), so a +# killed element reruns cleanly and elements schedule independently. ~2.5-3.5 h measured-scale +# runtime; 6 h walltime for backfill-friendly margin. +# submit: qsub hpc/llm_society.pbs status: qstat -u $USER +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=06:00:00 +#PBS -N lam_society +#PBS -J 2-4 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" + +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader + +python -m llm.experiment "configs/llm/society_campaign_s${PBS_ARRAY_INDEX}.yaml" + +# results/llm_society_campaign/s${PBS_ARRAY_INDEX}/ written in-place. Sync back: +# rsync -avz hpc:'.../results/llm_society_campaign/' results/llm_society_campaign/ +echo "done: $(date)"