Skip to content

Replace mocked solver training with real JEPA loop #18

@EightRice

Description

@EightRice

Goal

Solver nodes execute actual JEPA training steps and produce verifiable weight deltas, instead of the deterministic-hash placeholder currently in place.

Current state

Solver code currently runs TOTAL_TRAINING_STEPS=20 of mocked training, producing fake hashes that flow through the commit-reveal loop. Real JEPA training functions exist in nodes/common/ml.py (and _train_backbone_jepa for the LLM-backbone path) but aren't called from the solver.

Scope

  • Wire nodes/solver/main.py to call the real training functions in ml.py based on the project's model configuration (vanilla JEPA, VL-JEPA, or LLM-backbone-JEPA).
  • Use the dataset that the proposer published as the training input.
  • Produce a real weight-delta blob; that delta becomes the solution CID for the commit-reveal cycle.
  • Verifier path: aggregator should be able to apply the delta and confirm metric improvement (or whatever the project's correctness definition is).

Acceptance

  • A small training run (single proposer, two solvers, one coordinator, one aggregator) produces real weight-delta blobs whose hashes change across runs with different RNG seeds.
  • The aggregator's FedAvg over those deltas produces a globally improved model (loss decreases on a held-out batch).

Depends on

  • Autonomous training path (already wired in a991f22).
  • LLM-backbone training path (already wired in f950025).

Notes

  • This unlocks honest training rewards. Until this lands, recordTraining is rewarding fake work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    track:trainingJEPA, LLM backbone, FedAvg, native modeltype:featureNew capability

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions