Skip to content

[M10] Retrain all four probes on the synchronized manifest #63

Description

@duckyquang

Task metadata

Field Value
Task ID M10
Category Model
Priority High
Complexity Medium
Est. days 3
Blocks #64, #65, #66, #67, #68
Blocked by nothing — see #71
Should inherit #69 pooling decisions

Features / method

Retrain all four probes on the synchronized EchoJEPA + HuBERT manifest and produce a canonical checkpoint set.

Description

PR #61 landed a validated 1,208-row paired manifest (829/131/248 train/val/test, 702/100/201 subjects, zero subject leakage). No probe has been trained on it yet. Every number currently in the README comes from an earlier cohort build with n=245 test, so nothing reported today is reproducible against the manifest that is actually in the repo.

This does not need a GPU reservation. Extraction is already done and the probes are small heads over cached vectors — see #71. It can start now.

Retrain all four probes from src/primed_ai/probes/ against data/processed/echo_hubert_manifest.parquet via the loader in src/primed_ai/data/echo_hubert_dataset.py. Train the unimodal probes too, not just the fused one — the in-cohort ECG-only and echo-only numbers are what E10 needs to tell a cohort problem apart from a fusion problem.

Steps:

  1. Wire the four probe training paths to the manifest loader rather than the old cohort files.
  2. Train ECG-only (M06), echo-only (M07), concat-MLP (M08), and cross-attention fused (M09) on the same splits and seed.
  3. Record val MAE and EF<=40% AUROC per probe; select the fused checkpoint on val, not test.
  4. Persist checkpoints plus a run manifest (utils/run_manifest.py) capturing seed, embedding source, dims, and hyperparameters.
  5. Confirm EF<=40% prevalence is reportable on all three splits (scripts/check_ef40_prevalence.py) before locking anything.

Acceptance criteria:

  • Four checkpoints trained on the 1,208-row manifest, each with a run manifest recording its inputs.
  • Val and test MAE + AUROC logged for all four probes in one table.
  • Fused checkpoint selected on val and marked as the canonical one for E07-E09.
  • --embed-dim, --echo-dim, --ecg-dim recorded so downstream state_dict loads do not fail on shape.

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is needed

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions