# The curriculum society campaign, seed 1 (prereg v4, v5 curriculum — tasks/prereg-llm-society-v4.md on the dev branch). # Runs all four arms then the three matched-budget baselines. The PBS array (hpc/llm_curriculum.pbs) # derives one (seed, arm) config per element from this template for seeds 2-3. # # Six real-dataset families selected by calibration (§8a): five pass C1 at >= 0.60, winogrande (0.57) # is the sixth under the recorded amendment. L = 3 lineages, G = 6 generations; the cyclic Latin square # gives complementarity 1.0 at generation 2 and 0.0 at generation 6 (H6 tests the shape). # # Arms: isolated (no recombination) · society (decorrelated contemporary) · society_dry (contemporary, # self-generated replay) · seed_bank (own ancestor at t-3 — temporal complementarity) # Baselines at matched examples: sequential · single_shot_merge · joint experiment: llm_curriculum_v5 kind: llm_curriculum base_model: Qwen/Qwen2.5-1.5B # base, not Instruct: measured 0.011 on these families untrained seed: 1 families: [mnli, arc, hellaswag, squad, boolq, winogrande] lineages: 3 generations: 6 arms: [isolated, society, society_dry, seed_bank] baselines: [sequential, single_shot_merge, joint] n_new: 300 # founder/acquisition budget that passed C1 (1200 destabilised training) n_replay: 150 # fixed TOTAL, split across families seen: protection thins as the curriculum grows n_test: 60 # per family, from the TEST split — reporting only n_val: 20 # per family, from the TRAIN split — merge-weight selection only epochs: 3 lr: 1.0e-4 # continued-training rate (fresh founders use train_lora_on_tasks' 2e-4) ancestor_depth: 3 operator: linear merge_weights: [[0.5, 0.5], [0.3, 0.7], [0.7, 0.3]] baseline_weights: [[0.333, 0.333, 0.334], [0.5, 0.25, 0.25], [0.25, 0.5, 0.25], [0.25, 0.25, 0.5]] max_new_tokens: 48 batch_size: 24 train_batch_size: 2 train_max_len: 512 resume: true lora: {r: 16, alpha: 32} output: {dir: results/llm_curriculum_v5/s1}