goia-forecast-nano-v0
A 4.73M-parameter probabilistic time-series foundation model, trained from scratch on a single consumer GPU and evaluated zero-shot on GIFT-Eval: CRPS 0.553 / MASE 0.815 (geometric mean over 97 configs, normalized by seasonal naive). Per-config it is statistically on par in CRPS with models 40β100Γ its size such as chronos_bolt_base and timesfm_2_0_500m. Full training code, data pipeline and failure analysis: see the GitHub repository.
Zero-shot forecasts (median, q30βq70 and q10βq90 bands; red dashed = held-out truth):
Usage
The repo ships a standalone inference.py (only needs torch, safetensors, numpy, pandas):
from huggingface_hub import hf_hub_download
import importlib.util
path = hf_hub_download("gredio/goia-forecast-nano-v0", "inference.py")
spec = importlib.util.spec_from_file_location("goia_inference", path)
mod = importlib.util.module_from_spec(spec); spec.loader.exec_module(mod)
fc = mod.Forecaster.from_pretrained("gredio/goia-forecast-nano-v0")
pred = fc.predict(series, horizon=96) # 1D list / numpy array / pandas Series
pred.median, pred.q(0.1), pred.q(0.9)
Or clone the GitHub repo and from inference import Forecaster directly.
Native horizon: 1024 steps, 9 quantiles (0.1β0.9), any context length up to 4096 (longer contexts are truncated). Longer horizons are produced by median-feedback rollout.
Model description
RevIN normalization β adaptive multi-scale patch encoder (16/32/64, top-2 router with spectral features) β 6 dilated causal-conv blocks with one local and one global attention layer β cross-attention decoder emitting all quantiles for the full horizon in a single forward pass (quantiles sorted at inference).
Training data and teacher
Trained on the GiftEvalPretrain corpus (90%), the TempoPFN synthetic corpus (7%) and KernelSynth synthetic series from the Chronos project (~3%). The ground-truth quantile loss is always present; ~40% of batches additionally add an auxiliary distillation term from Chronos-2 (Apache-2.0) β about 22% of the total training signal β with targets computed on our own pretraining corpus only. No GIFT-Eval train or test data was used at any stage (zero-shot; disclosed in the leaderboard submission).
Scope and behavior
Strictly univariate: no covariates and no multivariate support (forecast each channel separately). Outputs 9 fixed quantiles (0.1β0.9); the point forecast is the median β there is no mean. NaN/inf values in the context are linearly interpolated automatically, and each series needs at least 8 finite observations.
Limitations
Weakest on hourly data with strong deterministic seasonality (e.g. solar), near-deterministic weather signals, and sub-minute frequencies (worse than naive at 10S). The median forecast lags the quantile calibration. See the repository README for the full failure analysis and roadmap.
- Downloads last month
- 20

