Mistral's Timestral: DHF, Multivariate Modeling & 21-Quantile Probabilistic Forecasting
Mistral AI releases Timestral, a family of time series foundation models (5M–209M parameters) featuring Decoupled Horizon Forecasting (DHF), covariate-aware attention for exogenous variables, synthetic-first two-stage training, and direct 21-quantile probabilistic output, outperforming TimesFM-3 and Chronos-2 on GIFT-Eval and TIME benchmarks.
Model Overview
On October 15, 2026, Mistral AI released Timestral, its first time series foundation model series. The series comprises four sizes — 5M, 28M, 123M, and 209M parameters — all using a patch-based Transformer architecture that runs on CPU or GPU. Each model supports univariate and multivariate forecasting, a context length of up to 32,768 historical time steps, a single-forward prediction horizon of up to 1,024 future steps, and outputs 21 quantiles per prediction step (0.01, 0.05, 0.10 … 0.95, 0.99). Inputs include historical target series, past-only covariates, known-future covariates, and categorical covariates; missing values are handled via NaN and observation masks. The FP32 weight files are 21 MB, 111 MB, 490 MB, and 837 MB respectively. The runtime requires Python 3.10+ and PyTorch 2.4+; inference code and weights are publicly available, though under different licenses.
Core Architecture
Timestral uses a causal Transformer backbone where every 32 time steps form a patch. It employs both Time Attention and Variate Attention, modeling temporal dynamics and cross-variable relationships. Two key mechanisms distinguish it:
Decoupled Horizon Forecasting (DHF)
Standard masked-patch training hides future patches so the model reconstructs them, but those hidden observations cannot simultaneously serve as training targets and as true historical context for later predictions. DHF solves this by keeping the observed history intact, encoding it causally, then introducing learnable forecast tokens that attend to the encoded history. Thus each observed point acts both as a target and as context for subsequent steps; genuinely missing observations are marked separately. According to Mistral, DHF decouples forecast-horizon configuration from missing-data augmentation and improves utilization of observed history.
Covariate-aware Attention
Exogenous factors (e.g., temperature, holiday calendars, production schedules) affect the target but are not predicted themselves. Timestral assigns roles to input variables and constrains attention so each role sees only permissible information:
Target (e.g., device load, sales, inventory): visible range at forecast time is historical target only.
Past-only Covariate (e.g., historical temperature, vibration): visible range is observed historical portion.
Known-future Covariate (e.g., holiday calendar, production roster, weather forecast): visible range is known or predicted future values.
The model can use future covariates that are already known at prediction time, but it never sees future target values; covariates feed information to the target under strict flow constraints to prevent leakage.
Synthetic-first Two-Stage Training
Pre-training : Generate univariate processes with trends, seasonality, and diverse noise patterns; then use a multivariate synthesizer to create non-linear variable dependencies. Train at large scale with 8,192-step context.
Post-training : Mix real and synthetic data, extending context 4× to 32,768 steps.
Synthetic data exposes the model to more trend, cycle, and dependency types while reducing reliance on scarce public datasets. However, whether synthesis covers real-world regime shifts, sensor failures, and abrupt events cannot be judged by training scale alone; back-testing on real data is required.
Probabilistic Output via 21 Quantiles
Instead of a single point forecast, Timestral outputs 21 quantiles trained with Pinball Loss, a discrete approximation of CRPS-type probabilistic objectives. These quantiles map to different business decisions: median for central planning, high quantiles (e.g., Q90) for capacity risk assessment, low quantiles for safety-stock calibration. The article cautions that generating Q10/Q50/Q90 does not guarantee calibration; empirical coverage must be verified per scenario.
Public Benchmarks
Official evaluation covers three benchmarks:
GIFT-Eval (97 configurations, historical covariates allowed)
TIME (98 tasks, no covariates beyond target)
fev-bench (100 tasks, historical and known-future covariates allowed)
Timestral-209M leads among compared pre-trained zero-shot models on all three. The comparison scope is explicitly limited to pre-trained zero-shot baselines and does not include models fine-tuned on domain data.
Benchmark / Metric Timestral-209M t0-gamma TimesFM-3 Chronos-2
GIFT-Eval MASE ↓ 0.658 0.661 0.667 0.698
GIFT-Eval CRPS ↓ 0.446 0.452 0.456 0.485
TIME MASE ↓ 0.626 0.637 0.640 0.662
TIME CRPS ↓ 0.522 0.534 0.536 0.556
fev-bench SQL Skill ↑ 50.39 49.42 48.99 47.28On GIFT-Eval, the 123M and 209M models achieve MASE of 0.659 and 0.658 respectively — an 86M parameter increase yields only 0.001 improvement, so deployment choice should weigh error tolerance, throughput, and cost.
CPU inference latency (8-thread server, 3 weeks of 15-min data predicting 1 day): 5M ≈ 10 ms, 209M ≈ 140 ms; 28M runs ~5× faster than 209M.
Code Practice: Quick Start
Install from GitHub:
pip install git+https://github.com/mistralai/timestral.gitMinimal univariate forecast with the 28M model:
import numpy as np
import torch
from timestral import TimestralForecaster
model = TimestralForecaster.from_pretrained(
"mistralai/Timestral-28M",
device="cuda" if torch.cuda.is_available() else "cpu",
)
# 1000 simulated historical steps
context = np.random.default_rng(42).standard_normal(1000).cumsum()
# Predict next 96 steps
forecast = model.forecast(context, prediction_length=96)
median = forecast.median
lower = forecast.quantile(0.1)
upper = forecast.quantile(0.9)
print("Median shape:", median.shape)
print("Lower shape:", lower.shape)
print("Upper shape:", upper.shape)Prediction length is in time steps; 96 steps at 15-min sampling equals 24 hours. Multivariate input uses shape (B, V, T) (batch, target variables, history length). Exogenous variables are passed via
past_covariates (B, C_past, T)and
known_covariates (B, C_known, T+H)where H is the forecast horizon. Known-future covariates must cover both history and forecast window; users must align time axes and avoid future leakage.
A single forward pass predicts up to 1,024 steps. Longer horizons use chunked forecasting where the previous chunk's median predictions are fed as context for the next chunk; error propagation across chunks should be monitored.
Summary
Timestral delivers a cohesive technical package for time series foundation models: DHF resolves the target-vs-context dilemma, covariate-aware attention integrates exogenous signals under strict information-flow rules, synthetic-first training broadens pattern coverage, and direct 21-quantile output enables probabilistic decision-making. Multiple model sizes let practitioners trade off accuracy, latency, and hardware cost. The synthetic-first training paradigm warrants further study — its transfer stability across domains needs more complete experimental disclosure and independent validation.
References
GitHub — mistralai/timestral : Official repo, inference API, model specs, covariate usage. https://github.com/mistralai/timestral Mistral AI — Introducing Timestral (2026-10-15): Release notes, technical methods, application background, official speed tests. https://mistral.ai/news/timestral/ Hugging Face — mistralai/Timestral-209M : Model card, benchmark scores, quantile and context specs.
https://huggingface.co/mistralai/Timestral-209MSigned-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
DeepHub IMBA
A must‑follow public account sharing practical AI insights. Follow now. internet + machine learning + big data + architecture = IMBA
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
