From 38bb252c20e01ae37d916de3767c3be4a7878085 Mon Sep 17 00:00:00 2001 From: Giorgio Gilestro Date: Sun, 5 Jul 2026 16:02:09 +0100 Subject: [PATCH] hpc: PBS job scripts for Imperial CX3 (probe + scaled LLM merge run) Enable running the LLM tier on Imperial's HPC (scheduler: PBS Pro / qsub). - hpc/probe.pbs: 10-min 1-GPU reconnaissance job resolving the two unknowns the RCS docs omit -- compute-node internet access and the L40S driver's CUDA version -- plus TMPDIR/disk and available python/cuda modules. - hpc/llm_merge.pbs: scaled run on an L40S (48 GB), offline HF-cache wired, runs configs/llm/merge_hpc.yaml. - configs/llm/merge_hpc.yaml: Qwen2.5-7B-Instruct (fits the L40S) to reduce the noise that left the 0.5B prototype's overall-exceeds sign marginal. - hpc/README.md: the git-based workflow (login-node uv env + model pre-download -> qsub -> rsync results back), confirmed PBS/GPU directives, and the code TODOs for the definitive run (multi-seed, more families, directed/dilution-resistant merge). Co-Authored-By: Claude Opus 4.8 --- configs/llm/merge_hpc.yaml | 20 ++++++++++++ hpc/README.md | 64 ++++++++++++++++++++++++++++++++++++++ hpc/llm_merge.pbs | 28 +++++++++++++++++ hpc/probe.pbs | 23 ++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 configs/llm/merge_hpc.yaml create mode 100644 hpc/README.md create mode 100644 hpc/llm_merge.pbs create mode 100644 hpc/probe.pbs diff --git a/configs/llm/merge_hpc.yaml b/configs/llm/merge_hpc.yaml new file mode 100644 index 0000000..50fd22e --- /dev/null +++ b/configs/llm/merge_hpc.yaml @@ -0,0 +1,20 @@ +experiment: llm_merge_hpc +kind: llm_merge +seed: 1 +n_replicates: 1 + +# Scaled version of configs/llm/merge.yaml for an L40S (48 GB): a bigger, more capable base so the +# specialists decorrelate cleanly and the "recombined model exceeds any single specialist" sign is +# less noisy than the 0.5B local prototype (where it was only marginal on overall accuracy). +# NOTE (code TODOs for the *definitive* run, not yet built): loop several seeds and report mean±CI; +# add more task families; and add a dilution-resistant / offspring-selected ("directed sex") merge. + +base_model: Qwen/Qwen2.5-7B-Instruct # ~15 GB bf16 + LoRA fits the L40S; fallback: 3B-Instruct +families: [lists, strings, arith] +n_train: 800 +n_test: 200 +epochs: 3 +lora: {r: 16, alpha: 32} +merges: [soup, ties] + +output: {dir: results/llm_merge_hpc} diff --git a/hpc/README.md b/hpc/README.md new file mode 100644 index 0000000..e9817cd --- /dev/null +++ b/hpc/README.md @@ -0,0 +1,64 @@ +# Running the Lamarckian Society on Imperial's HPC (CX3, PBS Pro) + +The LLM experiments are the only part that wants more than a laptop GPU. This directory holds the +PBS job scripts for Imperial's **CX3** cluster (scheduler: **PBS Pro** — `qsub`, not Slurm). The +analytic (Layer 1) and small-neural (Layer 1.5) tiers all run locally and need nothing here. + +## Confirmed facts (Imperial RCS user guide) + +- **Submit / monitor / cancel:** `qsub