joshuagunnn commited on
Commit
175ccd4
·
verified ·
1 Parent(s): dc7b288

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -1,35 +1,3 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
  *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  *.safetensors filter=lfs diff=lfs merge=lfs -text
2
+ *.pt filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
.gitignore ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ __pycache__/
2
+ *.py[cod]
3
+ .DS_Store
4
+ *.egg-info/
5
+ dist/
6
+ build/
LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ Copyright 2026 MAGI Labs
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+
19
+ ---
20
+ Attribution Notices:
21
+ - Pretraining data includes leakage-audited series from Salesforce/GiftEvalPretrain (Apache-2.0).
README.md ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ library_name: transformers
4
+ pipeline_tag: time-series-forecasting
5
+ tags:
6
+ - time-series
7
+ - time-series-forecasting
8
+ - probabilistic-forecasting
9
+ - jepa
10
+ - world-model
11
+ - foundation-model
12
+ - pytorch
13
+ - safetensors
14
+ datasets:
15
+ - Salesforce/GiftEvalPretrain
16
+ ---
17
+
18
+ # Telos-Small (`50.1M`) — Time-Series JEPA Foundation Model
19
+
20
+ **Telos-Small** (`50,100,747` parameters) is a standalone zero-shot **Joint-Embedding Predictive Architecture (JEPA)** for probabilistic time-series forecasting developed by **MAGI Labs**.
21
+
22
+ Instead of autoregressively generating raw time-series tokens step-by-step, **Telos** encodes observed history into patch representations, predicts future trajectory representations directly in latent space across up to **32 horizon patches (`1,024` steps) in a single forward pass**, and projects those predicted latents onto **21 calibrated quantiles (`0.01 .. 0.99`)**.
23
+
24
+ ---
25
+
26
+ ## How Telos Works
27
+
28
+ 1. **Causal Welford + `asinh` Patch Scaling (`patch_size = 32`):** Each 32-step patch is normalized using running causal Welford statistics and inverse-hyperbolic-sine (`asinh`) compression, handling heavy-tailed spikes, zero-inflated series, and arbitrary scale shifts without lookahead leakage.
29
+ 2. **Two-Stream Encoder with U-Net Skips & Value-Residual Attention (`12` blocks, `d_model = 512`):** Alternates three causal time-attention blocks with one cross-variate block (`[time, time, time, time_variate] × 3`) using `SinCosRoPE`, sigmoid-gated SDPA, U-Net skip connections (`layer[k] -> layer[11-k]`), and first-layer Value-Residual links across contexts up to **`4,096`–`8,192` steps**.
30
+ 3. **Horizon-Conditioned JEPA Latent Predictor (`2` blocks):** Given causal context latents and horizon step embeddings, predicts future target-encoder patch latents across **`1,024` future steps in one shot**, trained with a momentum EMA target encoder (`V-JEPA`), Epps-Pulley isotropic Gaussian regularization (`SIGReg`), multi-origin **Tiled Decoupled-Horizon Forecasting (`Tiled-DHF`)**, and orthogonalized **`NorMuon` (`Newton-Schulz-5`) + `AdamW`**.
31
+ 4. **Monotone 21-Knot Quantile Readout + Advancing Welford Frames:** Outputs strictly non-crossing quantiles `(0.01, 0.05, 0.10, ..., 0.90, 0.95, 0.99)` supporting univariate series, multivariate panels, past-only covariates, and known-future covariates.
32
+
33
+ ---
34
+
35
+ ## Quickstart (`transformers`)
36
+
37
+ ```bash
38
+ pip install torch numpy safetensors transformers
39
+ ```
40
+
41
+ ```python
42
+ import numpy as np
43
+ from transformers import AutoModel
44
+
45
+ model = AutoModel.from_pretrained("magilabsco/Telos-Small", trust_remote_code=True)
46
+
47
+ # 1D series, (B, T) batch, or (B, V, T) multivariate panel -> returns (B, V, H, 21) quantiles
48
+ context = np.sin(np.linspace(0, 16 * np.pi, 512, dtype=np.float32)) + 100.0
49
+ quantiles = model.forecast(context, prediction_length=96) # shape: (1, 1, 96, 21)
50
+ median_forecast = quantiles[0, 0, :, 10] # 0.50 quantile
51
+ ```
52
+
53
+ ---
54
+
55
+ ## Zero-Shot Benchmark Results (`402` Tasks Across 4 Suites)
56
+
57
+ Evaluated zero-shot across **402 tasks** on four public benchmarks (higher Skill % vs. Seasonal Naive is better):
58
+
59
+ | Benchmark Suite | Tasks / Scale | Metric | **Telos-Small (`50.1M` Pure JEPA)** | **Telos-Small (`50.1M` + Analytical Blend)** | Notable Reference Baselines |
60
+ | :--- | :--- | :--- | :---: | :---: | :--- |
61
+ | **Salesforce `GIFT-Eval` (Full Panel)** | `97` tasks (`371,330` windows) | CRPS Skill % | **`43.21%`** | **`43.79%`** | Beats `PatchTST` (`41.30%`), `TFT` (`39.53%`), `DLinear` (`15.44%`) |
62
+ | **AutoGluon `FEV-Bench` (`fev-bench-mini`)** | `20` multi-domain & covariate tasks | SQL Skill % | **`39.49%`** | **`42.82%`** | Beats `TFT` (`35.26%`), `PatchTST` (`34.96%`), `CatBoost` (`28.41%`) |
63
+ | **Cognite `IND-Eval` (Industrial)** | `187` sensor & well tasks (`9` sources) | CRPS Skill % | **`38.18%`** | `34.06%` | Pure JEPA beats analytical blend by `+4.12` pts |
64
+ | **ICML-2026 `TIME` Benchmark** | `98` zero-overlap fresh tasks (`50` datasets) | CRPS Skill % | **`36.54%`** | `35.70%` | Beats `Sundial-base` (`128M`, `33.66%`); trails `Chronos-Bolt` (`205M`, `38.00%`) by `1.46` pts |
65
+
66
+ ---
67
+
68
+ ## Model Specifications
69
+
70
+ - **Model Name:** `Telos-Small`
71
+ - **Parameters:** `50,100,747` (`191 MB` in `fp32` `model.safetensors`)
72
+ - **Architecture:** `12` Two-Stream Transformer Encoder blocks (`d_model=512`, `8` heads, `mlp_hidden_dim=1152`, U-Net skips, Value-Residual) + `2` `JEPALatentPredictor` blocks (`hidden=1024`) + `QuantileHead` (`21` knots)
73
+ - **Patch Size / Single-Shot Horizon:** `32` steps per patch / up to `32` patches (`1,024` steps) per single forward shot
74
+ - **Context Length:** `4,096` steps default (`8,192` max)
75
+ - **Training Compute:** `43,591` DDP steps (`12,570,406` forecast origins) on `2× NVIDIA Tesla P100-16GB` GPUs
76
+
77
+ ## License
78
+
79
+ Released under the [Apache-2.0 License](LICENSE). Pretraining corpus incorporates audited series from `Salesforce/GiftEvalPretrain` (Apache-2.0) and synthetic physical dynamical priors (Copyright 2026 MAGI Labs).
__init__.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Telos (`Telos-Small`, 50.1M Parameters): Standalone Time-Series JEPA Foundation Model."""
2
+
3
+ from .configuration_telos import QUANTILE_KNOTS_21, TelosConfig
4
+ from .modeling_telos import (
5
+ ROLE_KNOWN_COV,
6
+ ROLE_PAST_COV,
7
+ ROLE_TARGET,
8
+ TelosForForecasting,
9
+ TelosModel,
10
+ load_telos_checkpoint,
11
+ save_telos_checkpoint,
12
+ )
13
+
14
+ __all__ = [
15
+ "QUANTILE_KNOTS_21",
16
+ "ROLE_KNOWN_COV",
17
+ "ROLE_PAST_COV",
18
+ "ROLE_TARGET",
19
+ "TelosConfig",
20
+ "TelosForForecasting",
21
+ "TelosModel",
22
+ "load_telos_checkpoint",
23
+ "save_telos_checkpoint",
24
+ ]
config.json ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "attend_missing_patches": true,
3
+ "attn_bias": false,
4
+ "block_schedule": [
5
+ "time",
6
+ "time",
7
+ "time",
8
+ "time_variate",
9
+ "time",
10
+ "time",
11
+ "time",
12
+ "time_variate",
13
+ "time",
14
+ "time",
15
+ "time",
16
+ "time_variate"
17
+ ],
18
+ "block_size": 32,
19
+ "context_length": 4096,
20
+ "covariate_enabled": true,
21
+ "d_model": 512,
22
+ "head_hidden_dim": 1792,
23
+ "jepa_predictor_hidden": 1024,
24
+ "jepa_predictor_layers": 2,
25
+ "max_context_length": 8192,
26
+ "minimum_scale": 1e-06,
27
+ "mlp_bias": false,
28
+ "mlp_hidden_dim": 1152,
29
+ "model_name": "Telos-Small",
30
+ "model_type": "telos",
31
+ "norm_eps": 1e-06,
32
+ "num_heads": 8,
33
+ "patch_proj_hidden": 1536,
34
+ "patch_size": 32,
35
+ "per_shot_horizon_patches": 32,
36
+ "quantile_knots": [
37
+ 0.01,
38
+ 0.05,
39
+ 0.1,
40
+ 0.15,
41
+ 0.2,
42
+ 0.25,
43
+ 0.3,
44
+ 0.35,
45
+ 0.4,
46
+ 0.45,
47
+ 0.5,
48
+ 0.55,
49
+ 0.6,
50
+ 0.65,
51
+ 0.7,
52
+ 0.75,
53
+ 0.8,
54
+ 0.85,
55
+ 0.9,
56
+ 0.95,
57
+ 0.99
58
+ ],
59
+ "quantile_real_cap_k": 6.0,
60
+ "quantile_width_factor": 3.0,
61
+ "rope_partial_factor": 0.5,
62
+ "rope_theta": 10000.0,
63
+ "split_context_horizon_attn": true,
64
+ "stabilize_with_global": false,
65
+ "time_attn_gate": "sdpa_sigmoid",
66
+ "transformers_version": "5.22.2",
67
+ "unet_skip_connections": true,
68
+ "use_asinh": true,
69
+ "value_residual": true,
70
+ "variate_attn_gate": "sdpa_sigmoid",
71
+ "architectures": [
72
+ "TelosModel"
73
+ ],
74
+ "auto_map": {
75
+ "AutoConfig": "configuration_telos.TelosConfig",
76
+ "AutoModel": "modeling_telos.TelosModel"
77
+ }
78
+ }
configuration_telos.py ADDED
@@ -0,0 +1,110 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Hugging Face `PreTrainedConfig` for Telos (`Telos-Small`, 50.1M parameters)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Sequence, Tuple
6
+
7
+ from transformers import PretrainedConfig
8
+
9
+ QUANTILE_KNOTS_21: Tuple[float, ...] = (
10
+ 0.01, 0.05, 0.10, 0.15, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45,
11
+ 0.50,
12
+ 0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.85, 0.90, 0.95, 0.99,
13
+ )
14
+
15
+
16
+ class TelosConfig(PretrainedConfig):
17
+ """Configuration class for `TelosModel` (`Telos-Small`, 50.1M Time-Series JEPA Foundation Model)."""
18
+
19
+ model_type = "telos"
20
+
21
+ def __init__(
22
+ self,
23
+ model_name: str = "Telos-Small",
24
+ patch_size: int = 32,
25
+ d_model: int = 512,
26
+ num_heads: int = 8,
27
+ mlp_hidden_dim: int = 1152,
28
+ patch_proj_hidden: int = 1536,
29
+ head_hidden_dim: int = 1792,
30
+ block_schedule: Sequence[str] = (
31
+ "time", "time", "time", "time_variate",
32
+ "time", "time", "time", "time_variate",
33
+ "time", "time", "time", "time_variate",
34
+ ),
35
+ quantile_knots: Sequence[float] = QUANTILE_KNOTS_21,
36
+ block_size: int = 32,
37
+ context_length: int = 4096,
38
+ max_context_length: int = 8192,
39
+ rope_theta: float = 10000.0,
40
+ rope_partial_factor: float = 0.5,
41
+ norm_eps: float = 1e-6,
42
+ attn_bias: bool = False,
43
+ mlp_bias: bool = False,
44
+ time_attn_gate: str = "sdpa_sigmoid",
45
+ variate_attn_gate: str = "sdpa_sigmoid",
46
+ minimum_scale: float = 1e-6,
47
+ use_asinh: bool = True,
48
+ stabilize_with_global: bool = False,
49
+ covariate_enabled: bool = True,
50
+ split_context_horizon_attn: bool = True,
51
+ attend_missing_patches: bool = True,
52
+ quantile_width_factor: float = 3.0,
53
+ per_shot_horizon_patches: int = 32,
54
+ quantile_real_cap_k: float = 6.0,
55
+ jepa_predictor_layers: int = 2,
56
+ jepa_predictor_hidden: int = 1024,
57
+ unet_skip_connections: bool = True,
58
+ value_residual: bool = True,
59
+ **kwargs,
60
+ ) -> None:
61
+ super().__init__(**kwargs)
62
+ self.model_name = model_name
63
+ self.patch_size = int(patch_size)
64
+ self.d_model = int(d_model)
65
+ self.num_heads = int(num_heads)
66
+ self.mlp_hidden_dim = int(mlp_hidden_dim)
67
+ self.patch_proj_hidden = int(patch_proj_hidden)
68
+ self.head_hidden_dim = int(head_hidden_dim)
69
+ self.block_schedule: List[str] = list(block_schedule)
70
+ self.quantile_knots: List[float] = [float(q) for q in quantile_knots]
71
+ self.block_size = int(block_size)
72
+ self.context_length = int(context_length)
73
+ self.max_context_length = int(max_context_length)
74
+ self.rope_theta = float(rope_theta)
75
+ self.rope_partial_factor = float(rope_partial_factor)
76
+ self.norm_eps = float(norm_eps)
77
+ self.attn_bias = bool(attn_bias)
78
+ self.mlp_bias = bool(mlp_bias)
79
+ self.time_attn_gate = str(time_attn_gate)
80
+ self.variate_attn_gate = str(variate_attn_gate)
81
+ self.minimum_scale = float(minimum_scale)
82
+ self.use_asinh = bool(use_asinh)
83
+ self.stabilize_with_global = bool(stabilize_with_global)
84
+ self.covariate_enabled = bool(covariate_enabled)
85
+ self.split_context_horizon_attn = bool(split_context_horizon_attn)
86
+ self.attend_missing_patches = bool(attend_missing_patches)
87
+ self.quantile_width_factor = float(quantile_width_factor)
88
+ self.per_shot_horizon_patches = int(per_shot_horizon_patches)
89
+ self.quantile_real_cap_k = float(quantile_real_cap_k)
90
+ self.jepa_predictor_layers = int(jepa_predictor_layers)
91
+ self.jepa_predictor_hidden = int(jepa_predictor_hidden)
92
+ self.unet_skip_connections = bool(unet_skip_connections)
93
+ self.value_residual = bool(value_residual)
94
+
95
+ @property
96
+ def num_quantiles(self) -> int:
97
+ return len(self.quantile_knots)
98
+
99
+ @property
100
+ def median_index(self) -> int:
101
+ return list(self.quantile_knots).index(0.5)
102
+
103
+ @property
104
+ def head_dim(self) -> int:
105
+ return self.d_model // self.num_heads
106
+
107
+ @property
108
+ def rope_dim(self) -> int:
109
+ rd = int(self.head_dim * self.rope_partial_factor)
110
+ return max(2, rd - (rd % 2))
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f3a5434cf774848efab77b1ef4f8189358694f1374fd715b31f7ce88eeee7305
3
+ size 200417852
modeling_telos.py ADDED
@@ -0,0 +1,1432 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Telos (`Telos-Small`, 50.1M Parameters): Standalone Time-Series Joint-Embedding Predictive Architecture (JEPA).
3
+
4
+ Architecture highlights:
5
+ 1. Causal per-patch Welford mean/std normalization with `asinh` compression and
6
+ `advancing_block_frames` multi-patch horizon refinement.
7
+ 2. 12-block Two-Stream `[Enc ; Dec]` Transformer (`d_model=512`, `num_heads=8`,
8
+ `[time, time, time, time_variate] x 3`) with `SinCosRoPE`, `sdpa_sigmoid` gated
9
+ time/variate attention, U-Net skip connections, Value-Residual attention, and `FusedSwiGLU`.
10
+ 3. 2-block Horizon-Conditioned `JEPALatentPredictor` predicting future patch representations
11
+ in latent space across up to `32` patches (`1,024` steps) in a single forward shot.
12
+ 4. 21-knot monotone `QuantileHead` (`0.01 .. 0.99`) with full support for univariate,
13
+ multivariate, past covariates, and known-future covariates.
14
+ """
15
+
16
+ from __future__ import annotations
17
+
18
+ import functools
19
+ import math
20
+ from dataclasses import asdict, dataclass
21
+ from pathlib import Path
22
+ from typing import Dict, List, Optional, Sequence, Tuple
23
+
24
+ import numpy as np
25
+ import torch
26
+ import torch.nn as nn
27
+ import torch.nn.functional as F
28
+ from torch import Tensor
29
+ from transformers import PreTrainedModel
30
+
31
+ try:
32
+ from .configuration_telos import QUANTILE_KNOTS_21, TelosConfig
33
+ except ImportError:
34
+ from configuration_telos import QUANTILE_KNOTS_21, TelosConfig # type: ignore
35
+
36
+ ROLE_TARGET = 0
37
+ ROLE_PAST_COV = 1
38
+ ROLE_KNOWN_COV = 2
39
+
40
+ LAYER_KIND_AXES: Dict[str, Tuple[bool, ...]] = {
41
+ "time": (True,),
42
+ "variate": (False,),
43
+ "time_variate": (True, False),
44
+ }
45
+
46
+
47
+ # ==============================================================================
48
+ # 1. Causal Welford & Asinh Scaler Primitives
49
+ # ==============================================================================
50
+
51
+
52
+ def _fp32_io(*dtypes: torch.dtype) -> Tuple[torch.dtype, torch.dtype]:
53
+ out_dtype = functools.reduce(torch.promote_types, dtypes)
54
+ return out_dtype, torch.promote_types(out_dtype, torch.float32)
55
+
56
+
57
+ def compute_causal_statistics(
58
+ data: Tensor,
59
+ observation_mask: Tensor,
60
+ minimum_scale: float,
61
+ stabilize_with_global: bool,
62
+ scale_factor_exponent: float = 10.0,
63
+ ) -> Tuple[Tensor, Tensor]:
64
+ weights = torch.ones_like(data) * observation_mask
65
+ with torch.no_grad():
66
+ x = data.to(torch.float64)
67
+ w = weights.to(torch.float64)
68
+ weighted = w * x
69
+ cum_w = torch.cumsum(w, dim=-1)
70
+ cum_x = torch.cumsum(weighted, dim=-1)
71
+ denominator = cum_w.clamp_min(1.0)
72
+ means = cum_x / denominator
73
+ shifted = torch.zeros_like(means)
74
+ shifted[..., 1:] = means[..., :-1]
75
+ increment = (x - shifted) * (x - means) * w
76
+ m2 = torch.cumsum(increment, dim=-1)
77
+ variance = m2 / torch.clamp(denominator - 1.0, min=1.0)
78
+ scales = torch.sqrt(variance).clamp(min=minimum_scale)
79
+ if stabilize_with_global:
80
+ lo, hi = 10.0 ** (-scale_factor_exponent), 10.0 ** scale_factor_exponent
81
+ global_den = (weights * observation_mask).sum(-1, keepdim=True).clamp_min(1.0)
82
+ global_means = torch.nan_to_num(weighted.sum(-1, keepdim=True) / global_den)
83
+ global_var = (((x - global_means) * weights * observation_mask) ** 2).sum(-1, keepdim=True) / global_den
84
+ global_scale = torch.sqrt(global_var + minimum_scale).expand_as(scales)
85
+ floor = torch.max(torch.tensor(minimum_scale, device=scales.device, dtype=scales.dtype), global_scale * lo)
86
+ scales = torch.clamp(scales, min=floor, max=global_scale * hi)
87
+ return means.to(data.dtype), scales.to(data.dtype)
88
+
89
+
90
+ def causal_patch_loc_scale(
91
+ data: Tensor,
92
+ observation_mask: Tensor,
93
+ patch_size: int,
94
+ minimum_scale: float,
95
+ stabilize_with_global: bool,
96
+ ) -> Tuple[Tensor, Tensor]:
97
+ with torch.no_grad():
98
+ means, scales = compute_causal_statistics(data, observation_mask, minimum_scale, stabilize_with_global)
99
+ patch_means = means.unfold(-1, patch_size, patch_size)[..., -1]
100
+ patch_scales = scales.unfold(-1, patch_size, patch_size)[..., -1]
101
+ return patch_means.repeat_interleave(patch_size, dim=-1), patch_scales.repeat_interleave(patch_size, dim=-1)
102
+
103
+
104
+ def apply_affine_asinh_masked(
105
+ data: Tensor,
106
+ loc: Tensor,
107
+ scale: Tensor,
108
+ observation_mask: Tensor,
109
+ use_asinh: bool,
110
+ ) -> Tensor:
111
+ out_dtype, work = _fp32_io(data.dtype, loc.dtype, scale.dtype)
112
+ scaled = (data.to(work) - loc.to(work)) / scale.to(work).clamp_min(torch.finfo(work).eps)
113
+ scaled = scaled.masked_fill(~observation_mask, 0.0)
114
+ if use_asinh:
115
+ scaled = torch.where(observation_mask, scaled.asinh(), scaled)
116
+ return scaled.to(out_dtype)
117
+
118
+
119
+ def invert_affine_asinh(x: Tensor, loc: Tensor, scale: Tensor, use_asinh: bool) -> Tensor:
120
+ out_dtype, work = _fp32_io(x.dtype, loc.dtype, scale.dtype)
121
+ x = x.to(work)
122
+ if use_asinh:
123
+ x = x.clamp(-6.0, 6.0).sinh()
124
+ return (x * scale.to(work) + loc.to(work)).to(out_dtype)
125
+
126
+
127
+ def clamp_nonfinite(vals: Tensor) -> Tensor:
128
+ clamped = torch.where(
129
+ vals == float("inf"),
130
+ torch.where(vals.isfinite(), vals, -float("inf")).amax(dim=-1, keepdim=True),
131
+ torch.where(
132
+ vals == -float("inf"),
133
+ torch.where(vals.isfinite(), vals, float("inf")).amin(dim=-1, keepdim=True),
134
+ vals,
135
+ ),
136
+ )
137
+ return torch.where(clamped.isinf(), torch.zeros_like(clamped), clamped)
138
+
139
+
140
+ def denormalize_quantiles(preds: Tensor, loc: Tensor, scale: Tensor, use_asinh: bool) -> Tensor:
141
+ return clamp_nonfinite(invert_affine_asinh(preds, loc, scale, use_asinh))
142
+
143
+
144
+ def welford_combine(
145
+ w_a: Tensor, mean_a: Tensor, m2_a: Tensor, w_b: Tensor, mean_b: Tensor, m2_b: Tensor
146
+ ) -> Tuple[Tensor, Tensor, Tensor]:
147
+ w = w_a + w_b
148
+ w_safe = w.clamp(min=torch.finfo(w.dtype).tiny)
149
+ delta = mean_b - mean_a
150
+ mean = mean_a + delta * w_b / w_safe
151
+ m2 = m2_a + m2_b + delta.square() * w_a * w_b / w_safe
152
+ is_zero = w == 0
153
+ mean = torch.where(is_zero, torch.zeros_like(mean), mean)
154
+ m2 = torch.where(is_zero, torch.zeros_like(m2), m2)
155
+ return w, mean, m2
156
+
157
+
158
+ def cumulative_welford(w: Tensor, mean: Tensor, m2: Tensor) -> Tuple[Tensor, Tensor, Tensor]:
159
+ n = w.shape[1]
160
+ d = 1
161
+ while d < n:
162
+ pad = (d, 0)
163
+ w_l = F.pad(w[:, : n - d], pad)
164
+ mean_l = F.pad(mean[:, : n - d], pad)
165
+ m2_l = F.pad(m2[:, : n - d], pad)
166
+ w, mean, m2 = welford_combine(w_l, mean_l, m2_l, w, mean, m2)
167
+ d *= 2
168
+ return w, mean, m2
169
+
170
+
171
+ def advancing_block_frames(
172
+ context: Tensor, observation_mask: Tensor, sinh_median: Tensor, minimum_scale: float
173
+ ) -> Tuple[Tensor, Tensor]:
174
+ r, n_pred, ps = sinh_median.shape
175
+ blank = sinh_median.new_zeros(r, n_pred, ps)
176
+ values = torch.cat([context.unflatten(-1, (-1, ps)).to(torch.float64), blank], dim=1)
177
+ weights = torch.cat([observation_mask.unflatten(-1, (-1, ps)).to(torch.float64), blank], dim=1)
178
+ cnt = weights.sum(-1)
179
+ mean = (values * weights).sum(-1) / cnt.clamp(min=1.0)
180
+ m2 = (weights * (values - mean.unsqueeze(-1)).square()).sum(-1)
181
+ is_zero = cnt == 0
182
+ mean = torch.where(is_zero, torch.zeros_like(mean), mean)
183
+ m2 = torch.where(is_zero, torch.zeros_like(m2), m2)
184
+ cnt, mean, m2 = (s[:, -n_pred - 1] for s in cumulative_welford(cnt, mean, m2))
185
+
186
+ offset = mean
187
+ clip = torch.finfo(torch.float32).max ** 0.5 / 1e3
188
+ locs, scales = [], []
189
+ for h in range(n_pred):
190
+ var = (m2 / (cnt - 1.0).clamp(min=1.0)).clamp(min=0.0)
191
+ scale = var.sqrt().clamp(min=minimum_scale)
192
+ locs.append(mean)
193
+ scales.append(scale)
194
+ folded = (sinh_median[:, h] * scale[:, None] + mean[:, None] - offset[:, None]).clamp(-clip, clip)
195
+ folded = folded + offset[:, None]
196
+ b_mean = folded.mean(-1)
197
+ b_m2 = (folded - b_mean[:, None]).square().sum(-1)
198
+ cnt, mean, m2 = welford_combine(cnt, mean, m2, torch.full_like(cnt, ps), b_mean, b_m2)
199
+ return torch.stack(locs, dim=1), torch.stack(scales, dim=1)
200
+
201
+
202
+ def instance_norm_stats(values: Tensor, observation_mask: Tensor, minimum_scale: float) -> Tuple[Tensor, Tensor, Tensor]:
203
+ orig_dtype = values.dtype
204
+ stat_dtype = torch.promote_types(orig_dtype, torch.float32)
205
+ x = values.to(stat_dtype)
206
+ mask_f = observation_mask.to(stat_dtype)
207
+ n = mask_f.sum(dim=-1, keepdim=True).clamp(min=1.0)
208
+ loc = (x * mask_f).sum(dim=-1, keepdim=True) / n
209
+ var = (((x - loc) * mask_f) ** 2).sum(dim=-1, keepdim=True) / n
210
+ scale = var.sqrt().clamp_min(minimum_scale)
211
+ is_zero_one = ((values == 0.0) | (values == 1.0) | ~observation_mask).all(dim=-1, keepdim=True)
212
+ is_binary = is_zero_one & observation_mask.any(dim=-1, keepdim=True)
213
+ loc = torch.where(is_binary, torch.zeros_like(loc), loc)
214
+ scale = torch.where(is_binary, torch.ones_like(scale), scale)
215
+ return loc.to(orig_dtype), scale.to(orig_dtype), is_binary
216
+
217
+
218
+ def ffill_with_mask(x: Tensor, mask: Tensor) -> Tensor:
219
+ idx = torch.arange(x.shape[-1], device=x.device).view(*([1] * (x.dim() - 1)), -1)
220
+ valid_idx = torch.where(mask, idx, torch.zeros_like(idx)).cummax(dim=-1).values
221
+ filled = torch.gather(x, -1, valid_idx)
222
+ return torch.where(mask.cummax(dim=-1).values.bool(), filled, torch.zeros_like(x))
223
+
224
+
225
+ def pad_to_patch(rows: Tensor, mask: Tensor, patch_size: int) -> Tuple[Tensor, Tensor]:
226
+ rem = rows.shape[-1] % patch_size
227
+ if rem == 0:
228
+ return rows, mask
229
+ pad_len = patch_size - rem
230
+ return F.pad(rows, (pad_len, 0), value=0.0), F.pad(mask, (pad_len, 0), value=False)
231
+
232
+
233
+ # ==============================================================================
234
+ # 2. Two-Stream Masking & RoPE Gated Transformer Layers
235
+ # ==============================================================================
236
+
237
+
238
+ @dataclass(frozen=True)
239
+ class TwoStreamMask:
240
+ mask: Tensor
241
+ enc_len: int
242
+
243
+
244
+ def compute_enc_key_validity(obs_per_patch: Tensor, attend_missing: bool) -> Tensor:
245
+ if not attend_missing:
246
+ return obs_per_patch
247
+ started = obs_per_patch.cummax(dim=-1).values
248
+ return obs_per_patch | started
249
+
250
+
251
+ def enc_causal_mask(key_valid: Tensor) -> Tensor:
252
+ _, ll = key_valid.shape
253
+ device = key_valid.device
254
+ causal = torch.tril(torch.ones(ll, ll, dtype=torch.bool, device=device))
255
+ eye = torch.eye(ll, dtype=torch.bool, device=device)
256
+ return (causal[None] & key_valid[:, None, :]) | eye[None]
257
+
258
+
259
+ def build_forecast_time_mask(context_len: int, horizon: int, key_valid: Tensor, device: torch.device) -> Tensor:
260
+ rows = key_valid.shape[0]
261
+ enc = enc_causal_mask(key_valid)
262
+ enc_dec = torch.zeros(rows, context_len, horizon, dtype=torch.bool, device=device)
263
+ dec_enc = key_valid[:, None, :].expand(rows, horizon, context_len)
264
+ dec_dec = torch.tril(torch.ones(horizon, horizon, dtype=torch.bool, device=device))[None].expand(rows, horizon, horizon)
265
+ top = torch.cat([enc, enc_dec], dim=2)
266
+ bottom = torch.cat([dec_enc, dec_dec], dim=2)
267
+ return torch.cat([top, bottom], dim=1).unsqueeze(1)
268
+
269
+
270
+ def build_forecast_positions(context_len: int, horizon: int, first_obs: Tensor) -> Tensor:
271
+ p = torch.arange(context_len + horizon, device=first_obs.device)
272
+ return p[None, :] - first_obs[:, None]
273
+
274
+
275
+ def group_first_observed_patch(obs_per_patch: Tensor, inverse: Tensor, num_groups: int) -> Tensor:
276
+ n = obs_per_patch.shape[-1]
277
+ idx = inverse[:, None].expand(-1, n)
278
+ group_obs = torch.zeros(num_groups, n, dtype=torch.float32, device=obs_per_patch.device)
279
+ group_obs.scatter_reduce_(0, idx, obs_per_patch.float(), reduce="amax", include_self=True)
280
+ return group_obs.argmax(dim=-1)
281
+
282
+
283
+ def build_two_stream_positions(n_patches: int, first_obs: Tensor) -> Tensor:
284
+ """`(R, 2N)` positions: encoder and decoder token of the same patch share a time."""
285
+ p = torch.arange(n_patches, device=first_obs.device)
286
+ row = p[None, :] - first_obs[:, None]
287
+ return torch.cat([row, row], dim=-1)
288
+
289
+
290
+ def compute_block_layout(min_context: Tensor, n_patches: int, block_size: int) -> Tuple[Tensor, Tensor]:
291
+ """Per decoder position: the anchor of its block and whether it is active (`p >= s`)."""
292
+ device = min_context.device
293
+ p = torch.arange(n_patches, device=device)[None, :]
294
+ s = min_context[:, None]
295
+ active = p >= s
296
+ offset = (p - s).clamp(min=0)
297
+ anchor = s + block_size * (offset // block_size)
298
+ anchor = torch.where(active, anchor, torch.zeros_like(anchor))
299
+ return anchor, active
300
+
301
+
302
+ def build_two_stream_time_mask(
303
+ min_context: Tensor,
304
+ n_patches: int,
305
+ block_size: int,
306
+ key_valid: Tensor,
307
+ bidirectional_rows: Optional[Tensor],
308
+ ) -> Tensor:
309
+ """`(R, 1, 2N, 2N)` time mask over a full `[Enc ; Dec]` window (the covariate path)."""
310
+ anchor, active = compute_block_layout(min_context, n_patches, block_size)
311
+ rows, n = active.shape
312
+ device = active.device
313
+ causal = torch.tril(torch.ones(n, n, dtype=torch.bool, device=device))
314
+ key_col = key_valid[:, None, :]
315
+ j = torch.arange(n, device=device).view(1, 1, n)
316
+ eye = torch.eye(n, dtype=torch.bool, device=device)
317
+ enc_enc = enc_causal_mask(key_valid)
318
+ if bidirectional_rows is not None:
319
+ enc_bi = key_valid[:, None, :].expand(rows, n, n) | eye[None]
320
+ enc_enc = torch.where(bidirectional_rows[:, None, None], enc_bi, enc_enc)
321
+ enc_dec = torch.zeros(rows, n, n, dtype=torch.bool, device=device)
322
+ dec_enc = active[:, :, None] & (j < anchor[:, :, None]) & key_col
323
+ same_block = anchor[:, :, None] == anchor[:, None, :]
324
+ dec_dec = same_block & causal[None] & active[:, :, None] & active[:, None, :]
325
+ dec_dec = dec_dec | eye[None]
326
+ top = torch.cat([enc_enc, enc_dec], dim=2)
327
+ bottom = torch.cat([dec_enc, dec_dec], dim=2)
328
+ return torch.cat([top, bottom], dim=1).unsqueeze(1)
329
+
330
+
331
+ def variate_firewall(
332
+ r: int, device: torch.device, target_rows: Optional[Tensor], bidirectional_rows: Optional[Tensor]
333
+ ) -> Optional[Tensor]:
334
+ """`(R, R)` forbidden query-to-key row pairs, or None."""
335
+ if target_rows is None and bidirectional_rows is None:
336
+ return None
337
+ forbid = torch.zeros(r, r, dtype=torch.bool, device=device)
338
+ if target_rows is not None:
339
+ forbid = forbid | ((~target_rows[:, None]) & target_rows[None, :])
340
+ if bidirectional_rows is not None:
341
+ forbid = forbid | (bidirectional_rows[:, None] & (~bidirectional_rows)[None, :])
342
+ return forbid
343
+
344
+
345
+ _IDENTITY_VARIATE_MASK = "identity"
346
+
347
+
348
+ def build_two_stream_variate_mask(
349
+ group_ids: Tensor,
350
+ enc_key_valid: Tensor,
351
+ n_dec: int,
352
+ target_rows: Optional[Tensor] = None,
353
+ bidirectional_rows: Optional[Tensor] = None,
354
+ ) -> Optional[Tensor | str]:
355
+ r, _ = enc_key_valid.shape
356
+ if r == 1:
357
+ return None
358
+ device = enc_key_valid.device
359
+ if int(torch.unique(group_ids).numel()) == r:
360
+ # Every row is an independent univariate series -> variate attention mask is I_r
361
+ return _IDENTITY_VARIATE_MASK
362
+ row_eq = group_ids[:, None] == group_ids[None, :]
363
+ dec_valid = torch.ones(r, n_dec, dtype=torch.bool, device=device)
364
+ slot_valid = torch.cat([enc_key_valid, dec_valid], dim=1)
365
+ key_valid = slot_valid.permute(1, 0)
366
+ mask = row_eq[None, None] & key_valid[:, None, None, :]
367
+ forbid = variate_firewall(r, device, target_rows, bidirectional_rows)
368
+ if forbid is not None:
369
+ mask = mask & ~forbid[None, None]
370
+ eye = torch.eye(r, dtype=torch.bool, device=device)
371
+ return mask | eye[None, None]
372
+
373
+
374
+ def target_encode_covariate(
375
+ target_context: np.ndarray,
376
+ past_codes: np.ndarray,
377
+ future_codes: Optional[np.ndarray] = None,
378
+ smooth: float = 1.0,
379
+ ) -> Tuple[np.ndarray, Optional[np.ndarray]]:
380
+ """Per-series smoothed mean-target encoding for categorical/discrete covariates."""
381
+ target = np.asarray(target_context, dtype=np.float64)
382
+ past_codes = np.asarray(past_codes, dtype=np.float64)
383
+ observed = np.isfinite(target)
384
+ target = np.where(observed, target, 0.0)
385
+ item_count = float(observed.sum())
386
+ item_mean = float(target.sum() / item_count) if item_count > 0 else 0.0
387
+
388
+ categories = np.unique(past_codes[np.isfinite(past_codes)])
389
+ nan_slot = len(categories)
390
+
391
+ def _slots(codes: np.ndarray, unseen: Optional[int] = None) -> np.ndarray:
392
+ idx = np.searchsorted(categories, np.nan_to_num(codes, nan=0.0))
393
+ idx = np.minimum(idx, max(len(categories) - 1, 0))
394
+ known = np.isfinite(codes) & (len(categories) > 0)
395
+ if len(categories) > 0:
396
+ known &= categories[idx] == codes
397
+ return np.where(np.isnan(codes), nan_slot, np.where(known, idx, unseen if unseen is not None else 0)).astype(np.intp)
398
+
399
+ past_slots = _slots(past_codes)
400
+ sums = np.bincount(past_slots, weights=target * observed, minlength=nan_slot + 1)
401
+ counts = np.bincount(past_slots, weights=observed.astype(np.float64), minlength=nan_slot + 1)
402
+ lookup = np.append((smooth * item_mean + sums) / (smooth + counts), item_mean)
403
+
404
+ encoded_past = lookup[past_slots].astype(np.float32)
405
+ if future_codes is None:
406
+ return encoded_past, None
407
+ future_slots = _slots(np.asarray(future_codes, dtype=np.float64), unseen=nan_slot + 1)
408
+ return encoded_past, lookup[future_slots].astype(np.float32)
409
+
410
+
411
+ class RMSNorm(nn.Module):
412
+ def __init__(self, dim: int, eps: float = 1e-6) -> None:
413
+ super().__init__()
414
+ self.eps = eps
415
+ self.scale = nn.Parameter(torch.ones(dim))
416
+
417
+ def forward(self, x: Tensor) -> Tensor:
418
+ xf = x.float()
419
+ out = xf * torch.rsqrt(xf.pow(2).mean(-1, keepdim=True) + self.eps)
420
+ return (out * self.scale.float()).to(self.scale.dtype)
421
+
422
+
423
+ class ResidualBlock(nn.Module):
424
+ def __init__(self, input_dims: int, hidden_dims: int, output_dims: int, use_bias: bool) -> None:
425
+ super().__init__()
426
+ self.hidden_layer = nn.Linear(input_dims, hidden_dims, bias=use_bias)
427
+ self.output_layer = nn.Linear(hidden_dims, output_dims, bias=use_bias)
428
+ self.residual_layer = nn.Linear(input_dims, output_dims, bias=use_bias)
429
+ self.activation = nn.SiLU()
430
+
431
+ def forward(self, x: Tensor) -> Tensor:
432
+ return self.output_layer(self.activation(self.hidden_layer(x))) + self.residual_layer(x)
433
+
434
+
435
+ class FusedSwiGLU(nn.Module):
436
+ def __init__(self, embed_dim: int, hidden_dim: int, use_bias: bool = False) -> None:
437
+ super().__init__()
438
+ self.w12 = nn.Linear(embed_dim, 2 * hidden_dim, bias=use_bias)
439
+ self.w3 = nn.Linear(hidden_dim, embed_dim, bias=use_bias)
440
+
441
+ def forward(self, x: Tensor) -> Tensor:
442
+ gate, up = self.w12(x).chunk(2, dim=-1)
443
+ prod = (gate.float() * F.silu(up.float())).clamp(min=-32768.0, max=32768.0).to(self.w3.weight.dtype)
444
+ return self.w3(prod)
445
+
446
+
447
+ class SinCosRoPE(nn.Module):
448
+ inv_freq: Tensor
449
+
450
+ def __init__(self, dim: int, base: float, rotary_dim: int) -> None:
451
+ super().__init__()
452
+ self.dim = dim
453
+ self.base = base
454
+ self.rotary_dim = rotary_dim
455
+ self.register_buffer("inv_freq", self._build_inv_freq(None), persistent=False)
456
+
457
+ def _build_inv_freq(self, device: Optional[torch.device]) -> Tensor:
458
+ inv_freq = torch.zeros(self.dim // 2, dtype=torch.float32, device=device)
459
+ idx = torch.arange(0, self.rotary_dim, 2, dtype=torch.float32, device=device)
460
+ inv_freq[: self.rotary_dim // 2] = 1.0 / (self.base ** (idx / self.rotary_dim))
461
+ return inv_freq
462
+
463
+ @torch.no_grad()
464
+ def forward(self, x: Tensor, position_ids: Tensor) -> Tuple[Tensor, Tensor]:
465
+ if self.inv_freq.is_meta or self.inv_freq.device != x.device or float(self.inv_freq[0]) != 1.0:
466
+ self.inv_freq = self._build_inv_freq(x.device)
467
+ inv_freq_expanded = self.inv_freq[None, :, None].float().expand(position_ids.shape[0], -1, 1)
468
+ position_ids_expanded = position_ids[:, None, :].float()
469
+ freqs = (inv_freq_expanded @ position_ids_expanded).transpose(1, 2)
470
+ emb = torch.cat((freqs, freqs), dim=-1)
471
+ return emb.cos().to(dtype=x.dtype), emb.sin().to(dtype=x.dtype)
472
+
473
+
474
+ def _rotate_half(x: Tensor) -> Tensor:
475
+ x1 = x[..., : x.shape[-1] // 2]
476
+ x2 = x[..., x.shape[-1] // 2 :]
477
+ return torch.cat((-x2, x1), dim=-1)
478
+
479
+
480
+ def _apply_rotary(q: Tensor, k: Tensor, cos: Tensor, sin: Tensor) -> Tuple[Tensor, Tensor]:
481
+ cos = cos.to(dtype=q.dtype).unsqueeze(2)
482
+ sin = sin.to(dtype=q.dtype).unsqueeze(2)
483
+ return (q * cos) + (_rotate_half(q) * sin), (k * cos) + (_rotate_half(k) * sin)
484
+
485
+
486
+ def _sdpa(query: Tensor, key: Tensor, value: Tensor, mask: Optional[Tensor], is_causal: bool = False) -> Tensor:
487
+ batch, seqlen, _, _ = query.shape
488
+ out = F.scaled_dot_product_attention(
489
+ query.transpose(1, 2),
490
+ key.transpose(1, 2),
491
+ value.transpose(1, 2),
492
+ attn_mask=mask,
493
+ is_causal=is_causal,
494
+ dropout_p=0.0,
495
+ )
496
+ return out.transpose(1, 2).contiguous().view(batch, seqlen, -1)
497
+
498
+
499
+ class Attention(nn.Module):
500
+ def __init__(
501
+ self, embed_dim: int, num_heads: int, is_time: bool, use_bias: bool, gate: str, value_residual: bool = False
502
+ ) -> None:
503
+ super().__init__()
504
+ self.embed_dim = embed_dim
505
+ self.num_heads = num_heads
506
+ self.head_dim = embed_dim // num_heads
507
+ self.is_time = is_time
508
+ self.wQKV = nn.Linear(embed_dim, 3 * embed_dim, bias=use_bias)
509
+ self.wO = nn.Linear(embed_dim, embed_dim, bias=use_bias)
510
+ self._gate = nn.Linear(embed_dim, embed_dim, bias=use_bias) if gate == "sdpa_sigmoid" else None
511
+ self.v_res_logit = nn.Parameter(torch.tensor(-2.0)) if (value_residual and is_time) else None
512
+
513
+ def _qkv(self, x: Tensor) -> Tuple[Tensor, Tensor, Tensor]:
514
+ batch, seq, _ = x.shape
515
+ qkv = self.wQKV(x.contiguous()).reshape(batch, seq, 3, self.head_dim, self.num_heads)
516
+ q, k, v = qkv.permute(2, 0, 1, 4, 3).unbind(dim=0)
517
+ return q.contiguous(), k.contiguous(), v.contiguous()
518
+
519
+ def forward(
520
+ self,
521
+ x: Tensor,
522
+ mask: Optional[Tensor | TwoStreamMask | str],
523
+ cos: Tensor,
524
+ sin: Tensor,
525
+ v_first: Optional[Tensor] = None,
526
+ ) -> Tuple[Tensor, Optional[Tensor]]:
527
+ rows, num_patches, _ = x.shape
528
+ inputs = x if self.is_time else x.permute(1, 0, 2)
529
+ v_time_out: Optional[Tensor] = None
530
+ if not self.is_time and isinstance(mask, str) and mask == _IDENTITY_VARIATE_MASK:
531
+ qkv = self.wQKV(inputs.contiguous()).reshape(num_patches, rows, 3, self.head_dim, self.num_heads)
532
+ v = qkv[:, :, 2].permute(0, 1, 3, 2).contiguous().view(num_patches, rows, self.embed_dim)
533
+ out = v
534
+ else:
535
+ q, k, v = self._qkv(inputs)
536
+ if self.is_time:
537
+ v_time_out = v
538
+ if self.v_res_logit is not None and v_first is not None:
539
+ lam = torch.sigmoid(self.v_res_logit).to(v.dtype)
540
+ v = (1.0 - lam) * v + lam * v_first.to(v.dtype)
541
+ q, k = _apply_rotary(q, k, cos, sin)
542
+ if isinstance(mask, TwoStreamMask):
543
+ n = mask.enc_len
544
+ out_enc = _sdpa(q[:, :n], k[:, :n], v[:, :n], mask.mask[:, :, :n, :n])
545
+ out_dec = _sdpa(q[:, n:], k, v, mask.mask[:, :, n:, :])
546
+ out = torch.cat([out_enc, out_dec], dim=1)
547
+ else:
548
+ out = _sdpa(q, k, v, mask if not isinstance(mask, str) else None, is_causal=self.is_time and mask is None)
549
+ if self._gate is not None:
550
+ out = out * self._gate(inputs).sigmoid()
551
+ if self.is_time:
552
+ out = out.reshape(rows, num_patches, self.embed_dim)
553
+ else:
554
+ out = out.reshape(num_patches, rows, self.embed_dim).permute(1, 0, 2)
555
+ return self.wO(out), v_time_out
556
+
557
+
558
+ class TransformerBlock(nn.Module):
559
+ def __init__(
560
+ self,
561
+ kind: str,
562
+ embed_dim: int,
563
+ num_heads: int,
564
+ mlp_hidden_dim: int,
565
+ norm_eps: float,
566
+ attn_bias: bool,
567
+ mlp_bias: bool,
568
+ time_attn_gate: str,
569
+ variate_attn_gate: str,
570
+ value_residual: bool = False,
571
+ ) -> None:
572
+ super().__init__()
573
+ axes = LAYER_KIND_AXES[kind]
574
+ self.attn_norms = nn.ModuleList([RMSNorm(embed_dim, norm_eps) for _ in axes])
575
+ self.attns = nn.ModuleList(
576
+ [
577
+ Attention(
578
+ embed_dim, num_heads, is_time, attn_bias,
579
+ time_attn_gate if is_time else variate_attn_gate,
580
+ value_residual=value_residual,
581
+ )
582
+ for is_time in axes
583
+ ]
584
+ )
585
+ self.mlp_norm = RMSNorm(embed_dim, norm_eps)
586
+ self.mlp = FusedSwiGLU(embed_dim, mlp_hidden_dim, mlp_bias)
587
+
588
+ def forward(
589
+ self,
590
+ x: Tensor,
591
+ time_mask: Optional[Tensor | TwoStreamMask],
592
+ variate_mask: Optional[Tensor],
593
+ cos: Tensor,
594
+ sin: Tensor,
595
+ v_first: Optional[Tensor] = None,
596
+ ) -> Tuple[Tensor, Optional[Tensor]]:
597
+ res_dtype = self.mlp_norm.scale.dtype
598
+ x = x.to(res_dtype)
599
+ v_time_first = v_first
600
+ for norm, attn in zip(self.attn_norms, self.attns):
601
+ out, v_t = attn(norm(x), time_mask if attn.is_time else variate_mask, cos, sin, v_first=v_time_first)
602
+ if attn.is_time and v_time_first is None:
603
+ v_time_first = v_t
604
+ x = x + out.to(res_dtype)
605
+ return x + self.mlp(self.mlp_norm(x)).to(res_dtype), v_time_first
606
+
607
+
608
+ class Transformer(nn.Module):
609
+ def __init__(self, config: TelosConfig) -> None:
610
+ super().__init__()
611
+ c = config
612
+ n_layers = len(c.block_schedule)
613
+ self.layers = nn.ModuleList(
614
+ [
615
+ TransformerBlock(
616
+ kind=kind,
617
+ embed_dim=c.d_model,
618
+ num_heads=c.num_heads,
619
+ mlp_hidden_dim=c.mlp_hidden_dim,
620
+ norm_eps=c.norm_eps,
621
+ attn_bias=c.attn_bias,
622
+ mlp_bias=c.mlp_bias,
623
+ time_attn_gate=c.time_attn_gate,
624
+ variate_attn_gate=c.variate_attn_gate,
625
+ value_residual=c.value_residual and (i > 0),
626
+ )
627
+ for i, kind in enumerate(c.block_schedule)
628
+ ]
629
+ )
630
+ self.unet_skip_scales: Optional[nn.Parameter] = (
631
+ nn.Parameter(torch.zeros(n_layers // 2, c.d_model)) if c.unet_skip_connections else None
632
+ )
633
+ self.rope = SinCosRoPE(dim=c.head_dim, base=c.rope_theta, rotary_dim=c.rope_dim)
634
+ self.out_norm = RMSNorm(c.d_model, c.norm_eps)
635
+
636
+ def forward(
637
+ self,
638
+ x: Tensor,
639
+ time_mask: Optional[Tensor | TwoStreamMask],
640
+ variate_mask: Optional[Tensor],
641
+ positions: Tensor,
642
+ return_layer_states: bool = False,
643
+ ) -> Tensor | Tuple[Tensor, List[Tensor]]:
644
+ cos, sin = self.rope(x, positions)
645
+ layer_states: List[Tensor] = []
646
+ early_skips: List[Tensor] = []
647
+ v_first: Optional[Tensor] = None
648
+ n_l = len(self.layers)
649
+ half = n_l // 2
650
+ for idx, layer in enumerate(self.layers):
651
+ if self.unet_skip_scales is not None and idx >= n_l - half:
652
+ skip_idx = n_l - 1 - idx
653
+ x = x + early_skips[skip_idx] * self.unet_skip_scales[skip_idx].to(x.dtype)
654
+ x, v_first = layer(x, time_mask, variate_mask, cos, sin, v_first=v_first)
655
+ if self.unet_skip_scales is not None and idx < half:
656
+ early_skips.append(x)
657
+ if return_layer_states:
658
+ layer_states.append(x)
659
+ out = self.out_norm(x)
660
+ if return_layer_states:
661
+ return out, layer_states
662
+ return out
663
+
664
+
665
+ # ==============================================================================
666
+ # 3. Patch Embedding & Monotone Quantile Head
667
+ # ==============================================================================
668
+
669
+
670
+ class PatchRepresentation(nn.Module):
671
+ def __init__(self, patch_size: int, d_model: int, hidden_dims: int) -> None:
672
+ super().__init__()
673
+ self.patch_size = patch_size
674
+ self.patch_proj = ResidualBlock(2 * patch_size, hidden_dims, d_model, use_bias=True)
675
+ self.forecast_query = nn.Parameter(torch.zeros(d_model))
676
+
677
+ def forward(self, scaled: Tensor, observed: Tensor) -> Tensor:
678
+ r, t = scaled.shape
679
+ n = t // self.patch_size
680
+ values = scaled.reshape(r, n, self.patch_size)
681
+ missing = (~observed).reshape(r, n, self.patch_size).to(scaled.dtype)
682
+ x = torch.cat([values, missing], dim=-1).to(self.patch_proj.hidden_layer.weight.dtype)
683
+ return self.patch_proj(x)
684
+
685
+ def forecast_tokens(self, rows: int, n_patches: int) -> Tensor:
686
+ return self.forecast_query.view(1, 1, -1).expand(rows, n_patches, -1)
687
+
688
+
689
+ def monotone_quantiles(raw: Tensor, levels: Tuple[float, ...], width_factor: float) -> Tensor:
690
+ m = levels.index(0.5)
691
+ widths = [0.0] * len(levels)
692
+ for i in range(m + 1, len(levels)):
693
+ widths[i] = levels[i] - levels[i - 1]
694
+ for i in range(m):
695
+ widths[i] = levels[i + 1] - levels[i]
696
+ widths_t = torch.tensor(widths, device=raw.device, dtype=raw.dtype)
697
+ inc = width_factor * widths_t * F.softplus(raw)
698
+ median = raw[..., m : m + 1]
699
+ up = torch.cumsum(inc[..., m + 1 :], dim=-1)
700
+ down = torch.flip(torch.cumsum(torch.flip(inc[..., :m], dims=[-1]), dim=-1), dims=[-1])
701
+ big = torch.finfo(raw.dtype).max
702
+ return torch.cat([median - down, median, median + up], dim=-1).clamp(min=-big, max=big)
703
+
704
+
705
+ class QuantileHead(nn.Module):
706
+ def __init__(self, config: TelosConfig) -> None:
707
+ super().__init__()
708
+ self.config = config
709
+ self.patch_size = config.patch_size
710
+ self.num_quantiles = config.num_quantiles
711
+ self.projection = ResidualBlock(
712
+ config.d_model,
713
+ config.head_hidden_dim,
714
+ config.patch_size * config.num_quantiles,
715
+ use_bias=False,
716
+ )
717
+
718
+ def forward(self, x: Tensor) -> Tensor:
719
+ raw = self.projection(x)
720
+ *leading, n_patches, _ = raw.shape
721
+ preds = raw.reshape(*leading, n_patches, self.patch_size, self.num_quantiles)
722
+ preds = preds.to(torch.promote_types(preds.dtype, torch.float32))
723
+ preds = monotone_quantiles(preds, self.config.quantile_knots, self.config.quantile_width_factor)
724
+ return preds.reshape(*leading, n_patches * self.patch_size, self.num_quantiles)
725
+
726
+
727
+ # ==============================================================================
728
+ # 4. Complete Standalone Model & Block-AR Forecaster
729
+ # ==============================================================================
730
+
731
+
732
+ class JEPALatentPredictor(nn.Module):
733
+ """Horizon-conditioned JEPA latent predictor $P_\\phi(\\mathbf{z}^{\\text{ctx}}_{1:L}, \\mathbf{q}_{L+1:L+H}) \\to \\hat{\\mathbf{z}}_{L+1:L+H}$.
734
+
735
+ Takes causal context representations from the encoder stream plus horizon query states and predicts
736
+ the future target encoder representations in latent space using RoPE-conditioned gated attention + SwiGLU blocks.
737
+ """
738
+
739
+ def __init__(self, config: TelosConfig) -> None:
740
+ super().__init__()
741
+ c = config
742
+ self.max_horizon_patches = 64
743
+ self.horizon_step_emb = nn.Parameter(torch.randn(self.max_horizon_patches, c.d_model) * 0.02)
744
+ self.layers = nn.ModuleList(
745
+ [
746
+ TransformerBlock(
747
+ kind="time",
748
+ embed_dim=c.d_model,
749
+ num_heads=c.num_heads,
750
+ mlp_hidden_dim=c.jepa_predictor_hidden,
751
+ norm_eps=c.norm_eps,
752
+ attn_bias=c.attn_bias,
753
+ mlp_bias=c.mlp_bias,
754
+ time_attn_gate=c.time_attn_gate,
755
+ variate_attn_gate=c.variate_attn_gate,
756
+ )
757
+ for _ in range(c.jepa_predictor_layers)
758
+ ]
759
+ )
760
+ self.rope = SinCosRoPE(dim=c.head_dim, base=c.rope_theta, rotary_dim=c.rope_dim)
761
+ self.out_norm = RMSNorm(c.d_model, c.norm_eps)
762
+
763
+ def forward(
764
+ self, h_ctx: Tensor, h_dec: Tensor, ctx_key_valid: Tensor, first_obs: Tensor
765
+ ) -> Tensor:
766
+ ll = h_ctx.shape[1]
767
+ h = h_dec.shape[1]
768
+ step_idx = torch.arange(h, device=h_dec.device).clamp_max(self.max_horizon_patches - 1)
769
+ q_dec = h_dec + self.horizon_step_emb[step_idx].to(h_dec.dtype)[None, :, :]
770
+ x = torch.cat([h_ctx, q_dec], dim=1)
771
+ time_mask = build_forecast_time_mask(ll, h, ctx_key_valid, h_ctx.device)
772
+ mask = TwoStreamMask(mask=time_mask, enc_len=ll)
773
+ positions = build_forecast_positions(ll, h, first_obs)
774
+ cos, sin = self.rope(x, positions)
775
+ for layer in self.layers:
776
+ x, _ = layer(x, mask, None, cos, sin)
777
+ return self.out_norm(x[:, ll:, :])
778
+
779
+ def forward_tiled(
780
+ self,
781
+ h_ctx: Tensor,
782
+ h_dec: Tensor,
783
+ tiled_mask: TwoStreamMask,
784
+ positions: Tensor,
785
+ step_offsets: Tensor,
786
+ ) -> Tensor:
787
+ """Tiled Multi-Origin DHF forward pass: predicts future latents at ALL tiled blocks simultaneously."""
788
+ step_clamped = step_offsets.clamp(0, self.max_horizon_patches - 1)
789
+ q_dec = h_dec + self.horizon_step_emb[step_clamped].to(h_dec.dtype)
790
+ x = torch.cat([h_ctx, q_dec], dim=1)
791
+ cos, sin = self.rope(x, positions)
792
+ for layer in self.layers:
793
+ x, _ = layer(x, tiled_mask, None, cos, sin)
794
+ return self.out_norm(x[:, h_ctx.shape[1] :, :])
795
+
796
+
797
+ class TelosModel(PreTrainedModel):
798
+ """Telos-Small (50.1M) Standalone Time-Series JEPA Foundation Model."""
799
+
800
+ config_class = TelosConfig
801
+ base_model_prefix = "telos"
802
+
803
+ def __init__(self, config: TelosConfig) -> None:
804
+ super().__init__(config)
805
+ self.config = config
806
+ c = config
807
+ self.representation = PatchRepresentation(c.patch_size, c.d_model, c.patch_proj_hidden)
808
+ self.transformer = Transformer(c)
809
+ self.jepa_predictor: Optional[JEPALatentPredictor] = (
810
+ JEPALatentPredictor(c) if c.jepa_predictor_layers > 0 else None
811
+ )
812
+ self.head = QuantileHead(c)
813
+ self.post_init()
814
+
815
+ def _init_weights(self, module: nn.Module) -> None:
816
+ if isinstance(module, SinCosRoPE) and module.inv_freq.is_meta:
817
+ module.inv_freq = module._build_inv_freq(None)
818
+
819
+ def count_parameters(self) -> int:
820
+ return sum(p.numel() for p in self.parameters())
821
+
822
+ def scale(self, inputs: Tensor, observed: Tensor) -> Tuple[Tensor, Tensor, Tensor]:
823
+ c = self.config
824
+ loc, scale = causal_patch_loc_scale(
825
+ inputs.unsqueeze(1), observed.unsqueeze(1), c.patch_size, c.minimum_scale, c.stabilize_with_global
826
+ )
827
+ loc, scale = loc.squeeze(1), scale.squeeze(1)
828
+ scaled = apply_affine_asinh_masked(inputs, loc, scale, observed, use_asinh=c.use_asinh)
829
+ return scaled, loc, scale
830
+
831
+ def _known_cov_scaling(
832
+ self, inputs: Tensor, observed: Tensor, scaled: Tensor, loc: Tensor, scale: Tensor, known_rows: Tensor
833
+ ) -> Tuple[Tensor, Tensor, Tensor]:
834
+ """Normalize known-future covariate rows with non-causal whole-row statistics."""
835
+ if not bool(known_rows.any()):
836
+ return scaled, loc, scale
837
+ loc_c, scale_c, is_binary = instance_norm_stats(inputs, observed, minimum_scale=self.config.minimum_scale)
838
+ known_scaled = apply_affine_asinh_masked(inputs, loc_c, scale_c, observed, use_asinh=False)
839
+ if self.config.use_asinh:
840
+ work = torch.promote_types(known_scaled.dtype, torch.float32)
841
+ squashed = known_scaled.to(work).asinh().to(known_scaled.dtype)
842
+ known_scaled = torch.where(observed & ~is_binary, squashed, known_scaled)
843
+ sel = known_rows[:, None]
844
+ return torch.where(sel, known_scaled, scaled), torch.where(sel, loc_c, loc), torch.where(sel, scale_c, scale)
845
+
846
+ def encode_context_only(
847
+ self,
848
+ inputs: Tensor,
849
+ observed: Tensor,
850
+ group_ids: Optional[Tensor] = None,
851
+ return_layer_states: bool = False,
852
+ ) -> Tensor | Tuple[Tensor, List[Tensor]]:
853
+ """Pure causal Context / Target Encoder $E_\\theta(\\mathbf{x}_{1:N})$ with zero horizon query tokens.
854
+
855
+ Used by the Momentum EMA Target Encoder during V-JEPA training to compute causal target patch
856
+ representations $\\mathbf{z}^{\\text{tgt}}_{L+1:L+H} = E_{\\bar\\theta}([\\mathbf{x}_{1:L}, \\mathbf{y}_{L+1:L+H}])[:, L:]$.
857
+ """
858
+ c = self.config
859
+ ps = c.patch_size
860
+ rows, t = inputs.shape
861
+ if group_ids is None:
862
+ group_ids = torch.arange(rows, device=inputs.device)
863
+ n = t // ps
864
+ scaled, _, _ = self.scale(inputs, observed)
865
+ x_enc = self.representation(scaled, observed)
866
+ obs_per_patch = observed.unflatten(-1, (n, ps)).any(dim=-1)
867
+ key_valid = compute_enc_key_validity(obs_per_patch, c.attend_missing_patches)
868
+ time_mask = enc_causal_mask(key_valid).unsqueeze(1)
869
+ variate_mask = build_two_stream_variate_mask(group_ids, key_valid, 0)
870
+ unique_ids, inverse = torch.unique(group_ids, return_inverse=True)
871
+ first_obs = group_first_observed_patch(obs_per_patch, inverse, unique_ids.numel())[inverse]
872
+ positions = torch.arange(n, device=inputs.device)[None, :] - first_obs[:, None]
873
+ return self.transformer(x_enc, time_mask, variate_mask, positions, return_layer_states=return_layer_states)
874
+
875
+ def encode_tiled_dhf(
876
+ self,
877
+ full_inputs: Tensor,
878
+ full_observed: Tensor,
879
+ min_context: Tensor,
880
+ block_size: int,
881
+ group_ids: Optional[Tensor] = None,
882
+ role_ids: Optional[Tensor] = None,
883
+ return_layer_states: bool = False,
884
+ ) -> Tuple[Tensor, Tensor, Tensor, Tensor, List[Tensor]]:
885
+ """Multi-Origin Tiled Decoupled-Horizon JEPA (`Tiled-DHF JEPA`):
886
+
887
+ Encodes causal context tokens `v_0 .. v_{N-1}` once while simultaneously predicting future latents
888
+ across consecutive tiled blocks of length `block_size` starting at `min_context` (`s_rows`), so a
889
+ single forward pass supervises `N - min_context` forecast patches across `(N - s) / block_size` origins!
890
+
891
+ Returns `(h_pred_dec (R, N, D), anchor (R, N), active (R, N), loc_patch (R, N), dec_layer_states)`.
892
+ """
893
+ c = self.config
894
+ ps = c.patch_size
895
+ rows, w = full_inputs.shape
896
+ n = w // ps
897
+ if group_ids is None:
898
+ group_ids = torch.arange(rows, device=full_inputs.device)
899
+
900
+ has_cov = role_ids is not None and c.covariate_enabled and not bool((role_ids == ROLE_TARGET).all())
901
+ target_rows = (role_ids == ROLE_TARGET) if has_cov else None
902
+ known_rows = (role_ids == ROLE_KNOWN_COV) if has_cov else None
903
+
904
+ scaled, loc, scale = self.scale(full_inputs, full_observed)
905
+ if known_rows is not None:
906
+ scaled, loc, scale = self._known_cov_scaling(full_inputs, full_observed, scaled, loc, scale, known_rows)
907
+
908
+ x_enc = self.representation(scaled, full_observed)
909
+ x_dec = self.representation.forecast_tokens(rows, n)
910
+
911
+ obs_per_patch = full_observed.unflatten(-1, (n, ps)).any(dim=-1)
912
+ key_valid = compute_enc_key_validity(obs_per_patch, c.attend_missing_patches)
913
+ anchor, active = compute_block_layout(min_context, n, block_size)
914
+ time_mask = build_two_stream_time_mask(min_context, n, block_size, key_valid, bidirectional_rows=known_rows)
915
+ variate_mask = build_two_stream_variate_mask(
916
+ group_ids, key_valid, n, target_rows=target_rows, bidirectional_rows=known_rows
917
+ )
918
+ unique_ids, inverse = torch.unique(group_ids, return_inverse=True)
919
+ first_obs = group_first_observed_patch(obs_per_patch, inverse, unique_ids.numel())[inverse]
920
+ positions = build_two_stream_positions(n, first_obs)
921
+ ts_mask = TwoStreamMask(mask=time_mask, enc_len=n)
922
+
923
+ x = torch.cat([x_enc, x_dec], dim=1)
924
+ if return_layer_states:
925
+ h_all, l_states = self.transformer(x, ts_mask, variate_mask, positions, return_layer_states=True)
926
+ dec_layers = [ls[:, n:, :] for ls in l_states]
927
+ else:
928
+ h_all = self.transformer(x, ts_mask, variate_mask, positions)
929
+ dec_layers = []
930
+
931
+ h_ctx, h_dec = h_all[:, :n, :], h_all[:, n:, :]
932
+ if self.jepa_predictor is not None:
933
+ p_idx = torch.arange(n, device=full_inputs.device)[None, :]
934
+ step_offsets = (p_idx - anchor).clamp(min=0)
935
+ pred_time_mask = build_two_stream_time_mask(min_context, n, block_size, key_valid, bidirectional_rows=None)
936
+ h_dec = self.jepa_predictor.forward_tiled(
937
+ h_ctx, h_dec, TwoStreamMask(mask=pred_time_mask, enc_len=n), positions, step_offsets
938
+ )
939
+
940
+ loc_p = loc.unflatten(-1, (n, ps))[..., 0]
941
+ scale_p = scale.unflatten(-1, (n, ps))[..., 0]
942
+ return h_dec, anchor, active, torch.stack([loc_p, scale_p], dim=-1), dec_layers
943
+
944
+ def encode_penultimate(
945
+ self,
946
+ inputs: Tensor,
947
+ observed: Tensor,
948
+ horizon_patches: int,
949
+ group_ids: Optional[Tensor] = None,
950
+ role_ids: Optional[Tensor] = None,
951
+ known_future: Optional[Tensor] = None,
952
+ known_future_mask: Optional[Tensor] = None,
953
+ return_layer_states: bool = False,
954
+ ) -> Tuple[Tensor, Tensor, Tensor, Tensor, Tensor] | Tuple[Tensor, Tensor, Tensor, Tensor, Tensor, List[Tensor]]:
955
+ """Run Causal Patch Scaling + Two-Stream Transformer + Horizon-Conditioned JEPA Latent Predictor.
956
+
957
+ Supports both context-only (`role_ids=None`) and covariate cross-attention (`ROLE_TARGET`,
958
+ `ROLE_PAST_COV`, `ROLE_KNOWN_COV` with `known_future` values in horizon patches).
959
+ """
960
+ c = self.config
961
+ ps = c.patch_size
962
+ rows, t = inputs.shape
963
+ if group_ids is None:
964
+ group_ids = torch.arange(rows, device=inputs.device)
965
+ ll, h = t // ps, horizon_patches
966
+
967
+ has_cov = (
968
+ role_ids is not None
969
+ and c.covariate_enabled
970
+ and not bool((role_ids == ROLE_TARGET).all())
971
+ )
972
+
973
+ if not has_cov:
974
+ scaled, loc, scale = self.scale(inputs, observed)
975
+ x_enc = self.representation(scaled, observed)
976
+ x_dec = self.representation.forecast_tokens(rows, h)
977
+
978
+ obs_per_patch = observed.unflatten(-1, (ll, ps)).any(dim=-1)
979
+ key_valid = compute_enc_key_validity(obs_per_patch, c.attend_missing_patches)
980
+ time_mask = build_forecast_time_mask(ll, h, key_valid, inputs.device)
981
+ variate_mask = build_two_stream_variate_mask(group_ids, key_valid, h)
982
+ unique_ids, inverse = torch.unique(group_ids, return_inverse=True)
983
+ first_obs = group_first_observed_patch(obs_per_patch, inverse, unique_ids.numel())[inverse]
984
+ positions = build_forecast_positions(ll, h, first_obs)
985
+
986
+ x = torch.cat([x_enc, x_dec], dim=1)
987
+ mask: Tensor | TwoStreamMask = TwoStreamMask(mask=time_mask, enc_len=ll) if c.split_context_horizon_attn else time_mask
988
+ if return_layer_states:
989
+ h_all, l_states = self.transformer(x, mask, variate_mask, positions, return_layer_states=True)
990
+ dec_layer_states = [ls[:, ll:, :] for ls in l_states]
991
+ else:
992
+ h_all = self.transformer(x, mask, variate_mask, positions)
993
+ dec_layer_states = []
994
+ h_raw_dec = h_all[:, ll:, :] # (R, H_patches, d_model)
995
+ if self.jepa_predictor is not None:
996
+ h_raw_dec = self.jepa_predictor(h_all[:, :ll, :], h_raw_dec, key_valid, first_obs)
997
+ h_aligned, z_rot = h_raw_dec, h_raw_dec
998
+
999
+ anchor_loc = loc.unflatten(-1, (ll, ps))[..., 0][:, ll - 1 : ll]
1000
+ anchor_scale = scale.unflatten(-1, (ll, ps))[..., 0][:, ll - 1 : ll]
1001
+ if return_layer_states:
1002
+ return h_aligned, z_rot, h_raw_dec, anchor_loc, anchor_scale, dec_layer_states
1003
+ return h_aligned, z_rot, h_raw_dec, anchor_loc, anchor_scale
1004
+
1005
+ # Two-stream covariate window path (Enc over context + horizon, Dec over context + horizon)
1006
+ assert role_ids is not None
1007
+ horizon_len = h * ps
1008
+ if known_future is None:
1009
+ known_future = torch.zeros(rows, horizon_len, device=inputs.device, dtype=inputs.dtype)
1010
+ known_future_mask = torch.zeros(rows, horizon_len, device=inputs.device, dtype=torch.bool)
1011
+ assert known_future_mask is not None
1012
+ full_inputs = torch.cat([inputs, known_future], dim=-1)
1013
+ full_observed = torch.cat([observed, known_future_mask], dim=-1)
1014
+ n = ll + h
1015
+ target_rows = role_ids == ROLE_TARGET
1016
+ known_rows = role_ids == ROLE_KNOWN_COV
1017
+
1018
+ scaled, loc, scale = self.scale(full_inputs, full_observed)
1019
+ scaled, loc, scale = self._known_cov_scaling(full_inputs, full_observed, scaled, loc, scale, known_rows)
1020
+ x_enc = self.representation(scaled, full_observed)
1021
+ x_dec = self.representation.forecast_tokens(rows, n)
1022
+
1023
+ obs_per_patch = full_observed.unflatten(-1, (n, ps)).any(dim=-1)
1024
+ key_valid = compute_enc_key_validity(obs_per_patch, c.attend_missing_patches)
1025
+ s_rows = torch.full((rows,), ll, device=full_inputs.device, dtype=torch.long)
1026
+ time_mask = build_two_stream_time_mask(s_rows, n, c.block_size, key_valid, bidirectional_rows=known_rows)
1027
+ variate_mask = build_two_stream_variate_mask(
1028
+ group_ids, key_valid, n, target_rows=target_rows, bidirectional_rows=known_rows
1029
+ )
1030
+ unique_ids, inverse = torch.unique(group_ids, return_inverse=True)
1031
+ first_obs = group_first_observed_patch(obs_per_patch, inverse, unique_ids.numel())[inverse]
1032
+ positions = build_two_stream_positions(n, first_obs)
1033
+
1034
+ x = torch.cat([x_enc, x_dec], dim=1)
1035
+ mask = TwoStreamMask(mask=time_mask, enc_len=n) if c.split_context_horizon_attn else time_mask
1036
+ if return_layer_states:
1037
+ h_all, l_states = self.transformer(x, mask, variate_mask, positions, return_layer_states=True)
1038
+ dec_layer_states = [ls[:, n + ll : 2 * n, :] for ls in l_states]
1039
+ else:
1040
+ h_all = self.transformer(x, mask, variate_mask, positions)
1041
+ dec_layer_states = []
1042
+ h_raw_dec = h_all[:, n + ll : 2 * n, :] # (R, H_patches, d_model)
1043
+ if self.jepa_predictor is not None:
1044
+ h_raw_dec = self.jepa_predictor(h_all[:, :ll, :], h_raw_dec, key_valid[:, :ll], first_obs)
1045
+ h_aligned, z_rot = h_raw_dec, h_raw_dec
1046
+
1047
+ anchor_loc = loc.unflatten(-1, (n, ps))[..., 0][:, ll - 1 : ll]
1048
+ anchor_scale = scale.unflatten(-1, (n, ps))[..., 0][:, ll - 1 : ll]
1049
+ if return_layer_states:
1050
+ return h_aligned, z_rot, h_raw_dec, anchor_loc, anchor_scale, dec_layer_states
1051
+ return h_aligned, z_rot, h_raw_dec, anchor_loc, anchor_scale
1052
+
1053
+ def predict_block(
1054
+ self,
1055
+ inputs: Tensor,
1056
+ observed: Tensor,
1057
+ group_ids: Tensor,
1058
+ horizon_patches: int,
1059
+ role_ids: Optional[Tensor] = None,
1060
+ known_future: Optional[Tensor] = None,
1061
+ known_future_mask: Optional[Tensor] = None,
1062
+ ) -> Tensor:
1063
+ h_aligned, _, _, anchor_loc, anchor_scale = self.encode_penultimate(
1064
+ inputs, observed, horizon_patches, group_ids, role_ids, known_future, known_future_mask
1065
+ )
1066
+ preds_norm = self.head(h_aligned)
1067
+ delta = getattr(self, "readout_delta", None)
1068
+ if delta is not None and delta.shape[0] == preds_norm.shape[0]:
1069
+ corr = torch.einsum("rhd,rdp->rhp", h_aligned, delta.to(h_aligned.dtype)).reshape(preds_norm.shape[0], -1)
1070
+ preds_norm = preds_norm + corr[..., None].to(preds_norm.dtype)
1071
+ return denormalize_quantiles(preds_norm, anchor_loc.unsqueeze(-1), anchor_scale.unsqueeze(-1), self.config.use_asinh)
1072
+
1073
+ def _refine_block(
1074
+ self, quantiles: Tensor, context: Tensor, mask: Tensor, target_rows: Optional[Tensor] = None
1075
+ ) -> Tensor:
1076
+ ps = self.config.patch_size
1077
+ n_pred = quantiles.shape[1] // ps
1078
+ if n_pred <= 1:
1079
+ return quantiles
1080
+ _, loc, scale = self.scale(context, mask)
1081
+ loc0, scale0 = loc[:, -1], scale[:, -1]
1082
+ med_idx = self.config.median_index
1083
+ median = quantiles[..., med_idx].unflatten(-1, (n_pred, ps)).to(torch.float64)
1084
+ sinh_median = (median - loc0[:, None, None]) / scale0[:, None, None]
1085
+ loc_j, scale_j = advancing_block_frames(context, mask, sinh_median, self.config.minimum_scale)
1086
+ first = torch.zeros(loc_j.shape, dtype=torch.bool, device=loc_j.device)
1087
+ first[:, 0] = True
1088
+ loc_j = torch.where(first, loc0[:, None], loc_j.to(quantiles.dtype)).repeat_interleave(ps, dim=-1)
1089
+ scale_j = torch.where(first, scale0[:, None], scale_j.to(quantiles.dtype)).repeat_interleave(ps, dim=-1)
1090
+ sinh_norm = (quantiles - loc0[:, None, None]) / scale0[:, None, None]
1091
+ refined = clamp_nonfinite(sinh_norm * scale_j[..., None] + loc_j[..., None])
1092
+ if target_rows is not None:
1093
+ refined = torch.where(target_rows[:, None, None], refined, quantiles)
1094
+ return refined
1095
+
1096
+ def _assemble_rows(
1097
+ self,
1098
+ inputs: Tensor,
1099
+ observation_mask: Tensor,
1100
+ prediction_length: int,
1101
+ past_covariates: Optional[Tensor],
1102
+ known_covariates: Optional[Tensor],
1103
+ ) -> Tuple[Tensor, Tensor, Optional[Tensor], Optional[Tensor], Optional[Tensor], int]:
1104
+ ps = self.config.patch_size
1105
+ device = inputs.device
1106
+ b, n_tgt, ctx0 = inputs.shape
1107
+ horizon = math.ceil(prediction_length / ps) * ps
1108
+
1109
+ ctx_rows = [ffill_with_mask(inputs, observation_mask)]
1110
+ ctx_masks = [observation_mask]
1111
+ roles = [ROLE_TARGET] * n_tgt
1112
+
1113
+ n_past = 0
1114
+ if past_covariates is not None and past_covariates.shape[1] > 0:
1115
+ n_past = past_covariates.shape[1]
1116
+ ctx_masks.append(torch.isfinite(past_covariates))
1117
+ ctx_rows.append(torch.nan_to_num(past_covariates, nan=0.0))
1118
+ roles += [ROLE_PAST_COV] * n_past
1119
+
1120
+ n_known = 0
1121
+ known_future_vals: Optional[Tensor] = None
1122
+ known_future_obs: Optional[Tensor] = None
1123
+ if known_covariates is not None and known_covariates.shape[1] > 0:
1124
+ n_known = known_covariates.shape[1]
1125
+ kc_ctx, kc_fut = known_covariates[..., :-prediction_length], known_covariates[..., -prediction_length:]
1126
+ ctx_masks.append(torch.isfinite(kc_ctx))
1127
+ ctx_rows.append(torch.nan_to_num(kc_ctx, nan=0.0))
1128
+ roles += [ROLE_KNOWN_COV] * n_known
1129
+ known_future_obs = torch.isfinite(kc_fut)
1130
+ known_future_vals = torch.nan_to_num(kc_fut, nan=0.0)
1131
+
1132
+ rows = torch.cat(ctx_rows, dim=1)
1133
+ mask = torch.cat(ctx_masks, dim=1)
1134
+ if rows.shape[-1] > self.config.context_length:
1135
+ rows = rows[:, :, -self.config.context_length :]
1136
+ mask = mask[:, :, -self.config.context_length :]
1137
+ rows, mask = pad_to_patch(rows, mask, ps)
1138
+ v_all = rows.shape[1]
1139
+ if n_past == 0 and n_known == 0:
1140
+ return rows, mask, None, None, None, n_tgt
1141
+
1142
+ role_ids = torch.tensor(roles, dtype=torch.long, device=device).repeat(b)
1143
+ known_future: Optional[Tensor] = None
1144
+ known_future_mask: Optional[Tensor] = None
1145
+ if n_known > 0 and known_future_vals is not None and known_future_obs is not None:
1146
+ k0 = n_tgt + n_past
1147
+ plen = known_future_vals.shape[-1]
1148
+ kf = torch.zeros(b, v_all, horizon, device=device, dtype=rows.dtype)
1149
+ kfm = torch.zeros(b, v_all, horizon, device=device, dtype=torch.bool)
1150
+ kf[:, k0 : k0 + n_known, :plen] = known_future_vals
1151
+ kfm[:, k0 : k0 + n_known, :plen] = known_future_obs
1152
+ known_future = kf.reshape(b * v_all, horizon)
1153
+ known_future_mask = kfm.reshape(b * v_all, horizon)
1154
+ return rows, mask, role_ids, known_future, known_future_mask, n_tgt
1155
+
1156
+ def _forecast_raw(
1157
+ self,
1158
+ inputs: Tensor,
1159
+ mask: Tensor,
1160
+ prediction_length: int,
1161
+ past_covariates: Optional[Tensor] = None,
1162
+ known_covariates: Optional[Tensor] = None,
1163
+ ) -> Tensor:
1164
+ """`(B, V, T)` -> `(B, V, H, Q_21)` with block-AR decoding, covariates, and Welford frame refinement."""
1165
+ self.eval()
1166
+ ps = self.config.patch_size
1167
+ has_variate_op = any(kind != "time" for kind in self.config.block_schedule)
1168
+ if not has_variate_op:
1169
+ past_covariates = None
1170
+ known_covariates = None
1171
+
1172
+ rows, obs_mask, role_ids, known_future, known_future_mask, n_tgt = self._assemble_rows(
1173
+ inputs, mask, prediction_length, past_covariates, known_covariates
1174
+ )
1175
+ b, v, ctx_len = rows.shape
1176
+ context = rows.reshape(b * v, ctx_len)
1177
+ obs = obs_mask.reshape(b * v, ctx_len)
1178
+ group_ids = torch.arange(b, device=inputs.device).repeat_interleave(v)
1179
+
1180
+ known_rows = past_rows = target_rows = None
1181
+ if role_ids is not None:
1182
+ known_rows = role_ids == ROLE_KNOWN_COV
1183
+ past_rows = (role_ids != ROLE_TARGET) & ~known_rows
1184
+ target_rows = role_ids == ROLE_TARGET
1185
+
1186
+ # Compute context min/max and last-patch scale for `quantile_real_cap_k` clamping on target rows
1187
+ tgt_rows_3d = rows[:, :n_tgt]
1188
+ tgt_mask_3d = obs_mask[:, :n_tgt]
1189
+ not_obs = ~tgt_mask_3d
1190
+ ctx_max = torch.nan_to_num(tgt_rows_3d.masked_fill(not_obs, float("-inf")).amax(-1, keepdim=True), neginf=0.0)
1191
+ ctx_min = torch.nan_to_num(tgt_rows_3d.masked_fill(not_obs, float("inf")).amin(-1, keepdim=True), posinf=0.0)
1192
+ _, scale0 = causal_patch_loc_scale(
1193
+ tgt_rows_3d, tgt_mask_3d, ps, self.config.minimum_scale, self.config.stabilize_with_global
1194
+ )
1195
+ anchor_scale = scale0[..., -1:] * float(self.config.quantile_real_cap_k)
1196
+
1197
+ blocks: List[Tensor] = []
1198
+ remaining = math.ceil(prediction_length / ps)
1199
+ max_block = min(self.config.block_size, max(1, int(self.config.per_shot_horizon_patches)))
1200
+ med_idx = self.config.median_index
1201
+ offset = 0
1202
+
1203
+ while remaining > 0:
1204
+ blk = min(max_block, remaining)
1205
+ blen = blk * ps
1206
+ kf_blk = known_future[:, offset : offset + blen] if known_future is not None else None
1207
+ kfm_blk = known_future_mask[:, offset : offset + blen] if known_future_mask is not None else None
1208
+ q_blk = self.predict_block(context, obs, group_ids, blk, role_ids, kf_blk, kfm_blk)
1209
+ q_blk = self._refine_block(q_blk, context, obs, target_rows)
1210
+ blocks.append(q_blk)
1211
+ remaining -= blk
1212
+ offset += blen
1213
+ if remaining <= 0:
1214
+ break
1215
+ feedback = torch.nan_to_num(q_blk[..., med_idx], nan=0.0, posinf=0.0, neginf=0.0)
1216
+ fb_mask = torch.ones_like(feedback, dtype=torch.bool)
1217
+ if role_ids is not None and known_rows is not None and past_rows is not None:
1218
+ if kf_blk is not None and kfm_blk is not None:
1219
+ feedback = torch.where(known_rows[:, None], kf_blk, feedback)
1220
+ fb_mask = torch.where(known_rows[:, None], kfm_blk, fb_mask)
1221
+ feedback = torch.where(past_rows[:, None], torch.zeros_like(feedback), feedback)
1222
+ fb_mask = fb_mask & ~past_rows[:, None]
1223
+ context = torch.cat([context, feedback], dim=-1)
1224
+ obs = torch.cat([obs, fb_mask], dim=-1)
1225
+ if context.shape[-1] > self.config.context_length:
1226
+ keep = max(ps, (self.config.context_length // ps) * ps)
1227
+ context = context[..., -keep:]
1228
+ obs = obs[..., -keep:]
1229
+
1230
+ packed = torch.cat(blocks, dim=-2)[..., :prediction_length, :]
1231
+ quantiles = packed.reshape(b, v, prediction_length, -1)[:, :n_tgt]
1232
+ return quantiles.clamp((ctx_min - anchor_scale).unsqueeze(-1), (ctx_max + anchor_scale).unsqueeze(-1))
1233
+
1234
+ @torch.inference_mode()
1235
+ def forecast(
1236
+ self,
1237
+ context: np.ndarray | Tensor,
1238
+ prediction_length: int,
1239
+ past_covariates: Optional[np.ndarray | Tensor] = None,
1240
+ known_covariates: Optional[np.ndarray | Tensor] = None,
1241
+ symmetric_averaging: bool = True,
1242
+ clip_nonnegative: bool = True,
1243
+ ) -> Tensor:
1244
+ """Full zero-shot probabilistic forecast `(B, V, H, 21)` with covariates & reflection averaging."""
1245
+ device = next(self.parameters()).device
1246
+ x = torch.as_tensor(context, dtype=torch.float32, device=device)
1247
+ if x.dim() == 1:
1248
+ x = x[None, None]
1249
+ elif x.dim() == 2:
1250
+ x = x[:, None]
1251
+ mask = torch.isfinite(x)
1252
+ inputs = torch.where(mask, x, torch.zeros_like(x))
1253
+
1254
+ pc_t: Optional[Tensor] = None
1255
+ if past_covariates is not None:
1256
+ pc_t = torch.as_tensor(past_covariates, dtype=torch.float32, device=device)
1257
+ if pc_t.dim() == 2:
1258
+ pc_t = pc_t[:, None]
1259
+
1260
+ kc_t: Optional[Tensor] = None
1261
+ if known_covariates is not None:
1262
+ kc_t = torch.as_tensor(known_covariates, dtype=torch.float32, device=device)
1263
+ if kc_t.dim() == 2:
1264
+ kc_t = kc_t[:, None]
1265
+
1266
+ def _single_view(inp: Tensor, msk: Tensor, pc: Optional[Tensor], kc: Optional[Tensor]) -> Tensor:
1267
+ q = self._forecast_raw(inp, msk, prediction_length, pc, kc)
1268
+ if symmetric_averaging:
1269
+ mir = self._forecast_raw(
1270
+ -inp,
1271
+ msk,
1272
+ prediction_length,
1273
+ -pc if pc is not None else None,
1274
+ -kc if kc is not None else None,
1275
+ )
1276
+ q = 0.5 * (q + (-mir).flip(-1))
1277
+ return q
1278
+
1279
+ quantiles = _single_view(inputs, mask, pc_t, kc_t)
1280
+ if clip_nonnegative:
1281
+ has_obs = mask.any(dim=-1)
1282
+ min_obs = torch.where(mask, inputs, torch.full_like(inputs, float("inf"))).amin(dim=-1)
1283
+ eligible = has_obs & (min_obs >= 0.0)
1284
+ quantiles = torch.where(eligible[..., None, None], quantiles.clamp_min(0.0), quantiles)
1285
+ return quantiles
1286
+
1287
+ @torch.inference_mode()
1288
+ def predict_series_batch(
1289
+ self,
1290
+ series_list: List[np.ndarray],
1291
+ horizon: int,
1292
+ quantile_levels: List[float],
1293
+ batch_size: int = 128,
1294
+ past_covariates_list: Optional[List[Optional[np.ndarray]]] = None,
1295
+ known_covariates_list: Optional[List[Optional[np.ndarray]]] = None,
1296
+ max_covariates: int = 4,
1297
+ ) -> np.ndarray:
1298
+ """Standalone batch inference for arbitrary-length 1D numpy series + optional covariates.
1299
+
1300
+ Returns `(N, horizon, 1 + len(quantile_levels))` where col 0 is median (0.5) and
1301
+ cols `1..` correspond to `quantile_levels`.
1302
+ """
1303
+ self.eval()
1304
+ N = len(series_list)
1305
+ out = np.zeros((N, horizon, 1 + len(quantile_levels)), dtype=np.float64)
1306
+ knots = np.asarray(self.config.quantile_knots, dtype=np.float64)
1307
+ med_idx = self.config.median_index
1308
+
1309
+ has_variate_op = any(kind != "time" for kind in self.config.block_schedule)
1310
+ use_cov = has_variate_op and (past_covariates_list is not None or known_covariates_list is not None)
1311
+
1312
+ # Group by similar lengths (and covariate channel counts when present) for efficient padding
1313
+ def _sort_key(i: int) -> Tuple[int, int, int]:
1314
+ c_p = 0
1315
+ if use_cov and past_covariates_list is not None and past_covariates_list[i] is not None:
1316
+ c_p = min(past_covariates_list[i].shape[1], max_covariates)
1317
+ c_k = 0
1318
+ if use_cov and known_covariates_list is not None and known_covariates_list[i] is not None:
1319
+ c_k = min(known_covariates_list[i].shape[1], max_covariates)
1320
+ return (c_p, c_k, len(series_list[i]))
1321
+
1322
+ order = sorted(range(N), key=_sort_key)
1323
+ # Covariate rows share dense variate attention across the batch, so cap rows per forward pass.
1324
+ step = max(8, batch_size // 8) if use_cov else batch_size
1325
+ for start in range(0, N, step):
1326
+ idx = order[start : start + step]
1327
+ max_t = min(self.config.context_length, max(len(series_list[i]) for i in idx))
1328
+ B_cur = len(idx)
1329
+ batch_arr = np.full((B_cur, 1, max_t), np.nan, dtype=np.float32)
1330
+
1331
+ c_p_max = 0
1332
+ c_k_max = 0
1333
+ if use_cov:
1334
+ if past_covariates_list is not None:
1335
+ c_p_max = min(max_covariates, max((past_covariates_list[i].shape[1] if past_covariates_list[i] is not None else 0) for i in idx))
1336
+ if known_covariates_list is not None:
1337
+ c_k_max = min(max_covariates, max((known_covariates_list[i].shape[1] if known_covariates_list[i] is not None else 0) for i in idx))
1338
+
1339
+ pc_arr = np.full((B_cur, c_p_max, max_t), np.nan, dtype=np.float32) if c_p_max > 0 else None
1340
+ kc_arr = np.full((B_cur, c_k_max, max_t + horizon), np.nan, dtype=np.float32) if c_k_max > 0 else None
1341
+
1342
+ for b_i, orig_i in enumerate(idx):
1343
+ y = np.asarray(series_list[orig_i], dtype=np.float32)
1344
+ if len(y) > max_t:
1345
+ y = y[-max_t:]
1346
+ L_i = len(y)
1347
+ batch_arr[b_i, 0, max_t - L_i :] = y
1348
+
1349
+ if pc_arr is not None and past_covariates_list is not None and past_covariates_list[orig_i] is not None:
1350
+ xp = np.asarray(past_covariates_list[orig_i], dtype=np.float32)
1351
+ if xp.shape[0] > L_i:
1352
+ xp = xp[-L_i:]
1353
+ nc = min(xp.shape[1], c_p_max)
1354
+ pc_arr[b_i, :nc, max_t - xp.shape[0] :] = xp[:, :nc].T
1355
+
1356
+ if kc_arr is not None and known_covariates_list is not None and known_covariates_list[orig_i] is not None:
1357
+ xk = np.asarray(known_covariates_list[orig_i], dtype=np.float32)
1358
+ # xk has shape (T_orig + horizon, C_k)
1359
+ xk_past = xk[:-horizon]
1360
+ xk_fut = xk[-horizon:]
1361
+ if xk_past.shape[0] > L_i:
1362
+ xk_past = xk_past[-L_i:]
1363
+ nc = min(xk.shape[1], c_k_max)
1364
+ for c_j in range(nc):
1365
+ col_p = xk_past[:, c_j]
1366
+ col_f = xk_fut[:, c_j]
1367
+ # Target-encode low-cardinality discrete/categorical covariates (>2 distinct values, <=12)
1368
+ uniq = np.unique(col_p[np.isfinite(col_p)])
1369
+ if 2 < len(uniq) <= 12 and np.all(np.floor(uniq) == uniq):
1370
+ col_p, col_f_enc = target_encode_covariate(y[-len(col_p):], col_p, col_f)
1371
+ if col_f_enc is not None:
1372
+ col_f = col_f_enc
1373
+ kc_arr[b_i, c_j, max_t - len(col_p) : max_t] = col_p
1374
+ kc_arr[b_i, c_j, max_t : max_t + horizon] = col_f
1375
+
1376
+ q21 = self.forecast(batch_arr, horizon, past_covariates=pc_arr, known_covariates=kc_arr).double().cpu().numpy()[:, 0, :, :]
1377
+ for b_i, orig_i in enumerate(idx):
1378
+ out[orig_i, :, 0] = q21[b_i, :, med_idx]
1379
+ for k_l, lv in enumerate(quantile_levels):
1380
+ match = [k for k, m in enumerate(knots) if abs(m - lv) < 1e-9]
1381
+ if match:
1382
+ out[orig_i, :, 1 + k_l] = q21[b_i, :, match[0]]
1383
+ else:
1384
+ for h_i in range(horizon):
1385
+ out[orig_i, h_i, 1 + k_l] = np.interp(lv, knots, q21[b_i, h_i])
1386
+ return out
1387
+
1388
+
1389
+
1390
+ def forward(
1391
+ self,
1392
+ context: Tensor,
1393
+ prediction_length: int = 96,
1394
+ past_covariates: Optional[Tensor] = None,
1395
+ known_covariates: Optional[Tensor] = None,
1396
+ symmetric_averaging: bool = True,
1397
+ clip_nonnegative: bool = True,
1398
+ ) -> Tensor:
1399
+ """Forward alias for `forecast(...)` returning `(B, V, prediction_length, 21)` quantiles."""
1400
+ return self.forecast(
1401
+ context=context,
1402
+ prediction_length=prediction_length,
1403
+ past_covariates=past_covariates,
1404
+ known_covariates=known_covariates,
1405
+ symmetric_averaging=symmetric_averaging,
1406
+ clip_nonnegative=clip_nonnegative,
1407
+ )
1408
+
1409
+
1410
+ TelosForForecasting = TelosModel
1411
+
1412
+
1413
+ def save_telos_checkpoint(model: TelosModel, path: Path | str) -> None:
1414
+ p = Path(path)
1415
+ p.parent.mkdir(parents=True, exist_ok=True)
1416
+ payload = {
1417
+ "config": model.config.to_dict(),
1418
+ "num_parameters": model.count_parameters(),
1419
+ "state_dict": model.state_dict(),
1420
+ }
1421
+ torch.save(payload, p)
1422
+
1423
+
1424
+ def load_telos_checkpoint(path: Path | str, device: str = "cpu") -> TelosModel:
1425
+ payload = torch.load(Path(path), map_location=device, weights_only=False)
1426
+ cfg_dict = dict(payload["config"])
1427
+ cfg_dict["model_name"] = "Telos-Small"
1428
+ cfg = TelosConfig(**cfg_dict)
1429
+ model = TelosModel(cfg).to(device)
1430
+ model.load_state_dict(payload["state_dict"])
1431
+ model.eval()
1432
+ return model
pyproject.toml ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [build-system]
2
+ requires = ["setuptools>=64", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "telos-ts"
7
+ version = "0.1.0"
8
+ description = "Telos-Small (50.1M): Standalone Time-Series JEPA Foundation Model"
9
+ readme = "README.md"
10
+ license = { file = "LICENSE" }
11
+ requires-python = ">=3.10"
12
+ dependencies = [
13
+ "torch>=2.2.0",
14
+ "numpy>=1.24.0",
15
+ "safetensors>=0.4.0",
16
+ "transformers>=4.40.0",
17
+ ]
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ torch>=2.2.0
2
+ numpy>=1.24.0
3
+ safetensors>=0.4.0
4
+ transformers>=4.40.0
results/fev_bench_telos_small_50m.json ADDED
@@ -0,0 +1,772 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "benchmark": "AutoGluon FEV-Bench (`fev-bench-mini`: 20 Multi-Domain & Covariate Forecasting Tasks \u2014 100% Standalone)",
3
+ "tasks_evaluated": 20,
4
+ "checkpoint_sha256": {
5
+ "telos_small": "ac7b7d2ff259aabdc7d94afccafae9790d2f9d3bb86097d16235ca10f7f2f7a7"
6
+ },
7
+ "nn_context_length": 4096,
8
+ "method": "Blended rows: quantile average of the analytical seasonal-trend solver, a multi-cycle empirical candidate, and the network (with past/known covariates as extra rows; plus a covariate-free network + analytical covariate effect candidate on covariate tasks). Convex weights per (window, target column) are fitted on historical backtests inside past_data only. NN-only rows are the raw network output with covariates and no blend.",
9
+ "elapsed_s": 657.3,
10
+ "leaderboard": [
11
+ {
12
+ "model_name": "Timestral-209M",
13
+ "mase_skill_pct": 46.25,
14
+ "sql_skill_pct": 56.19,
15
+ "median_inference_s": 3.177,
16
+ "mase_win_rate_pct": 88.08
17
+ },
18
+ {
19
+ "model_name": "timesfm-3",
20
+ "mase_skill_pct": 45.17,
21
+ "sql_skill_pct": 54.96,
22
+ "median_inference_s": 21.208,
23
+ "mase_win_rate_pct": 80.77
24
+ },
25
+ {
26
+ "model_name": "Timestral-28M",
27
+ "mase_skill_pct": 43.74,
28
+ "sql_skill_pct": 53.94,
29
+ "median_inference_s": 0.581,
30
+ "mase_win_rate_pct": 79.23
31
+ },
32
+ {
33
+ "model_name": "Chronos-2",
34
+ "mase_skill_pct": 40.36,
35
+ "sql_skill_pct": 51.12,
36
+ "median_inference_s": 1.936,
37
+ "mase_win_rate_pct": 66.15
38
+ },
39
+ {
40
+ "model_name": "TabPFN-TS-3",
41
+ "mase_skill_pct": 38.73,
42
+ "sql_skill_pct": 49.23,
43
+ "median_inference_s": 947.49,
44
+ "mase_win_rate_pct": 56.92
45
+ },
46
+ {
47
+ "model_name": "TimesFM-2.5",
48
+ "mase_skill_pct": 37.87,
49
+ "sql_skill_pct": 48.54,
50
+ "median_inference_s": 36.18,
51
+ "mase_win_rate_pct": 52.69
52
+ },
53
+ {
54
+ "model_name": "Toto-2.0-2.5B",
55
+ "mase_skill_pct": 33.83,
56
+ "sql_skill_pct": 46.07,
57
+ "median_inference_s": 15.762,
58
+ "mase_win_rate_pct": 59.23
59
+ },
60
+ {
61
+ "model_name": "Telos-Small (50.1M Wts)",
62
+ "mase_skill_pct": 31.62,
63
+ "sql_skill_pct": 42.82,
64
+ "median_inference_s": 5.929,
65
+ "mase_win_rate_pct": 40.0
66
+ },
67
+ {
68
+ "model_name": "TFT",
69
+ "mase_skill_pct": 25.37,
70
+ "sql_skill_pct": 35.26,
71
+ "median_inference_s": 3.555,
72
+ "mase_win_rate_pct": 36.35
73
+ },
74
+ {
75
+ "model_name": "PatchTST",
76
+ "mase_skill_pct": 23.85,
77
+ "sql_skill_pct": 34.96,
78
+ "median_inference_s": 6.27,
79
+ "mase_win_rate_pct": 28.08
80
+ },
81
+ {
82
+ "model_name": "CatBoost",
83
+ "mase_skill_pct": 30.46,
84
+ "sql_skill_pct": 28.41,
85
+ "median_inference_s": 1.84,
86
+ "mase_win_rate_pct": 44.23
87
+ },
88
+ {
89
+ "model_name": "LightGBM",
90
+ "mase_skill_pct": 26.16,
91
+ "sql_skill_pct": 23.99,
92
+ "median_inference_s": 1.522,
93
+ "mase_win_rate_pct": 37.69
94
+ },
95
+ {
96
+ "model_name": "Seasonal Naive",
97
+ "mase_skill_pct": 0.0,
98
+ "sql_skill_pct": 0.0,
99
+ "median_inference_s": 2.371,
100
+ "mase_win_rate_pct": 5.19
101
+ }
102
+ ],
103
+ "pure_nn_leaderboard": [
104
+ {
105
+ "model_name": "Telos-Small (Pure JEPA)",
106
+ "mase_skill_pct": 26.3,
107
+ "sql_skill_pct": 39.49,
108
+ "median_inference_s": 1.416,
109
+ "mase_win_rate_pct": 0.0
110
+ }
111
+ ],
112
+ "calibration_diagnostics": [
113
+ {
114
+ "dataset_config": "boomlet_1282",
115
+ "horizon": 60,
116
+ "mean_blend_weights": {
117
+ "large": [
118
+ 0.118,
119
+ 0.134,
120
+ 0.748
121
+ ]
122
+ },
123
+ "backtest_series": 700,
124
+ "backtest_horizon": 60,
125
+ "covariates": false
126
+ },
127
+ {
128
+ "dataset_config": "boomlet_1676",
129
+ "horizon": 96,
130
+ "mean_blend_weights": {
131
+ "large": [
132
+ 0.204,
133
+ 0.166,
134
+ 0.63
135
+ ]
136
+ },
137
+ "backtest_series": 2000,
138
+ "backtest_horizon": 96,
139
+ "covariates": false
140
+ },
141
+ {
142
+ "dataset_config": "boomlet_619",
143
+ "horizon": 60,
144
+ "mean_blend_weights": {
145
+ "large": [
146
+ 0.056,
147
+ 0.079,
148
+ 0.864
149
+ ]
150
+ },
151
+ "backtest_series": 1040,
152
+ "backtest_horizon": 60,
153
+ "covariates": false
154
+ },
155
+ {
156
+ "dataset_config": "bizitobs_l2c_5T",
157
+ "horizon": 288,
158
+ "mean_blend_weights": {
159
+ "large": [
160
+ 0.017,
161
+ 0.785,
162
+ 0.198
163
+ ]
164
+ },
165
+ "backtest_series": 140,
166
+ "backtest_horizon": 288,
167
+ "covariates": false
168
+ },
169
+ {
170
+ "dataset_config": "epf_np",
171
+ "horizon": 24,
172
+ "mean_blend_weights": {
173
+ "large": [
174
+ 0.177,
175
+ 0.089,
176
+ 0.053,
177
+ 0.682
178
+ ]
179
+ },
180
+ "backtest_series": 20,
181
+ "backtest_horizon": 24,
182
+ "covariates": true
183
+ },
184
+ {
185
+ "dataset_config": "ETT_15T",
186
+ "horizon": 96,
187
+ "mean_blend_weights": {
188
+ "large": [
189
+ 0.287,
190
+ 0.149,
191
+ 0.565
192
+ ]
193
+ },
194
+ "backtest_series": 280,
195
+ "backtest_horizon": 96,
196
+ "covariates": false
197
+ },
198
+ {
199
+ "dataset_config": "ETT_1H",
200
+ "horizon": 168,
201
+ "mean_blend_weights": {
202
+ "large": [
203
+ 0.279,
204
+ 0.255,
205
+ 0.466
206
+ ]
207
+ },
208
+ "backtest_series": 280,
209
+ "backtest_horizon": 168,
210
+ "covariates": false
211
+ },
212
+ {
213
+ "dataset_config": "proenfo_gfc14",
214
+ "horizon": 168,
215
+ "mean_blend_weights": {
216
+ "large": [
217
+ 0.102,
218
+ 0.177,
219
+ 0.487,
220
+ 0.234
221
+ ]
222
+ },
223
+ "backtest_series": 20,
224
+ "backtest_horizon": 168,
225
+ "covariates": true
226
+ },
227
+ {
228
+ "dataset_config": "hospital_admissions_1W",
229
+ "horizon": 13,
230
+ "mean_blend_weights": {
231
+ "large": [
232
+ 0.021,
233
+ 0.073,
234
+ 0.906
235
+ ]
236
+ },
237
+ "backtest_series": 128,
238
+ "backtest_horizon": 13,
239
+ "covariates": false
240
+ },
241
+ {
242
+ "dataset_config": "hospital_admissions_1D",
243
+ "horizon": 28,
244
+ "mean_blend_weights": {
245
+ "large": [
246
+ 0.05,
247
+ 0.089,
248
+ 0.862
249
+ ]
250
+ },
251
+ "backtest_series": 160,
252
+ "backtest_horizon": 28,
253
+ "covariates": false
254
+ },
255
+ {
256
+ "dataset_config": "jena_weather_1H",
257
+ "horizon": 24,
258
+ "mean_blend_weights": {
259
+ "large": [
260
+ 0.16,
261
+ 0.138,
262
+ 0.702
263
+ ]
264
+ },
265
+ "backtest_series": 420,
266
+ "backtest_horizon": 24,
267
+ "covariates": false
268
+ },
269
+ {
270
+ "dataset_config": "M_DENSE_1D",
271
+ "horizon": 28,
272
+ "mean_blend_weights": {
273
+ "large": [
274
+ 0.064,
275
+ 0.199,
276
+ 0.737
277
+ ]
278
+ },
279
+ "backtest_series": 160,
280
+ "backtest_horizon": 28,
281
+ "covariates": false
282
+ },
283
+ {
284
+ "dataset_config": "rohlik_orders_1D",
285
+ "horizon": 61,
286
+ "mean_blend_weights": {
287
+ "large": [
288
+ 0.208,
289
+ 0.492,
290
+ 0.194,
291
+ 0.105
292
+ ]
293
+ },
294
+ "backtest_series": 35,
295
+ "backtest_horizon": 61,
296
+ "covariates": true
297
+ },
298
+ {
299
+ "dataset_config": "rossmann_1W",
300
+ "horizon": 13,
301
+ "mean_blend_weights": {
302
+ "large": [
303
+ 0.028,
304
+ 0.217,
305
+ 0.057,
306
+ 0.698
307
+ ]
308
+ },
309
+ "backtest_series": 128,
310
+ "backtest_horizon": 13,
311
+ "covariates": true
312
+ },
313
+ {
314
+ "dataset_config": "rossmann_1D",
315
+ "horizon": 48,
316
+ "mean_blend_weights": {
317
+ "large": [
318
+ 0.041,
319
+ 0.556,
320
+ 0.017,
321
+ 0.386
322
+ ]
323
+ },
324
+ "backtest_series": 160,
325
+ "backtest_horizon": 48,
326
+ "covariates": true
327
+ },
328
+ {
329
+ "dataset_config": "solar_with_weather_1H",
330
+ "horizon": 24,
331
+ "mean_blend_weights": {
332
+ "large": [
333
+ 0.317,
334
+ 0.204,
335
+ 0.052,
336
+ 0.426
337
+ ]
338
+ },
339
+ "backtest_series": 20,
340
+ "backtest_horizon": 24,
341
+ "covariates": true
342
+ },
343
+ {
344
+ "dataset_config": "uci_air_quality_1H",
345
+ "horizon": 168,
346
+ "mean_blend_weights": {
347
+ "large": [
348
+ 0.133,
349
+ 0.051,
350
+ 0.119,
351
+ 0.697
352
+ ]
353
+ },
354
+ "backtest_series": 80,
355
+ "backtest_horizon": 168,
356
+ "covariates": true
357
+ },
358
+ {
359
+ "dataset_config": "uk_covid_nation_1D",
360
+ "horizon": 28,
361
+ "mean_blend_weights": {
362
+ "large": [
363
+ 0.037,
364
+ 0.925,
365
+ 0.007,
366
+ 0.031
367
+ ]
368
+ },
369
+ "backtest_series": 240,
370
+ "backtest_horizon": 28,
371
+ "covariates": true
372
+ },
373
+ {
374
+ "dataset_config": "us_consumption_1Y",
375
+ "horizon": 5,
376
+ "mean_blend_weights": {
377
+ "large": [
378
+ 0.224,
379
+ 0.123,
380
+ 0.652
381
+ ]
382
+ },
383
+ "backtest_series": 128,
384
+ "backtest_horizon": 5,
385
+ "covariates": false
386
+ },
387
+ {
388
+ "dataset_config": "world_co2_emissions",
389
+ "horizon": 5,
390
+ "mean_blend_weights": {
391
+ "large": [
392
+ 0.263,
393
+ 0.094,
394
+ 0.644
395
+ ]
396
+ },
397
+ "backtest_series": 112,
398
+ "backtest_horizon": 5,
399
+ "covariates": false
400
+ }
401
+ ],
402
+ "model_family": "Telos",
403
+ "model_name": "Telos-Small",
404
+ "parameters": 50100747,
405
+ "telos_small_parameters": 50100747,
406
+ "telos_small_per_task": [
407
+ {
408
+ "dataset_config": "boomlet_1282",
409
+ "horizon": 60,
410
+ "SQL": 0.4257,
411
+ "MASE": 0.5239
412
+ },
413
+ {
414
+ "dataset_config": "boomlet_1676",
415
+ "horizon": 96,
416
+ "SQL": 0.6215,
417
+ "MASE": 0.7731
418
+ },
419
+ {
420
+ "dataset_config": "boomlet_619",
421
+ "horizon": 60,
422
+ "SQL": 0.4566,
423
+ "MASE": 0.5799
424
+ },
425
+ {
426
+ "dataset_config": "bizitobs_l2c_5T",
427
+ "horizon": 288,
428
+ "SQL": 0.5054,
429
+ "MASE": 0.5516
430
+ },
431
+ {
432
+ "dataset_config": "epf_np",
433
+ "horizon": 24,
434
+ "SQL": 1.0904,
435
+ "MASE": 1.3333
436
+ },
437
+ {
438
+ "dataset_config": "ETT_15T",
439
+ "horizon": 96,
440
+ "SQL": 0.5947,
441
+ "MASE": 0.7548
442
+ },
443
+ {
444
+ "dataset_config": "ETT_1H",
445
+ "horizon": 168,
446
+ "SQL": 0.8858,
447
+ "MASE": 1.1242
448
+ },
449
+ {
450
+ "dataset_config": "proenfo_gfc14",
451
+ "horizon": 168,
452
+ "SQL": 0.733,
453
+ "MASE": 0.9065
454
+ },
455
+ {
456
+ "dataset_config": "hospital_admissions_1W",
457
+ "horizon": 13,
458
+ "SQL": 0.584,
459
+ "MASE": 0.7594
460
+ },
461
+ {
462
+ "dataset_config": "hospital_admissions_1D",
463
+ "horizon": 28,
464
+ "SQL": 0.5554,
465
+ "MASE": 0.7183
466
+ },
467
+ {
468
+ "dataset_config": "jena_weather_1H",
469
+ "horizon": 24,
470
+ "SQL": 0.3997,
471
+ "MASE": 0.4864
472
+ },
473
+ {
474
+ "dataset_config": "M_DENSE_1D",
475
+ "horizon": 28,
476
+ "SQL": 0.9012,
477
+ "MASE": 1.0869
478
+ },
479
+ {
480
+ "dataset_config": "rohlik_orders_1D",
481
+ "horizon": 61,
482
+ "SQL": 1.1232,
483
+ "MASE": 1.3794
484
+ },
485
+ {
486
+ "dataset_config": "rossmann_1W",
487
+ "horizon": 13,
488
+ "SQL": 0.4484,
489
+ "MASE": 0.5559
490
+ },
491
+ {
492
+ "dataset_config": "rossmann_1D",
493
+ "horizon": 48,
494
+ "SQL": 0.3514,
495
+ "MASE": 0.4346
496
+ },
497
+ {
498
+ "dataset_config": "solar_with_weather_1H",
499
+ "horizon": 24,
500
+ "SQL": 0.9153,
501
+ "MASE": 1.083
502
+ },
503
+ {
504
+ "dataset_config": "uci_air_quality_1H",
505
+ "horizon": 168,
506
+ "SQL": 0.8607,
507
+ "MASE": 1.0959
508
+ },
509
+ {
510
+ "dataset_config": "uk_covid_nation_1D",
511
+ "horizon": 28,
512
+ "SQL": 6.2561,
513
+ "MASE": 7.6166
514
+ },
515
+ {
516
+ "dataset_config": "us_consumption_1Y",
517
+ "horizon": 5,
518
+ "SQL": 3.9744,
519
+ "MASE": 4.8055
520
+ },
521
+ {
522
+ "dataset_config": "world_co2_emissions",
523
+ "horizon": 5,
524
+ "SQL": 2.788,
525
+ "MASE": 3.3475
526
+ }
527
+ ],
528
+ "telos_small_pure_jepa_per_task": [
529
+ {
530
+ "dataset_config": "boomlet_1282",
531
+ "horizon": 60,
532
+ "SQL": 0.4261,
533
+ "MASE": 0.5198
534
+ },
535
+ {
536
+ "dataset_config": "boomlet_1676",
537
+ "horizon": 96,
538
+ "SQL": 0.6309,
539
+ "MASE": 0.7968
540
+ },
541
+ {
542
+ "dataset_config": "boomlet_619",
543
+ "horizon": 60,
544
+ "SQL": 0.4533,
545
+ "MASE": 0.5775
546
+ },
547
+ {
548
+ "dataset_config": "bizitobs_l2c_5T",
549
+ "horizon": 288,
550
+ "SQL": 0.5816,
551
+ "MASE": 0.7152
552
+ },
553
+ {
554
+ "dataset_config": "epf_np",
555
+ "horizon": 24,
556
+ "SQL": 1.0511,
557
+ "MASE": 1.2815
558
+ },
559
+ {
560
+ "dataset_config": "ETT_15T",
561
+ "horizon": 96,
562
+ "SQL": 0.5993,
563
+ "MASE": 0.7625
564
+ },
565
+ {
566
+ "dataset_config": "ETT_1H",
567
+ "horizon": 168,
568
+ "SQL": 0.8881,
569
+ "MASE": 1.1321
570
+ },
571
+ {
572
+ "dataset_config": "proenfo_gfc14",
573
+ "horizon": 168,
574
+ "SQL": 0.7714,
575
+ "MASE": 0.9484
576
+ },
577
+ {
578
+ "dataset_config": "hospital_admissions_1W",
579
+ "horizon": 13,
580
+ "SQL": 0.5832,
581
+ "MASE": 0.7583
582
+ },
583
+ {
584
+ "dataset_config": "hospital_admissions_1D",
585
+ "horizon": 28,
586
+ "SQL": 0.5545,
587
+ "MASE": 0.7172
588
+ },
589
+ {
590
+ "dataset_config": "jena_weather_1H",
591
+ "horizon": 24,
592
+ "SQL": 0.3868,
593
+ "MASE": 0.473
594
+ },
595
+ {
596
+ "dataset_config": "M_DENSE_1D",
597
+ "horizon": 28,
598
+ "SQL": 0.8446,
599
+ "MASE": 1.0358
600
+ },
601
+ {
602
+ "dataset_config": "rohlik_orders_1D",
603
+ "horizon": 61,
604
+ "SQL": 1.1576,
605
+ "MASE": 1.4274
606
+ },
607
+ {
608
+ "dataset_config": "rossmann_1W",
609
+ "horizon": 13,
610
+ "SQL": 0.5059,
611
+ "MASE": 0.6728
612
+ },
613
+ {
614
+ "dataset_config": "rossmann_1D",
615
+ "horizon": 48,
616
+ "SQL": 0.5364,
617
+ "MASE": 0.6487
618
+ },
619
+ {
620
+ "dataset_config": "solar_with_weather_1H",
621
+ "horizon": 24,
622
+ "SQL": 0.9113,
623
+ "MASE": 1.1147
624
+ },
625
+ {
626
+ "dataset_config": "uci_air_quality_1H",
627
+ "horizon": 168,
628
+ "SQL": 0.8885,
629
+ "MASE": 1.1308
630
+ },
631
+ {
632
+ "dataset_config": "uk_covid_nation_1D",
633
+ "horizon": 28,
634
+ "SQL": 10.8811,
635
+ "MASE": 14.4062
636
+ },
637
+ {
638
+ "dataset_config": "us_consumption_1Y",
639
+ "horizon": 5,
640
+ "SQL": 3.7773,
641
+ "MASE": 4.696
642
+ },
643
+ {
644
+ "dataset_config": "world_co2_emissions",
645
+ "horizon": 5,
646
+ "SQL": 2.6709,
647
+ "MASE": 3.2729
648
+ }
649
+ ],
650
+ "analytical_baseline_per_task": [
651
+ {
652
+ "dataset_config": "boomlet_1282",
653
+ "horizon": 60,
654
+ "SQL": 0.6039,
655
+ "MASE": 0.7384
656
+ },
657
+ {
658
+ "dataset_config": "boomlet_1676",
659
+ "horizon": 96,
660
+ "SQL": 0.6771,
661
+ "MASE": 0.825
662
+ },
663
+ {
664
+ "dataset_config": "boomlet_619",
665
+ "horizon": 60,
666
+ "SQL": 0.6681,
667
+ "MASE": 0.8765
668
+ },
669
+ {
670
+ "dataset_config": "bizitobs_l2c_5T",
671
+ "horizon": 288,
672
+ "SQL": 0.6914,
673
+ "MASE": 0.8868
674
+ },
675
+ {
676
+ "dataset_config": "epf_np",
677
+ "horizon": 24,
678
+ "SQL": 1.1541,
679
+ "MASE": 1.386
680
+ },
681
+ {
682
+ "dataset_config": "ETT_15T",
683
+ "horizon": 96,
684
+ "SQL": 0.618,
685
+ "MASE": 0.7603
686
+ },
687
+ {
688
+ "dataset_config": "ETT_1H",
689
+ "horizon": 168,
690
+ "SQL": 0.9736,
691
+ "MASE": 1.183
692
+ },
693
+ {
694
+ "dataset_config": "proenfo_gfc14",
695
+ "horizon": 168,
696
+ "SQL": 0.883,
697
+ "MASE": 0.9937
698
+ },
699
+ {
700
+ "dataset_config": "hospital_admissions_1W",
701
+ "horizon": 13,
702
+ "SQL": 0.8269,
703
+ "MASE": 0.8035
704
+ },
705
+ {
706
+ "dataset_config": "hospital_admissions_1D",
707
+ "horizon": 28,
708
+ "SQL": 0.6514,
709
+ "MASE": 0.8265
710
+ },
711
+ {
712
+ "dataset_config": "jena_weather_1H",
713
+ "horizon": 24,
714
+ "SQL": 0.4968,
715
+ "MASE": 0.5994
716
+ },
717
+ {
718
+ "dataset_config": "M_DENSE_1D",
719
+ "horizon": 28,
720
+ "SQL": 0.9467,
721
+ "MASE": 1.1487
722
+ },
723
+ {
724
+ "dataset_config": "rohlik_orders_1D",
725
+ "horizon": 61,
726
+ "SQL": 1.1746,
727
+ "MASE": 1.4348
728
+ },
729
+ {
730
+ "dataset_config": "rossmann_1W",
731
+ "horizon": 13,
732
+ "SQL": 0.7566,
733
+ "MASE": 0.4123
734
+ },
735
+ {
736
+ "dataset_config": "rossmann_1D",
737
+ "horizon": 48,
738
+ "SQL": 0.5226,
739
+ "MASE": 0.5088
740
+ },
741
+ {
742
+ "dataset_config": "solar_with_weather_1H",
743
+ "horizon": 24,
744
+ "SQL": 0.9368,
745
+ "MASE": 0.9999
746
+ },
747
+ {
748
+ "dataset_config": "uci_air_quality_1H",
749
+ "horizon": 168,
750
+ "SQL": 0.9629,
751
+ "MASE": 1.1434
752
+ },
753
+ {
754
+ "dataset_config": "uk_covid_nation_1D",
755
+ "horizon": 28,
756
+ "SQL": 9.2265,
757
+ "MASE": 9.8765
758
+ },
759
+ {
760
+ "dataset_config": "us_consumption_1Y",
761
+ "horizon": 5,
762
+ "SQL": 4.2187,
763
+ "MASE": 4.7991
764
+ },
765
+ {
766
+ "dataset_config": "world_co2_emissions",
767
+ "horizon": 5,
768
+ "SQL": 2.9047,
769
+ "MASE": 3.3849
770
+ }
771
+ ]
772
+ }
results/gift_eval_telos_small_50m.json ADDED
@@ -0,0 +1,266 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "benchmark": "Salesforce GIFT-Eval (General Time-Series Forecasting Benchmark \u2014 97 Tasks across 7 Domains \u2014 100% Standalone)",
3
+ "tasks_evaluated": 97,
4
+ "checkpoint_sha256": {
5
+ "telos_small": "ac7b7d2ff259aabdc7d94afccafae9790d2f9d3bb86097d16235ca10f7f2f7a7"
6
+ },
7
+ "nn_context_length": 4096,
8
+ "full_panel": true,
9
+ "subsample": "none: every series, every variate and every official rolling window (Seasonal-Naive recomputed on the same panel)",
10
+ "method": "Blended rows: quantile average of the analytical seasonal-trend solver, a multi-cycle empirical candidate, and the network, with convex weights fitted per task on up to 16 historical backtests inside each `past` (t <= T). NN-only rows are the raw network output with no blend.",
11
+ "seasonal_naive_recomputed_vs_published_crps": {
12
+ "median_ratio": 1.0,
13
+ "within_1pct": 73,
14
+ "tasks": 97,
15
+ "per_task": {
16
+ "bitbrains_fast_storage/H/short": 1.0,
17
+ "solar/H/short": 1.0,
18
+ "solar/H/medium": 1.0,
19
+ "solar/H/long": 1.0,
20
+ "m_dense/D/short": 0.5168,
21
+ "ett2/H/short": 1.0,
22
+ "ett2/H/medium": 1.0,
23
+ "ett2/H/long": 1.0,
24
+ "ett2/D/short": 1.023,
25
+ "electricity/15T/short": 1.0,
26
+ "electricity/15T/medium": 1.0,
27
+ "electricity/15T/long": 1.0,
28
+ "bitbrains_rnd/H/short": 1.0018,
29
+ "loop_seattle/H/short": 1.0,
30
+ "loop_seattle/H/medium": 1.0,
31
+ "loop_seattle/H/long": 1.0,
32
+ "solar/W/short": 1.0049,
33
+ "bizitobs_application/10S/short": 1.0,
34
+ "bizitobs_application/10S/medium": 1.0,
35
+ "bizitobs_application/10S/long": 1.0,
36
+ "bizitobs_service/10S/short": 1.0,
37
+ "bizitobs_service/10S/medium": 1.0,
38
+ "bizitobs_service/10S/long": 1.0,
39
+ "bizitobs_l2c/5T/short": 1.0,
40
+ "bizitobs_l2c/5T/medium": 1.0,
41
+ "bizitobs_l2c/5T/long": 1.0,
42
+ "ett2/W/short": 3.1426,
43
+ "loop_seattle/5T/short": 1.0,
44
+ "loop_seattle/5T/medium": 1.0,
45
+ "loop_seattle/5T/long": 1.0,
46
+ "loop_seattle/D/short": 0.5584,
47
+ "bitbrains_rnd/5T/short": 1.003,
48
+ "bitbrains_rnd/5T/medium": 1.0035,
49
+ "bitbrains_rnd/5T/long": 1.0026,
50
+ "electricity/W/short": 0.7838,
51
+ "solar/D/short": 0.7413,
52
+ "ett1/H/short": 1.0,
53
+ "ett1/H/medium": 1.0,
54
+ "ett1/H/long": 1.0,
55
+ "temperature_rain/D/short": 0.7636,
56
+ "saugeen/W/short": 0.9005,
57
+ "covid_deaths/D/short": 1.1169,
58
+ "us_births/D/short": 0.2782,
59
+ "m4_weekly/W/short": 1.83,
60
+ "car_parts/M/short": 1.0,
61
+ "sz_taxi/H/short": 1.0,
62
+ "ett1/15T/short": 1.0,
63
+ "ett1/15T/medium": 1.0,
64
+ "ett1/15T/long": 1.0,
65
+ "saugeen/M/short": 1.0,
66
+ "us_births/M/short": 1.0,
67
+ "m4_quarterly/Q/short": 1.0,
68
+ "ett1/W/short": 1.3819,
69
+ "saugeen/D/short": 1.2366,
70
+ "electricity/H/short": 1.0,
71
+ "electricity/H/medium": 1.0,
72
+ "electricity/H/long": 1.0,
73
+ "ett1/D/short": 0.8688,
74
+ "bizitobs_l2c/H/short": 1.0,
75
+ "bizitobs_l2c/H/medium": 1.0,
76
+ "bizitobs_l2c/H/long": 1.0,
77
+ "hospital/M/short": 1.0,
78
+ "m4_daily/D/short": 1.2157,
79
+ "bitbrains_fast_storage/5T/short": 1.0,
80
+ "bitbrains_fast_storage/5T/medium": 1.0,
81
+ "bitbrains_fast_storage/5T/long": 0.9998,
82
+ "ett2/15T/short": 1.0,
83
+ "ett2/15T/medium": 1.0,
84
+ "ett2/15T/long": 1.0,
85
+ "jena_weather/10T/short": 0.9999,
86
+ "jena_weather/10T/medium": 0.9999,
87
+ "jena_weather/10T/long": 0.9999,
88
+ "jena_weather/D/short": 0.5704,
89
+ "us_births/W/short": 0.8873,
90
+ "m_dense/H/short": 1.0,
91
+ "m_dense/H/medium": 1.0,
92
+ "m_dense/H/long": 1.0,
93
+ "kdd_cup_2018/D/short": 0.7431,
94
+ "electricity/D/short": 0.8337,
95
+ "restaurant/D/short": 0.5938,
96
+ "jena_weather/H/short": 0.9999,
97
+ "jena_weather/H/medium": 0.9999,
98
+ "jena_weather/H/long": 0.9999,
99
+ "m4_monthly/M/short": 1.0,
100
+ "hierarchical_sales/D/short": 0.6344,
101
+ "m4_hourly/H/short": 1.0,
102
+ "m4_yearly/A/short": 1.0,
103
+ "hierarchical_sales/W/short": 0.7673,
104
+ "kdd_cup_2018/H/short": 0.9927,
105
+ "kdd_cup_2018/H/medium": 0.9807,
106
+ "kdd_cup_2018/H/long": 0.9778,
107
+ "sz_taxi/15T/short": 1.0,
108
+ "sz_taxi/15T/medium": 1.0,
109
+ "sz_taxi/15T/long": 1.0,
110
+ "solar/10T/short": 1.0,
111
+ "solar/10T/medium": 1.0,
112
+ "solar/10T/long": 1.0
113
+ }
114
+ },
115
+ "mean_blend_weights": {
116
+ "telos_small": [
117
+ 0.145,
118
+ 0.251,
119
+ 0.605
120
+ ]
121
+ },
122
+ "elapsed_s": 5505.5,
123
+ "leaderboard": [
124
+ {
125
+ "model_name": "Timestral-209M",
126
+ "provider": "Mistral AI",
127
+ "weights": "209M weights",
128
+ "rel_crps": 0.446,
129
+ "crps_skill_pct": 55.4,
130
+ "rel_mase": 0.6575,
131
+ "mase_skill_pct": 34.25
132
+ },
133
+ {
134
+ "model_name": "Timestral-123M",
135
+ "provider": "Mistral AI",
136
+ "weights": "123M weights",
137
+ "rel_crps": 0.4476,
138
+ "crps_skill_pct": 55.24,
139
+ "rel_mase": 0.6589,
140
+ "mase_skill_pct": 34.11
141
+ },
142
+ {
143
+ "model_name": "TimesFM-3",
144
+ "provider": "Google",
145
+ "weights": "331M weights",
146
+ "rel_crps": 0.4557,
147
+ "crps_skill_pct": 54.43,
148
+ "rel_mase": 0.6668,
149
+ "mase_skill_pct": 33.32
150
+ },
151
+ {
152
+ "model_name": "Timestral-28M",
153
+ "provider": "Mistral AI",
154
+ "weights": "28M weights",
155
+ "rel_crps": 0.461,
156
+ "crps_skill_pct": 53.9,
157
+ "rel_mase": 0.678,
158
+ "mase_skill_pct": 32.2
159
+ },
160
+ {
161
+ "model_name": "Toto-2.0 (2.5B)",
162
+ "provider": "Datadog",
163
+ "weights": "2.5B weights",
164
+ "rel_crps": 0.4759,
165
+ "crps_skill_pct": 52.41,
166
+ "rel_mase": 0.6956,
167
+ "mase_skill_pct": 30.44
168
+ },
169
+ {
170
+ "model_name": "Chronos-2",
171
+ "provider": "AWS",
172
+ "weights": "120M weights",
173
+ "rel_crps": 0.4854,
174
+ "crps_skill_pct": 51.46,
175
+ "rel_mase": 0.6978,
176
+ "mase_skill_pct": 30.22
177
+ },
178
+ {
179
+ "model_name": "TimesFM-2.5",
180
+ "provider": "Google",
181
+ "weights": "200M weights",
182
+ "rel_crps": 0.4903,
183
+ "crps_skill_pct": 50.97,
184
+ "rel_mase": 0.705,
185
+ "mase_skill_pct": 29.5
186
+ },
187
+ {
188
+ "model_name": "Moirai-2.0",
189
+ "provider": "Salesforce",
190
+ "weights": "311M weights",
191
+ "rel_crps": 0.5164,
192
+ "crps_skill_pct": 48.36,
193
+ "rel_mase": 0.7281,
194
+ "mase_skill_pct": 27.19
195
+ },
196
+ {
197
+ "model_name": "TabPFN-TS",
198
+ "provider": "Prior Labs",
199
+ "weights": "88M weights",
200
+ "rel_crps": 0.5441,
201
+ "crps_skill_pct": 45.59,
202
+ "rel_mase": 0.7709,
203
+ "mase_skill_pct": 22.91
204
+ },
205
+ {
206
+ "model_name": "Telos-Small (50.1M Wts)",
207
+ "provider": "MAGI Labs",
208
+ "weights": "50.1M weights (Standalone JEPA)",
209
+ "rel_crps": 0.5621,
210
+ "crps_skill_pct": 43.79,
211
+ "rel_mase": 0.7591,
212
+ "mase_skill_pct": 24.09
213
+ },
214
+ {
215
+ "model_name": "PatchTST",
216
+ "provider": "Transformer",
217
+ "weights": "1.8M weights",
218
+ "rel_crps": 0.587,
219
+ "crps_skill_pct": 41.3,
220
+ "rel_mase": 0.8486,
221
+ "mase_skill_pct": 15.14
222
+ },
223
+ {
224
+ "model_name": "TFT",
225
+ "provider": "Deep Learning",
226
+ "weights": "2.4M weights",
227
+ "rel_crps": 0.6047,
228
+ "crps_skill_pct": 39.53,
229
+ "rel_mase": 0.9153,
230
+ "mase_skill_pct": 8.47
231
+ },
232
+ {
233
+ "model_name": "DLinear",
234
+ "provider": "Linear Baseline",
235
+ "weights": "14K weights",
236
+ "rel_crps": 0.8456,
237
+ "crps_skill_pct": 15.44,
238
+ "rel_mase": 1.0608,
239
+ "mase_skill_pct": -6.08
240
+ },
241
+ {
242
+ "model_name": "Seasonal Naive",
243
+ "provider": "Baseline",
244
+ "weights": "0 weights",
245
+ "rel_crps": 1.0,
246
+ "crps_skill_pct": 0.0,
247
+ "rel_mase": 1.0,
248
+ "mase_skill_pct": 0.0
249
+ }
250
+ ],
251
+ "pure_nn_leaderboard": [
252
+ {
253
+ "model_name": "Telos-Small (Pure JEPA)",
254
+ "provider": "MAGI Labs",
255
+ "weights": "50.1M weights",
256
+ "rel_crps": 0.5679,
257
+ "crps_skill_pct": 43.21,
258
+ "rel_mase": 0.8053,
259
+ "mase_skill_pct": 19.47
260
+ }
261
+ ],
262
+ "model_family": "Telos",
263
+ "model_name": "Telos-Small",
264
+ "parameters": 50100747,
265
+ "telos_small_parameters": 50100747
266
+ }
results/ind_eval_telos_small_50m.json ADDED
@@ -0,0 +1,3905 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "benchmark": "Cognite `IND-Eval` Industrial Benchmark (187 Tasks across 9 Physical/Industrial Sources \u2014 100% Standalone)",
3
+ "tasks_evaluated": 187,
4
+ "checkpoint_sha256": {
5
+ "telos_small": "ac7b7d2ff259aabdc7d94afccafae9790d2f9d3bb86097d16235ca10f7f2f7a7"
6
+ },
7
+ "parameters": 50100747,
8
+ "elapsed_s": 1906.7,
9
+ "leaderboard": [
10
+ {
11
+ "model_name": "Timestral-209M",
12
+ "provider": "Mistral AI",
13
+ "weights": "209M weights",
14
+ "ncrps": 0.4345,
15
+ "crps_skill_pct": 56.55,
16
+ "nmase": 0.646,
17
+ "mase_skill_pct": 35.4,
18
+ "core6_ncrps": 0.3911,
19
+ "core6_crps_skill_pct": 60.89,
20
+ "core6_nmase": 0.5911,
21
+ "per_source_ncrps": {
22
+ "3w": 0.5736,
23
+ "electricity": 0.5427,
24
+ "ett": 0.6357,
25
+ "mds": 0.4582,
26
+ "metropt3": 0.1902,
27
+ "neats": 0.4791,
28
+ "pronto": 0.4806,
29
+ "solar": 0.447,
30
+ "tablet_compression": 0.3109
31
+ }
32
+ },
33
+ {
34
+ "model_name": "Timestral-123M",
35
+ "provider": "Mistral AI",
36
+ "weights": "123M weights",
37
+ "ncrps": 0.4413,
38
+ "crps_skill_pct": 55.87,
39
+ "nmase": 0.6627,
40
+ "mase_skill_pct": 33.73,
41
+ "core6_ncrps": 0.3988,
42
+ "core6_crps_skill_pct": 60.12,
43
+ "core6_nmase": 0.6125,
44
+ "per_source_ncrps": {
45
+ "3w": 0.5894,
46
+ "electricity": 0.5474,
47
+ "ett": 0.6408,
48
+ "mds": 0.4613,
49
+ "metropt3": 0.1954,
50
+ "neats": 0.4775,
51
+ "pronto": 0.5122,
52
+ "solar": 0.4504,
53
+ "tablet_compression": 0.3094
54
+ }
55
+ },
56
+ {
57
+ "model_name": "Timestral-28M",
58
+ "provider": "Mistral AI",
59
+ "weights": "28M weights",
60
+ "ncrps": 0.4642,
61
+ "crps_skill_pct": 53.58,
62
+ "nmase": 0.6912,
63
+ "mase_skill_pct": 30.88,
64
+ "core6_ncrps": 0.4272,
65
+ "core6_crps_skill_pct": 57.28,
66
+ "core6_nmase": 0.6486,
67
+ "per_source_ncrps": {
68
+ "3w": 0.6169,
69
+ "electricity": 0.5566,
70
+ "ett": 0.643,
71
+ "mds": 0.4754,
72
+ "metropt3": 0.2175,
73
+ "neats": 0.4819,
74
+ "pronto": 0.6287,
75
+ "solar": 0.4602,
76
+ "tablet_compression": 0.3144
77
+ }
78
+ },
79
+ {
80
+ "model_name": "t0-gamma",
81
+ "provider": "The Forecasting Co.",
82
+ "weights": "256M weights",
83
+ "ncrps": 0.4675,
84
+ "crps_skill_pct": 53.25,
85
+ "nmase": 0.6941,
86
+ "mase_skill_pct": 30.59,
87
+ "core6_ncrps": 0.4522,
88
+ "core6_crps_skill_pct": 54.78,
89
+ "core6_nmase": 0.6832,
90
+ "per_source_ncrps": {
91
+ "3w": 0.6607,
92
+ "electricity": 0.5404,
93
+ "ett": 0.7017,
94
+ "mds": 0.5873,
95
+ "metropt3": 0.2534,
96
+ "neats": 0.5317,
97
+ "pronto": 0.5126,
98
+ "solar": 0.3289,
99
+ "tablet_compression": 0.3188
100
+ }
101
+ },
102
+ {
103
+ "model_name": "TimesFM-3",
104
+ "provider": "Google",
105
+ "weights": "331M weights",
106
+ "ncrps": 0.4734,
107
+ "crps_skill_pct": 52.66,
108
+ "nmase": 0.7127,
109
+ "mase_skill_pct": 28.73,
110
+ "core6_ncrps": 0.4357,
111
+ "core6_crps_skill_pct": 56.43,
112
+ "core6_nmase": 0.6735,
113
+ "per_source_ncrps": {
114
+ "3w": 0.69,
115
+ "electricity": 0.558,
116
+ "ett": 0.649,
117
+ "mds": 0.4814,
118
+ "metropt3": 0.2769,
119
+ "neats": 0.494,
120
+ "pronto": 0.4727,
121
+ "solar": 0.4819,
122
+ "tablet_compression": 0.3184
123
+ }
124
+ },
125
+ {
126
+ "model_name": "Timestral-5M",
127
+ "provider": "Mistral AI",
128
+ "weights": "5.2M weights",
129
+ "ncrps": 0.4876,
130
+ "crps_skill_pct": 51.24,
131
+ "nmase": 0.7256,
132
+ "mase_skill_pct": 27.44,
133
+ "core6_ncrps": 0.4516,
134
+ "core6_crps_skill_pct": 54.84,
135
+ "core6_nmase": 0.6861,
136
+ "per_source_ncrps": {
137
+ "3w": 0.6814,
138
+ "electricity": 0.5788,
139
+ "ett": 0.6544,
140
+ "mds": 0.4919,
141
+ "metropt3": 0.274,
142
+ "neats": 0.4842,
143
+ "pronto": 0.5909,
144
+ "solar": 0.4849,
145
+ "tablet_compression": 0.3229
146
+ }
147
+ },
148
+ {
149
+ "model_name": "Toto-2.0 (313M)",
150
+ "provider": "Datadog",
151
+ "weights": "313M weights",
152
+ "ncrps": 0.5011,
153
+ "crps_skill_pct": 49.89,
154
+ "nmase": 0.7349,
155
+ "mase_skill_pct": 26.51,
156
+ "core6_ncrps": 0.4705,
157
+ "core6_crps_skill_pct": 52.95,
158
+ "core6_nmase": 0.6997,
159
+ "per_source_ncrps": {
160
+ "3w": 0.6542,
161
+ "electricity": 0.5879,
162
+ "ett": 0.6655,
163
+ "mds": 0.4666,
164
+ "metropt3": 0.2614,
165
+ "neats": 0.4895,
166
+ "pronto": 0.8831,
167
+ "solar": 0.47,
168
+ "tablet_compression": 0.3143
169
+ }
170
+ },
171
+ {
172
+ "model_name": "t0-beta",
173
+ "provider": "The Forecasting Co.",
174
+ "weights": "256M weights",
175
+ "ncrps": 0.511,
176
+ "crps_skill_pct": 48.9,
177
+ "nmase": 0.7403,
178
+ "mase_skill_pct": 25.97,
179
+ "core6_ncrps": 0.5048,
180
+ "core6_crps_skill_pct": 49.52,
181
+ "core6_nmase": 0.7353,
182
+ "per_source_ncrps": {
183
+ "3w": 0.7156,
184
+ "electricity": 0.5735,
185
+ "ett": 0.6989,
186
+ "mds": 0.7346,
187
+ "metropt3": 0.2758,
188
+ "neats": 0.5723,
189
+ "pronto": 0.6123,
190
+ "solar": 0.3583,
191
+ "tablet_compression": 0.3256
192
+ }
193
+ },
194
+ {
195
+ "model_name": "Tafsut-base",
196
+ "provider": "Tafsut-FM",
197
+ "weights": "Foundation",
198
+ "ncrps": 0.5132,
199
+ "crps_skill_pct": 48.68,
200
+ "nmase": 0.7387,
201
+ "mase_skill_pct": 26.13,
202
+ "core6_ncrps": 0.4979,
203
+ "core6_crps_skill_pct": 50.21,
204
+ "core6_nmase": 0.7244,
205
+ "per_source_ncrps": {
206
+ "3w": 0.6796,
207
+ "electricity": 0.5641,
208
+ "ett": 0.6868,
209
+ "mds": 0.4911,
210
+ "metropt3": 0.3379,
211
+ "neats": 0.514,
212
+ "pronto": 0.8127,
213
+ "solar": 0.4183,
214
+ "tablet_compression": 0.3235
215
+ }
216
+ },
217
+ {
218
+ "model_name": "Granite-PatchTST-r2",
219
+ "provider": "IBM",
220
+ "weights": "Foundation",
221
+ "ncrps": 0.5209,
222
+ "crps_skill_pct": 47.91,
223
+ "nmase": 0.7661,
224
+ "mase_skill_pct": 23.39,
225
+ "core6_ncrps": 0.5053,
226
+ "core6_crps_skill_pct": 49.47,
227
+ "core6_nmase": 0.7517,
228
+ "per_source_ncrps": {
229
+ "3w": 0.6981,
230
+ "electricity": 0.5439,
231
+ "ett": 0.6683,
232
+ "mds": 0.4781,
233
+ "metropt3": 0.3302,
234
+ "neats": 0.4913,
235
+ "pronto": 0.9236,
236
+ "solar": 0.4663,
237
+ "tablet_compression": 0.3329
238
+ }
239
+ },
240
+ {
241
+ "model_name": "TiRex-2",
242
+ "provider": "NX-AI",
243
+ "weights": "82M weights",
244
+ "ncrps": 0.5368,
245
+ "crps_skill_pct": 46.32,
246
+ "nmase": 0.7792,
247
+ "mase_skill_pct": 22.08,
248
+ "core6_ncrps": 0.5088,
249
+ "core6_crps_skill_pct": 49.12,
250
+ "core6_nmase": 0.7567,
251
+ "per_source_ncrps": {
252
+ "3w": 0.7861,
253
+ "electricity": 0.5899,
254
+ "ett": 0.6916,
255
+ "mds": 0.5423,
256
+ "metropt3": 0.3214,
257
+ "neats": 0.5506,
258
+ "pronto": 0.7178,
259
+ "solar": 0.5226,
260
+ "tablet_compression": 0.3205
261
+ }
262
+ },
263
+ {
264
+ "model_name": "Chronos-2",
265
+ "provider": "AWS",
266
+ "weights": "120M weights",
267
+ "ncrps": 0.5386,
268
+ "crps_skill_pct": 46.14,
269
+ "nmase": 0.7547,
270
+ "mase_skill_pct": 24.53,
271
+ "core6_ncrps": 0.5282,
272
+ "core6_crps_skill_pct": 47.18,
273
+ "core6_nmase": 0.7318,
274
+ "per_source_ncrps": {
275
+ "3w": 0.7487,
276
+ "electricity": 0.5448,
277
+ "ett": 0.6739,
278
+ "mds": 0.9483,
279
+ "metropt3": 0.3216,
280
+ "neats": 0.5162,
281
+ "pronto": 0.5692,
282
+ "solar": 0.4784,
283
+ "tablet_compression": 0.3236
284
+ }
285
+ },
286
+ {
287
+ "model_name": "Telos-Small (50.1M Wts)",
288
+ "provider": "MAGI Labs",
289
+ "weights": "50.1M weights (Standalone JEPA)",
290
+ "ncrps": 0.6594,
291
+ "crps_skill_pct": 34.06,
292
+ "nmase": 0.9411,
293
+ "mase_skill_pct": 5.89,
294
+ "core6_ncrps": 0.6794,
295
+ "core6_crps_skill_pct": 32.06,
296
+ "core6_nmase": 0.9898,
297
+ "per_source_ncrps": {
298
+ "3w": 1.0879,
299
+ "electricity": 0.6737,
300
+ "ett": 0.6787,
301
+ "mds": 0.7723,
302
+ "metropt3": 0.5261,
303
+ "neats": 0.5542,
304
+ "pronto": 1.1662,
305
+ "solar": 0.5243,
306
+ "tablet_compression": 0.3442
307
+ }
308
+ },
309
+ {
310
+ "model_name": "Seasonal Naive",
311
+ "provider": "Baseline",
312
+ "weights": "0 weights",
313
+ "ncrps": 1.0,
314
+ "crps_skill_pct": 0.0,
315
+ "nmase": 1.0,
316
+ "mase_skill_pct": 0.0,
317
+ "core6_ncrps": 1.0,
318
+ "core6_crps_skill_pct": 0.0,
319
+ "core6_nmase": 1.0,
320
+ "per_source_ncrps": {}
321
+ }
322
+ ],
323
+ "pure_nn_leaderboard": [
324
+ {
325
+ "model_name": "Telos-Small (Pure JEPA)",
326
+ "provider": "MAGI Labs",
327
+ "weights": "50.1M weights",
328
+ "ncrps": 0.6182,
329
+ "crps_skill_pct": 38.18,
330
+ "nmase": 0.906,
331
+ "mase_skill_pct": 9.4,
332
+ "core6_ncrps": 0.6182,
333
+ "core6_crps_skill_pct": 38.18,
334
+ "core6_nmase": 0.93,
335
+ "per_source_ncrps": {
336
+ "3w": 1.0866,
337
+ "electricity": 0.6625,
338
+ "ett": 0.6806,
339
+ "mds": 0.6336,
340
+ "metropt3": 0.5224,
341
+ "neats": 0.5292,
342
+ "pronto": 0.8646,
343
+ "solar": 0.5244,
344
+ "tablet_compression": 0.3391
345
+ }
346
+ }
347
+ ],
348
+ "per_task": [
349
+ {
350
+ "source": "3w",
351
+ "dataset": "event-0",
352
+ "term": "long",
353
+ "H": 1024,
354
+ "items": 997,
355
+ "telos_small": {
356
+ "nCRPS": 0.7923,
357
+ "nMASE": 0.9613
358
+ },
359
+ "telos_small_pure_jepa": {
360
+ "nCRPS": 0.7585,
361
+ "nMASE": 0.951
362
+ },
363
+ "analytical_baseline": {
364
+ "nCRPS": 0.9522,
365
+ "nMASE": 0.9862
366
+ }
367
+ },
368
+ {
369
+ "source": "3w",
370
+ "dataset": "event-0",
371
+ "term": "short",
372
+ "H": 512,
373
+ "items": 1000,
374
+ "telos_small": {
375
+ "nCRPS": 0.8511,
376
+ "nMASE": 1.0298
377
+ },
378
+ "telos_small_pure_jepa": {
379
+ "nCRPS": 0.8034,
380
+ "nMASE": 1.0062
381
+ },
382
+ "analytical_baseline": {
383
+ "nCRPS": 1.0005,
384
+ "nMASE": 1.0546
385
+ }
386
+ },
387
+ {
388
+ "source": "3w",
389
+ "dataset": "event-1",
390
+ "term": "long",
391
+ "H": 1024,
392
+ "items": 680,
393
+ "telos_small": {
394
+ "nCRPS": 1.5408,
395
+ "nMASE": 1.2571
396
+ },
397
+ "telos_small_pure_jepa": {
398
+ "nCRPS": 1.2956,
399
+ "nMASE": 1.2391
400
+ },
401
+ "analytical_baseline": {
402
+ "nCRPS": 1.259,
403
+ "nMASE": 1.0112
404
+ }
405
+ },
406
+ {
407
+ "source": "3w",
408
+ "dataset": "event-1",
409
+ "term": "short",
410
+ "H": 512,
411
+ "items": 680,
412
+ "telos_small": {
413
+ "nCRPS": 1.4578,
414
+ "nMASE": 1.2977
415
+ },
416
+ "telos_small_pure_jepa": {
417
+ "nCRPS": 1.2949,
418
+ "nMASE": 1.257
419
+ },
420
+ "analytical_baseline": {
421
+ "nCRPS": 1.2415,
422
+ "nMASE": 1.0268
423
+ }
424
+ },
425
+ {
426
+ "source": "3w",
427
+ "dataset": "event-2",
428
+ "term": "long",
429
+ "H": 1024,
430
+ "items": 30,
431
+ "telos_small": {
432
+ "nCRPS": 1.3485,
433
+ "nMASE": 1.012
434
+ },
435
+ "telos_small_pure_jepa": {
436
+ "nCRPS": 2.1653,
437
+ "nMASE": 1.3759
438
+ },
439
+ "analytical_baseline": {
440
+ "nCRPS": 1.4331,
441
+ "nMASE": 1.006
442
+ }
443
+ },
444
+ {
445
+ "source": "3w",
446
+ "dataset": "event-2",
447
+ "term": "short",
448
+ "H": 512,
449
+ "items": 38,
450
+ "telos_small": {
451
+ "nCRPS": 1.5817,
452
+ "nMASE": 1.0257
453
+ },
454
+ "telos_small_pure_jepa": {
455
+ "nCRPS": 2.7459,
456
+ "nMASE": 1.4979
457
+ },
458
+ "analytical_baseline": {
459
+ "nCRPS": 1.9139,
460
+ "nMASE": 1.0183
461
+ }
462
+ },
463
+ {
464
+ "source": "3w",
465
+ "dataset": "event-3",
466
+ "term": "long",
467
+ "H": 1024,
468
+ "items": 1070,
469
+ "telos_small": {
470
+ "nCRPS": 0.6211,
471
+ "nMASE": 0.7462
472
+ },
473
+ "telos_small_pure_jepa": {
474
+ "nCRPS": 0.6027,
475
+ "nMASE": 0.7325
476
+ },
477
+ "analytical_baseline": {
478
+ "nCRPS": 0.8921,
479
+ "nMASE": 0.9113
480
+ }
481
+ },
482
+ {
483
+ "source": "3w",
484
+ "dataset": "event-3",
485
+ "term": "short",
486
+ "H": 512,
487
+ "items": 1070,
488
+ "telos_small": {
489
+ "nCRPS": 0.5743,
490
+ "nMASE": 0.7249
491
+ },
492
+ "telos_small_pure_jepa": {
493
+ "nCRPS": 0.5702,
494
+ "nMASE": 0.7218
495
+ },
496
+ "analytical_baseline": {
497
+ "nCRPS": 0.92,
498
+ "nMASE": 0.9566
499
+ }
500
+ },
501
+ {
502
+ "source": "3w",
503
+ "dataset": "event-4",
504
+ "term": "long",
505
+ "H": 1024,
506
+ "items": 1380,
507
+ "telos_small": {
508
+ "nCRPS": 0.6029,
509
+ "nMASE": 0.8089
510
+ },
511
+ "telos_small_pure_jepa": {
512
+ "nCRPS": 0.589,
513
+ "nMASE": 0.7881
514
+ },
515
+ "analytical_baseline": {
516
+ "nCRPS": 0.9098,
517
+ "nMASE": 0.9318
518
+ }
519
+ },
520
+ {
521
+ "source": "3w",
522
+ "dataset": "event-4",
523
+ "term": "short",
524
+ "H": 512,
525
+ "items": 1380,
526
+ "telos_small": {
527
+ "nCRPS": 0.54,
528
+ "nMASE": 0.7897
529
+ },
530
+ "telos_small_pure_jepa": {
531
+ "nCRPS": 0.5388,
532
+ "nMASE": 0.7853
533
+ },
534
+ "analytical_baseline": {
535
+ "nCRPS": 0.8781,
536
+ "nMASE": 0.9742
537
+ }
538
+ },
539
+ {
540
+ "source": "3w",
541
+ "dataset": "event-5",
542
+ "term": "long",
543
+ "H": 1024,
544
+ "items": 537,
545
+ "telos_small": {
546
+ "nCRPS": 0.8565,
547
+ "nMASE": 1.0225
548
+ },
549
+ "telos_small_pure_jepa": {
550
+ "nCRPS": 0.7998,
551
+ "nMASE": 1.1726
552
+ },
553
+ "analytical_baseline": {
554
+ "nCRPS": 0.8752,
555
+ "nMASE": 0.9873
556
+ }
557
+ },
558
+ {
559
+ "source": "3w",
560
+ "dataset": "event-5",
561
+ "term": "short",
562
+ "H": 512,
563
+ "items": 531,
564
+ "telos_small": {
565
+ "nCRPS": 0.8291,
566
+ "nMASE": 1.0091
567
+ },
568
+ "telos_small_pure_jepa": {
569
+ "nCRPS": 0.8879,
570
+ "nMASE": 1.1967
571
+ },
572
+ "analytical_baseline": {
573
+ "nCRPS": 0.8806,
574
+ "nMASE": 0.9745
575
+ }
576
+ },
577
+ {
578
+ "source": "3w",
579
+ "dataset": "event-6",
580
+ "term": "long",
581
+ "H": 1024,
582
+ "items": 23,
583
+ "telos_small": {
584
+ "nCRPS": 2.9833,
585
+ "nMASE": 1.5333
586
+ },
587
+ "telos_small_pure_jepa": {
588
+ "nCRPS": 2.9408,
589
+ "nMASE": 2.5876
590
+ },
591
+ "analytical_baseline": {
592
+ "nCRPS": 3.0035,
593
+ "nMASE": 1.2577
594
+ }
595
+ },
596
+ {
597
+ "source": "3w",
598
+ "dataset": "event-6",
599
+ "term": "short",
600
+ "H": 512,
601
+ "items": 23,
602
+ "telos_small": {
603
+ "nCRPS": 1.3573,
604
+ "nMASE": 1.2107
605
+ },
606
+ "telos_small_pure_jepa": {
607
+ "nCRPS": 2.4881,
608
+ "nMASE": 2.7219
609
+ },
610
+ "analytical_baseline": {
611
+ "nCRPS": 2.3701,
612
+ "nMASE": 1.204
613
+ }
614
+ },
615
+ {
616
+ "source": "3w",
617
+ "dataset": "event-7",
618
+ "term": "long",
619
+ "H": 1024,
620
+ "items": 100,
621
+ "telos_small": {
622
+ "nCRPS": 1.0913,
623
+ "nMASE": 1.1491
624
+ },
625
+ "telos_small_pure_jepa": {
626
+ "nCRPS": 1.0281,
627
+ "nMASE": 1.1287
628
+ },
629
+ "analytical_baseline": {
630
+ "nCRPS": 1.303,
631
+ "nMASE": 1.0105
632
+ }
633
+ },
634
+ {
635
+ "source": "3w",
636
+ "dataset": "event-7",
637
+ "term": "short",
638
+ "H": 512,
639
+ "items": 100,
640
+ "telos_small": {
641
+ "nCRPS": 2.3379,
642
+ "nMASE": 1.8048
643
+ },
644
+ "telos_small_pure_jepa": {
645
+ "nCRPS": 1.1748,
646
+ "nMASE": 1.3218
647
+ },
648
+ "analytical_baseline": {
649
+ "nCRPS": 1.2746,
650
+ "nMASE": 1.0387
651
+ }
652
+ },
653
+ {
654
+ "source": "3w",
655
+ "dataset": "event-8",
656
+ "term": "long",
657
+ "H": 1024,
658
+ "items": 119,
659
+ "telos_small": {
660
+ "nCRPS": 1.1153,
661
+ "nMASE": 1.3831
662
+ },
663
+ "telos_small_pure_jepa": {
664
+ "nCRPS": 0.8784,
665
+ "nMASE": 0.9238
666
+ },
667
+ "analytical_baseline": {
668
+ "nCRPS": 1.2054,
669
+ "nMASE": 1.0613
670
+ }
671
+ },
672
+ {
673
+ "source": "3w",
674
+ "dataset": "event-8",
675
+ "term": "short",
676
+ "H": 512,
677
+ "items": 119,
678
+ "telos_small": {
679
+ "nCRPS": 1.1406,
680
+ "nMASE": 1.1598
681
+ },
682
+ "telos_small_pure_jepa": {
683
+ "nCRPS": 0.9175,
684
+ "nMASE": 1.0219
685
+ },
686
+ "analytical_baseline": {
687
+ "nCRPS": 1.2516,
688
+ "nMASE": 1.1685
689
+ }
690
+ },
691
+ {
692
+ "source": "3w",
693
+ "dataset": "event-9",
694
+ "term": "long",
695
+ "H": 1024,
696
+ "items": 776,
697
+ "telos_small": {
698
+ "nCRPS": 1.331,
699
+ "nMASE": 1.4237
700
+ },
701
+ "telos_small_pure_jepa": {
702
+ "nCRPS": 1.3579,
703
+ "nMASE": 1.5959
704
+ },
705
+ "analytical_baseline": {
706
+ "nCRPS": 1.5505,
707
+ "nMASE": 1.074
708
+ }
709
+ },
710
+ {
711
+ "source": "3w",
712
+ "dataset": "event-9",
713
+ "term": "short",
714
+ "H": 512,
715
+ "items": 776,
716
+ "telos_small": {
717
+ "nCRPS": 1.1571,
718
+ "nMASE": 1.1939
719
+ },
720
+ "telos_small_pure_jepa": {
721
+ "nCRPS": 1.1568,
722
+ "nMASE": 1.3751
723
+ },
724
+ "analytical_baseline": {
725
+ "nCRPS": 1.3816,
726
+ "nMASE": 1.0795
727
+ }
728
+ },
729
+ {
730
+ "source": "electricity",
731
+ "dataset": "electricity-15T",
732
+ "term": "long",
733
+ "H": 720,
734
+ "items": 7398,
735
+ "telos_small": {
736
+ "nCRPS": 0.6984,
737
+ "nMASE": 0.7936
738
+ },
739
+ "telos_small_pure_jepa": {
740
+ "nCRPS": 0.7438,
741
+ "nMASE": 0.8449
742
+ },
743
+ "analytical_baseline": {
744
+ "nCRPS": 0.8287,
745
+ "nMASE": 0.8763
746
+ }
747
+ },
748
+ {
749
+ "source": "electricity",
750
+ "dataset": "electricity-15T",
751
+ "term": "medium",
752
+ "H": 480,
753
+ "items": 7400,
754
+ "telos_small": {
755
+ "nCRPS": 0.7467,
756
+ "nMASE": 0.8077
757
+ },
758
+ "telos_small_pure_jepa": {
759
+ "nCRPS": 0.7712,
760
+ "nMASE": 0.8329
761
+ },
762
+ "analytical_baseline": {
763
+ "nCRPS": 0.837,
764
+ "nMASE": 0.8786
765
+ }
766
+ },
767
+ {
768
+ "source": "electricity",
769
+ "dataset": "electricity-15T",
770
+ "term": "short",
771
+ "H": 48,
772
+ "items": 7400,
773
+ "telos_small": {
774
+ "nCRPS": 0.6504,
775
+ "nMASE": 0.7048
776
+ },
777
+ "telos_small_pure_jepa": {
778
+ "nCRPS": 0.6409,
779
+ "nMASE": 0.7064
780
+ },
781
+ "analytical_baseline": {
782
+ "nCRPS": 0.7478,
783
+ "nMASE": 0.7778
784
+ }
785
+ },
786
+ {
787
+ "source": "electricity",
788
+ "dataset": "electricity-D",
789
+ "term": "short",
790
+ "H": 30,
791
+ "items": 1697,
792
+ "telos_small": {
793
+ "nCRPS": 0.6732,
794
+ "nMASE": 0.7943
795
+ },
796
+ "telos_small_pure_jepa": {
797
+ "nCRPS": 0.6693,
798
+ "nMASE": 0.792
799
+ },
800
+ "analytical_baseline": {
801
+ "nCRPS": 0.8236,
802
+ "nMASE": 0.8878
803
+ }
804
+ },
805
+ {
806
+ "source": "electricity",
807
+ "dataset": "electricity-H",
808
+ "term": "long",
809
+ "H": 720,
810
+ "items": 1846,
811
+ "telos_small": {
812
+ "nCRPS": 0.619,
813
+ "nMASE": 0.8128
814
+ },
815
+ "telos_small_pure_jepa": {
816
+ "nCRPS": 0.5853,
817
+ "nMASE": 0.8125
818
+ },
819
+ "analytical_baseline": {
820
+ "nCRPS": 0.7956,
821
+ "nMASE": 0.8837
822
+ }
823
+ },
824
+ {
825
+ "source": "electricity",
826
+ "dataset": "electricity-H",
827
+ "term": "medium",
828
+ "H": 480,
829
+ "items": 2957,
830
+ "telos_small": {
831
+ "nCRPS": 0.6424,
832
+ "nMASE": 0.801
833
+ },
834
+ "telos_small_pure_jepa": {
835
+ "nCRPS": 0.6063,
836
+ "nMASE": 0.8029
837
+ },
838
+ "analytical_baseline": {
839
+ "nCRPS": 0.8116,
840
+ "nMASE": 0.8684
841
+ }
842
+ },
843
+ {
844
+ "source": "electricity",
845
+ "dataset": "electricity-H",
846
+ "term": "short",
847
+ "H": 48,
848
+ "items": 7400,
849
+ "telos_small": {
850
+ "nCRPS": 0.6787,
851
+ "nMASE": 0.7376
852
+ },
853
+ "telos_small_pure_jepa": {
854
+ "nCRPS": 0.6897,
855
+ "nMASE": 0.7519
856
+ },
857
+ "analytical_baseline": {
858
+ "nCRPS": 0.7888,
859
+ "nMASE": 0.8183
860
+ }
861
+ },
862
+ {
863
+ "source": "electricity",
864
+ "dataset": "electricity-W",
865
+ "term": "short",
866
+ "H": 8,
867
+ "items": 1019,
868
+ "telos_small": {
869
+ "nCRPS": 0.6887,
870
+ "nMASE": 0.839
871
+ },
872
+ "telos_small_pure_jepa": {
873
+ "nCRPS": 0.6162,
874
+ "nMASE": 0.8136
875
+ },
876
+ "analytical_baseline": {
877
+ "nCRPS": 1.1304,
878
+ "nMASE": 1.0156
879
+ }
880
+ },
881
+ {
882
+ "source": "ett",
883
+ "dataset": "ett1-15T",
884
+ "term": "long",
885
+ "H": 720,
886
+ "items": 70,
887
+ "telos_small": {
888
+ "nCRPS": 0.6789,
889
+ "nMASE": 0.8703
890
+ },
891
+ "telos_small_pure_jepa": {
892
+ "nCRPS": 0.6716,
893
+ "nMASE": 0.8874
894
+ },
895
+ "analytical_baseline": {
896
+ "nCRPS": 0.7551,
897
+ "nMASE": 0.8943
898
+ }
899
+ },
900
+ {
901
+ "source": "ett",
902
+ "dataset": "ett1-15T",
903
+ "term": "medium",
904
+ "H": 480,
905
+ "items": 105,
906
+ "telos_small": {
907
+ "nCRPS": 0.7296,
908
+ "nMASE": 0.8539
909
+ },
910
+ "telos_small_pure_jepa": {
911
+ "nCRPS": 0.7339,
912
+ "nMASE": 0.8706
913
+ },
914
+ "analytical_baseline": {
915
+ "nCRPS": 0.7936,
916
+ "nMASE": 0.8615
917
+ }
918
+ },
919
+ {
920
+ "source": "ett",
921
+ "dataset": "ett1-15T",
922
+ "term": "short",
923
+ "H": 48,
924
+ "items": 140,
925
+ "telos_small": {
926
+ "nCRPS": 0.6398,
927
+ "nMASE": 0.7404
928
+ },
929
+ "telos_small_pure_jepa": {
930
+ "nCRPS": 0.6401,
931
+ "nMASE": 0.7424
932
+ },
933
+ "analytical_baseline": {
934
+ "nCRPS": 0.7625,
935
+ "nMASE": 0.7882
936
+ }
937
+ },
938
+ {
939
+ "source": "ett",
940
+ "dataset": "ett1-D",
941
+ "term": "short",
942
+ "H": 30,
943
+ "items": 21,
944
+ "telos_small": {
945
+ "nCRPS": 0.6861,
946
+ "nMASE": 0.9796
947
+ },
948
+ "telos_small_pure_jepa": {
949
+ "nCRPS": 0.6826,
950
+ "nMASE": 0.9868
951
+ },
952
+ "analytical_baseline": {
953
+ "nCRPS": 0.8354,
954
+ "nMASE": 0.9891
955
+ }
956
+ },
957
+ {
958
+ "source": "ett",
959
+ "dataset": "ett1-H",
960
+ "term": "long",
961
+ "H": 720,
962
+ "items": 21,
963
+ "telos_small": {
964
+ "nCRPS": 0.55,
965
+ "nMASE": 0.8838
966
+ },
967
+ "telos_small_pure_jepa": {
968
+ "nCRPS": 0.5367,
969
+ "nMASE": 0.886
970
+ },
971
+ "analytical_baseline": {
972
+ "nCRPS": 0.6631,
973
+ "nMASE": 0.9109
974
+ }
975
+ },
976
+ {
977
+ "source": "ett",
978
+ "dataset": "ett1-H",
979
+ "term": "medium",
980
+ "H": 480,
981
+ "items": 28,
982
+ "telos_small": {
983
+ "nCRPS": 0.5679,
984
+ "nMASE": 0.7981
985
+ },
986
+ "telos_small_pure_jepa": {
987
+ "nCRPS": 0.5661,
988
+ "nMASE": 0.7971
989
+ },
990
+ "analytical_baseline": {
991
+ "nCRPS": 0.6849,
992
+ "nMASE": 0.8649
993
+ }
994
+ },
995
+ {
996
+ "source": "ett",
997
+ "dataset": "ett1-H",
998
+ "term": "short",
999
+ "H": 48,
1000
+ "items": 140,
1001
+ "telos_small": {
1002
+ "nCRPS": 0.7542,
1003
+ "nMASE": 0.8387
1004
+ },
1005
+ "telos_small_pure_jepa": {
1006
+ "nCRPS": 0.755,
1007
+ "nMASE": 0.8392
1008
+ },
1009
+ "analytical_baseline": {
1010
+ "nCRPS": 0.8493,
1011
+ "nMASE": 0.9056
1012
+ }
1013
+ },
1014
+ {
1015
+ "source": "ett",
1016
+ "dataset": "ett1-W",
1017
+ "term": "short",
1018
+ "H": 8,
1019
+ "items": 14,
1020
+ "telos_small": {
1021
+ "nCRPS": 0.799,
1022
+ "nMASE": 0.8188
1023
+ },
1024
+ "telos_small_pure_jepa": {
1025
+ "nCRPS": 0.842,
1026
+ "nMASE": 0.8968
1027
+ },
1028
+ "analytical_baseline": {
1029
+ "nCRPS": 0.8548,
1030
+ "nMASE": 0.8339
1031
+ }
1032
+ },
1033
+ {
1034
+ "source": "ett",
1035
+ "dataset": "ett2-15T",
1036
+ "term": "long",
1037
+ "H": 720,
1038
+ "items": 70,
1039
+ "telos_small": {
1040
+ "nCRPS": 0.7663,
1041
+ "nMASE": 0.8913
1042
+ },
1043
+ "telos_small_pure_jepa": {
1044
+ "nCRPS": 0.7683,
1045
+ "nMASE": 0.9035
1046
+ },
1047
+ "analytical_baseline": {
1048
+ "nCRPS": 0.7948,
1049
+ "nMASE": 0.9093
1050
+ }
1051
+ },
1052
+ {
1053
+ "source": "ett",
1054
+ "dataset": "ett2-15T",
1055
+ "term": "medium",
1056
+ "H": 480,
1057
+ "items": 105,
1058
+ "telos_small": {
1059
+ "nCRPS": 0.8065,
1060
+ "nMASE": 0.8422
1061
+ },
1062
+ "telos_small_pure_jepa": {
1063
+ "nCRPS": 0.8264,
1064
+ "nMASE": 0.8679
1065
+ },
1066
+ "analytical_baseline": {
1067
+ "nCRPS": 0.8328,
1068
+ "nMASE": 0.86
1069
+ }
1070
+ },
1071
+ {
1072
+ "source": "ett",
1073
+ "dataset": "ett2-15T",
1074
+ "term": "short",
1075
+ "H": 48,
1076
+ "items": 140,
1077
+ "telos_small": {
1078
+ "nCRPS": 0.6945,
1079
+ "nMASE": 0.727
1080
+ },
1081
+ "telos_small_pure_jepa": {
1082
+ "nCRPS": 0.6973,
1083
+ "nMASE": 0.7307
1084
+ },
1085
+ "analytical_baseline": {
1086
+ "nCRPS": 0.775,
1087
+ "nMASE": 0.773
1088
+ }
1089
+ },
1090
+ {
1091
+ "source": "ett",
1092
+ "dataset": "ett2-D",
1093
+ "term": "short",
1094
+ "H": 30,
1095
+ "items": 21,
1096
+ "telos_small": {
1097
+ "nCRPS": 0.6407,
1098
+ "nMASE": 1.0371
1099
+ },
1100
+ "telos_small_pure_jepa": {
1101
+ "nCRPS": 0.6489,
1102
+ "nMASE": 1.0602
1103
+ },
1104
+ "analytical_baseline": {
1105
+ "nCRPS": 0.8438,
1106
+ "nMASE": 1.0443
1107
+ }
1108
+ },
1109
+ {
1110
+ "source": "ett",
1111
+ "dataset": "ett2-H",
1112
+ "term": "long",
1113
+ "H": 720,
1114
+ "items": 21,
1115
+ "telos_small": {
1116
+ "nCRPS": 0.5789,
1117
+ "nMASE": 0.9617
1118
+ },
1119
+ "telos_small_pure_jepa": {
1120
+ "nCRPS": 0.5595,
1121
+ "nMASE": 0.9549
1122
+ },
1123
+ "analytical_baseline": {
1124
+ "nCRPS": 0.6194,
1125
+ "nMASE": 0.9243
1126
+ }
1127
+ },
1128
+ {
1129
+ "source": "ett",
1130
+ "dataset": "ett2-H",
1131
+ "term": "medium",
1132
+ "H": 480,
1133
+ "items": 28,
1134
+ "telos_small": {
1135
+ "nCRPS": 0.5991,
1136
+ "nMASE": 0.8504
1137
+ },
1138
+ "telos_small_pure_jepa": {
1139
+ "nCRPS": 0.6141,
1140
+ "nMASE": 0.8763
1141
+ },
1142
+ "analytical_baseline": {
1143
+ "nCRPS": 0.7232,
1144
+ "nMASE": 0.9466
1145
+ }
1146
+ },
1147
+ {
1148
+ "source": "ett",
1149
+ "dataset": "ett2-H",
1150
+ "term": "short",
1151
+ "H": 48,
1152
+ "items": 140,
1153
+ "telos_small": {
1154
+ "nCRPS": 0.7773,
1155
+ "nMASE": 0.8292
1156
+ },
1157
+ "telos_small_pure_jepa": {
1158
+ "nCRPS": 0.7803,
1159
+ "nMASE": 0.8333
1160
+ },
1161
+ "analytical_baseline": {
1162
+ "nCRPS": 0.835,
1163
+ "nMASE": 0.8727
1164
+ }
1165
+ },
1166
+ {
1167
+ "source": "ett",
1168
+ "dataset": "ett2-W",
1169
+ "term": "short",
1170
+ "H": 8,
1171
+ "items": 14,
1172
+ "telos_small": {
1173
+ "nCRPS": 0.6684,
1174
+ "nMASE": 1.0007
1175
+ },
1176
+ "telos_small_pure_jepa": {
1177
+ "nCRPS": 0.661,
1178
+ "nMASE": 0.977
1179
+ },
1180
+ "analytical_baseline": {
1181
+ "nCRPS": 0.9424,
1182
+ "nMASE": 1.6219
1183
+ }
1184
+ },
1185
+ {
1186
+ "source": "mds",
1187
+ "dataset": "mds-10s",
1188
+ "term": "short",
1189
+ "H": 512,
1190
+ "items": 107430,
1191
+ "telos_small": {
1192
+ "nCRPS": 1.067,
1193
+ "nMASE": 1.5556
1194
+ },
1195
+ "telos_small_pure_jepa": {
1196
+ "nCRPS": 0.5853,
1197
+ "nMASE": 1.2083
1198
+ },
1199
+ "analytical_baseline": {
1200
+ "nCRPS": 0.8294,
1201
+ "nMASE": 1.0267
1202
+ }
1203
+ },
1204
+ {
1205
+ "source": "mds",
1206
+ "dataset": "mds-2min",
1207
+ "term": "short",
1208
+ "H": 512,
1209
+ "items": 6495,
1210
+ "telos_small": {
1211
+ "nCRPS": 0.726,
1212
+ "nMASE": 1.0473
1213
+ },
1214
+ "telos_small_pure_jepa": {
1215
+ "nCRPS": 0.7271,
1216
+ "nMASE": 1.1462
1217
+ },
1218
+ "analytical_baseline": {
1219
+ "nCRPS": 0.7707,
1220
+ "nMASE": 0.907
1221
+ }
1222
+ },
1223
+ {
1224
+ "source": "mds",
1225
+ "dataset": "mds-5min",
1226
+ "term": "short",
1227
+ "H": 512,
1228
+ "items": 1590,
1229
+ "telos_small": {
1230
+ "nCRPS": 0.5946,
1231
+ "nMASE": 0.9433
1232
+ },
1233
+ "telos_small_pure_jepa": {
1234
+ "nCRPS": 0.5976,
1235
+ "nMASE": 0.9364
1236
+ },
1237
+ "analytical_baseline": {
1238
+ "nCRPS": 0.6219,
1239
+ "nMASE": 0.9248
1240
+ }
1241
+ },
1242
+ {
1243
+ "source": "metropt3",
1244
+ "dataset": "metropt3",
1245
+ "term": "long",
1246
+ "H": 180,
1247
+ "items": 950,
1248
+ "telos_small": {
1249
+ "nCRPS": 0.4874,
1250
+ "nMASE": 0.6885
1251
+ },
1252
+ "telos_small_pure_jepa": {
1253
+ "nCRPS": 0.4799,
1254
+ "nMASE": 0.6749
1255
+ },
1256
+ "analytical_baseline": {
1257
+ "nCRPS": 0.6956,
1258
+ "nMASE": 0.929
1259
+ }
1260
+ },
1261
+ {
1262
+ "source": "metropt3",
1263
+ "dataset": "metropt3",
1264
+ "term": "medium",
1265
+ "H": 60,
1266
+ "items": 950,
1267
+ "telos_small": {
1268
+ "nCRPS": 0.5117,
1269
+ "nMASE": 0.6241
1270
+ },
1271
+ "telos_small_pure_jepa": {
1272
+ "nCRPS": 0.5111,
1273
+ "nMASE": 0.6232
1274
+ },
1275
+ "analytical_baseline": {
1276
+ "nCRPS": 0.7782,
1277
+ "nMASE": 0.9298
1278
+ }
1279
+ },
1280
+ {
1281
+ "source": "metropt3",
1282
+ "dataset": "metropt3",
1283
+ "term": "short",
1284
+ "H": 30,
1285
+ "items": 950,
1286
+ "telos_small": {
1287
+ "nCRPS": 0.5837,
1288
+ "nMASE": 0.7228
1289
+ },
1290
+ "telos_small_pure_jepa": {
1291
+ "nCRPS": 0.5812,
1292
+ "nMASE": 0.7199
1293
+ },
1294
+ "analytical_baseline": {
1295
+ "nCRPS": 0.8377,
1296
+ "nMASE": 1.0099
1297
+ }
1298
+ },
1299
+ {
1300
+ "source": "neats",
1301
+ "dataset": "banambu-deep-1__mwd-lwd-drilling-mechanics",
1302
+ "term": "long",
1303
+ "H": 1024,
1304
+ "items": 151,
1305
+ "telos_small": {
1306
+ "nCRPS": 0.5575,
1307
+ "nMASE": 1.0079
1308
+ },
1309
+ "telos_small_pure_jepa": {
1310
+ "nCRPS": 0.5588,
1311
+ "nMASE": 1.0381
1312
+ },
1313
+ "analytical_baseline": {
1314
+ "nCRPS": 0.8308,
1315
+ "nMASE": 1.0408
1316
+ }
1317
+ },
1318
+ {
1319
+ "source": "neats",
1320
+ "dataset": "banambu-deep-1__mwd-lwd-drilling-mechanics",
1321
+ "term": "short",
1322
+ "H": 512,
1323
+ "items": 162,
1324
+ "telos_small": {
1325
+ "nCRPS": 0.6167,
1326
+ "nMASE": 1.0414
1327
+ },
1328
+ "telos_small_pure_jepa": {
1329
+ "nCRPS": 0.6104,
1330
+ "nMASE": 1.0094
1331
+ },
1332
+ "analytical_baseline": {
1333
+ "nCRPS": 0.8702,
1334
+ "nMASE": 1.1096
1335
+ }
1336
+ },
1337
+ {
1338
+ "source": "neats",
1339
+ "dataset": "bassett-deep-1__mwd-lwd-dml",
1340
+ "term": "long",
1341
+ "H": 1024,
1342
+ "items": 218,
1343
+ "telos_small": {
1344
+ "nCRPS": 0.7032,
1345
+ "nMASE": 1.1115
1346
+ },
1347
+ "telos_small_pure_jepa": {
1348
+ "nCRPS": 0.6686,
1349
+ "nMASE": 1.058
1350
+ },
1351
+ "analytical_baseline": {
1352
+ "nCRPS": 0.9493,
1353
+ "nMASE": 1.0195
1354
+ }
1355
+ },
1356
+ {
1357
+ "source": "neats",
1358
+ "dataset": "bassett-deep-1__mwd-lwd-dml",
1359
+ "term": "short",
1360
+ "H": 512,
1361
+ "items": 229,
1362
+ "telos_small": {
1363
+ "nCRPS": 0.7163,
1364
+ "nMASE": 1.1193
1365
+ },
1366
+ "telos_small_pure_jepa": {
1367
+ "nCRPS": 0.6821,
1368
+ "nMASE": 1.1005
1369
+ },
1370
+ "analytical_baseline": {
1371
+ "nCRPS": 1.0078,
1372
+ "nMASE": 1.0471
1373
+ }
1374
+ },
1375
+ {
1376
+ "source": "neats",
1377
+ "dataset": "bdc-2-01__mwd-lwd-dml-st1",
1378
+ "term": "long",
1379
+ "H": 1024,
1380
+ "items": 65,
1381
+ "telos_small": {
1382
+ "nCRPS": 0.6781,
1383
+ "nMASE": 1.0726
1384
+ },
1385
+ "telos_small_pure_jepa": {
1386
+ "nCRPS": 0.7205,
1387
+ "nMASE": 1.1334
1388
+ },
1389
+ "analytical_baseline": {
1390
+ "nCRPS": 0.8523,
1391
+ "nMASE": 1.0189
1392
+ }
1393
+ },
1394
+ {
1395
+ "source": "neats",
1396
+ "dataset": "bdc-2-01__mwd-lwd-dml-st1",
1397
+ "term": "short",
1398
+ "H": 512,
1399
+ "items": 65,
1400
+ "telos_small": {
1401
+ "nCRPS": 0.7315,
1402
+ "nMASE": 1.1864
1403
+ },
1404
+ "telos_small_pure_jepa": {
1405
+ "nCRPS": 0.7393,
1406
+ "nMASE": 1.196
1407
+ },
1408
+ "analytical_baseline": {
1409
+ "nCRPS": 0.8813,
1410
+ "nMASE": 1.0807
1411
+ }
1412
+ },
1413
+ {
1414
+ "source": "neats",
1415
+ "dataset": "bdc-2-01__mwd-lwd-dml",
1416
+ "term": "long",
1417
+ "H": 1024,
1418
+ "items": 72,
1419
+ "telos_small": {
1420
+ "nCRPS": 0.6043,
1421
+ "nMASE": 0.9229
1422
+ },
1423
+ "telos_small_pure_jepa": {
1424
+ "nCRPS": 0.6198,
1425
+ "nMASE": 0.9438
1426
+ },
1427
+ "analytical_baseline": {
1428
+ "nCRPS": 0.9054,
1429
+ "nMASE": 1.0155
1430
+ }
1431
+ },
1432
+ {
1433
+ "source": "neats",
1434
+ "dataset": "bdc-2-01__mwd-lwd-dml",
1435
+ "term": "short",
1436
+ "H": 512,
1437
+ "items": 80,
1438
+ "telos_small": {
1439
+ "nCRPS": 0.6711,
1440
+ "nMASE": 0.9769
1441
+ },
1442
+ "telos_small_pure_jepa": {
1443
+ "nCRPS": 0.6722,
1444
+ "nMASE": 0.978
1445
+ },
1446
+ "analytical_baseline": {
1447
+ "nCRPS": 0.874,
1448
+ "nMASE": 0.9907
1449
+ }
1450
+ },
1451
+ {
1452
+ "source": "neats",
1453
+ "dataset": "bdc-2-04-phase-2__mwd-lwd-dml",
1454
+ "term": "long",
1455
+ "H": 1024,
1456
+ "items": 95,
1457
+ "telos_small": {
1458
+ "nCRPS": 0.9332,
1459
+ "nMASE": 1.2419
1460
+ },
1461
+ "telos_small_pure_jepa": {
1462
+ "nCRPS": 0.8393,
1463
+ "nMASE": 1.311
1464
+ },
1465
+ "analytical_baseline": {
1466
+ "nCRPS": 1.0575,
1467
+ "nMASE": 1.1326
1468
+ }
1469
+ },
1470
+ {
1471
+ "source": "neats",
1472
+ "dataset": "bdc-2-04-phase-2__mwd-lwd-dml",
1473
+ "term": "short",
1474
+ "H": 512,
1475
+ "items": 95,
1476
+ "telos_small": {
1477
+ "nCRPS": 0.8705,
1478
+ "nMASE": 1.2244
1479
+ },
1480
+ "telos_small_pure_jepa": {
1481
+ "nCRPS": 0.8741,
1482
+ "nMASE": 1.2744
1483
+ },
1484
+ "analytical_baseline": {
1485
+ "nCRPS": 1.0641,
1486
+ "nMASE": 1.1337
1487
+ }
1488
+ },
1489
+ {
1490
+ "source": "neats",
1491
+ "dataset": "bdc-3-05-p__mwd-lwd-dml",
1492
+ "term": "long",
1493
+ "H": 1024,
1494
+ "items": 159,
1495
+ "telos_small": {
1496
+ "nCRPS": 0.7443,
1497
+ "nMASE": 0.999
1498
+ },
1499
+ "telos_small_pure_jepa": {
1500
+ "nCRPS": 0.7916,
1501
+ "nMASE": 1.1092
1502
+ },
1503
+ "analytical_baseline": {
1504
+ "nCRPS": 0.9244,
1505
+ "nMASE": 0.9983
1506
+ }
1507
+ },
1508
+ {
1509
+ "source": "neats",
1510
+ "dataset": "bdc-3-05-p__mwd-lwd-dml",
1511
+ "term": "short",
1512
+ "H": 512,
1513
+ "items": 159,
1514
+ "telos_small": {
1515
+ "nCRPS": 0.7508,
1516
+ "nMASE": 0.9863
1517
+ },
1518
+ "telos_small_pure_jepa": {
1519
+ "nCRPS": 0.8201,
1520
+ "nMASE": 1.1349
1521
+ },
1522
+ "analytical_baseline": {
1523
+ "nCRPS": 0.9456,
1524
+ "nMASE": 1.0247
1525
+ }
1526
+ },
1527
+ {
1528
+ "source": "neats",
1529
+ "dataset": "gemtree-1__mwd-lwd-drilling-mechanics",
1530
+ "term": "long",
1531
+ "H": 1024,
1532
+ "items": 109,
1533
+ "telos_small": {
1534
+ "nCRPS": 0.5297,
1535
+ "nMASE": 1.1851
1536
+ },
1537
+ "telos_small_pure_jepa": {
1538
+ "nCRPS": 0.4902,
1539
+ "nMASE": 1.1222
1540
+ },
1541
+ "analytical_baseline": {
1542
+ "nCRPS": 0.704,
1543
+ "nMASE": 1.0705
1544
+ }
1545
+ },
1546
+ {
1547
+ "source": "neats",
1548
+ "dataset": "gemtree-1__mwd-lwd-drilling-mechanics",
1549
+ "term": "short",
1550
+ "H": 512,
1551
+ "items": 109,
1552
+ "telos_small": {
1553
+ "nCRPS": 0.5106,
1554
+ "nMASE": 0.8605
1555
+ },
1556
+ "telos_small_pure_jepa": {
1557
+ "nCRPS": 0.5439,
1558
+ "nMASE": 0.9739
1559
+ },
1560
+ "analytical_baseline": {
1561
+ "nCRPS": 0.7302,
1562
+ "nMASE": 0.9382
1563
+ }
1564
+ },
1565
+ {
1566
+ "source": "neats",
1567
+ "dataset": "holonema-1__mwd-lwd-dml",
1568
+ "term": "long",
1569
+ "H": 1024,
1570
+ "items": 205,
1571
+ "telos_small": {
1572
+ "nCRPS": 0.4317,
1573
+ "nMASE": 2.8964
1574
+ },
1575
+ "telos_small_pure_jepa": {
1576
+ "nCRPS": 0.4814,
1577
+ "nMASE": 3.119
1578
+ },
1579
+ "analytical_baseline": {
1580
+ "nCRPS": 0.7011,
1581
+ "nMASE": 2.8681
1582
+ }
1583
+ },
1584
+ {
1585
+ "source": "neats",
1586
+ "dataset": "holonema-1__mwd-lwd-dml",
1587
+ "term": "short",
1588
+ "H": 512,
1589
+ "items": 205,
1590
+ "telos_small": {
1591
+ "nCRPS": 0.454,
1592
+ "nMASE": 3.591
1593
+ },
1594
+ "telos_small_pure_jepa": {
1595
+ "nCRPS": 0.4929,
1596
+ "nMASE": 3.906
1597
+ },
1598
+ "analytical_baseline": {
1599
+ "nCRPS": 0.7403,
1600
+ "nMASE": 3.6764
1601
+ }
1602
+ },
1603
+ {
1604
+ "source": "neats",
1605
+ "dataset": "la-rocca-1__lwd-dds",
1606
+ "term": "long",
1607
+ "H": 1024,
1608
+ "items": 68,
1609
+ "telos_small": {
1610
+ "nCRPS": 0.2722,
1611
+ "nMASE": 0.7606
1612
+ },
1613
+ "telos_small_pure_jepa": {
1614
+ "nCRPS": 0.2681,
1615
+ "nMASE": 0.7647
1616
+ },
1617
+ "analytical_baseline": {
1618
+ "nCRPS": 0.4681,
1619
+ "nMASE": 1.0051
1620
+ }
1621
+ },
1622
+ {
1623
+ "source": "neats",
1624
+ "dataset": "la-rocca-1__lwd-dds",
1625
+ "term": "short",
1626
+ "H": 512,
1627
+ "items": 76,
1628
+ "telos_small": {
1629
+ "nCRPS": 0.3503,
1630
+ "nMASE": 0.7348
1631
+ },
1632
+ "telos_small_pure_jepa": {
1633
+ "nCRPS": 0.3491,
1634
+ "nMASE": 0.7378
1635
+ },
1636
+ "analytical_baseline": {
1637
+ "nCRPS": 0.556,
1638
+ "nMASE": 0.9948
1639
+ }
1640
+ },
1641
+ {
1642
+ "source": "neats",
1643
+ "dataset": "la-rocca-1__lwd-pwd",
1644
+ "term": "long",
1645
+ "H": 1024,
1646
+ "items": 20,
1647
+ "telos_small": {
1648
+ "nCRPS": 0.1482,
1649
+ "nMASE": 0.9893
1650
+ },
1651
+ "telos_small_pure_jepa": {
1652
+ "nCRPS": 0.1453,
1653
+ "nMASE": 0.9917
1654
+ },
1655
+ "analytical_baseline": {
1656
+ "nCRPS": 0.2668,
1657
+ "nMASE": 1.0075
1658
+ }
1659
+ },
1660
+ {
1661
+ "source": "neats",
1662
+ "dataset": "la-rocca-1__lwd-pwd",
1663
+ "term": "short",
1664
+ "H": 512,
1665
+ "items": 20,
1666
+ "telos_small": {
1667
+ "nCRPS": 0.2116,
1668
+ "nMASE": 0.9852
1669
+ },
1670
+ "telos_small_pure_jepa": {
1671
+ "nCRPS": 0.2127,
1672
+ "nMASE": 0.9863
1673
+ },
1674
+ "analytical_baseline": {
1675
+ "nCRPS": 0.3158,
1676
+ "nMASE": 0.9959
1677
+ }
1678
+ },
1679
+ {
1680
+ "source": "neats",
1681
+ "dataset": "lpa-01__mudlogging",
1682
+ "term": "long",
1683
+ "H": 1024,
1684
+ "items": 775,
1685
+ "telos_small": {
1686
+ "nCRPS": 0.6661,
1687
+ "nMASE": 1.0501
1688
+ },
1689
+ "telos_small_pure_jepa": {
1690
+ "nCRPS": 0.6609,
1691
+ "nMASE": 1.0574
1692
+ },
1693
+ "analytical_baseline": {
1694
+ "nCRPS": 1.0831,
1695
+ "nMASE": 1.0278
1696
+ }
1697
+ },
1698
+ {
1699
+ "source": "neats",
1700
+ "dataset": "lpa-01__mudlogging",
1701
+ "term": "short",
1702
+ "H": 512,
1703
+ "items": 775,
1704
+ "telos_small": {
1705
+ "nCRPS": 0.806,
1706
+ "nMASE": 1.3681
1707
+ },
1708
+ "telos_small_pure_jepa": {
1709
+ "nCRPS": 0.7273,
1710
+ "nMASE": 1.0844
1711
+ },
1712
+ "analytical_baseline": {
1713
+ "nCRPS": 1.1618,
1714
+ "nMASE": 1.0635
1715
+ }
1716
+ },
1717
+ {
1718
+ "source": "neats",
1719
+ "dataset": "lpa-01__mwd-lwd-drilling-mechanics",
1720
+ "term": "long",
1721
+ "H": 1024,
1722
+ "items": 63,
1723
+ "telos_small": {
1724
+ "nCRPS": 0.6884,
1725
+ "nMASE": 1.0868
1726
+ },
1727
+ "telos_small_pure_jepa": {
1728
+ "nCRPS": 0.5272,
1729
+ "nMASE": 0.8534
1730
+ },
1731
+ "analytical_baseline": {
1732
+ "nCRPS": 0.8133,
1733
+ "nMASE": 1.0017
1734
+ }
1735
+ },
1736
+ {
1737
+ "source": "neats",
1738
+ "dataset": "lpa-01__mwd-lwd-drilling-mechanics",
1739
+ "term": "short",
1740
+ "H": 512,
1741
+ "items": 67,
1742
+ "telos_small": {
1743
+ "nCRPS": 0.8205,
1744
+ "nMASE": 1.1499
1745
+ },
1746
+ "telos_small_pure_jepa": {
1747
+ "nCRPS": 0.6207,
1748
+ "nMASE": 0.9316
1749
+ },
1750
+ "analytical_baseline": {
1751
+ "nCRPS": 0.8636,
1752
+ "nMASE": 1.0254
1753
+ }
1754
+ },
1755
+ {
1756
+ "source": "neats",
1757
+ "dataset": "lpa-01__mwd-lwd",
1758
+ "term": "long",
1759
+ "H": 1024,
1760
+ "items": 30,
1761
+ "telos_small": {
1762
+ "nCRPS": 0.7696,
1763
+ "nMASE": 1.0079
1764
+ },
1765
+ "telos_small_pure_jepa": {
1766
+ "nCRPS": 0.668,
1767
+ "nMASE": 1.0455
1768
+ },
1769
+ "analytical_baseline": {
1770
+ "nCRPS": 0.948,
1771
+ "nMASE": 1.0535
1772
+ }
1773
+ },
1774
+ {
1775
+ "source": "neats",
1776
+ "dataset": "lpa-01__mwd-lwd",
1777
+ "term": "short",
1778
+ "H": 512,
1779
+ "items": 30,
1780
+ "telos_small": {
1781
+ "nCRPS": 0.6559,
1782
+ "nMASE": 1.0083
1783
+ },
1784
+ "telos_small_pure_jepa": {
1785
+ "nCRPS": 0.6446,
1786
+ "nMASE": 1.0127
1787
+ },
1788
+ "analytical_baseline": {
1789
+ "nCRPS": 0.9529,
1790
+ "nMASE": 1.1686
1791
+ }
1792
+ },
1793
+ {
1794
+ "source": "neats",
1795
+ "dataset": "lpa-02__mudlogging",
1796
+ "term": "long",
1797
+ "H": 1024,
1798
+ "items": 1115,
1799
+ "telos_small": {
1800
+ "nCRPS": 0.9194,
1801
+ "nMASE": 1.3994
1802
+ },
1803
+ "telos_small_pure_jepa": {
1804
+ "nCRPS": 0.6288,
1805
+ "nMASE": 0.9115
1806
+ },
1807
+ "analytical_baseline": {
1808
+ "nCRPS": 0.9831,
1809
+ "nMASE": 0.994
1810
+ }
1811
+ },
1812
+ {
1813
+ "source": "neats",
1814
+ "dataset": "lpa-02__mudlogging",
1815
+ "term": "short",
1816
+ "H": 512,
1817
+ "items": 1115,
1818
+ "telos_small": {
1819
+ "nCRPS": 0.8659,
1820
+ "nMASE": 1.2711
1821
+ },
1822
+ "telos_small_pure_jepa": {
1823
+ "nCRPS": 0.7134,
1824
+ "nMASE": 0.9733
1825
+ },
1826
+ "analytical_baseline": {
1827
+ "nCRPS": 1.0929,
1828
+ "nMASE": 1.0108
1829
+ }
1830
+ },
1831
+ {
1832
+ "source": "neats",
1833
+ "dataset": "lpa-02__mwd-lwd-drilling-mechanics",
1834
+ "term": "long",
1835
+ "H": 1024,
1836
+ "items": 90,
1837
+ "telos_small": {
1838
+ "nCRPS": 0.1494,
1839
+ "nMASE": 1.0339
1840
+ },
1841
+ "telos_small_pure_jepa": {
1842
+ "nCRPS": 0.1482,
1843
+ "nMASE": 1.0538
1844
+ },
1845
+ "analytical_baseline": {
1846
+ "nCRPS": 0.2249,
1847
+ "nMASE": 0.9865
1848
+ }
1849
+ },
1850
+ {
1851
+ "source": "neats",
1852
+ "dataset": "lpa-02__mwd-lwd-drilling-mechanics",
1853
+ "term": "short",
1854
+ "H": 512,
1855
+ "items": 90,
1856
+ "telos_small": {
1857
+ "nCRPS": 0.1617,
1858
+ "nMASE": 0.9435
1859
+ },
1860
+ "telos_small_pure_jepa": {
1861
+ "nCRPS": 0.1609,
1862
+ "nMASE": 0.9617
1863
+ },
1864
+ "analytical_baseline": {
1865
+ "nCRPS": 0.2465,
1866
+ "nMASE": 0.9959
1867
+ }
1868
+ },
1869
+ {
1870
+ "source": "neats",
1871
+ "dataset": "lpa-03__mudlogging",
1872
+ "term": "long",
1873
+ "H": 1024,
1874
+ "items": 1029,
1875
+ "telos_small": {
1876
+ "nCRPS": 0.7419,
1877
+ "nMASE": 1.23
1878
+ },
1879
+ "telos_small_pure_jepa": {
1880
+ "nCRPS": 0.7339,
1881
+ "nMASE": 1.1094
1882
+ },
1883
+ "analytical_baseline": {
1884
+ "nCRPS": 1.0811,
1885
+ "nMASE": 1.0376
1886
+ }
1887
+ },
1888
+ {
1889
+ "source": "neats",
1890
+ "dataset": "lpa-03__mudlogging",
1891
+ "term": "short",
1892
+ "H": 512,
1893
+ "items": 1031,
1894
+ "telos_small": {
1895
+ "nCRPS": 0.9024,
1896
+ "nMASE": 1.2172
1897
+ },
1898
+ "telos_small_pure_jepa": {
1899
+ "nCRPS": 0.754,
1900
+ "nMASE": 1.1377
1901
+ },
1902
+ "analytical_baseline": {
1903
+ "nCRPS": 1.1862,
1904
+ "nMASE": 1.0507
1905
+ }
1906
+ },
1907
+ {
1908
+ "source": "neats",
1909
+ "dataset": "lpa-03__mwd-lwd-drilling-mechanics",
1910
+ "term": "long",
1911
+ "H": 1024,
1912
+ "items": 115,
1913
+ "telos_small": {
1914
+ "nCRPS": 0.8196,
1915
+ "nMASE": 2.1719
1916
+ },
1917
+ "telos_small_pure_jepa": {
1918
+ "nCRPS": 0.7134,
1919
+ "nMASE": 2.1243
1920
+ },
1921
+ "analytical_baseline": {
1922
+ "nCRPS": 0.9421,
1923
+ "nMASE": 2.2399
1924
+ }
1925
+ },
1926
+ {
1927
+ "source": "neats",
1928
+ "dataset": "lpa-03__mwd-lwd-drilling-mechanics",
1929
+ "term": "short",
1930
+ "H": 512,
1931
+ "items": 115,
1932
+ "telos_small": {
1933
+ "nCRPS": 0.7093,
1934
+ "nMASE": 2.6943
1935
+ },
1936
+ "telos_small_pure_jepa": {
1937
+ "nCRPS": 0.6998,
1938
+ "nMASE": 2.6517
1939
+ },
1940
+ "analytical_baseline": {
1941
+ "nCRPS": 0.9591,
1942
+ "nMASE": 2.8455
1943
+ }
1944
+ },
1945
+ {
1946
+ "source": "neats",
1947
+ "dataset": "psa-02-phase-1__mudlogging-gravel-pack",
1948
+ "term": "long",
1949
+ "H": 1024,
1950
+ "items": 10,
1951
+ "telos_small": {
1952
+ "nCRPS": 0.1823,
1953
+ "nMASE": 0.5782
1954
+ },
1955
+ "telos_small_pure_jepa": {
1956
+ "nCRPS": 0.1817,
1957
+ "nMASE": 0.5722
1958
+ },
1959
+ "analytical_baseline": {
1960
+ "nCRPS": 0.4562,
1961
+ "nMASE": 0.8609
1962
+ }
1963
+ },
1964
+ {
1965
+ "source": "neats",
1966
+ "dataset": "psa-02-phase-1__mudlogging-gravel-pack",
1967
+ "term": "short",
1968
+ "H": 512,
1969
+ "items": 10,
1970
+ "telos_small": {
1971
+ "nCRPS": 0.2226,
1972
+ "nMASE": 0.5728
1973
+ },
1974
+ "telos_small_pure_jepa": {
1975
+ "nCRPS": 0.2195,
1976
+ "nMASE": 0.5623
1977
+ },
1978
+ "analytical_baseline": {
1979
+ "nCRPS": 0.5318,
1980
+ "nMASE": 0.8791
1981
+ }
1982
+ },
1983
+ {
1984
+ "source": "neats",
1985
+ "dataset": "psa-02-phase-1__mudlogging",
1986
+ "term": "long",
1987
+ "H": 1024,
1988
+ "items": 461,
1989
+ "telos_small": {
1990
+ "nCRPS": 0.8074,
1991
+ "nMASE": 1.2276
1992
+ },
1993
+ "telos_small_pure_jepa": {
1994
+ "nCRPS": 0.6723,
1995
+ "nMASE": 1.0151
1996
+ },
1997
+ "analytical_baseline": {
1998
+ "nCRPS": 0.9579,
1999
+ "nMASE": 1.046
2000
+ }
2001
+ },
2002
+ {
2003
+ "source": "neats",
2004
+ "dataset": "psa-02-phase-1__mudlogging",
2005
+ "term": "short",
2006
+ "H": 512,
2007
+ "items": 461,
2008
+ "telos_small": {
2009
+ "nCRPS": 0.7603,
2010
+ "nMASE": 3.4402
2011
+ },
2012
+ "telos_small_pure_jepa": {
2013
+ "nCRPS": 0.6892,
2014
+ "nMASE": 1.0013
2015
+ },
2016
+ "analytical_baseline": {
2017
+ "nCRPS": 1.0496,
2018
+ "nMASE": 1.0462
2019
+ }
2020
+ },
2021
+ {
2022
+ "source": "neats",
2023
+ "dataset": "psa-02-phase-1__mwd-lwd-drilling-mechanics",
2024
+ "term": "long",
2025
+ "H": 1024,
2026
+ "items": 30,
2027
+ "telos_small": {
2028
+ "nCRPS": 0.6216,
2029
+ "nMASE": 3.9579
2030
+ },
2031
+ "telos_small_pure_jepa": {
2032
+ "nCRPS": 0.6085,
2033
+ "nMASE": 3.95
2034
+ },
2035
+ "analytical_baseline": {
2036
+ "nCRPS": 0.788,
2037
+ "nMASE": 4.0934
2038
+ }
2039
+ },
2040
+ {
2041
+ "source": "neats",
2042
+ "dataset": "psa-02-phase-1__mwd-lwd-drilling-mechanics",
2043
+ "term": "short",
2044
+ "H": 512,
2045
+ "items": 30,
2046
+ "telos_small": {
2047
+ "nCRPS": 0.7688,
2048
+ "nMASE": 3.5366
2049
+ },
2050
+ "telos_small_pure_jepa": {
2051
+ "nCRPS": 0.7261,
2052
+ "nMASE": 3.5194
2053
+ },
2054
+ "analytical_baseline": {
2055
+ "nCRPS": 0.82,
2056
+ "nMASE": 3.5851
2057
+ }
2058
+ },
2059
+ {
2060
+ "source": "neats",
2061
+ "dataset": "sca-03__lwd-pwd",
2062
+ "term": "long",
2063
+ "H": 1024,
2064
+ "items": 65,
2065
+ "telos_small": {
2066
+ "nCRPS": 0.6669,
2067
+ "nMASE": 0.9757
2068
+ },
2069
+ "telos_small_pure_jepa": {
2070
+ "nCRPS": 0.6688,
2071
+ "nMASE": 0.976
2072
+ },
2073
+ "analytical_baseline": {
2074
+ "nCRPS": 0.8442,
2075
+ "nMASE": 1.0271
2076
+ }
2077
+ },
2078
+ {
2079
+ "source": "neats",
2080
+ "dataset": "sca-03__lwd-pwd",
2081
+ "term": "short",
2082
+ "H": 512,
2083
+ "items": 65,
2084
+ "telos_small": {
2085
+ "nCRPS": 0.7495,
2086
+ "nMASE": 1.0166
2087
+ },
2088
+ "telos_small_pure_jepa": {
2089
+ "nCRPS": 0.7503,
2090
+ "nMASE": 1.0175
2091
+ },
2092
+ "analytical_baseline": {
2093
+ "nCRPS": 0.9166,
2094
+ "nMASE": 1.0391
2095
+ }
2096
+ },
2097
+ {
2098
+ "source": "pronto",
2099
+ "dataset": "pronto_D2E1",
2100
+ "term": "long",
2101
+ "H": 1024,
2102
+ "items": 12,
2103
+ "telos_small": {
2104
+ "nCRPS": 1.0069,
2105
+ "nMASE": 1.0251
2106
+ },
2107
+ "telos_small_pure_jepa": {
2108
+ "nCRPS": 0.9622,
2109
+ "nMASE": 0.9901
2110
+ },
2111
+ "analytical_baseline": {
2112
+ "nCRPS": 0.9788,
2113
+ "nMASE": 1.0021
2114
+ }
2115
+ },
2116
+ {
2117
+ "source": "pronto",
2118
+ "dataset": "pronto_D2E1",
2119
+ "term": "short",
2120
+ "H": 512,
2121
+ "items": 12,
2122
+ "telos_small": {
2123
+ "nCRPS": 0.9719,
2124
+ "nMASE": 0.9999
2125
+ },
2126
+ "telos_small_pure_jepa": {
2127
+ "nCRPS": 0.9956,
2128
+ "nMASE": 0.9989
2129
+ },
2130
+ "analytical_baseline": {
2131
+ "nCRPS": 0.9848,
2132
+ "nMASE": 1.0019
2133
+ }
2134
+ },
2135
+ {
2136
+ "source": "pronto",
2137
+ "dataset": "pronto_D2E2",
2138
+ "term": "long",
2139
+ "H": 1024,
2140
+ "items": 12,
2141
+ "telos_small": {
2142
+ "nCRPS": 0.642,
2143
+ "nMASE": 0.732
2144
+ },
2145
+ "telos_small_pure_jepa": {
2146
+ "nCRPS": 0.6077,
2147
+ "nMASE": 0.6502
2148
+ },
2149
+ "analytical_baseline": {
2150
+ "nCRPS": 0.7523,
2151
+ "nMASE": 0.9444
2152
+ }
2153
+ },
2154
+ {
2155
+ "source": "pronto",
2156
+ "dataset": "pronto_D2E2",
2157
+ "term": "short",
2158
+ "H": 512,
2159
+ "items": 12,
2160
+ "telos_small": {
2161
+ "nCRPS": 0.8281,
2162
+ "nMASE": 0.9558
2163
+ },
2164
+ "telos_small_pure_jepa": {
2165
+ "nCRPS": 0.775,
2166
+ "nMASE": 0.7802
2167
+ },
2168
+ "analytical_baseline": {
2169
+ "nCRPS": 0.8242,
2170
+ "nMASE": 0.9562
2171
+ }
2172
+ },
2173
+ {
2174
+ "source": "pronto",
2175
+ "dataset": "pronto_D3E1",
2176
+ "term": "long",
2177
+ "H": 1024,
2178
+ "items": 12,
2179
+ "telos_small": {
2180
+ "nCRPS": 2.2792,
2181
+ "nMASE": 1.1316
2182
+ },
2183
+ "telos_small_pure_jepa": {
2184
+ "nCRPS": 1.0036,
2185
+ "nMASE": 0.9864
2186
+ },
2187
+ "analytical_baseline": {
2188
+ "nCRPS": 1.2524,
2189
+ "nMASE": 1.0152
2190
+ }
2191
+ },
2192
+ {
2193
+ "source": "pronto",
2194
+ "dataset": "pronto_D3E1",
2195
+ "term": "short",
2196
+ "H": 512,
2197
+ "items": 12,
2198
+ "telos_small": {
2199
+ "nCRPS": 6.6725,
2200
+ "nMASE": 1.6593
2201
+ },
2202
+ "telos_small_pure_jepa": {
2203
+ "nCRPS": 0.9649,
2204
+ "nMASE": 0.9886
2205
+ },
2206
+ "analytical_baseline": {
2207
+ "nCRPS": 1.214,
2208
+ "nMASE": 1.015
2209
+ }
2210
+ },
2211
+ {
2212
+ "source": "pronto",
2213
+ "dataset": "pronto_D3E2",
2214
+ "term": "long",
2215
+ "H": 1024,
2216
+ "items": 12,
2217
+ "telos_small": {
2218
+ "nCRPS": 1.0794,
2219
+ "nMASE": 0.84
2220
+ },
2221
+ "telos_small_pure_jepa": {
2222
+ "nCRPS": 1.0795,
2223
+ "nMASE": 0.84
2224
+ },
2225
+ "analytical_baseline": {
2226
+ "nCRPS": 1.1024,
2227
+ "nMASE": 0.897
2228
+ }
2229
+ },
2230
+ {
2231
+ "source": "pronto",
2232
+ "dataset": "pronto_D3E2",
2233
+ "term": "short",
2234
+ "H": 512,
2235
+ "items": 12,
2236
+ "telos_small": {
2237
+ "nCRPS": 1.0406,
2238
+ "nMASE": 0.886
2239
+ },
2240
+ "telos_small_pure_jepa": {
2241
+ "nCRPS": 1.0529,
2242
+ "nMASE": 0.8899
2243
+ },
2244
+ "analytical_baseline": {
2245
+ "nCRPS": 1.0689,
2246
+ "nMASE": 0.9181
2247
+ }
2248
+ },
2249
+ {
2250
+ "source": "pronto",
2251
+ "dataset": "pronto_D4E1",
2252
+ "term": "long",
2253
+ "H": 1024,
2254
+ "items": 12,
2255
+ "telos_small": {
2256
+ "nCRPS": 0.8972,
2257
+ "nMASE": 0.9271
2258
+ },
2259
+ "telos_small_pure_jepa": {
2260
+ "nCRPS": 0.7844,
2261
+ "nMASE": 0.645
2262
+ },
2263
+ "analytical_baseline": {
2264
+ "nCRPS": 0.9153,
2265
+ "nMASE": 0.9661
2266
+ }
2267
+ },
2268
+ {
2269
+ "source": "pronto",
2270
+ "dataset": "pronto_D4E1",
2271
+ "term": "short",
2272
+ "H": 512,
2273
+ "items": 12,
2274
+ "telos_small": {
2275
+ "nCRPS": 0.9541,
2276
+ "nMASE": 0.9371
2277
+ },
2278
+ "telos_small_pure_jepa": {
2279
+ "nCRPS": 0.913,
2280
+ "nMASE": 0.8212
2281
+ },
2282
+ "analytical_baseline": {
2283
+ "nCRPS": 0.9226,
2284
+ "nMASE": 0.9301
2285
+ }
2286
+ },
2287
+ {
2288
+ "source": "pronto",
2289
+ "dataset": "pronto_D4E2",
2290
+ "term": "long",
2291
+ "H": 1024,
2292
+ "items": 12,
2293
+ "telos_small": {
2294
+ "nCRPS": 0.845,
2295
+ "nMASE": 1.0176
2296
+ },
2297
+ "telos_small_pure_jepa": {
2298
+ "nCRPS": 0.6856,
2299
+ "nMASE": 0.6269
2300
+ },
2301
+ "analytical_baseline": {
2302
+ "nCRPS": 0.8578,
2303
+ "nMASE": 1.0191
2304
+ }
2305
+ },
2306
+ {
2307
+ "source": "pronto",
2308
+ "dataset": "pronto_D4E2",
2309
+ "term": "short",
2310
+ "H": 512,
2311
+ "items": 12,
2312
+ "telos_small": {
2313
+ "nCRPS": 0.9843,
2314
+ "nMASE": 1.1253
2315
+ },
2316
+ "telos_small_pure_jepa": {
2317
+ "nCRPS": 0.7153,
2318
+ "nMASE": 0.7786
2319
+ },
2320
+ "analytical_baseline": {
2321
+ "nCRPS": 0.8754,
2322
+ "nMASE": 1.0192
2323
+ }
2324
+ },
2325
+ {
2326
+ "source": "solar",
2327
+ "dataset": "solar-10T",
2328
+ "term": "long",
2329
+ "H": 720,
2330
+ "items": 1096,
2331
+ "telos_small": {
2332
+ "nCRPS": 0.4773,
2333
+ "nMASE": 0.9376
2334
+ },
2335
+ "telos_small_pure_jepa": {
2336
+ "nCRPS": 0.4759,
2337
+ "nMASE": 0.94
2338
+ },
2339
+ "analytical_baseline": {
2340
+ "nCRPS": 0.6048,
2341
+ "nMASE": 0.9891
2342
+ }
2343
+ },
2344
+ {
2345
+ "source": "solar",
2346
+ "dataset": "solar-10T",
2347
+ "term": "medium",
2348
+ "H": 480,
2349
+ "items": 1507,
2350
+ "telos_small": {
2351
+ "nCRPS": 0.5249,
2352
+ "nMASE": 0.8587
2353
+ },
2354
+ "telos_small_pure_jepa": {
2355
+ "nCRPS": 0.5199,
2356
+ "nMASE": 0.8521
2357
+ },
2358
+ "analytical_baseline": {
2359
+ "nCRPS": 0.699,
2360
+ "nMASE": 0.9875
2361
+ }
2362
+ },
2363
+ {
2364
+ "source": "solar",
2365
+ "dataset": "solar-10T",
2366
+ "term": "short",
2367
+ "H": 48,
2368
+ "items": 2740,
2369
+ "telos_small": {
2370
+ "nCRPS": 0.7181,
2371
+ "nMASE": 1.0074
2372
+ },
2373
+ "telos_small_pure_jepa": {
2374
+ "nCRPS": 0.7094,
2375
+ "nMASE": 0.9939
2376
+ },
2377
+ "analytical_baseline": {
2378
+ "nCRPS": 0.8934,
2379
+ "nMASE": 1.09
2380
+ }
2381
+ },
2382
+ {
2383
+ "source": "solar",
2384
+ "dataset": "solar-D",
2385
+ "term": "short",
2386
+ "H": 30,
2387
+ "items": 274,
2388
+ "telos_small": {
2389
+ "nCRPS": 0.5201,
2390
+ "nMASE": 0.8519
2391
+ },
2392
+ "telos_small_pure_jepa": {
2393
+ "nCRPS": 0.531,
2394
+ "nMASE": 0.8599
2395
+ },
2396
+ "analytical_baseline": {
2397
+ "nCRPS": 0.6433,
2398
+ "nMASE": 0.8827
2399
+ }
2400
+ },
2401
+ {
2402
+ "source": "solar",
2403
+ "dataset": "solar-H",
2404
+ "term": "long",
2405
+ "H": 720,
2406
+ "items": 274,
2407
+ "telos_small": {
2408
+ "nCRPS": 0.3177,
2409
+ "nMASE": 0.8682
2410
+ },
2411
+ "telos_small_pure_jepa": {
2412
+ "nCRPS": 0.3276,
2413
+ "nMASE": 0.9141
2414
+ },
2415
+ "analytical_baseline": {
2416
+ "nCRPS": 0.387,
2417
+ "nMASE": 0.9231
2418
+ }
2419
+ },
2420
+ {
2421
+ "source": "solar",
2422
+ "dataset": "solar-H",
2423
+ "term": "medium",
2424
+ "H": 480,
2425
+ "items": 274,
2426
+ "telos_small": {
2427
+ "nCRPS": 0.3998,
2428
+ "nMASE": 0.9475
2429
+ },
2430
+ "telos_small_pure_jepa": {
2431
+ "nCRPS": 0.3988,
2432
+ "nMASE": 0.9754
2433
+ },
2434
+ "analytical_baseline": {
2435
+ "nCRPS": 0.4569,
2436
+ "nMASE": 0.9537
2437
+ }
2438
+ },
2439
+ {
2440
+ "source": "solar",
2441
+ "dataset": "solar-H",
2442
+ "term": "short",
2443
+ "H": 48,
2444
+ "items": 2603,
2445
+ "telos_small": {
2446
+ "nCRPS": 0.6101,
2447
+ "nMASE": 0.9353
2448
+ },
2449
+ "telos_small_pure_jepa": {
2450
+ "nCRPS": 0.6024,
2451
+ "nMASE": 0.9399
2452
+ },
2453
+ "analytical_baseline": {
2454
+ "nCRPS": 0.6857,
2455
+ "nMASE": 0.8926
2456
+ }
2457
+ },
2458
+ {
2459
+ "source": "solar",
2460
+ "dataset": "solar-W",
2461
+ "term": "short",
2462
+ "H": 8,
2463
+ "items": 137,
2464
+ "telos_small": {
2465
+ "nCRPS": 0.7871,
2466
+ "nMASE": 0.8465
2467
+ },
2468
+ "telos_small_pure_jepa": {
2469
+ "nCRPS": 0.7792,
2470
+ "nMASE": 0.8383
2471
+ },
2472
+ "analytical_baseline": {
2473
+ "nCRPS": 0.946,
2474
+ "nMASE": 0.99
2475
+ }
2476
+ },
2477
+ {
2478
+ "source": "tablet_compression",
2479
+ "dataset": "code_01",
2480
+ "term": "long",
2481
+ "H": 180,
2482
+ "items": 340,
2483
+ "telos_small": {
2484
+ "nCRPS": 0.269,
2485
+ "nMASE": 0.792
2486
+ },
2487
+ "telos_small_pure_jepa": {
2488
+ "nCRPS": 0.2685,
2489
+ "nMASE": 0.789
2490
+ },
2491
+ "analytical_baseline": {
2492
+ "nCRPS": 0.6819,
2493
+ "nMASE": 0.8843
2494
+ }
2495
+ },
2496
+ {
2497
+ "source": "tablet_compression",
2498
+ "dataset": "code_01",
2499
+ "term": "medium",
2500
+ "H": 60,
2501
+ "items": 340,
2502
+ "telos_small": {
2503
+ "nCRPS": 0.3982,
2504
+ "nMASE": 0.8417
2505
+ },
2506
+ "telos_small_pure_jepa": {
2507
+ "nCRPS": 0.3876,
2508
+ "nMASE": 0.7619
2509
+ },
2510
+ "analytical_baseline": {
2511
+ "nCRPS": 0.7536,
2512
+ "nMASE": 0.8769
2513
+ }
2514
+ },
2515
+ {
2516
+ "source": "tablet_compression",
2517
+ "dataset": "code_01",
2518
+ "term": "short",
2519
+ "H": 30,
2520
+ "items": 340,
2521
+ "telos_small": {
2522
+ "nCRPS": 0.487,
2523
+ "nMASE": 0.7859
2524
+ },
2525
+ "telos_small_pure_jepa": {
2526
+ "nCRPS": 0.4859,
2527
+ "nMASE": 0.766
2528
+ },
2529
+ "analytical_baseline": {
2530
+ "nCRPS": 0.8035,
2531
+ "nMASE": 0.8794
2532
+ }
2533
+ },
2534
+ {
2535
+ "source": "tablet_compression",
2536
+ "dataset": "code_02",
2537
+ "term": "long",
2538
+ "H": 180,
2539
+ "items": 80,
2540
+ "telos_small": {
2541
+ "nCRPS": 0.2319,
2542
+ "nMASE": 0.7695
2543
+ },
2544
+ "telos_small_pure_jepa": {
2545
+ "nCRPS": 0.2327,
2546
+ "nMASE": 0.7698
2547
+ },
2548
+ "analytical_baseline": {
2549
+ "nCRPS": 0.5734,
2550
+ "nMASE": 0.8418
2551
+ }
2552
+ },
2553
+ {
2554
+ "source": "tablet_compression",
2555
+ "dataset": "code_02",
2556
+ "term": "medium",
2557
+ "H": 60,
2558
+ "items": 80,
2559
+ "telos_small": {
2560
+ "nCRPS": 0.3425,
2561
+ "nMASE": 0.7533
2562
+ },
2563
+ "telos_small_pure_jepa": {
2564
+ "nCRPS": 0.3429,
2565
+ "nMASE": 0.7523
2566
+ },
2567
+ "analytical_baseline": {
2568
+ "nCRPS": 0.6363,
2569
+ "nMASE": 0.8173
2570
+ }
2571
+ },
2572
+ {
2573
+ "source": "tablet_compression",
2574
+ "dataset": "code_02",
2575
+ "term": "short",
2576
+ "H": 30,
2577
+ "items": 80,
2578
+ "telos_small": {
2579
+ "nCRPS": 0.4243,
2580
+ "nMASE": 0.7595
2581
+ },
2582
+ "telos_small_pure_jepa": {
2583
+ "nCRPS": 0.4244,
2584
+ "nMASE": 0.7587
2585
+ },
2586
+ "analytical_baseline": {
2587
+ "nCRPS": 0.6713,
2588
+ "nMASE": 0.8111
2589
+ }
2590
+ },
2591
+ {
2592
+ "source": "tablet_compression",
2593
+ "dataset": "code_03",
2594
+ "term": "long",
2595
+ "H": 180,
2596
+ "items": 75,
2597
+ "telos_small": {
2598
+ "nCRPS": 0.2215,
2599
+ "nMASE": 0.6129
2600
+ },
2601
+ "telos_small_pure_jepa": {
2602
+ "nCRPS": 0.2146,
2603
+ "nMASE": 0.5174
2604
+ },
2605
+ "analytical_baseline": {
2606
+ "nCRPS": 0.6319,
2607
+ "nMASE": 0.9749
2608
+ }
2609
+ },
2610
+ {
2611
+ "source": "tablet_compression",
2612
+ "dataset": "code_03",
2613
+ "term": "medium",
2614
+ "H": 60,
2615
+ "items": 75,
2616
+ "telos_small": {
2617
+ "nCRPS": 0.3034,
2618
+ "nMASE": 0.5207
2619
+ },
2620
+ "telos_small_pure_jepa": {
2621
+ "nCRPS": 0.3017,
2622
+ "nMASE": 0.5034
2623
+ },
2624
+ "analytical_baseline": {
2625
+ "nCRPS": 0.7051,
2626
+ "nMASE": 0.9544
2627
+ }
2628
+ },
2629
+ {
2630
+ "source": "tablet_compression",
2631
+ "dataset": "code_03",
2632
+ "term": "short",
2633
+ "H": 30,
2634
+ "items": 75,
2635
+ "telos_small": {
2636
+ "nCRPS": 0.3931,
2637
+ "nMASE": 0.5424
2638
+ },
2639
+ "telos_small_pure_jepa": {
2640
+ "nCRPS": 0.3908,
2641
+ "nMASE": 0.5267
2642
+ },
2643
+ "analytical_baseline": {
2644
+ "nCRPS": 0.7518,
2645
+ "nMASE": 0.946
2646
+ }
2647
+ },
2648
+ {
2649
+ "source": "tablet_compression",
2650
+ "dataset": "code_04",
2651
+ "term": "long",
2652
+ "H": 180,
2653
+ "items": 105,
2654
+ "telos_small": {
2655
+ "nCRPS": 0.2057,
2656
+ "nMASE": 1.2541
2657
+ },
2658
+ "telos_small_pure_jepa": {
2659
+ "nCRPS": 0.2056,
2660
+ "nMASE": 0.8212
2661
+ },
2662
+ "analytical_baseline": {
2663
+ "nCRPS": 0.5881,
2664
+ "nMASE": 0.9249
2665
+ }
2666
+ },
2667
+ {
2668
+ "source": "tablet_compression",
2669
+ "dataset": "code_04",
2670
+ "term": "medium",
2671
+ "H": 60,
2672
+ "items": 105,
2673
+ "telos_small": {
2674
+ "nCRPS": 0.3105,
2675
+ "nMASE": 0.8014
2676
+ },
2677
+ "telos_small_pure_jepa": {
2678
+ "nCRPS": 0.311,
2679
+ "nMASE": 0.8037
2680
+ },
2681
+ "analytical_baseline": {
2682
+ "nCRPS": 0.6602,
2683
+ "nMASE": 0.921
2684
+ }
2685
+ },
2686
+ {
2687
+ "source": "tablet_compression",
2688
+ "dataset": "code_04",
2689
+ "term": "short",
2690
+ "H": 30,
2691
+ "items": 105,
2692
+ "telos_small": {
2693
+ "nCRPS": 0.3948,
2694
+ "nMASE": 0.7974
2695
+ },
2696
+ "telos_small_pure_jepa": {
2697
+ "nCRPS": 0.3972,
2698
+ "nMASE": 0.807
2699
+ },
2700
+ "analytical_baseline": {
2701
+ "nCRPS": 0.7033,
2702
+ "nMASE": 0.9196
2703
+ }
2704
+ },
2705
+ {
2706
+ "source": "tablet_compression",
2707
+ "dataset": "code_05",
2708
+ "term": "long",
2709
+ "H": 180,
2710
+ "items": 15,
2711
+ "telos_small": {
2712
+ "nCRPS": 0.4633,
2713
+ "nMASE": 0.6389
2714
+ },
2715
+ "telos_small_pure_jepa": {
2716
+ "nCRPS": 0.46,
2717
+ "nMASE": 0.6272
2718
+ },
2719
+ "analytical_baseline": {
2720
+ "nCRPS": 0.8353,
2721
+ "nMASE": 0.8059
2722
+ }
2723
+ },
2724
+ {
2725
+ "source": "tablet_compression",
2726
+ "dataset": "code_05",
2727
+ "term": "medium",
2728
+ "H": 60,
2729
+ "items": 15,
2730
+ "telos_small": {
2731
+ "nCRPS": 0.4158,
2732
+ "nMASE": 0.5673
2733
+ },
2734
+ "telos_small_pure_jepa": {
2735
+ "nCRPS": 0.4155,
2736
+ "nMASE": 0.567
2737
+ },
2738
+ "analytical_baseline": {
2739
+ "nCRPS": 0.9523,
2740
+ "nMASE": 0.7534
2741
+ }
2742
+ },
2743
+ {
2744
+ "source": "tablet_compression",
2745
+ "dataset": "code_05",
2746
+ "term": "short",
2747
+ "H": 30,
2748
+ "items": 15,
2749
+ "telos_small": {
2750
+ "nCRPS": 0.5108,
2751
+ "nMASE": 0.5911
2752
+ },
2753
+ "telos_small_pure_jepa": {
2754
+ "nCRPS": 0.5178,
2755
+ "nMASE": 0.5823
2756
+ },
2757
+ "analytical_baseline": {
2758
+ "nCRPS": 1.0018,
2759
+ "nMASE": 0.7601
2760
+ }
2761
+ },
2762
+ {
2763
+ "source": "tablet_compression",
2764
+ "dataset": "code_06",
2765
+ "term": "long",
2766
+ "H": 180,
2767
+ "items": 10,
2768
+ "telos_small": {
2769
+ "nCRPS": 0.1944,
2770
+ "nMASE": 0.8393
2771
+ },
2772
+ "telos_small_pure_jepa": {
2773
+ "nCRPS": 0.1943,
2774
+ "nMASE": 0.8392
2775
+ },
2776
+ "analytical_baseline": {
2777
+ "nCRPS": 0.6424,
2778
+ "nMASE": 0.8835
2779
+ }
2780
+ },
2781
+ {
2782
+ "source": "tablet_compression",
2783
+ "dataset": "code_06",
2784
+ "term": "medium",
2785
+ "H": 60,
2786
+ "items": 10,
2787
+ "telos_small": {
2788
+ "nCRPS": 0.2756,
2789
+ "nMASE": 0.7585
2790
+ },
2791
+ "telos_small_pure_jepa": {
2792
+ "nCRPS": 0.275,
2793
+ "nMASE": 0.7583
2794
+ },
2795
+ "analytical_baseline": {
2796
+ "nCRPS": 0.7091,
2797
+ "nMASE": 0.7989
2798
+ }
2799
+ },
2800
+ {
2801
+ "source": "tablet_compression",
2802
+ "dataset": "code_06",
2803
+ "term": "short",
2804
+ "H": 30,
2805
+ "items": 10,
2806
+ "telos_small": {
2807
+ "nCRPS": 0.3735,
2808
+ "nMASE": 0.745
2809
+ },
2810
+ "telos_small_pure_jepa": {
2811
+ "nCRPS": 0.3743,
2812
+ "nMASE": 0.7459
2813
+ },
2814
+ "analytical_baseline": {
2815
+ "nCRPS": 0.7555,
2816
+ "nMASE": 0.8095
2817
+ }
2818
+ },
2819
+ {
2820
+ "source": "tablet_compression",
2821
+ "dataset": "code_07",
2822
+ "term": "long",
2823
+ "H": 180,
2824
+ "items": 35,
2825
+ "telos_small": {
2826
+ "nCRPS": 0.2178,
2827
+ "nMASE": 0.6517
2828
+ },
2829
+ "telos_small_pure_jepa": {
2830
+ "nCRPS": 0.2082,
2831
+ "nMASE": 0.5333
2832
+ },
2833
+ "analytical_baseline": {
2834
+ "nCRPS": 0.5814,
2835
+ "nMASE": 0.8957
2836
+ }
2837
+ },
2838
+ {
2839
+ "source": "tablet_compression",
2840
+ "dataset": "code_07",
2841
+ "term": "medium",
2842
+ "H": 60,
2843
+ "items": 35,
2844
+ "telos_small": {
2845
+ "nCRPS": 0.2952,
2846
+ "nMASE": 0.5371
2847
+ },
2848
+ "telos_small_pure_jepa": {
2849
+ "nCRPS": 0.2978,
2850
+ "nMASE": 0.5174
2851
+ },
2852
+ "analytical_baseline": {
2853
+ "nCRPS": 0.6611,
2854
+ "nMASE": 0.902
2855
+ }
2856
+ },
2857
+ {
2858
+ "source": "tablet_compression",
2859
+ "dataset": "code_07",
2860
+ "term": "short",
2861
+ "H": 30,
2862
+ "items": 35,
2863
+ "telos_small": {
2864
+ "nCRPS": 0.3776,
2865
+ "nMASE": 0.4923
2866
+ },
2867
+ "telos_small_pure_jepa": {
2868
+ "nCRPS": 0.3767,
2869
+ "nMASE": 0.4745
2870
+ },
2871
+ "analytical_baseline": {
2872
+ "nCRPS": 0.7176,
2873
+ "nMASE": 0.8819
2874
+ }
2875
+ },
2876
+ {
2877
+ "source": "tablet_compression",
2878
+ "dataset": "code_08",
2879
+ "term": "long",
2880
+ "H": 180,
2881
+ "items": 10,
2882
+ "telos_small": {
2883
+ "nCRPS": 0.2356,
2884
+ "nMASE": 0.8517
2885
+ },
2886
+ "telos_small_pure_jepa": {
2887
+ "nCRPS": 0.2357,
2888
+ "nMASE": 0.8133
2889
+ },
2890
+ "analytical_baseline": {
2891
+ "nCRPS": 0.6906,
2892
+ "nMASE": 0.9072
2893
+ }
2894
+ },
2895
+ {
2896
+ "source": "tablet_compression",
2897
+ "dataset": "code_08",
2898
+ "term": "medium",
2899
+ "H": 60,
2900
+ "items": 10,
2901
+ "telos_small": {
2902
+ "nCRPS": 0.3398,
2903
+ "nMASE": 0.8125
2904
+ },
2905
+ "telos_small_pure_jepa": {
2906
+ "nCRPS": 0.34,
2907
+ "nMASE": 0.7824
2908
+ },
2909
+ "analytical_baseline": {
2910
+ "nCRPS": 0.8003,
2911
+ "nMASE": 0.9297
2912
+ }
2913
+ },
2914
+ {
2915
+ "source": "tablet_compression",
2916
+ "dataset": "code_08",
2917
+ "term": "short",
2918
+ "H": 30,
2919
+ "items": 10,
2920
+ "telos_small": {
2921
+ "nCRPS": 0.4248,
2922
+ "nMASE": 0.7602
2923
+ },
2924
+ "telos_small_pure_jepa": {
2925
+ "nCRPS": 0.4254,
2926
+ "nMASE": 0.7594
2927
+ },
2928
+ "analytical_baseline": {
2929
+ "nCRPS": 0.8583,
2930
+ "nMASE": 0.9395
2931
+ }
2932
+ },
2933
+ {
2934
+ "source": "tablet_compression",
2935
+ "dataset": "code_09",
2936
+ "term": "long",
2937
+ "H": 180,
2938
+ "items": 10,
2939
+ "telos_small": {
2940
+ "nCRPS": 0.3136,
2941
+ "nMASE": 0.9122
2942
+ },
2943
+ "telos_small_pure_jepa": {
2944
+ "nCRPS": 0.3134,
2945
+ "nMASE": 0.8275
2946
+ },
2947
+ "analytical_baseline": {
2948
+ "nCRPS": 0.6718,
2949
+ "nMASE": 0.9575
2950
+ }
2951
+ },
2952
+ {
2953
+ "source": "tablet_compression",
2954
+ "dataset": "code_09",
2955
+ "term": "medium",
2956
+ "H": 60,
2957
+ "items": 10,
2958
+ "telos_small": {
2959
+ "nCRPS": 0.4987,
2960
+ "nMASE": 5.2914
2961
+ },
2962
+ "telos_small_pure_jepa": {
2963
+ "nCRPS": 0.4961,
2964
+ "nMASE": 0.7886
2965
+ },
2966
+ "analytical_baseline": {
2967
+ "nCRPS": 0.7503,
2968
+ "nMASE": 0.9459
2969
+ }
2970
+ },
2971
+ {
2972
+ "source": "tablet_compression",
2973
+ "dataset": "code_09",
2974
+ "term": "short",
2975
+ "H": 30,
2976
+ "items": 10,
2977
+ "telos_small": {
2978
+ "nCRPS": 0.6202,
2979
+ "nMASE": 2.5335
2980
+ },
2981
+ "telos_small_pure_jepa": {
2982
+ "nCRPS": 0.6139,
2983
+ "nMASE": 0.7875
2984
+ },
2985
+ "analytical_baseline": {
2986
+ "nCRPS": 0.8076,
2987
+ "nMASE": 0.8897
2988
+ }
2989
+ },
2990
+ {
2991
+ "source": "tablet_compression",
2992
+ "dataset": "code_10",
2993
+ "term": "long",
2994
+ "H": 180,
2995
+ "items": 135,
2996
+ "telos_small": {
2997
+ "nCRPS": 0.3672,
2998
+ "nMASE": 0.8475
2999
+ },
3000
+ "telos_small_pure_jepa": {
3001
+ "nCRPS": 0.3628,
3002
+ "nMASE": 0.7708
3003
+ },
3004
+ "analytical_baseline": {
3005
+ "nCRPS": 0.6455,
3006
+ "nMASE": 0.8867
3007
+ }
3008
+ },
3009
+ {
3010
+ "source": "tablet_compression",
3011
+ "dataset": "code_10",
3012
+ "term": "medium",
3013
+ "H": 60,
3014
+ "items": 135,
3015
+ "telos_small": {
3016
+ "nCRPS": 0.424,
3017
+ "nMASE": 0.8844
3018
+ },
3019
+ "telos_small_pure_jepa": {
3020
+ "nCRPS": 0.4172,
3021
+ "nMASE": 0.7468
3022
+ },
3023
+ "analytical_baseline": {
3024
+ "nCRPS": 0.7056,
3025
+ "nMASE": 0.8758
3026
+ }
3027
+ },
3028
+ {
3029
+ "source": "tablet_compression",
3030
+ "dataset": "code_10",
3031
+ "term": "short",
3032
+ "H": 30,
3033
+ "items": 135,
3034
+ "telos_small": {
3035
+ "nCRPS": 0.4366,
3036
+ "nMASE": 0.7839
3037
+ },
3038
+ "telos_small_pure_jepa": {
3039
+ "nCRPS": 0.4323,
3040
+ "nMASE": 0.7261
3041
+ },
3042
+ "analytical_baseline": {
3043
+ "nCRPS": 0.7012,
3044
+ "nMASE": 0.8494
3045
+ }
3046
+ },
3047
+ {
3048
+ "source": "tablet_compression",
3049
+ "dataset": "code_11",
3050
+ "term": "long",
3051
+ "H": 180,
3052
+ "items": 65,
3053
+ "telos_small": {
3054
+ "nCRPS": 0.194,
3055
+ "nMASE": 0.9789
3056
+ },
3057
+ "telos_small_pure_jepa": {
3058
+ "nCRPS": 0.1944,
3059
+ "nMASE": 0.8627
3060
+ },
3061
+ "analytical_baseline": {
3062
+ "nCRPS": 0.3482,
3063
+ "nMASE": 1.0543
3064
+ }
3065
+ },
3066
+ {
3067
+ "source": "tablet_compression",
3068
+ "dataset": "code_11",
3069
+ "term": "medium",
3070
+ "H": 60,
3071
+ "items": 65,
3072
+ "telos_small": {
3073
+ "nCRPS": 0.2697,
3074
+ "nMASE": 0.7777
3075
+ },
3076
+ "telos_small_pure_jepa": {
3077
+ "nCRPS": 0.2702,
3078
+ "nMASE": 0.7399
3079
+ },
3080
+ "analytical_baseline": {
3081
+ "nCRPS": 0.4326,
3082
+ "nMASE": 0.9433
3083
+ }
3084
+ },
3085
+ {
3086
+ "source": "tablet_compression",
3087
+ "dataset": "code_11",
3088
+ "term": "short",
3089
+ "H": 30,
3090
+ "items": 65,
3091
+ "telos_small": {
3092
+ "nCRPS": 0.3067,
3093
+ "nMASE": 0.8093
3094
+ },
3095
+ "telos_small_pure_jepa": {
3096
+ "nCRPS": 0.3078,
3097
+ "nMASE": 0.8013
3098
+ },
3099
+ "analytical_baseline": {
3100
+ "nCRPS": 0.4911,
3101
+ "nMASE": 0.9292
3102
+ }
3103
+ },
3104
+ {
3105
+ "source": "tablet_compression",
3106
+ "dataset": "code_12",
3107
+ "term": "long",
3108
+ "H": 180,
3109
+ "items": 105,
3110
+ "telos_small": {
3111
+ "nCRPS": 0.25,
3112
+ "nMASE": 1.1838
3113
+ },
3114
+ "telos_small_pure_jepa": {
3115
+ "nCRPS": 0.2494,
3116
+ "nMASE": 0.8591
3117
+ },
3118
+ "analytical_baseline": {
3119
+ "nCRPS": 0.6621,
3120
+ "nMASE": 0.9116
3121
+ }
3122
+ },
3123
+ {
3124
+ "source": "tablet_compression",
3125
+ "dataset": "code_12",
3126
+ "term": "medium",
3127
+ "H": 60,
3128
+ "items": 105,
3129
+ "telos_small": {
3130
+ "nCRPS": 0.3605,
3131
+ "nMASE": 1.0095
3132
+ },
3133
+ "telos_small_pure_jepa": {
3134
+ "nCRPS": 0.3599,
3135
+ "nMASE": 0.815
3136
+ },
3137
+ "analytical_baseline": {
3138
+ "nCRPS": 0.7244,
3139
+ "nMASE": 0.8966
3140
+ }
3141
+ },
3142
+ {
3143
+ "source": "tablet_compression",
3144
+ "dataset": "code_12",
3145
+ "term": "short",
3146
+ "H": 30,
3147
+ "items": 105,
3148
+ "telos_small": {
3149
+ "nCRPS": 0.4725,
3150
+ "nMASE": 0.886
3151
+ },
3152
+ "telos_small_pure_jepa": {
3153
+ "nCRPS": 0.4726,
3154
+ "nMASE": 0.8399
3155
+ },
3156
+ "analytical_baseline": {
3157
+ "nCRPS": 0.7655,
3158
+ "nMASE": 0.8908
3159
+ }
3160
+ },
3161
+ {
3162
+ "source": "tablet_compression",
3163
+ "dataset": "code_13",
3164
+ "term": "long",
3165
+ "H": 180,
3166
+ "items": 655,
3167
+ "telos_small": {
3168
+ "nCRPS": 0.2112,
3169
+ "nMASE": 1.5075
3170
+ },
3171
+ "telos_small_pure_jepa": {
3172
+ "nCRPS": 0.1852,
3173
+ "nMASE": 0.7684
3174
+ },
3175
+ "analytical_baseline": {
3176
+ "nCRPS": 0.4462,
3177
+ "nMASE": 0.9303
3178
+ }
3179
+ },
3180
+ {
3181
+ "source": "tablet_compression",
3182
+ "dataset": "code_13",
3183
+ "term": "medium",
3184
+ "H": 60,
3185
+ "items": 655,
3186
+ "telos_small": {
3187
+ "nCRPS": 0.3016,
3188
+ "nMASE": 0.9833
3189
+ },
3190
+ "telos_small_pure_jepa": {
3191
+ "nCRPS": 0.2815,
3192
+ "nMASE": 0.7802
3193
+ },
3194
+ "analytical_baseline": {
3195
+ "nCRPS": 0.507,
3196
+ "nMASE": 0.928
3197
+ }
3198
+ },
3199
+ {
3200
+ "source": "tablet_compression",
3201
+ "dataset": "code_13",
3202
+ "term": "short",
3203
+ "H": 30,
3204
+ "items": 655,
3205
+ "telos_small": {
3206
+ "nCRPS": 0.3699,
3207
+ "nMASE": 0.8645
3208
+ },
3209
+ "telos_small_pure_jepa": {
3210
+ "nCRPS": 0.3612,
3211
+ "nMASE": 0.8335
3212
+ },
3213
+ "analytical_baseline": {
3214
+ "nCRPS": 0.5568,
3215
+ "nMASE": 0.9351
3216
+ }
3217
+ },
3218
+ {
3219
+ "source": "tablet_compression",
3220
+ "dataset": "code_14",
3221
+ "term": "long",
3222
+ "H": 180,
3223
+ "items": 55,
3224
+ "telos_small": {
3225
+ "nCRPS": 0.2095,
3226
+ "nMASE": 0.9672
3227
+ },
3228
+ "telos_small_pure_jepa": {
3229
+ "nCRPS": 0.2101,
3230
+ "nMASE": 0.9649
3231
+ },
3232
+ "analytical_baseline": {
3233
+ "nCRPS": 0.6013,
3234
+ "nMASE": 0.9644
3235
+ }
3236
+ },
3237
+ {
3238
+ "source": "tablet_compression",
3239
+ "dataset": "code_14",
3240
+ "term": "medium",
3241
+ "H": 60,
3242
+ "items": 55,
3243
+ "telos_small": {
3244
+ "nCRPS": 0.313,
3245
+ "nMASE": 0.9851
3246
+ },
3247
+ "telos_small_pure_jepa": {
3248
+ "nCRPS": 0.3118,
3249
+ "nMASE": 0.9769
3250
+ },
3251
+ "analytical_baseline": {
3252
+ "nCRPS": 0.6538,
3253
+ "nMASE": 0.9843
3254
+ }
3255
+ },
3256
+ {
3257
+ "source": "tablet_compression",
3258
+ "dataset": "code_14",
3259
+ "term": "short",
3260
+ "H": 30,
3261
+ "items": 55,
3262
+ "telos_small": {
3263
+ "nCRPS": 0.4087,
3264
+ "nMASE": 0.9362
3265
+ },
3266
+ "telos_small_pure_jepa": {
3267
+ "nCRPS": 0.4035,
3268
+ "nMASE": 0.9103
3269
+ },
3270
+ "analytical_baseline": {
3271
+ "nCRPS": 0.6812,
3272
+ "nMASE": 1.0087
3273
+ }
3274
+ },
3275
+ {
3276
+ "source": "tablet_compression",
3277
+ "dataset": "code_15",
3278
+ "term": "long",
3279
+ "H": 180,
3280
+ "items": 300,
3281
+ "telos_small": {
3282
+ "nCRPS": 0.176,
3283
+ "nMASE": 0.841
3284
+ },
3285
+ "telos_small_pure_jepa": {
3286
+ "nCRPS": 0.174,
3287
+ "nMASE": 0.7833
3288
+ },
3289
+ "analytical_baseline": {
3290
+ "nCRPS": 0.4335,
3291
+ "nMASE": 0.9553
3292
+ }
3293
+ },
3294
+ {
3295
+ "source": "tablet_compression",
3296
+ "dataset": "code_15",
3297
+ "term": "medium",
3298
+ "H": 60,
3299
+ "items": 300,
3300
+ "telos_small": {
3301
+ "nCRPS": 0.2548,
3302
+ "nMASE": 1.0724
3303
+ },
3304
+ "telos_small_pure_jepa": {
3305
+ "nCRPS": 0.2431,
3306
+ "nMASE": 0.7703
3307
+ },
3308
+ "analytical_baseline": {
3309
+ "nCRPS": 0.4882,
3310
+ "nMASE": 0.9309
3311
+ }
3312
+ },
3313
+ {
3314
+ "source": "tablet_compression",
3315
+ "dataset": "code_15",
3316
+ "term": "short",
3317
+ "H": 30,
3318
+ "items": 300,
3319
+ "telos_small": {
3320
+ "nCRPS": 0.3024,
3321
+ "nMASE": 0.8212
3322
+ },
3323
+ "telos_small_pure_jepa": {
3324
+ "nCRPS": 0.2996,
3325
+ "nMASE": 0.7952
3326
+ },
3327
+ "analytical_baseline": {
3328
+ "nCRPS": 0.5172,
3329
+ "nMASE": 0.9246
3330
+ }
3331
+ },
3332
+ {
3333
+ "source": "tablet_compression",
3334
+ "dataset": "code_16",
3335
+ "term": "long",
3336
+ "H": 180,
3337
+ "items": 10,
3338
+ "telos_small": {
3339
+ "nCRPS": 0.3448,
3340
+ "nMASE": 1.0914
3341
+ },
3342
+ "telos_small_pure_jepa": {
3343
+ "nCRPS": 0.3489,
3344
+ "nMASE": 1.0964
3345
+ },
3346
+ "analytical_baseline": {
3347
+ "nCRPS": 0.5285,
3348
+ "nMASE": 1.0157
3349
+ }
3350
+ },
3351
+ {
3352
+ "source": "tablet_compression",
3353
+ "dataset": "code_16",
3354
+ "term": "medium",
3355
+ "H": 60,
3356
+ "items": 10,
3357
+ "telos_small": {
3358
+ "nCRPS": 0.4802,
3359
+ "nMASE": 1.1185
3360
+ },
3361
+ "telos_small_pure_jepa": {
3362
+ "nCRPS": 0.488,
3363
+ "nMASE": 1.1406
3364
+ },
3365
+ "analytical_baseline": {
3366
+ "nCRPS": 0.608,
3367
+ "nMASE": 1.0205
3368
+ }
3369
+ },
3370
+ {
3371
+ "source": "tablet_compression",
3372
+ "dataset": "code_16",
3373
+ "term": "short",
3374
+ "H": 30,
3375
+ "items": 10,
3376
+ "telos_small": {
3377
+ "nCRPS": 0.6118,
3378
+ "nMASE": 1.1556
3379
+ },
3380
+ "telos_small_pure_jepa": {
3381
+ "nCRPS": 0.6265,
3382
+ "nMASE": 1.1866
3383
+ },
3384
+ "analytical_baseline": {
3385
+ "nCRPS": 0.6738,
3386
+ "nMASE": 1.0917
3387
+ }
3388
+ },
3389
+ {
3390
+ "source": "tablet_compression",
3391
+ "dataset": "code_17",
3392
+ "term": "long",
3393
+ "H": 180,
3394
+ "items": 1020,
3395
+ "telos_small": {
3396
+ "nCRPS": 0.2281,
3397
+ "nMASE": 0.9072
3398
+ },
3399
+ "telos_small_pure_jepa": {
3400
+ "nCRPS": 0.2264,
3401
+ "nMASE": 0.7981
3402
+ },
3403
+ "analytical_baseline": {
3404
+ "nCRPS": 0.5017,
3405
+ "nMASE": 0.8586
3406
+ }
3407
+ },
3408
+ {
3409
+ "source": "tablet_compression",
3410
+ "dataset": "code_17",
3411
+ "term": "medium",
3412
+ "H": 60,
3413
+ "items": 1020,
3414
+ "telos_small": {
3415
+ "nCRPS": 0.341,
3416
+ "nMASE": 0.8718
3417
+ },
3418
+ "telos_small_pure_jepa": {
3419
+ "nCRPS": 0.3359,
3420
+ "nMASE": 0.7768
3421
+ },
3422
+ "analytical_baseline": {
3423
+ "nCRPS": 0.6081,
3424
+ "nMASE": 0.842
3425
+ }
3426
+ },
3427
+ {
3428
+ "source": "tablet_compression",
3429
+ "dataset": "code_17",
3430
+ "term": "short",
3431
+ "H": 30,
3432
+ "items": 1020,
3433
+ "telos_small": {
3434
+ "nCRPS": 0.4352,
3435
+ "nMASE": 0.7983
3436
+ },
3437
+ "telos_small_pure_jepa": {
3438
+ "nCRPS": 0.4239,
3439
+ "nMASE": 0.7736
3440
+ },
3441
+ "analytical_baseline": {
3442
+ "nCRPS": 0.6847,
3443
+ "nMASE": 0.8347
3444
+ }
3445
+ },
3446
+ {
3447
+ "source": "tablet_compression",
3448
+ "dataset": "code_18",
3449
+ "term": "long",
3450
+ "H": 180,
3451
+ "items": 5,
3452
+ "telos_small": {
3453
+ "nCRPS": 0.3833,
3454
+ "nMASE": 0.9783
3455
+ },
3456
+ "telos_small_pure_jepa": {
3457
+ "nCRPS": 0.3824,
3458
+ "nMASE": 0.9778
3459
+ },
3460
+ "analytical_baseline": {
3461
+ "nCRPS": 0.7338,
3462
+ "nMASE": 1.1111
3463
+ }
3464
+ },
3465
+ {
3466
+ "source": "tablet_compression",
3467
+ "dataset": "code_18",
3468
+ "term": "medium",
3469
+ "H": 60,
3470
+ "items": 5,
3471
+ "telos_small": {
3472
+ "nCRPS": 0.7491,
3473
+ "nMASE": 1.135
3474
+ },
3475
+ "telos_small_pure_jepa": {
3476
+ "nCRPS": 0.55,
3477
+ "nMASE": 0.9609
3478
+ },
3479
+ "analytical_baseline": {
3480
+ "nCRPS": 0.7526,
3481
+ "nMASE": 0.9451
3482
+ }
3483
+ },
3484
+ {
3485
+ "source": "tablet_compression",
3486
+ "dataset": "code_18",
3487
+ "term": "short",
3488
+ "H": 30,
3489
+ "items": 5,
3490
+ "telos_small": {
3491
+ "nCRPS": 0.5537,
3492
+ "nMASE": 0.7949
3493
+ },
3494
+ "telos_small_pure_jepa": {
3495
+ "nCRPS": 0.551,
3496
+ "nMASE": 0.794
3497
+ },
3498
+ "analytical_baseline": {
3499
+ "nCRPS": 0.7254,
3500
+ "nMASE": 0.839
3501
+ }
3502
+ },
3503
+ {
3504
+ "source": "tablet_compression",
3505
+ "dataset": "code_19",
3506
+ "term": "long",
3507
+ "H": 180,
3508
+ "items": 75,
3509
+ "telos_small": {
3510
+ "nCRPS": 0.3091,
3511
+ "nMASE": 1.0488
3512
+ },
3513
+ "telos_small_pure_jepa": {
3514
+ "nCRPS": 0.3093,
3515
+ "nMASE": 0.7983
3516
+ },
3517
+ "analytical_baseline": {
3518
+ "nCRPS": 0.6314,
3519
+ "nMASE": 1.1146
3520
+ }
3521
+ },
3522
+ {
3523
+ "source": "tablet_compression",
3524
+ "dataset": "code_19",
3525
+ "term": "medium",
3526
+ "H": 60,
3527
+ "items": 75,
3528
+ "telos_small": {
3529
+ "nCRPS": 0.4712,
3530
+ "nMASE": 1.1579
3531
+ },
3532
+ "telos_small_pure_jepa": {
3533
+ "nCRPS": 0.4713,
3534
+ "nMASE": 0.856
3535
+ },
3536
+ "analytical_baseline": {
3537
+ "nCRPS": 0.7094,
3538
+ "nMASE": 1.1134
3539
+ }
3540
+ },
3541
+ {
3542
+ "source": "tablet_compression",
3543
+ "dataset": "code_19",
3544
+ "term": "short",
3545
+ "H": 30,
3546
+ "items": 75,
3547
+ "telos_small": {
3548
+ "nCRPS": 0.5659,
3549
+ "nMASE": 1.1666
3550
+ },
3551
+ "telos_small_pure_jepa": {
3552
+ "nCRPS": 0.5656,
3553
+ "nMASE": 0.8625
3554
+ },
3555
+ "analytical_baseline": {
3556
+ "nCRPS": 0.7496,
3557
+ "nMASE": 1.0855
3558
+ }
3559
+ },
3560
+ {
3561
+ "source": "tablet_compression",
3562
+ "dataset": "code_20",
3563
+ "term": "long",
3564
+ "H": 180,
3565
+ "items": 20,
3566
+ "telos_small": {
3567
+ "nCRPS": 0.2148,
3568
+ "nMASE": 0.8507
3569
+ },
3570
+ "telos_small_pure_jepa": {
3571
+ "nCRPS": 0.2148,
3572
+ "nMASE": 0.8509
3573
+ },
3574
+ "analytical_baseline": {
3575
+ "nCRPS": 0.6101,
3576
+ "nMASE": 0.922
3577
+ }
3578
+ },
3579
+ {
3580
+ "source": "tablet_compression",
3581
+ "dataset": "code_20",
3582
+ "term": "medium",
3583
+ "H": 60,
3584
+ "items": 20,
3585
+ "telos_small": {
3586
+ "nCRPS": 0.3182,
3587
+ "nMASE": 0.8547
3588
+ },
3589
+ "telos_small_pure_jepa": {
3590
+ "nCRPS": 0.3136,
3591
+ "nMASE": 0.8493
3592
+ },
3593
+ "analytical_baseline": {
3594
+ "nCRPS": 0.6818,
3595
+ "nMASE": 0.9231
3596
+ }
3597
+ },
3598
+ {
3599
+ "source": "tablet_compression",
3600
+ "dataset": "code_20",
3601
+ "term": "short",
3602
+ "H": 30,
3603
+ "items": 20,
3604
+ "telos_small": {
3605
+ "nCRPS": 0.3831,
3606
+ "nMASE": 0.8272
3607
+ },
3608
+ "telos_small_pure_jepa": {
3609
+ "nCRPS": 0.3818,
3610
+ "nMASE": 0.826
3611
+ },
3612
+ "analytical_baseline": {
3613
+ "nCRPS": 0.7244,
3614
+ "nMASE": 0.9195
3615
+ }
3616
+ },
3617
+ {
3618
+ "source": "tablet_compression",
3619
+ "dataset": "code_21",
3620
+ "term": "long",
3621
+ "H": 180,
3622
+ "items": 240,
3623
+ "telos_small": {
3624
+ "nCRPS": 0.2462,
3625
+ "nMASE": 0.8673
3626
+ },
3627
+ "telos_small_pure_jepa": {
3628
+ "nCRPS": 0.246,
3629
+ "nMASE": 0.8549
3630
+ },
3631
+ "analytical_baseline": {
3632
+ "nCRPS": 0.6614,
3633
+ "nMASE": 0.9511
3634
+ }
3635
+ },
3636
+ {
3637
+ "source": "tablet_compression",
3638
+ "dataset": "code_21",
3639
+ "term": "medium",
3640
+ "H": 60,
3641
+ "items": 240,
3642
+ "telos_small": {
3643
+ "nCRPS": 0.3804,
3644
+ "nMASE": 0.875
3645
+ },
3646
+ "telos_small_pure_jepa": {
3647
+ "nCRPS": 0.3804,
3648
+ "nMASE": 0.8752
3649
+ },
3650
+ "analytical_baseline": {
3651
+ "nCRPS": 0.7294,
3652
+ "nMASE": 0.9615
3653
+ }
3654
+ },
3655
+ {
3656
+ "source": "tablet_compression",
3657
+ "dataset": "code_21",
3658
+ "term": "short",
3659
+ "H": 30,
3660
+ "items": 240,
3661
+ "telos_small": {
3662
+ "nCRPS": 0.498,
3663
+ "nMASE": 0.8733
3664
+ },
3665
+ "telos_small_pure_jepa": {
3666
+ "nCRPS": 0.4976,
3667
+ "nMASE": 0.8747
3668
+ },
3669
+ "analytical_baseline": {
3670
+ "nCRPS": 0.7709,
3671
+ "nMASE": 0.9727
3672
+ }
3673
+ },
3674
+ {
3675
+ "source": "tablet_compression",
3676
+ "dataset": "code_22",
3677
+ "term": "long",
3678
+ "H": 180,
3679
+ "items": 195,
3680
+ "telos_small": {
3681
+ "nCRPS": 0.3206,
3682
+ "nMASE": 1.1734
3683
+ },
3684
+ "telos_small_pure_jepa": {
3685
+ "nCRPS": 0.3088,
3686
+ "nMASE": 0.8212
3687
+ },
3688
+ "analytical_baseline": {
3689
+ "nCRPS": 0.5181,
3690
+ "nMASE": 0.9165
3691
+ }
3692
+ },
3693
+ {
3694
+ "source": "tablet_compression",
3695
+ "dataset": "code_22",
3696
+ "term": "medium",
3697
+ "H": 60,
3698
+ "items": 195,
3699
+ "telos_small": {
3700
+ "nCRPS": 0.4757,
3701
+ "nMASE": 0.8722
3702
+ },
3703
+ "telos_small_pure_jepa": {
3704
+ "nCRPS": 0.4734,
3705
+ "nMASE": 0.8035
3706
+ },
3707
+ "analytical_baseline": {
3708
+ "nCRPS": 0.6936,
3709
+ "nMASE": 0.9035
3710
+ }
3711
+ },
3712
+ {
3713
+ "source": "tablet_compression",
3714
+ "dataset": "code_22",
3715
+ "term": "short",
3716
+ "H": 30,
3717
+ "items": 195,
3718
+ "telos_small": {
3719
+ "nCRPS": 0.5726,
3720
+ "nMASE": 0.8218
3721
+ },
3722
+ "telos_small_pure_jepa": {
3723
+ "nCRPS": 0.5701,
3724
+ "nMASE": 0.7898
3725
+ },
3726
+ "analytical_baseline": {
3727
+ "nCRPS": 0.8024,
3728
+ "nMASE": 0.8985
3729
+ }
3730
+ },
3731
+ {
3732
+ "source": "tablet_compression",
3733
+ "dataset": "code_23",
3734
+ "term": "long",
3735
+ "H": 180,
3736
+ "items": 865,
3737
+ "telos_small": {
3738
+ "nCRPS": 0.3037,
3739
+ "nMASE": 0.9641
3740
+ },
3741
+ "telos_small_pure_jepa": {
3742
+ "nCRPS": 0.2795,
3743
+ "nMASE": 0.7822
3744
+ },
3745
+ "analytical_baseline": {
3746
+ "nCRPS": 0.6584,
3747
+ "nMASE": 0.8261
3748
+ }
3749
+ },
3750
+ {
3751
+ "source": "tablet_compression",
3752
+ "dataset": "code_23",
3753
+ "term": "medium",
3754
+ "H": 60,
3755
+ "items": 865,
3756
+ "telos_small": {
3757
+ "nCRPS": 0.3959,
3758
+ "nMASE": 0.823
3759
+ },
3760
+ "telos_small_pure_jepa": {
3761
+ "nCRPS": 0.3824,
3762
+ "nMASE": 0.7557
3763
+ },
3764
+ "analytical_baseline": {
3765
+ "nCRPS": 0.7111,
3766
+ "nMASE": 0.8065
3767
+ }
3768
+ },
3769
+ {
3770
+ "source": "tablet_compression",
3771
+ "dataset": "code_23",
3772
+ "term": "short",
3773
+ "H": 30,
3774
+ "items": 865,
3775
+ "telos_small": {
3776
+ "nCRPS": 0.4754,
3777
+ "nMASE": 0.7829
3778
+ },
3779
+ "telos_small_pure_jepa": {
3780
+ "nCRPS": 0.4706,
3781
+ "nMASE": 0.7516
3782
+ },
3783
+ "analytical_baseline": {
3784
+ "nCRPS": 0.7408,
3785
+ "nMASE": 0.7982
3786
+ }
3787
+ },
3788
+ {
3789
+ "source": "tablet_compression",
3790
+ "dataset": "code_24",
3791
+ "term": "long",
3792
+ "H": 180,
3793
+ "items": 30,
3794
+ "telos_small": {
3795
+ "nCRPS": 0.1805,
3796
+ "nMASE": 1.4625
3797
+ },
3798
+ "telos_small_pure_jepa": {
3799
+ "nCRPS": 0.1626,
3800
+ "nMASE": 0.7759
3801
+ },
3802
+ "analytical_baseline": {
3803
+ "nCRPS": 0.571,
3804
+ "nMASE": 0.8651
3805
+ }
3806
+ },
3807
+ {
3808
+ "source": "tablet_compression",
3809
+ "dataset": "code_24",
3810
+ "term": "medium",
3811
+ "H": 60,
3812
+ "items": 30,
3813
+ "telos_small": {
3814
+ "nCRPS": 0.2729,
3815
+ "nMASE": 1.0356
3816
+ },
3817
+ "telos_small_pure_jepa": {
3818
+ "nCRPS": 0.2575,
3819
+ "nMASE": 0.7599
3820
+ },
3821
+ "analytical_baseline": {
3822
+ "nCRPS": 0.6568,
3823
+ "nMASE": 0.8796
3824
+ }
3825
+ },
3826
+ {
3827
+ "source": "tablet_compression",
3828
+ "dataset": "code_24",
3829
+ "term": "short",
3830
+ "H": 30,
3831
+ "items": 30,
3832
+ "telos_small": {
3833
+ "nCRPS": 0.3416,
3834
+ "nMASE": 0.7422
3835
+ },
3836
+ "telos_small_pure_jepa": {
3837
+ "nCRPS": 0.3412,
3838
+ "nMASE": 0.7421
3839
+ },
3840
+ "analytical_baseline": {
3841
+ "nCRPS": 0.7082,
3842
+ "nMASE": 0.863
3843
+ }
3844
+ },
3845
+ {
3846
+ "source": "tablet_compression",
3847
+ "dataset": "code_25",
3848
+ "term": "long",
3849
+ "H": 180,
3850
+ "items": 140,
3851
+ "telos_small": {
3852
+ "nCRPS": 0.2767,
3853
+ "nMASE": 0.8978
3854
+ },
3855
+ "telos_small_pure_jepa": {
3856
+ "nCRPS": 0.2763,
3857
+ "nMASE": 0.7634
3858
+ },
3859
+ "analytical_baseline": {
3860
+ "nCRPS": 0.7048,
3861
+ "nMASE": 0.9026
3862
+ }
3863
+ },
3864
+ {
3865
+ "source": "tablet_compression",
3866
+ "dataset": "code_25",
3867
+ "term": "medium",
3868
+ "H": 60,
3869
+ "items": 140,
3870
+ "telos_small": {
3871
+ "nCRPS": 0.3989,
3872
+ "nMASE": 0.7795
3873
+ },
3874
+ "telos_small_pure_jepa": {
3875
+ "nCRPS": 0.3988,
3876
+ "nMASE": 0.7129
3877
+ },
3878
+ "analytical_baseline": {
3879
+ "nCRPS": 0.7689,
3880
+ "nMASE": 0.876
3881
+ }
3882
+ },
3883
+ {
3884
+ "source": "tablet_compression",
3885
+ "dataset": "code_25",
3886
+ "term": "short",
3887
+ "H": 30,
3888
+ "items": 140,
3889
+ "telos_small": {
3890
+ "nCRPS": 0.4922,
3891
+ "nMASE": 0.7184
3892
+ },
3893
+ "telos_small_pure_jepa": {
3894
+ "nCRPS": 0.4928,
3895
+ "nMASE": 0.7013
3896
+ },
3897
+ "analytical_baseline": {
3898
+ "nCRPS": 0.8093,
3899
+ "nMASE": 0.8634
3900
+ }
3901
+ }
3902
+ ],
3903
+ "model_family": "Telos",
3904
+ "model_name": "Telos-Small"
3905
+ }
results/telos_small_training_report.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model_name": "Telos-Small",
3
+ "model_tier": "Small",
4
+ "parameters": 50100747,
5
+ "architecture": {
6
+ "d_model": 512,
7
+ "num_heads": 8,
8
+ "encoder_blocks": 12,
9
+ "block_schedule": [
10
+ "time",
11
+ "time",
12
+ "time",
13
+ "time_variate",
14
+ "time",
15
+ "time",
16
+ "time",
17
+ "time_variate",
18
+ "time",
19
+ "time",
20
+ "time",
21
+ "time_variate"
22
+ ],
23
+ "jepa_predictor_blocks": 2,
24
+ "unet_skip_connections": true,
25
+ "value_residual_attention": true,
26
+ "single_shot_horizon_steps": 1024,
27
+ "eval_context_length": 4096,
28
+ "max_context_length": 8192,
29
+ "quantiles": 21
30
+ },
31
+ "training": {
32
+ "optimizer": "NorMuon (Newton-Schulz-5) + AdamW",
33
+ "steps": 43591,
34
+ "forecast_origins_seen": 12570406,
35
+ "skipped_steps": 0,
36
+ "elapsed_seconds": 29057.7,
37
+ "val_pinball_online": 0.13599,
38
+ "val_pinball_polyak": 0.13388,
39
+ "selected": "polyak"
40
+ }
41
+ }
results/time_bench_telos_small_50m.json ADDED
@@ -0,0 +1,2139 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "benchmark": "ICML-2026 `TIME` Benchmark (50 Fresh Datasets, 98 Tasks \u2014 100% Standalone Zero-Shot)",
3
+ "tasks_evaluated": 98,
4
+ "checkpoint_sha256": {
5
+ "telos_small": "ac7b7d2ff259aabdc7d94afccafae9790d2f9d3bb86097d16235ca10f7f2f7a7"
6
+ },
7
+ "parameters": 50100747,
8
+ "elapsed_s": 1980.7,
9
+ "leaderboard": [
10
+ {
11
+ "model_name": "Timestral-209M",
12
+ "provider": "Mistral AI",
13
+ "weights": "209M weights",
14
+ "norm_crps": 0.5223,
15
+ "crps_skill_pct": 47.77,
16
+ "norm_mase": 0.6262,
17
+ "mase_skill_pct": 37.38
18
+ },
19
+ {
20
+ "model_name": "Timestral-123M",
21
+ "provider": "Mistral AI",
22
+ "weights": "123M weights",
23
+ "norm_crps": 0.5253,
24
+ "crps_skill_pct": 47.47,
25
+ "norm_mase": 0.6277,
26
+ "mase_skill_pct": 37.23
27
+ },
28
+ {
29
+ "model_name": "t0-gamma",
30
+ "provider": "The Forecasting Co.",
31
+ "weights": "256M weights",
32
+ "norm_crps": 0.534,
33
+ "crps_skill_pct": 46.6,
34
+ "norm_mase": 0.637,
35
+ "mase_skill_pct": 36.3
36
+ },
37
+ {
38
+ "model_name": "Timestral-28M",
39
+ "provider": "Mistral AI",
40
+ "weights": "28M weights",
41
+ "norm_crps": 0.5344,
42
+ "crps_skill_pct": 46.56,
43
+ "norm_mase": 0.6382,
44
+ "mase_skill_pct": 36.18
45
+ },
46
+ {
47
+ "model_name": "QiYao-M",
48
+ "provider": "QiYao",
49
+ "weights": "Foundation",
50
+ "norm_crps": 0.5362,
51
+ "crps_skill_pct": 46.38,
52
+ "norm_mase": 0.6383,
53
+ "mase_skill_pct": 36.17
54
+ },
55
+ {
56
+ "model_name": "TimesFM-3",
57
+ "provider": "Google",
58
+ "weights": "331M weights",
59
+ "norm_crps": 0.5363,
60
+ "crps_skill_pct": 46.37,
61
+ "norm_mase": 0.6398,
62
+ "mase_skill_pct": 36.02
63
+ },
64
+ {
65
+ "model_name": "Toto-2.0 (2.5B)",
66
+ "provider": "Datadog",
67
+ "weights": "2.5B weights",
68
+ "norm_crps": 0.5394,
69
+ "crps_skill_pct": 46.06,
70
+ "norm_mase": 0.6419,
71
+ "mase_skill_pct": 35.81
72
+ },
73
+ {
74
+ "model_name": "Timestral-5M",
75
+ "provider": "Mistral AI",
76
+ "weights": "5.2M weights",
77
+ "norm_crps": 0.5445,
78
+ "crps_skill_pct": 45.55,
79
+ "norm_mase": 0.6518,
80
+ "mase_skill_pct": 34.82
81
+ },
82
+ {
83
+ "model_name": "Tabby",
84
+ "provider": "Tabby",
85
+ "weights": "147M weights",
86
+ "norm_crps": 0.5531,
87
+ "crps_skill_pct": 44.69,
88
+ "norm_mase": 0.6684,
89
+ "mase_skill_pct": 33.16
90
+ },
91
+ {
92
+ "model_name": "Chronos-2",
93
+ "provider": "AWS",
94
+ "weights": "120M weights",
95
+ "norm_crps": 0.5563,
96
+ "crps_skill_pct": 44.37,
97
+ "norm_mase": 0.662,
98
+ "mase_skill_pct": 33.8
99
+ },
100
+ {
101
+ "model_name": "TimesFM-2.5",
102
+ "provider": "Google",
103
+ "weights": "200M weights",
104
+ "norm_crps": 0.5674,
105
+ "crps_skill_pct": 43.26,
106
+ "norm_mase": 0.6686,
107
+ "mase_skill_pct": 33.14
108
+ },
109
+ {
110
+ "model_name": "TiRex",
111
+ "provider": "NX-AI",
112
+ "weights": "35M weights",
113
+ "norm_crps": 0.5731,
114
+ "crps_skill_pct": 42.69,
115
+ "norm_mase": 0.6831,
116
+ "mase_skill_pct": 31.69
117
+ },
118
+ {
119
+ "model_name": "Moirai-2.0",
120
+ "provider": "Salesforce",
121
+ "weights": "311M weights",
122
+ "norm_crps": 0.5885,
123
+ "crps_skill_pct": 41.15,
124
+ "norm_mase": 0.703,
125
+ "mase_skill_pct": 29.7
126
+ },
127
+ {
128
+ "model_name": "Chronos-Bolt",
129
+ "provider": "AWS",
130
+ "weights": "205M weights",
131
+ "norm_crps": 0.62,
132
+ "crps_skill_pct": 38.0,
133
+ "norm_mase": 0.7328,
134
+ "mase_skill_pct": 26.72
135
+ },
136
+ {
137
+ "model_name": "Telos-Small (50.1M Wts)",
138
+ "provider": "MAGI Labs",
139
+ "weights": "50.1M weights (Standalone JEPA)",
140
+ "norm_crps": 0.643,
141
+ "crps_skill_pct": 35.7,
142
+ "norm_mase": 0.7616,
143
+ "mase_skill_pct": 23.84
144
+ },
145
+ {
146
+ "model_name": "Sundial-base",
147
+ "provider": "THUML",
148
+ "weights": "128M weights",
149
+ "norm_crps": 0.6634,
150
+ "crps_skill_pct": 33.66,
151
+ "norm_mase": 0.7576,
152
+ "mase_skill_pct": 24.24
153
+ },
154
+ {
155
+ "model_name": "Seasonal Naive",
156
+ "provider": "Baseline",
157
+ "weights": "0 weights",
158
+ "norm_crps": 1.0,
159
+ "crps_skill_pct": 0.0,
160
+ "norm_mase": 1.0,
161
+ "mase_skill_pct": 0.0
162
+ }
163
+ ],
164
+ "pure_nn_leaderboard": [
165
+ {
166
+ "model_name": "Telos-Small (Pure JEPA)",
167
+ "provider": "MAGI Labs",
168
+ "weights": "50.1M weights",
169
+ "norm_crps": 0.6346,
170
+ "crps_skill_pct": 36.54,
171
+ "norm_mase": 0.7672,
172
+ "mase_skill_pct": 23.28
173
+ }
174
+ ],
175
+ "per_task": [
176
+ {
177
+ "task": "Water_Quality_Darwin/15T/short",
178
+ "H": 16,
179
+ "V": 6,
180
+ "pairs": 3780,
181
+ "sn_mase": 1.1069051360803819,
182
+ "sn_crps": 0.10590079045606071,
183
+ "telos_small": {
184
+ "norm_crps": 0.5797,
185
+ "norm_mase": 0.8666
186
+ },
187
+ "telos_small_pure_jepa": {
188
+ "norm_crps": 0.5757,
189
+ "norm_mase": 0.916
190
+ },
191
+ "analytical_baseline": {
192
+ "norm_crps": 0.7859,
193
+ "norm_mase": 0.9977
194
+ }
195
+ },
196
+ {
197
+ "task": "Water_Quality_Darwin/15T/medium",
198
+ "H": 96,
199
+ "V": 6,
200
+ "pairs": 630,
201
+ "sn_mase": 1.10762925383268,
202
+ "sn_crps": 0.0994374783568173,
203
+ "telos_small": {
204
+ "norm_crps": 0.7502,
205
+ "norm_mase": 1.2578
206
+ },
207
+ "telos_small_pure_jepa": {
208
+ "norm_crps": 0.7455,
209
+ "norm_mase": 1.427
210
+ },
211
+ "analytical_baseline": {
212
+ "norm_crps": 0.8846,
213
+ "norm_mase": 1.1225
214
+ }
215
+ },
216
+ {
217
+ "task": "Water_Quality_Darwin/15T/long",
218
+ "H": 288,
219
+ "V": 6,
220
+ "pairs": 210,
221
+ "sn_mase": 1.6291144133574038,
222
+ "sn_crps": 0.13642779037572506,
223
+ "telos_small": {
224
+ "norm_crps": 0.7673,
225
+ "norm_mase": 1.2895
226
+ },
227
+ "telos_small_pure_jepa": {
228
+ "norm_crps": 0.7318,
229
+ "norm_mase": 1.3825
230
+ },
231
+ "analytical_baseline": {
232
+ "norm_crps": 0.8374,
233
+ "norm_mase": 1.1066
234
+ }
235
+ },
236
+ {
237
+ "task": "current_velocity/5T/short",
238
+ "H": 36,
239
+ "V": 6,
240
+ "pairs": 720,
241
+ "sn_mase": 0.9322325067949334,
242
+ "sn_crps": 0.45899238052691593,
243
+ "telos_small": {
244
+ "norm_crps": 0.4993,
245
+ "norm_mase": 0.4602
246
+ },
247
+ "telos_small_pure_jepa": {
248
+ "norm_crps": 0.4994,
249
+ "norm_mase": 0.46
250
+ },
251
+ "analytical_baseline": {
252
+ "norm_crps": 0.7252,
253
+ "norm_mase": 0.8875
254
+ }
255
+ },
256
+ {
257
+ "task": "current_velocity/5T/medium",
258
+ "H": 288,
259
+ "V": 6,
260
+ "pairs": 90,
261
+ "sn_mase": 0.9184532526344081,
262
+ "sn_crps": 0.39367661529413084,
263
+ "telos_small": {
264
+ "norm_crps": 0.7024,
265
+ "norm_mase": 0.7935
266
+ },
267
+ "telos_small_pure_jepa": {
268
+ "norm_crps": 0.6975,
269
+ "norm_mase": 0.7637
270
+ },
271
+ "analytical_baseline": {
272
+ "norm_crps": 0.8025,
273
+ "norm_mase": 1.0096
274
+ }
275
+ },
276
+ {
277
+ "task": "current_velocity/5T/long",
278
+ "H": 864,
279
+ "V": 6,
280
+ "pairs": 30,
281
+ "sn_mase": 1.1509643237096372,
282
+ "sn_crps": 0.4297710248993255,
283
+ "telos_small": {
284
+ "norm_crps": 0.7372,
285
+ "norm_mase": 0.8561
286
+ },
287
+ "telos_small_pure_jepa": {
288
+ "norm_crps": 0.7056,
289
+ "norm_mase": 0.7989
290
+ },
291
+ "analytical_baseline": {
292
+ "norm_crps": 0.8083,
293
+ "norm_mase": 0.9667
294
+ }
295
+ },
296
+ {
297
+ "task": "current_velocity/10T/short",
298
+ "H": 18,
299
+ "V": 6,
300
+ "pairs": 7200,
301
+ "sn_mase": 1.054976530934313,
302
+ "sn_crps": 0.44623873889821497,
303
+ "telos_small": {
304
+ "norm_crps": 0.6347,
305
+ "norm_mase": 0.6582
306
+ },
307
+ "telos_small_pure_jepa": {
308
+ "norm_crps": 0.6357,
309
+ "norm_mase": 0.6577
310
+ },
311
+ "analytical_baseline": {
312
+ "norm_crps": 0.9075,
313
+ "norm_mase": 1.0485
314
+ }
315
+ },
316
+ {
317
+ "task": "current_velocity/10T/medium",
318
+ "H": 144,
319
+ "V": 6,
320
+ "pairs": 900,
321
+ "sn_mase": 1.0558433884087146,
322
+ "sn_crps": 0.3821147924837241,
323
+ "telos_small": {
324
+ "norm_crps": 0.793,
325
+ "norm_mase": 0.9505
326
+ },
327
+ "telos_small_pure_jepa": {
328
+ "norm_crps": 0.7908,
329
+ "norm_mase": 0.9577
330
+ },
331
+ "analytical_baseline": {
332
+ "norm_crps": 0.9839,
333
+ "norm_mase": 1.1448
334
+ }
335
+ },
336
+ {
337
+ "task": "current_velocity/10T/long",
338
+ "H": 432,
339
+ "V": 6,
340
+ "pairs": 300,
341
+ "sn_mase": 1.4548317170000027,
342
+ "sn_crps": 0.45246055181929196,
343
+ "telos_small": {
344
+ "norm_crps": 0.7568,
345
+ "norm_mase": 0.9114
346
+ },
347
+ "telos_small_pure_jepa": {
348
+ "norm_crps": 0.7398,
349
+ "norm_mase": 0.909
350
+ },
351
+ "analytical_baseline": {
352
+ "norm_crps": 0.9552,
353
+ "norm_mase": 1.0558
354
+ }
355
+ },
356
+ {
357
+ "task": "current_velocity/15T/short",
358
+ "H": 12,
359
+ "V": 6,
360
+ "pairs": 3600,
361
+ "sn_mase": 1.0051595530806665,
362
+ "sn_crps": 0.5436424048213736,
363
+ "telos_small": {
364
+ "norm_crps": 0.5634,
365
+ "norm_mase": 0.549
366
+ },
367
+ "telos_small_pure_jepa": {
368
+ "norm_crps": 0.5635,
369
+ "norm_mase": 0.549
370
+ },
371
+ "analytical_baseline": {
372
+ "norm_crps": 0.7444,
373
+ "norm_mase": 0.8241
374
+ }
375
+ },
376
+ {
377
+ "task": "current_velocity/15T/medium",
378
+ "H": 96,
379
+ "V": 6,
380
+ "pairs": 450,
381
+ "sn_mase": 1.0047960161367429,
382
+ "sn_crps": 0.4812549512047332,
383
+ "telos_small": {
384
+ "norm_crps": 0.7178,
385
+ "norm_mase": 0.813
386
+ },
387
+ "telos_small_pure_jepa": {
388
+ "norm_crps": 0.7162,
389
+ "norm_mase": 0.811
390
+ },
391
+ "analytical_baseline": {
392
+ "norm_crps": 0.8057,
393
+ "norm_mase": 0.9164
394
+ }
395
+ },
396
+ {
397
+ "task": "current_velocity/15T/long",
398
+ "H": 288,
399
+ "V": 6,
400
+ "pairs": 150,
401
+ "sn_mase": 1.138543533191249,
402
+ "sn_crps": 0.49196664824325503,
403
+ "telos_small": {
404
+ "norm_crps": 0.7538,
405
+ "norm_mase": 0.872
406
+ },
407
+ "telos_small_pure_jepa": {
408
+ "norm_crps": 0.7264,
409
+ "norm_mase": 0.8398
410
+ },
411
+ "analytical_baseline": {
412
+ "norm_crps": 0.8162,
413
+ "norm_mase": 0.9147
414
+ }
415
+ },
416
+ {
417
+ "task": "current_velocity/20T/short",
418
+ "H": 9,
419
+ "V": 6,
420
+ "pairs": 19440,
421
+ "sn_mase": 1.0270921800260557,
422
+ "sn_crps": 0.5368854185770512,
423
+ "telos_small": {
424
+ "norm_crps": 0.5297,
425
+ "norm_mase": 0.5737
426
+ },
427
+ "telos_small_pure_jepa": {
428
+ "norm_crps": 0.5342,
429
+ "norm_mase": 0.5774
430
+ },
431
+ "analytical_baseline": {
432
+ "norm_crps": 0.7955,
433
+ "norm_mase": 0.9031
434
+ }
435
+ },
436
+ {
437
+ "task": "current_velocity/20T/medium",
438
+ "H": 72,
439
+ "V": 6,
440
+ "pairs": 2430,
441
+ "sn_mase": 1.0316722379538157,
442
+ "sn_crps": 0.42822881608829516,
443
+ "telos_small": {
444
+ "norm_crps": 0.7696,
445
+ "norm_mase": 0.9088
446
+ },
447
+ "telos_small_pure_jepa": {
448
+ "norm_crps": 0.7853,
449
+ "norm_mase": 0.9413
450
+ },
451
+ "analytical_baseline": {
452
+ "norm_crps": 0.8753,
453
+ "norm_mase": 1.0018
454
+ }
455
+ },
456
+ {
457
+ "task": "current_velocity/20T/long",
458
+ "H": 216,
459
+ "V": 6,
460
+ "pairs": 810,
461
+ "sn_mase": 1.3419727755627,
462
+ "sn_crps": 0.4917035608531493,
463
+ "telos_small": {
464
+ "norm_crps": 0.7711,
465
+ "norm_mase": 0.9032
466
+ },
467
+ "telos_small_pure_jepa": {
468
+ "norm_crps": 0.7702,
469
+ "norm_mase": 0.9323
470
+ },
471
+ "analytical_baseline": {
472
+ "norm_crps": 0.8539,
473
+ "norm_mase": 0.966
474
+ }
475
+ },
476
+ {
477
+ "task": "current_velocity/H/short",
478
+ "H": 24,
479
+ "V": 6,
480
+ "pairs": 3528,
481
+ "sn_mase": 1.044176545302804,
482
+ "sn_crps": 0.37968425247374554,
483
+ "telos_small": {
484
+ "norm_crps": 0.817,
485
+ "norm_mase": 0.9806
486
+ },
487
+ "telos_small_pure_jepa": {
488
+ "norm_crps": 0.8118,
489
+ "norm_mase": 0.9615
490
+ },
491
+ "analytical_baseline": {
492
+ "norm_crps": 0.9697,
493
+ "norm_mase": 1.2064
494
+ }
495
+ },
496
+ {
497
+ "task": "current_velocity/H/medium",
498
+ "H": 168,
499
+ "V": 6,
500
+ "pairs": 504,
501
+ "sn_mase": 1.8636420656550583,
502
+ "sn_crps": 0.5224107098922609,
503
+ "telos_small": {
504
+ "norm_crps": 0.7198,
505
+ "norm_mase": 0.8495
506
+ },
507
+ "telos_small_pure_jepa": {
508
+ "norm_crps": 0.7123,
509
+ "norm_mase": 0.8509
510
+ },
511
+ "analytical_baseline": {
512
+ "norm_crps": 0.8126,
513
+ "norm_mase": 0.888
514
+ }
515
+ },
516
+ {
517
+ "task": "current_velocity/H/long",
518
+ "H": 336,
519
+ "V": 6,
520
+ "pairs": 252,
521
+ "sn_mase": 2.0181256953738695,
522
+ "sn_crps": 0.575336880615527,
523
+ "telos_small": {
524
+ "norm_crps": 0.6851,
525
+ "norm_mase": 0.8408
526
+ },
527
+ "telos_small_pure_jepa": {
528
+ "norm_crps": 0.6434,
529
+ "norm_mase": 0.8559
530
+ },
531
+ "analytical_baseline": {
532
+ "norm_crps": 0.7604,
533
+ "norm_mase": 0.8496
534
+ }
535
+ },
536
+ {
537
+ "task": "CPHL/15T/short",
538
+ "H": 12,
539
+ "V": 1,
540
+ "pairs": 240,
541
+ "sn_mase": 1.3920026617614616,
542
+ "sn_crps": 0.35606518946443716,
543
+ "telos_small": {
544
+ "norm_crps": 0.455,
545
+ "norm_mase": 0.501
546
+ },
547
+ "telos_small_pure_jepa": {
548
+ "norm_crps": 0.4446,
549
+ "norm_mase": 0.4929
550
+ },
551
+ "analytical_baseline": {
552
+ "norm_crps": 0.7301,
553
+ "norm_mase": 0.7235
554
+ }
555
+ },
556
+ {
557
+ "task": "CPHL/15T/medium",
558
+ "H": 96,
559
+ "V": 1,
560
+ "pairs": 30,
561
+ "sn_mase": 1.3724792957278622,
562
+ "sn_crps": 0.30964362718345645,
563
+ "telos_small": {
564
+ "norm_crps": 0.7279,
565
+ "norm_mase": 0.7482
566
+ },
567
+ "telos_small_pure_jepa": {
568
+ "norm_crps": 0.7161,
569
+ "norm_mase": 0.7433
570
+ },
571
+ "analytical_baseline": {
572
+ "norm_crps": 0.8544,
573
+ "norm_mase": 0.8471
574
+ }
575
+ },
576
+ {
577
+ "task": "CPHL/15T/long",
578
+ "H": 288,
579
+ "V": 1,
580
+ "pairs": 10,
581
+ "sn_mase": 1.5632520412249478,
582
+ "sn_crps": 0.34880047791258295,
583
+ "telos_small": {
584
+ "norm_crps": 0.7128,
585
+ "norm_mase": 0.7379
586
+ },
587
+ "telos_small_pure_jepa": {
588
+ "norm_crps": 0.693,
589
+ "norm_mase": 0.7155
590
+ },
591
+ "analytical_baseline": {
592
+ "norm_crps": 0.79,
593
+ "norm_mase": 0.8071
594
+ }
595
+ },
596
+ {
597
+ "task": "CPHL/30T/short",
598
+ "H": 12,
599
+ "V": 1,
600
+ "pairs": 240,
601
+ "sn_mase": 1.7414882425655378,
602
+ "sn_crps": 0.3596878101498882,
603
+ "telos_small": {
604
+ "norm_crps": 0.6897,
605
+ "norm_mase": 0.7869
606
+ },
607
+ "telos_small_pure_jepa": {
608
+ "norm_crps": 0.692,
609
+ "norm_mase": 0.8201
610
+ },
611
+ "analytical_baseline": {
612
+ "norm_crps": 0.7921,
613
+ "norm_mase": 0.8362
614
+ }
615
+ },
616
+ {
617
+ "task": "CPHL/30T/medium",
618
+ "H": 48,
619
+ "V": 1,
620
+ "pairs": 60,
621
+ "sn_mase": 1.6906705384673968,
622
+ "sn_crps": 0.3424080970435143,
623
+ "telos_small": {
624
+ "norm_crps": 0.7966,
625
+ "norm_mase": 0.8766
626
+ },
627
+ "telos_small_pure_jepa": {
628
+ "norm_crps": 0.802,
629
+ "norm_mase": 0.9112
630
+ },
631
+ "analytical_baseline": {
632
+ "norm_crps": 0.8475,
633
+ "norm_mase": 0.8937
634
+ }
635
+ },
636
+ {
637
+ "task": "CPHL/30T/long",
638
+ "H": 144,
639
+ "V": 1,
640
+ "pairs": 20,
641
+ "sn_mase": 2.0687558533294763,
642
+ "sn_crps": 0.37329419606159353,
643
+ "telos_small": {
644
+ "norm_crps": 0.8616,
645
+ "norm_mase": 0.8608
646
+ },
647
+ "telos_small_pure_jepa": {
648
+ "norm_crps": 0.8552,
649
+ "norm_mase": 0.8688
650
+ },
651
+ "analytical_baseline": {
652
+ "norm_crps": 0.8788,
653
+ "norm_mase": 0.8655
654
+ }
655
+ },
656
+ {
657
+ "task": "CPHL/H/short",
658
+ "H": 24,
659
+ "V": 1,
660
+ "pairs": 112,
661
+ "sn_mase": 1.5151437641284222,
662
+ "sn_crps": 0.29740283600290723,
663
+ "telos_small": {
664
+ "norm_crps": 0.7641,
665
+ "norm_mase": 0.8295
666
+ },
667
+ "telos_small_pure_jepa": {
668
+ "norm_crps": 0.7628,
669
+ "norm_mase": 0.8357
670
+ },
671
+ "analytical_baseline": {
672
+ "norm_crps": 0.8522,
673
+ "norm_mase": 0.874
674
+ }
675
+ },
676
+ {
677
+ "task": "CPHL/H/medium",
678
+ "H": 168,
679
+ "V": 1,
680
+ "pairs": 16,
681
+ "sn_mase": 2.190084389033895,
682
+ "sn_crps": 0.39775350000876925,
683
+ "telos_small": {
684
+ "norm_crps": 0.8479,
685
+ "norm_mase": 0.89
686
+ },
687
+ "telos_small_pure_jepa": {
688
+ "norm_crps": 0.8054,
689
+ "norm_mase": 0.8663
690
+ },
691
+ "analytical_baseline": {
692
+ "norm_crps": 0.8653,
693
+ "norm_mase": 0.8757
694
+ }
695
+ },
696
+ {
697
+ "task": "CPHL/H/long",
698
+ "H": 336,
699
+ "V": 1,
700
+ "pairs": 8,
701
+ "sn_mase": 2.465174784023203,
702
+ "sn_crps": 0.4411259716788424,
703
+ "telos_small": {
704
+ "norm_crps": 0.8032,
705
+ "norm_mase": 0.8579
706
+ },
707
+ "telos_small_pure_jepa": {
708
+ "norm_crps": 0.7861,
709
+ "norm_mase": 0.8456
710
+ },
711
+ "analytical_baseline": {
712
+ "norm_crps": 0.8391,
713
+ "norm_mase": 0.8684
714
+ }
715
+ },
716
+ {
717
+ "task": "Coastal_T_S/5T/short",
718
+ "H": 36,
719
+ "V": 3,
720
+ "pairs": 6480,
721
+ "sn_mase": 1.2757414593343146,
722
+ "sn_crps": 0.08283715123506455,
723
+ "telos_small": {
724
+ "norm_crps": 0.5137,
725
+ "norm_mase": 0.6945
726
+ },
727
+ "telos_small_pure_jepa": {
728
+ "norm_crps": 0.5137,
729
+ "norm_mase": 0.6944
730
+ },
731
+ "analytical_baseline": {
732
+ "norm_crps": 0.7024,
733
+ "norm_mase": 0.8872
734
+ }
735
+ },
736
+ {
737
+ "task": "Coastal_T_S/5T/medium",
738
+ "H": 288,
739
+ "V": 3,
740
+ "pairs": 810,
741
+ "sn_mase": 1.2871949437162231,
742
+ "sn_crps": 0.08167608501346135,
743
+ "telos_small": {
744
+ "norm_crps": 0.5842,
745
+ "norm_mase": 0.9091
746
+ },
747
+ "telos_small_pure_jepa": {
748
+ "norm_crps": 0.5791,
749
+ "norm_mase": 0.9145
750
+ },
751
+ "analytical_baseline": {
752
+ "norm_crps": 0.7382,
753
+ "norm_mase": 0.9463
754
+ }
755
+ },
756
+ {
757
+ "task": "Coastal_T_S/5T/long",
758
+ "H": 864,
759
+ "V": 3,
760
+ "pairs": 270,
761
+ "sn_mase": 1.5473929157915876,
762
+ "sn_crps": 0.09199241843856108,
763
+ "telos_small": {
764
+ "norm_crps": 0.6081,
765
+ "norm_mase": 0.9707
766
+ },
767
+ "telos_small_pure_jepa": {
768
+ "norm_crps": 0.5855,
769
+ "norm_mase": 0.997
770
+ },
771
+ "analytical_baseline": {
772
+ "norm_crps": 0.7187,
773
+ "norm_mase": 0.9693
774
+ }
775
+ },
776
+ {
777
+ "task": "Coastal_T_S/15T/short",
778
+ "H": 12,
779
+ "V": 3,
780
+ "pairs": 1800,
781
+ "sn_mase": 1.486792847075776,
782
+ "sn_crps": 0.10880969790101082,
783
+ "telos_small": {
784
+ "norm_crps": 0.6712,
785
+ "norm_mase": 0.7706
786
+ },
787
+ "telos_small_pure_jepa": {
788
+ "norm_crps": 0.669,
789
+ "norm_mase": 0.7705
790
+ },
791
+ "analytical_baseline": {
792
+ "norm_crps": 0.9409,
793
+ "norm_mase": 0.8534
794
+ }
795
+ },
796
+ {
797
+ "task": "Coastal_T_S/15T/medium",
798
+ "H": 96,
799
+ "V": 3,
800
+ "pairs": 225,
801
+ "sn_mase": 1.4931611681532413,
802
+ "sn_crps": 0.10701066296993984,
803
+ "telos_small": {
804
+ "norm_crps": 0.6862,
805
+ "norm_mase": 0.8532
806
+ },
807
+ "telos_small_pure_jepa": {
808
+ "norm_crps": 0.6743,
809
+ "norm_mase": 0.8547
810
+ },
811
+ "analytical_baseline": {
812
+ "norm_crps": 0.9561,
813
+ "norm_mase": 0.8843
814
+ }
815
+ },
816
+ {
817
+ "task": "Coastal_T_S/15T/long",
818
+ "H": 288,
819
+ "V": 3,
820
+ "pairs": 75,
821
+ "sn_mase": 1.6240005522592336,
822
+ "sn_crps": 0.110788018959756,
823
+ "telos_small": {
824
+ "norm_crps": 0.6661,
825
+ "norm_mase": 0.8634
826
+ },
827
+ "telos_small_pure_jepa": {
828
+ "norm_crps": 0.6568,
829
+ "norm_mase": 0.8665
830
+ },
831
+ "analytical_baseline": {
832
+ "norm_crps": 0.9187,
833
+ "norm_mase": 0.8885
834
+ }
835
+ },
836
+ {
837
+ "task": "Coastal_T_S/20T/short",
838
+ "H": 9,
839
+ "V": 3,
840
+ "pairs": 360,
841
+ "sn_mase": 1.270873201451952,
842
+ "sn_crps": 0.005451858318258226,
843
+ "telos_small": {
844
+ "norm_crps": 0.6104,
845
+ "norm_mase": 0.5796
846
+ },
847
+ "telos_small_pure_jepa": {
848
+ "norm_crps": 0.6147,
849
+ "norm_mase": 0.5848
850
+ },
851
+ "analytical_baseline": {
852
+ "norm_crps": 1.1998,
853
+ "norm_mase": 1.1031
854
+ }
855
+ },
856
+ {
857
+ "task": "Coastal_T_S/20T/medium",
858
+ "H": 72,
859
+ "V": 3,
860
+ "pairs": 45,
861
+ "sn_mase": 1.2910994490270333,
862
+ "sn_crps": 0.005468844758050755,
863
+ "telos_small": {
864
+ "norm_crps": 1.1501,
865
+ "norm_mase": 1.0739
866
+ },
867
+ "telos_small_pure_jepa": {
868
+ "norm_crps": 1.2083,
869
+ "norm_mase": 1.1037
870
+ },
871
+ "analytical_baseline": {
872
+ "norm_crps": 1.3354,
873
+ "norm_mase": 1.1991
874
+ }
875
+ },
876
+ {
877
+ "task": "Coastal_T_S/20T/long",
878
+ "H": 216,
879
+ "V": 3,
880
+ "pairs": 15,
881
+ "sn_mase": 1.8180515700802744,
882
+ "sn_crps": 0.007914651740110096,
883
+ "telos_small": {
884
+ "norm_crps": 1.0869,
885
+ "norm_mase": 1.0519
886
+ },
887
+ "telos_small_pure_jepa": {
888
+ "norm_crps": 1.1028,
889
+ "norm_mase": 1.0544
890
+ },
891
+ "analytical_baseline": {
892
+ "norm_crps": 1.2249,
893
+ "norm_mase": 1.1385
894
+ }
895
+ },
896
+ {
897
+ "task": "Coastal_T_S/H/short",
898
+ "H": 24,
899
+ "V": 3,
900
+ "pairs": 2016,
901
+ "sn_mase": 1.2444395848743397,
902
+ "sn_crps": 0.03564928423529185,
903
+ "telos_small": {
904
+ "norm_crps": 0.7669,
905
+ "norm_mase": 0.9901
906
+ },
907
+ "telos_small_pure_jepa": {
908
+ "norm_crps": 0.7871,
909
+ "norm_mase": 0.9706
910
+ },
911
+ "analytical_baseline": {
912
+ "norm_crps": 0.7972,
913
+ "norm_mase": 1.1695
914
+ }
915
+ },
916
+ {
917
+ "task": "Coastal_T_S/H/medium",
918
+ "H": 168,
919
+ "V": 3,
920
+ "pairs": 288,
921
+ "sn_mase": 2.121073907527163,
922
+ "sn_crps": 0.05280124069402554,
923
+ "telos_small": {
924
+ "norm_crps": 0.7412,
925
+ "norm_mase": 0.948
926
+ },
927
+ "telos_small_pure_jepa": {
928
+ "norm_crps": 0.7661,
929
+ "norm_mase": 0.9823
930
+ },
931
+ "analytical_baseline": {
932
+ "norm_crps": 0.7446,
933
+ "norm_mase": 0.935
934
+ }
935
+ },
936
+ {
937
+ "task": "Coastal_T_S/H/long",
938
+ "H": 336,
939
+ "V": 3,
940
+ "pairs": 144,
941
+ "sn_mase": 2.7461676211938584,
942
+ "sn_crps": 0.06265422569084722,
943
+ "telos_small": {
944
+ "norm_crps": 0.6389,
945
+ "norm_mase": 0.9323
946
+ },
947
+ "telos_small_pure_jepa": {
948
+ "norm_crps": 0.6799,
949
+ "norm_mase": 0.9943
950
+ },
951
+ "analytical_baseline": {
952
+ "norm_crps": 0.6617,
953
+ "norm_mase": 0.9635
954
+ }
955
+ },
956
+ {
957
+ "task": "SG_Weather/D/short",
958
+ "H": 3,
959
+ "V": 4,
960
+ "pairs": 2928,
961
+ "sn_mase": 1.093336152628154,
962
+ "sn_crps": 0.2978323671428984,
963
+ "telos_small": {
964
+ "norm_crps": 0.6825,
965
+ "norm_mase": 0.8063
966
+ },
967
+ "telos_small_pure_jepa": {
968
+ "norm_crps": 0.6765,
969
+ "norm_mase": 0.8073
970
+ },
971
+ "analytical_baseline": {
972
+ "norm_crps": 0.7622,
973
+ "norm_mase": 0.8277
974
+ }
975
+ },
976
+ {
977
+ "task": "SG_Weather/D/medium",
978
+ "H": 7,
979
+ "V": 4,
980
+ "pairs": 1248,
981
+ "sn_mase": 1.2176871928440223,
982
+ "sn_crps": 0.319348745939327,
983
+ "telos_small": {
984
+ "norm_crps": 0.5864,
985
+ "norm_mase": 0.7637
986
+ },
987
+ "telos_small_pure_jepa": {
988
+ "norm_crps": 0.5829,
989
+ "norm_mase": 0.7636
990
+ },
991
+ "analytical_baseline": {
992
+ "norm_crps": 0.6626,
993
+ "norm_mase": 0.7962
994
+ }
995
+ },
996
+ {
997
+ "task": "SG_Weather/D/long",
998
+ "H": 14,
999
+ "V": 4,
1000
+ "pairs": 624,
1001
+ "sn_mase": 1.271157955343153,
1002
+ "sn_crps": 0.3508238380771969,
1003
+ "telos_small": {
1004
+ "norm_crps": 0.5238,
1005
+ "norm_mase": 0.7433
1006
+ },
1007
+ "telos_small_pure_jepa": {
1008
+ "norm_crps": 0.5197,
1009
+ "norm_mase": 0.7467
1010
+ },
1011
+ "analytical_baseline": {
1012
+ "norm_crps": 0.6283,
1013
+ "norm_mase": 0.7617
1014
+ }
1015
+ },
1016
+ {
1017
+ "task": "SG_PM25/H/short",
1018
+ "H": 24,
1019
+ "V": 5,
1020
+ "pairs": 460,
1021
+ "sn_mase": 1.1786627570510653,
1022
+ "sn_crps": 0.4301059762756827,
1023
+ "telos_small": {
1024
+ "norm_crps": 0.7075,
1025
+ "norm_mase": 0.7414
1026
+ },
1027
+ "telos_small_pure_jepa": {
1028
+ "norm_crps": 0.7044,
1029
+ "norm_mase": 0.7388
1030
+ },
1031
+ "analytical_baseline": {
1032
+ "norm_crps": 0.7818,
1033
+ "norm_mase": 0.7931
1034
+ }
1035
+ },
1036
+ {
1037
+ "task": "SG_PM25/H/medium",
1038
+ "H": 72,
1039
+ "V": 5,
1040
+ "pairs": 150,
1041
+ "sn_mase": 1.210027230240395,
1042
+ "sn_crps": 0.4387095673373417,
1043
+ "telos_small": {
1044
+ "norm_crps": 0.7133,
1045
+ "norm_mase": 0.7613
1046
+ },
1047
+ "telos_small_pure_jepa": {
1048
+ "norm_crps": 0.7126,
1049
+ "norm_mase": 0.7624
1050
+ },
1051
+ "analytical_baseline": {
1052
+ "norm_crps": 0.7793,
1053
+ "norm_mase": 0.8015
1054
+ }
1055
+ },
1056
+ {
1057
+ "task": "SG_PM25/H/long",
1058
+ "H": 168,
1059
+ "V": 5,
1060
+ "pairs": 65,
1061
+ "sn_mase": 1.3545130367993115,
1062
+ "sn_crps": 0.5191195690792656,
1063
+ "telos_small": {
1064
+ "norm_crps": 0.6214,
1065
+ "norm_mase": 0.7071
1066
+ },
1067
+ "telos_small_pure_jepa": {
1068
+ "norm_crps": 0.6147,
1069
+ "norm_mase": 0.7005
1070
+ },
1071
+ "analytical_baseline": {
1072
+ "norm_crps": 0.69,
1073
+ "norm_mase": 0.7487
1074
+ }
1075
+ },
1076
+ {
1077
+ "task": "NE_China_Wind/H/short",
1078
+ "H": 24,
1079
+ "V": 4,
1080
+ "pairs": 120,
1081
+ "sn_mase": 0.8637674135993827,
1082
+ "sn_crps": 0.620670741528828,
1083
+ "telos_small": {
1084
+ "norm_crps": 0.5793,
1085
+ "norm_mase": 0.6416
1086
+ },
1087
+ "telos_small_pure_jepa": {
1088
+ "norm_crps": 0.5749,
1089
+ "norm_mase": 0.639
1090
+ },
1091
+ "analytical_baseline": {
1092
+ "norm_crps": 0.8112,
1093
+ "norm_mase": 0.9276
1094
+ }
1095
+ },
1096
+ {
1097
+ "task": "NE_China_Wind/H/medium",
1098
+ "H": 72,
1099
+ "V": 4,
1100
+ "pairs": 40,
1101
+ "sn_mase": 1.1205075075975954,
1102
+ "sn_crps": 0.6438977838477045,
1103
+ "telos_small": {
1104
+ "norm_crps": 0.7165,
1105
+ "norm_mase": 0.8778
1106
+ },
1107
+ "telos_small_pure_jepa": {
1108
+ "norm_crps": 0.7029,
1109
+ "norm_mase": 0.8681
1110
+ },
1111
+ "analytical_baseline": {
1112
+ "norm_crps": 0.8464,
1113
+ "norm_mase": 0.9442
1114
+ }
1115
+ },
1116
+ {
1117
+ "task": "NE_China_Wind/H/long",
1118
+ "H": 168,
1119
+ "V": 4,
1120
+ "pairs": 16,
1121
+ "sn_mase": 1.4626812861088365,
1122
+ "sn_crps": 0.7264193737897133,
1123
+ "telos_small": {
1124
+ "norm_crps": 0.6532,
1125
+ "norm_mase": 0.852
1126
+ },
1127
+ "telos_small_pure_jepa": {
1128
+ "norm_crps": 0.6435,
1129
+ "norm_mase": 0.8206
1130
+ },
1131
+ "analytical_baseline": {
1132
+ "norm_crps": 0.7747,
1133
+ "norm_mase": 0.8907
1134
+ }
1135
+ },
1136
+ {
1137
+ "task": "Australia_Solar/H/short",
1138
+ "H": 24,
1139
+ "V": 3,
1140
+ "pairs": 315,
1141
+ "sn_mase": 0.6966077060819641,
1142
+ "sn_crps": 0.3164510454764971,
1143
+ "telos_small": {
1144
+ "norm_crps": 0.9257,
1145
+ "norm_mase": 0.9035
1146
+ },
1147
+ "telos_small_pure_jepa": {
1148
+ "norm_crps": 1.0073,
1149
+ "norm_mase": 0.9926
1150
+ },
1151
+ "analytical_baseline": {
1152
+ "norm_crps": 0.9471,
1153
+ "norm_mase": 0.9367
1154
+ }
1155
+ },
1156
+ {
1157
+ "task": "Australia_Solar/H/medium",
1158
+ "H": 72,
1159
+ "V": 3,
1160
+ "pairs": 105,
1161
+ "sn_mase": 0.7543073106302655,
1162
+ "sn_crps": 0.3078652232179442,
1163
+ "telos_small": {
1164
+ "norm_crps": 0.7927,
1165
+ "norm_mase": 0.827
1166
+ },
1167
+ "telos_small_pure_jepa": {
1168
+ "norm_crps": 0.8256,
1169
+ "norm_mase": 0.865
1170
+ },
1171
+ "analytical_baseline": {
1172
+ "norm_crps": 0.8581,
1173
+ "norm_mase": 0.891
1174
+ }
1175
+ },
1176
+ {
1177
+ "task": "Australia_Solar/H/long",
1178
+ "H": 168,
1179
+ "V": 3,
1180
+ "pairs": 45,
1181
+ "sn_mase": 0.6799651516183869,
1182
+ "sn_crps": 0.3093677736752417,
1183
+ "telos_small": {
1184
+ "norm_crps": 0.7165,
1185
+ "norm_mase": 0.8791
1186
+ },
1187
+ "telos_small_pure_jepa": {
1188
+ "norm_crps": 0.7333,
1189
+ "norm_mase": 0.9015
1190
+ },
1191
+ "analytical_baseline": {
1192
+ "norm_crps": 0.8325,
1193
+ "norm_mase": 0.9262
1194
+ }
1195
+ },
1196
+ {
1197
+ "task": "epf_electricity_price/H/short",
1198
+ "H": 24,
1199
+ "V": 1,
1200
+ "pairs": 525,
1201
+ "sn_mase": 1.4417132029177866,
1202
+ "sn_crps": 0.19760442070876835,
1203
+ "telos_small": {
1204
+ "norm_crps": 0.6986,
1205
+ "norm_mase": 0.7243
1206
+ },
1207
+ "telos_small_pure_jepa": {
1208
+ "norm_crps": 0.6968,
1209
+ "norm_mase": 0.7219
1210
+ },
1211
+ "analytical_baseline": {
1212
+ "norm_crps": 0.8082,
1213
+ "norm_mase": 0.8248
1214
+ }
1215
+ },
1216
+ {
1217
+ "task": "epf_electricity_price/H/medium",
1218
+ "H": 72,
1219
+ "V": 1,
1220
+ "pairs": 175,
1221
+ "sn_mase": 1.8714812741253186,
1222
+ "sn_crps": 0.2429715270865831,
1223
+ "telos_small": {
1224
+ "norm_crps": 0.6511,
1225
+ "norm_mase": 0.6925
1226
+ },
1227
+ "telos_small_pure_jepa": {
1228
+ "norm_crps": 0.6472,
1229
+ "norm_mase": 0.6885
1230
+ },
1231
+ "analytical_baseline": {
1232
+ "norm_crps": 0.7682,
1233
+ "norm_mase": 0.8028
1234
+ }
1235
+ },
1236
+ {
1237
+ "task": "epf_electricity_price/H/long",
1238
+ "H": 168,
1239
+ "V": 1,
1240
+ "pairs": 75,
1241
+ "sn_mase": 2.0093576546971135,
1242
+ "sn_crps": 0.2617513494932196,
1243
+ "telos_small": {
1244
+ "norm_crps": 0.6471,
1245
+ "norm_mase": 0.7304
1246
+ },
1247
+ "telos_small_pure_jepa": {
1248
+ "norm_crps": 0.6324,
1249
+ "norm_mase": 0.7187
1250
+ },
1251
+ "analytical_baseline": {
1252
+ "norm_crps": 0.751,
1253
+ "norm_mase": 0.8089
1254
+ }
1255
+ },
1256
+ {
1257
+ "task": "OpenElectricity_NEM/5T/short",
1258
+ "H": 24,
1259
+ "V": 10,
1260
+ "pairs": 1680,
1261
+ "sn_mase": 1.0344248622662509,
1262
+ "sn_crps": 0.4122996004505975,
1263
+ "telos_small": {
1264
+ "norm_crps": 0.3746,
1265
+ "norm_mase": 0.4548
1266
+ },
1267
+ "telos_small_pure_jepa": {
1268
+ "norm_crps": 0.3662,
1269
+ "norm_mase": 0.4508
1270
+ },
1271
+ "analytical_baseline": {
1272
+ "norm_crps": 0.6395,
1273
+ "norm_mase": 0.6416
1274
+ }
1275
+ },
1276
+ {
1277
+ "task": "OpenElectricity_NEM/5T/medium",
1278
+ "H": 96,
1279
+ "V": 10,
1280
+ "pairs": 420,
1281
+ "sn_mase": 1.0517636814146012,
1282
+ "sn_crps": 0.34281670960204264,
1283
+ "telos_small": {
1284
+ "norm_crps": 0.614,
1285
+ "norm_mase": 0.6728
1286
+ },
1287
+ "telos_small_pure_jepa": {
1288
+ "norm_crps": 0.597,
1289
+ "norm_mase": 0.6747
1290
+ },
1291
+ "analytical_baseline": {
1292
+ "norm_crps": 0.7143,
1293
+ "norm_mase": 0.7442
1294
+ }
1295
+ },
1296
+ {
1297
+ "task": "OpenElectricity_NEM/5T/long",
1298
+ "H": 288,
1299
+ "V": 10,
1300
+ "pairs": 140,
1301
+ "sn_mase": 1.0447330270897144,
1302
+ "sn_crps": 0.26569570571267215,
1303
+ "telos_small": {
1304
+ "norm_crps": 0.8026,
1305
+ "norm_mase": 0.7873
1306
+ },
1307
+ "telos_small_pure_jepa": {
1308
+ "norm_crps": 0.8068,
1309
+ "norm_mase": 0.7961
1310
+ },
1311
+ "analytical_baseline": {
1312
+ "norm_crps": 0.8276,
1313
+ "norm_mase": 0.8362
1314
+ }
1315
+ },
1316
+ {
1317
+ "task": "EWELD_Load/15T/short",
1318
+ "H": 24,
1319
+ "V": 10,
1320
+ "pairs": 560,
1321
+ "sn_mase": 0.9696418375430754,
1322
+ "sn_crps": 2.2708062592940985,
1323
+ "telos_small": {
1324
+ "norm_crps": 0.3367,
1325
+ "norm_mase": 0.6855
1326
+ },
1327
+ "telos_small_pure_jepa": {
1328
+ "norm_crps": 0.2476,
1329
+ "norm_mase": 0.7467
1330
+ },
1331
+ "analytical_baseline": {
1332
+ "norm_crps": 0.3355,
1333
+ "norm_mase": 0.7123
1334
+ }
1335
+ },
1336
+ {
1337
+ "task": "EWELD_Load/15T/medium",
1338
+ "H": 96,
1339
+ "V": 10,
1340
+ "pairs": 140,
1341
+ "sn_mase": 0.946050857924023,
1342
+ "sn_crps": 0.3261333688739633,
1343
+ "telos_small": {
1344
+ "norm_crps": 0.6309,
1345
+ "norm_mase": 0.7748
1346
+ },
1347
+ "telos_small_pure_jepa": {
1348
+ "norm_crps": 0.674,
1349
+ "norm_mase": 0.8605
1350
+ },
1351
+ "analytical_baseline": {
1352
+ "norm_crps": 0.7163,
1353
+ "norm_mase": 0.8001
1354
+ }
1355
+ },
1356
+ {
1357
+ "task": "EWELD_Load/15T/long",
1358
+ "H": 672,
1359
+ "V": 10,
1360
+ "pairs": 20,
1361
+ "sn_mase": 1.0387980045077339,
1362
+ "sn_crps": 0.3752873326349839,
1363
+ "telos_small": {
1364
+ "norm_crps": 0.5551,
1365
+ "norm_mase": 0.8324
1366
+ },
1367
+ "telos_small_pure_jepa": {
1368
+ "norm_crps": 0.584,
1369
+ "norm_mase": 0.9105
1370
+ },
1371
+ "analytical_baseline": {
1372
+ "norm_crps": 0.6187,
1373
+ "norm_mase": 0.8035
1374
+ }
1375
+ },
1376
+ {
1377
+ "task": "SG_Carpark/15T/short",
1378
+ "H": 16,
1379
+ "V": 1,
1380
+ "pairs": 14868,
1381
+ "sn_mase": 0.9522074667547793,
1382
+ "sn_crps": 0.0781783317710341,
1383
+ "telos_small": {
1384
+ "norm_crps": 0.5459,
1385
+ "norm_mase": 0.5625
1386
+ },
1387
+ "telos_small_pure_jepa": {
1388
+ "norm_crps": 0.5214,
1389
+ "norm_mase": 0.5521
1390
+ },
1391
+ "analytical_baseline": {
1392
+ "norm_crps": 0.7192,
1393
+ "norm_mase": 0.7099
1394
+ }
1395
+ },
1396
+ {
1397
+ "task": "SG_Carpark/15T/medium",
1398
+ "H": 96,
1399
+ "V": 1,
1400
+ "pairs": 2478,
1401
+ "sn_mase": 0.9573854787444838,
1402
+ "sn_crps": 0.07004291432227401,
1403
+ "telos_small": {
1404
+ "norm_crps": 0.7495,
1405
+ "norm_mase": 0.7569
1406
+ },
1407
+ "telos_small_pure_jepa": {
1408
+ "norm_crps": 0.78,
1409
+ "norm_mase": 0.8346
1410
+ },
1411
+ "analytical_baseline": {
1412
+ "norm_crps": 0.9075,
1413
+ "norm_mase": 0.9278
1414
+ }
1415
+ },
1416
+ {
1417
+ "task": "SG_Carpark/15T/long",
1418
+ "H": 672,
1419
+ "V": 1,
1420
+ "pairs": 354,
1421
+ "sn_mase": 1.3412298857390095,
1422
+ "sn_crps": 0.10256839424830191,
1423
+ "telos_small": {
1424
+ "norm_crps": 0.6187,
1425
+ "norm_mase": 0.6492
1426
+ },
1427
+ "telos_small_pure_jepa": {
1428
+ "norm_crps": 0.6074,
1429
+ "norm_mase": 0.6773
1430
+ },
1431
+ "analytical_baseline": {
1432
+ "norm_crps": 0.7197,
1433
+ "norm_mase": 0.7566
1434
+ }
1435
+ },
1436
+ {
1437
+ "task": "Finland_Traffic/15T/short",
1438
+ "H": 16,
1439
+ "V": 1,
1440
+ "pairs": 186,
1441
+ "sn_mase": 0.831073451998675,
1442
+ "sn_crps": 0.5190304420163312,
1443
+ "telos_small": {
1444
+ "norm_crps": 0.5139,
1445
+ "norm_mase": 0.6412
1446
+ },
1447
+ "telos_small_pure_jepa": {
1448
+ "norm_crps": 0.5937,
1449
+ "norm_mase": 0.6899
1450
+ },
1451
+ "analytical_baseline": {
1452
+ "norm_crps": 0.6522,
1453
+ "norm_mase": 0.7692
1454
+ }
1455
+ },
1456
+ {
1457
+ "task": "Finland_Traffic/15T/medium",
1458
+ "H": 96,
1459
+ "V": 1,
1460
+ "pairs": 31,
1461
+ "sn_mase": 0.7899321246773803,
1462
+ "sn_crps": 0.2426313677259669,
1463
+ "telos_small": {
1464
+ "norm_crps": 0.6523,
1465
+ "norm_mase": 0.7355
1466
+ },
1467
+ "telos_small_pure_jepa": {
1468
+ "norm_crps": 0.7367,
1469
+ "norm_mase": 0.8311
1470
+ },
1471
+ "analytical_baseline": {
1472
+ "norm_crps": 0.8276,
1473
+ "norm_mase": 0.9091
1474
+ }
1475
+ },
1476
+ {
1477
+ "task": "Finland_Traffic/15T/long",
1478
+ "H": 672,
1479
+ "V": 1,
1480
+ "pairs": 4,
1481
+ "sn_mase": 1.2219304045711639,
1482
+ "sn_crps": 0.3688619414773533,
1483
+ "telos_small": {
1484
+ "norm_crps": 0.438,
1485
+ "norm_mase": 0.4934
1486
+ },
1487
+ "telos_small_pure_jepa": {
1488
+ "norm_crps": 0.4749,
1489
+ "norm_mase": 0.5474
1490
+ },
1491
+ "analytical_baseline": {
1492
+ "norm_crps": 0.5844,
1493
+ "norm_mase": 0.6362
1494
+ }
1495
+ },
1496
+ {
1497
+ "task": "Port_Activity/D/short",
1498
+ "H": 30,
1499
+ "V": 2,
1500
+ "pairs": 2376,
1501
+ "sn_mase": 1.1471287042428393,
1502
+ "sn_crps": 3.361978570994329,
1503
+ "telos_small": {
1504
+ "norm_crps": 0.1795,
1505
+ "norm_mase": 0.5795
1506
+ },
1507
+ "telos_small_pure_jepa": {
1508
+ "norm_crps": 0.1792,
1509
+ "norm_mase": 0.5788
1510
+ },
1511
+ "analytical_baseline": {
1512
+ "norm_crps": 0.2647,
1513
+ "norm_mase": 0.6382
1514
+ }
1515
+ },
1516
+ {
1517
+ "task": "Port_Activity/W/short",
1518
+ "H": 13,
1519
+ "V": 2,
1520
+ "pairs": 792,
1521
+ "sn_mase": 1.0297572925672263,
1522
+ "sn_crps": 0.4940322955479891,
1523
+ "telos_small": {
1524
+ "norm_crps": 0.5328,
1525
+ "norm_mase": 0.7551
1526
+ },
1527
+ "telos_small_pure_jepa": {
1528
+ "norm_crps": 0.5329,
1529
+ "norm_mase": 0.7547
1530
+ },
1531
+ "analytical_baseline": {
1532
+ "norm_crps": 0.7127,
1533
+ "norm_mase": 0.7788
1534
+ }
1535
+ },
1536
+ {
1537
+ "task": "ECDC_COVID/D/short",
1538
+ "H": 30,
1539
+ "V": 1,
1540
+ "pairs": 45,
1541
+ "sn_mase": 3.5775833289982253,
1542
+ "sn_crps": 0.6199984789319984,
1543
+ "telos_small": {
1544
+ "norm_crps": 0.8762,
1545
+ "norm_mase": 1.0586
1546
+ },
1547
+ "telos_small_pure_jepa": {
1548
+ "norm_crps": 0.915,
1549
+ "norm_mase": 1.039
1550
+ },
1551
+ "analytical_baseline": {
1552
+ "norm_crps": 0.8852,
1553
+ "norm_mase": 1.0093
1554
+ }
1555
+ },
1556
+ {
1557
+ "task": "ECDC_COVID/W/short",
1558
+ "H": 13,
1559
+ "V": 1,
1560
+ "pairs": 64,
1561
+ "sn_mase": 1.624622403319587,
1562
+ "sn_crps": 0.7955525926169933,
1563
+ "telos_small": {
1564
+ "norm_crps": 0.9039,
1565
+ "norm_mase": 1.0779
1566
+ },
1567
+ "telos_small_pure_jepa": {
1568
+ "norm_crps": 0.9052,
1569
+ "norm_mase": 1.1126
1570
+ },
1571
+ "analytical_baseline": {
1572
+ "norm_crps": 0.9424,
1573
+ "norm_mase": 1.0273
1574
+ }
1575
+ },
1576
+ {
1577
+ "task": "Global_Influenza/W/short",
1578
+ "H": 13,
1579
+ "V": 4,
1580
+ "pairs": 240,
1581
+ "sn_mase": 4.326502407633893,
1582
+ "sn_crps": 1.3337073250013445,
1583
+ "telos_small": {
1584
+ "norm_crps": 0.4884,
1585
+ "norm_mase": 0.6916
1586
+ },
1587
+ "telos_small_pure_jepa": {
1588
+ "norm_crps": 0.3204,
1589
+ "norm_mase": 0.6509
1590
+ },
1591
+ "analytical_baseline": {
1592
+ "norm_crps": 0.6878,
1593
+ "norm_mase": 0.9034
1594
+ }
1595
+ },
1596
+ {
1597
+ "task": "Crypto/D/short",
1598
+ "H": 30,
1599
+ "V": 4,
1600
+ "pairs": 36,
1601
+ "sn_mase": 6.299691296108334,
1602
+ "sn_crps": 0.08319199341598717,
1603
+ "telos_small": {
1604
+ "norm_crps": 0.9163,
1605
+ "norm_mase": 1.0301
1606
+ },
1607
+ "telos_small_pure_jepa": {
1608
+ "norm_crps": 0.9122,
1609
+ "norm_mase": 1.0958
1610
+ },
1611
+ "analytical_baseline": {
1612
+ "norm_crps": 0.9025,
1613
+ "norm_mase": 0.9846
1614
+ }
1615
+ },
1616
+ {
1617
+ "task": "US_Term_Structure/B/short",
1618
+ "H": 20,
1619
+ "V": 40,
1620
+ "pairs": 1400,
1621
+ "sn_mase": 1.7412022422181404,
1622
+ "sn_crps": 0.248434916420281,
1623
+ "telos_small": {
1624
+ "norm_crps": 0.8931,
1625
+ "norm_mase": 0.9213
1626
+ },
1627
+ "telos_small_pure_jepa": {
1628
+ "norm_crps": 0.8358,
1629
+ "norm_mase": 0.9047
1630
+ },
1631
+ "analytical_baseline": {
1632
+ "norm_crps": 0.9398,
1633
+ "norm_mase": 0.9781
1634
+ }
1635
+ },
1636
+ {
1637
+ "task": "Oil_Price/B/short",
1638
+ "H": 20,
1639
+ "V": 12,
1640
+ "pairs": 420,
1641
+ "sn_mase": 1.5005212057649062,
1642
+ "sn_crps": 0.053385782034238397,
1643
+ "telos_small": {
1644
+ "norm_crps": 0.8623,
1645
+ "norm_mase": 0.9074
1646
+ },
1647
+ "telos_small_pure_jepa": {
1648
+ "norm_crps": 0.8607,
1649
+ "norm_mase": 0.9028
1650
+ },
1651
+ "analytical_baseline": {
1652
+ "norm_crps": 0.9463,
1653
+ "norm_mase": 0.9805
1654
+ }
1655
+ },
1656
+ {
1657
+ "task": "Job_Claims/W/short",
1658
+ "H": 13,
1659
+ "V": 2,
1660
+ "pairs": 8,
1661
+ "sn_mase": 2.845079840499296,
1662
+ "sn_crps": 0.019447086324874976,
1663
+ "telos_small": {
1664
+ "norm_crps": 0.9556,
1665
+ "norm_mase": 1.0505
1666
+ },
1667
+ "telos_small_pure_jepa": {
1668
+ "norm_crps": 1.0757,
1669
+ "norm_mase": 1.3753
1670
+ },
1671
+ "analytical_baseline": {
1672
+ "norm_crps": 0.9858,
1673
+ "norm_mase": 0.942
1674
+ }
1675
+ },
1676
+ {
1677
+ "task": "Uncertainty_1M/M/short",
1678
+ "H": 6,
1679
+ "V": 3,
1680
+ "pairs": 21,
1681
+ "sn_mase": 1.057881699564403,
1682
+ "sn_crps": 0.07935248774802403,
1683
+ "telos_small": {
1684
+ "norm_crps": 0.3571,
1685
+ "norm_mase": 0.3321
1686
+ },
1687
+ "telos_small_pure_jepa": {
1688
+ "norm_crps": 0.3417,
1689
+ "norm_mase": 0.3183
1690
+ },
1691
+ "analytical_baseline": {
1692
+ "norm_crps": 0.6141,
1693
+ "norm_mase": 0.5698
1694
+ }
1695
+ },
1696
+ {
1697
+ "task": "Housing_Inventory/M/short",
1698
+ "H": 12,
1699
+ "V": 4,
1700
+ "pairs": 12,
1701
+ "sn_mase": 0.7186913127542733,
1702
+ "sn_crps": 0.0665798563186104,
1703
+ "telos_small": {
1704
+ "norm_crps": 0.6062,
1705
+ "norm_mase": 0.652
1706
+ },
1707
+ "telos_small_pure_jepa": {
1708
+ "norm_crps": 0.6054,
1709
+ "norm_mase": 0.6613
1710
+ },
1711
+ "analytical_baseline": {
1712
+ "norm_crps": 0.8638,
1713
+ "norm_mase": 0.8614
1714
+ }
1715
+ },
1716
+ {
1717
+ "task": "JOLTS/M/short",
1718
+ "H": 12,
1719
+ "V": 6,
1720
+ "pairs": 30,
1721
+ "sn_mase": 1.633600374062145,
1722
+ "sn_crps": 0.10072316522205195,
1723
+ "telos_small": {
1724
+ "norm_crps": 0.8847,
1725
+ "norm_mase": 0.8779
1726
+ },
1727
+ "telos_small_pure_jepa": {
1728
+ "norm_crps": 0.7449,
1729
+ "norm_mase": 0.7685
1730
+ },
1731
+ "analytical_baseline": {
1732
+ "norm_crps": 0.7784,
1733
+ "norm_mase": 0.7941
1734
+ }
1735
+ },
1736
+ {
1737
+ "task": "US_Labor/M/short",
1738
+ "H": 12,
1739
+ "V": 14,
1740
+ "pairs": 70,
1741
+ "sn_mase": 1.7849303193866493,
1742
+ "sn_crps": 0.11137483884199327,
1743
+ "telos_small": {
1744
+ "norm_crps": 0.5952,
1745
+ "norm_mase": 0.6249
1746
+ },
1747
+ "telos_small_pure_jepa": {
1748
+ "norm_crps": 0.4832,
1749
+ "norm_mase": 0.5078
1750
+ },
1751
+ "analytical_baseline": {
1752
+ "norm_crps": 0.7294,
1753
+ "norm_mase": 0.7442
1754
+ }
1755
+ },
1756
+ {
1757
+ "task": "Vehicle_Supply/M/short",
1758
+ "H": 12,
1759
+ "V": 6,
1760
+ "pairs": 30,
1761
+ "sn_mase": 1.1103281271782204,
1762
+ "sn_crps": 0.34748026529032994,
1763
+ "telos_small": {
1764
+ "norm_crps": 0.5923,
1765
+ "norm_mase": 0.7318
1766
+ },
1767
+ "telos_small_pure_jepa": {
1768
+ "norm_crps": 0.5407,
1769
+ "norm_mase": 0.7006
1770
+ },
1771
+ "analytical_baseline": {
1772
+ "norm_crps": 0.884,
1773
+ "norm_mase": 0.8821
1774
+ }
1775
+ },
1776
+ {
1777
+ "task": "Auto_Production_SF/M/short",
1778
+ "H": 12,
1779
+ "V": 1,
1780
+ "pairs": 5,
1781
+ "sn_mase": 0.977221482631875,
1782
+ "sn_crps": 0.031800960373476926,
1783
+ "telos_small": {
1784
+ "norm_crps": 0.8685,
1785
+ "norm_mase": 0.9429
1786
+ },
1787
+ "telos_small_pure_jepa": {
1788
+ "norm_crps": 0.9639,
1789
+ "norm_mase": 0.9968
1790
+ },
1791
+ "analytical_baseline": {
1792
+ "norm_crps": 0.8799,
1793
+ "norm_mase": 0.8964
1794
+ }
1795
+ },
1796
+ {
1797
+ "task": "Commodity_Production/M/short",
1798
+ "H": 12,
1799
+ "V": 1,
1800
+ "pairs": 160,
1801
+ "sn_mase": 1.2460988308860295,
1802
+ "sn_crps": 0.1777932016921801,
1803
+ "telos_small": {
1804
+ "norm_crps": 0.7058,
1805
+ "norm_mase": 0.7745
1806
+ },
1807
+ "telos_small_pure_jepa": {
1808
+ "norm_crps": 0.701,
1809
+ "norm_mase": 0.7704
1810
+ },
1811
+ "analytical_baseline": {
1812
+ "norm_crps": 0.7952,
1813
+ "norm_mase": 0.8661
1814
+ }
1815
+ },
1816
+ {
1817
+ "task": "Commodity_Import/M/short",
1818
+ "H": 12,
1819
+ "V": 1,
1820
+ "pairs": 40,
1821
+ "sn_mase": 1.866751766074178,
1822
+ "sn_crps": 0.33271580939241,
1823
+ "telos_small": {
1824
+ "norm_crps": 0.6547,
1825
+ "norm_mase": 0.8736
1826
+ },
1827
+ "telos_small_pure_jepa": {
1828
+ "norm_crps": 0.6541,
1829
+ "norm_mase": 0.8708
1830
+ },
1831
+ "analytical_baseline": {
1832
+ "norm_crps": 0.7451,
1833
+ "norm_mase": 0.9166
1834
+ }
1835
+ },
1836
+ {
1837
+ "task": "WUI_Global/Q/short",
1838
+ "H": 4,
1839
+ "V": 15,
1840
+ "pairs": 75,
1841
+ "sn_mase": 1.3394226477728888,
1842
+ "sn_crps": 0.8246595045704057,
1843
+ "telos_small": {
1844
+ "norm_crps": 0.6634,
1845
+ "norm_mase": 0.7364
1846
+ },
1847
+ "telos_small_pure_jepa": {
1848
+ "norm_crps": 0.627,
1849
+ "norm_mase": 0.7119
1850
+ },
1851
+ "analytical_baseline": {
1852
+ "norm_crps": 0.7634,
1853
+ "norm_mase": 0.8303
1854
+ }
1855
+ },
1856
+ {
1857
+ "task": "Global_Price/Q/short",
1858
+ "H": 4,
1859
+ "V": 60,
1860
+ "pairs": 300,
1861
+ "sn_mase": 1.8238301725900739,
1862
+ "sn_crps": 0.1794111687923069,
1863
+ "telos_small": {
1864
+ "norm_crps": 0.8342,
1865
+ "norm_mase": 0.8701
1866
+ },
1867
+ "telos_small_pure_jepa": {
1868
+ "norm_crps": 0.804,
1869
+ "norm_mase": 0.8111
1870
+ },
1871
+ "analytical_baseline": {
1872
+ "norm_crps": 0.8975,
1873
+ "norm_mase": 0.9141
1874
+ }
1875
+ },
1876
+ {
1877
+ "task": "Vehicle_Sales/M/short",
1878
+ "H": 12,
1879
+ "V": 10,
1880
+ "pairs": 50,
1881
+ "sn_mase": 1.4095663160270906,
1882
+ "sn_crps": 0.11473660792759578,
1883
+ "telos_small": {
1884
+ "norm_crps": 0.6279,
1885
+ "norm_mase": 0.6494
1886
+ },
1887
+ "telos_small_pure_jepa": {
1888
+ "norm_crps": 0.6013,
1889
+ "norm_mase": 0.608
1890
+ },
1891
+ "analytical_baseline": {
1892
+ "norm_crps": 0.7852,
1893
+ "norm_mase": 0.7432
1894
+ }
1895
+ },
1896
+ {
1897
+ "task": "Online_Retail_2_UCI/D/short",
1898
+ "H": 30,
1899
+ "V": 1,
1900
+ "pairs": 6,
1901
+ "sn_mase": 2.140780928301401,
1902
+ "sn_crps": 0.999642567118059,
1903
+ "telos_small": {
1904
+ "norm_crps": 0.2751,
1905
+ "norm_mase": 0.3346
1906
+ },
1907
+ "telos_small_pure_jepa": {
1908
+ "norm_crps": 0.2658,
1909
+ "norm_mase": 0.3307
1910
+ },
1911
+ "analytical_baseline": {
1912
+ "norm_crps": 0.5166,
1913
+ "norm_mase": 0.4906
1914
+ }
1915
+ },
1916
+ {
1917
+ "task": "Supply_Chain_Customer/D/short",
1918
+ "H": 30,
1919
+ "V": 36,
1920
+ "pairs": 432,
1921
+ "sn_mase": 1.6936774961938938,
1922
+ "sn_crps": 1.0689042573613643,
1923
+ "telos_small": {
1924
+ "norm_crps": 0.2884,
1925
+ "norm_mase": 0.3898
1926
+ },
1927
+ "telos_small_pure_jepa": {
1928
+ "norm_crps": 0.2877,
1929
+ "norm_mase": 0.3848
1930
+ },
1931
+ "analytical_baseline": {
1932
+ "norm_crps": 0.5402,
1933
+ "norm_mase": 0.5964
1934
+ }
1935
+ },
1936
+ {
1937
+ "task": "Supply_Chain_Location/D/short",
1938
+ "H": 30,
1939
+ "V": 51,
1940
+ "pairs": 612,
1941
+ "sn_mase": 1.5971196207187819,
1942
+ "sn_crps": 1.0577564930502144,
1943
+ "telos_small": {
1944
+ "norm_crps": 0.2973,
1945
+ "norm_mase": 0.4248
1946
+ },
1947
+ "telos_small_pure_jepa": {
1948
+ "norm_crps": 0.2985,
1949
+ "norm_mase": 0.4229
1950
+ },
1951
+ "analytical_baseline": {
1952
+ "norm_crps": 0.5554,
1953
+ "norm_mase": 0.6297
1954
+ }
1955
+ },
1956
+ {
1957
+ "task": "azure2019_D/5T/short",
1958
+ "H": 288,
1959
+ "V": 3,
1960
+ "pairs": 8901,
1961
+ "sn_mase": 1.09388082352075,
1962
+ "sn_crps": 0.2926142028628922,
1963
+ "telos_small": {
1964
+ "norm_crps": 0.614,
1965
+ "norm_mase": 0.7869
1966
+ },
1967
+ "telos_small_pure_jepa": {
1968
+ "norm_crps": 0.5956,
1969
+ "norm_mase": 0.7761
1970
+ },
1971
+ "analytical_baseline": {
1972
+ "norm_crps": 0.712,
1973
+ "norm_mase": 0.8441
1974
+ }
1975
+ },
1976
+ {
1977
+ "task": "azure2019_I/5T/short",
1978
+ "H": 288,
1979
+ "V": 3,
1980
+ "pairs": 4428,
1981
+ "sn_mase": 1.0115609729058312,
1982
+ "sn_crps": 0.22805883596642443,
1983
+ "telos_small": {
1984
+ "norm_crps": 0.7147,
1985
+ "norm_mase": 0.8116
1986
+ },
1987
+ "telos_small_pure_jepa": {
1988
+ "norm_crps": 0.6287,
1989
+ "norm_mase": 0.8111
1990
+ },
1991
+ "analytical_baseline": {
1992
+ "norm_crps": 0.7438,
1993
+ "norm_mase": 0.8323
1994
+ }
1995
+ },
1996
+ {
1997
+ "task": "azure2019_U/5T/short",
1998
+ "H": 48,
1999
+ "V": 3,
2000
+ "pairs": 1404,
2001
+ "sn_mase": 1.1517131263146043,
2002
+ "sn_crps": 0.570542980609912,
2003
+ "telos_small": {
2004
+ "norm_crps": 0.3425,
2005
+ "norm_mase": 0.6831
2006
+ },
2007
+ "telos_small_pure_jepa": {
2008
+ "norm_crps": 0.3372,
2009
+ "norm_mase": 0.6787
2010
+ },
2011
+ "analytical_baseline": {
2012
+ "norm_crps": 0.5269,
2013
+ "norm_mase": 0.8219
2014
+ }
2015
+ },
2016
+ {
2017
+ "task": "Smart_Manufacturing/H/short",
2018
+ "H": 24,
2019
+ "V": 5,
2020
+ "pairs": 2380,
2021
+ "sn_mase": 1.0055067714974981,
2022
+ "sn_crps": 0.23542101313355804,
2023
+ "telos_small": {
2024
+ "norm_crps": 0.7095,
2025
+ "norm_mase": 0.7097
2026
+ },
2027
+ "telos_small_pure_jepa": {
2028
+ "norm_crps": 0.7087,
2029
+ "norm_mase": 0.7089
2030
+ },
2031
+ "analytical_baseline": {
2032
+ "norm_crps": 0.77,
2033
+ "norm_mase": 0.7712
2034
+ }
2035
+ },
2036
+ {
2037
+ "task": "Smart_Manufacturing/H/medium",
2038
+ "H": 168,
2039
+ "V": 5,
2040
+ "pairs": 340,
2041
+ "sn_mase": 1.044595285129953,
2042
+ "sn_crps": 0.27220983582984515,
2043
+ "telos_small": {
2044
+ "norm_crps": 0.61,
2045
+ "norm_mase": 0.6831
2046
+ },
2047
+ "telos_small_pure_jepa": {
2048
+ "norm_crps": 0.6097,
2049
+ "norm_mase": 0.6827
2050
+ },
2051
+ "analytical_baseline": {
2052
+ "norm_crps": 0.7453,
2053
+ "norm_mase": 0.7438
2054
+ }
2055
+ },
2056
+ {
2057
+ "task": "Smart_Manufacturing/H/long",
2058
+ "H": 336,
2059
+ "V": 5,
2060
+ "pairs": 170,
2061
+ "sn_mase": 1.0719038232576714,
2062
+ "sn_crps": 0.31738381102122837,
2063
+ "telos_small": {
2064
+ "norm_crps": 0.5229,
2065
+ "norm_mase": 0.6655
2066
+ },
2067
+ "telos_small_pure_jepa": {
2068
+ "norm_crps": 0.5227,
2069
+ "norm_mase": 0.6652
2070
+ },
2071
+ "analytical_baseline": {
2072
+ "norm_crps": 0.7139,
2073
+ "norm_mase": 0.7235
2074
+ }
2075
+ },
2076
+ {
2077
+ "task": "MetroPT-3/5T/short",
2078
+ "H": 48,
2079
+ "V": 6,
2080
+ "pairs": 216,
2081
+ "sn_mase": 0.8450006323641208,
2082
+ "sn_crps": 0.37834817117371744,
2083
+ "telos_small": {
2084
+ "norm_crps": 0.691,
2085
+ "norm_mase": 0.7594
2086
+ },
2087
+ "telos_small_pure_jepa": {
2088
+ "norm_crps": 0.6885,
2089
+ "norm_mase": 0.7571
2090
+ },
2091
+ "analytical_baseline": {
2092
+ "norm_crps": 0.8309,
2093
+ "norm_mase": 0.8569
2094
+ }
2095
+ },
2096
+ {
2097
+ "task": "MetroPT-3/5T/medium",
2098
+ "H": 288,
2099
+ "V": 6,
2100
+ "pairs": 36,
2101
+ "sn_mase": 0.8333397275589067,
2102
+ "sn_crps": 0.36930167750747755,
2103
+ "telos_small": {
2104
+ "norm_crps": 0.7036,
2105
+ "norm_mase": 0.7827
2106
+ },
2107
+ "telos_small_pure_jepa": {
2108
+ "norm_crps": 0.6906,
2109
+ "norm_mase": 0.7652
2110
+ },
2111
+ "analytical_baseline": {
2112
+ "norm_crps": 0.8286,
2113
+ "norm_mase": 0.8658
2114
+ }
2115
+ },
2116
+ {
2117
+ "task": "MetroPT-3/5T/long",
2118
+ "H": 576,
2119
+ "V": 6,
2120
+ "pairs": 18,
2121
+ "sn_mase": 0.8545103668350666,
2122
+ "sn_crps": 0.38544667902998536,
2123
+ "telos_small": {
2124
+ "norm_crps": 0.6866,
2125
+ "norm_mase": 0.7925
2126
+ },
2127
+ "telos_small_pure_jepa": {
2128
+ "norm_crps": 0.6661,
2129
+ "norm_mase": 0.7584
2130
+ },
2131
+ "analytical_baseline": {
2132
+ "norm_crps": 0.7962,
2133
+ "norm_mase": 0.8375
2134
+ }
2135
+ }
2136
+ ],
2137
+ "model_family": "Telos",
2138
+ "model_name": "Telos-Small"
2139
+ }