chore: reproduce TS-JEPA on paper benchmark (Phase 0 prerequisite) #3

Open
opened 2026-05-27 22:01:23 +00:00 by mathias · 1 comment
Owner

What

Reproduce TS-JEPA (Ennadir et al., 2025) on the paper's own benchmark dataset. This is the first task of Phase 0 — a technical feasibility check before any FX-specific work.

Why this is an issue, not just a task

If reproduction takes > 2 weeks, we need to decide: contact authors, pivot to MTS-JEPA, or implement JEPA masking from scratch using V-JEPA codebase. That is a tracked decision, not a silent implementation detail.

Acceptance criteria

  • TS-JEPA code located and reviewed (GitHub link recorded in comment)
  • Paper's benchmark result reproduced within ±10% of reported metric
  • Python environment documented in model/requirements.txt
  • Reproduction run recorded in experiments/ with git tag exp/YYYYMMDD-tsjepa-paper-reproduction

Time-box

2 weeks from start. If not achieved:

  1. Comment here with what was attempted and where it failed
  2. Contact TS-JEPA / MTS-JEPA authors (preprint authors are typically responsive)
  3. If still blocked after 3 weeks: open separate issue to evaluate V-JEPA adaptation fallback

Related

  • specs/phase-0-ssl-feasibility.md — Risks section
  • DECISIONS.md — "Architecture: TS-JEPA as starting implementation"
## What Reproduce TS-JEPA (Ennadir et al., 2025) on the paper's own benchmark dataset. This is the first task of Phase 0 — a technical feasibility check before any FX-specific work. ## Why this is an issue, not just a task If reproduction takes > 2 weeks, we need to decide: contact authors, pivot to MTS-JEPA, or implement JEPA masking from scratch using V-JEPA codebase. That is a tracked decision, not a silent implementation detail. ## Acceptance criteria - [ ] TS-JEPA code located and reviewed (GitHub link recorded in comment) - [ ] Paper's benchmark result reproduced within ±10% of reported metric - [ ] Python environment documented in `model/requirements.txt` - [ ] Reproduction run recorded in `experiments/` with git tag `exp/YYYYMMDD-tsjepa-paper-reproduction` ## Time-box **2 weeks from start.** If not achieved: 1. Comment here with what was attempted and where it failed 2. Contact TS-JEPA / MTS-JEPA authors (preprint authors are typically responsive) 3. If still blocked after 3 weeks: open separate issue to evaluate V-JEPA adaptation fallback ## Related - `specs/phase-0-ssl-feasibility.md` — Risks section - `DECISIONS.md` — "Architecture: TS-JEPA as starting implementation"
Author
Owner

Code location findings (2026-06-24)

TS-JEPA (Ennadir et al., arXiv:2509.25449)

No official code repo found — paper is Sep 2025, authors appear not to have released code yet. TejeshwiniRS/TS-JEPA on GitHub is an ECG adaptation (ECG-JEPA, Kim 2026), not the Ennadir benchmark impl.

Consequence for #3: Cannot reproduce the paper's own benchmark numbers from the authors' code. Two paths forward:

  1. Implement from paper — the architecture is described clearly (Transformer encoder, masking, JEPA predictive loss). Combine with LeJEPA's SIGReg objective (code is public: rbalestr-lab/lejepa, ~130 lines total, SIGReg module clearly documented). This is also closer to what our train.py needs (SIGReg not TS-JEPA's original loss).
  2. Contact authors — Ennadir/Golkar/Sarra are on HuggingFace; preprint authors are typically responsive.

LeJEPA + SIGReg (Balestriero & LeCun, arXiv:2511.08544)

Code is public: rbalestr-lab/lejepa. SIGReg module is ~15 lines. No teacher-student, no stop-gradient, single λ hyperparameter. This is the objective half of our backbone.

HEPA (arXiv:2605.11130, Jun 2026) — NEW

A JEPA variant specifically for critical events in multivariate time series including volatility regimes. Benchmarks include 14 domains, beats PatchTST/iTransformer/MAE/Chronos-2 on 10/14. Highly relevant to rq-04 (regime-conditioned tail risk). Worth tracking as a potential backbone alternative — see issue #14.

Revised plan for #3

Replace "reproduce TS-JEPA paper benchmark" with:

  1. Implement TS-JEPA Transformer encoder (from paper description) + swap in SIGReg objective from rbalestr-lab/lejepa.
  2. Validate on one of the paper's standard datasets (ETTh1 or UEA archive classification task) within ±10% of reported val_vol_r2-equivalent metric.
  3. If blocked after 1 week: contact Ennadir (HuggingFace handle: sofiane-ennadir? — to verify), or pivot to HEPA backbone (Jun 2026, code may be available).
## Code location findings (2026-06-24) ### TS-JEPA (Ennadir et al., arXiv:2509.25449) No official code repo found — paper is Sep 2025, authors appear not to have released code yet. `TejeshwiniRS/TS-JEPA` on GitHub is an ECG adaptation (ECG-JEPA, Kim 2026), not the Ennadir benchmark impl. **Consequence for #3:** Cannot reproduce the paper's own benchmark numbers from the authors' code. Two paths forward: 1. **Implement from paper** — the architecture is described clearly (Transformer encoder, masking, JEPA predictive loss). Combine with LeJEPA's SIGReg objective (code is public: `rbalestr-lab/lejepa`, ~130 lines total, `SIGReg` module clearly documented). This is also closer to what our `train.py` needs (SIGReg not TS-JEPA's original loss). 2. **Contact authors** — Ennadir/Golkar/Sarra are on HuggingFace; preprint authors are typically responsive. ### LeJEPA + SIGReg (Balestriero & LeCun, arXiv:2511.08544) **Code is public**: `rbalestr-lab/lejepa`. `SIGReg` module is ~15 lines. No teacher-student, no stop-gradient, single λ hyperparameter. This is the objective half of our backbone. ### HEPA (arXiv:2605.11130, Jun 2026) — NEW A JEPA variant specifically for **critical events in multivariate time series** including *volatility regimes*. Benchmarks include 14 domains, beats PatchTST/iTransformer/MAE/Chronos-2 on 10/14. Highly relevant to rq-04 (regime-conditioned tail risk). Worth tracking as a potential backbone alternative — see issue #14. ## Revised plan for #3 Replace "reproduce TS-JEPA paper benchmark" with: 1. Implement TS-JEPA Transformer encoder (from paper description) + swap in SIGReg objective from `rbalestr-lab/lejepa`. 2. Validate on one of the paper's standard datasets (ETTh1 or UEA archive classification task) within ±10% of reported val_vol_r2-equivalent metric. 3. If blocked after 1 week: contact Ennadir (HuggingFace handle: `sofiane-ennadir`? — to verify), or pivot to HEPA backbone (Jun 2026, code may be available).
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mathias/jepa-fx-risk#3