Timestral-209M

Timestral is a family of time series foundation models for zero-shot forecasting, available in 5M, 28M, 123M, and 209M parameter versions. This repository contains the 209M checkpoint.

Timestral supports univariate and multivariate forecasting, past-only and known-future covariates, and probabilistic predictions across 21 quantiles. It accepts up to 32,768 historical time steps and forecasts up to 1,024 steps in a single forward pass.

We’re releasing the source code in our GitHub repository to make it easy to run Timestral and reproduce our benchmark results.

Model Details

  • Size: 209M parameters.
  • Architecture: patch-based transformer with time attention and variate attention, 24 layers, embedding dimension 768.
  • Patching: 32 time steps per patch. Each patch is embedded from its values together with their missing-value indicators.
  • Context length: up to 32,768 time steps (1,024 patches).
  • Forecast horizon: Up to 1,024 time steps (32 patches) in a single forward pass. Longer horizons are forecast block by block, with each block's median forecast appended to the context.
  • Outputs: 21 quantiles (0.01, 0.05, 0.1, 0.15, …, 0.85, 0.9, 0.95, 0.99).
  • Inputs: univariate or multivariate target variates, plus past-only and known-future covariates, numeric or categorical (categorical covariates are target-encoded). Missing values are marked as NaN.
  • Inference: PyTorch on CPU or GPU.

Benchmarks

Timestral-209M achieves state-of-the-art zero-shot accuracy across three major forecasting benchmarks: GIFT-Eval, TIME, and fev-bench.

Timestral-209M compared with other models

Benchmark Metric Timestral-209M t0-gamma TimesFM-3 Toto-2.0-2.5B Chronos-2
GIFT-Eval MASE ↓ 0.658 0.661 0.667 0.696 0.698
CRPS ↓ 0.446 0.452 0.456 0.476 0.485
TIME MASE ↓ 0.626 0.637 0.640 0.642 0.662
CRPS ↓ 0.522 0.534 0.536 0.539 0.556
fev-bench SQL skill score ↑ 50.39 49.42 48.99 44.42 47.28
MASE skill score ↑ 39.49 37.99 37.82 32.54 35.50

Results across the Timestral family

Benchmark Metric Timestral-5M Timestral-28M Timestral-123M Timestral-209M
GIFT-Eval MASE ↓ 0.705 0.678 0.659 0.658
CRPS ↓ 0.479 0.461 0.448 0.446
TIME MASE ↓ 0.652 0.638 0.628 0.626
CRPS ↓ 0.545 0.534 0.525 0.522
fev-bench SQL skill score ↑ 46.19 48.42 50.18 50.39
MASE skill score ↑ 34.54 37.27 39.19 39.49

The Pareto-front plot below illustrates the trade-off between model size and forecasting performance across the Timestral family.

Pareto front of model size versus forecasting performance for the Timestral models

Usage

Install

Set up your environment:

pip install git+https://github.com/mistralai/timestral.git   # Python >= 3.10, torch >= 2.4

Or from a clone with uv, using the versions pinned in uv.lock:

git clone https://github.com/mistralai/timestral.git && cd timestral
uv sync --frozen
source .venv/bin/activate

Run the model

Here is a simple example using synthetic data.

import numpy as np
import torch
from timestral import TimestralForecaster

model = TimestralForecaster.from_pretrained(
    "mistralai/Timestral-209M",
    device="cuda" if torch.cuda.is_available() else "cpu"
)

# Synthetic example: one series with 1,000 historical observations.
context = np.random.default_rng(42).standard_normal(1000).cumsum()
forecast = model.forecast(context, prediction_length=96)

median = forecast.median
lower, upper = forecast.quantile(0.1), forecast.quantile(0.9)

Check out our GitHub repository for more details!

Additional Resources

License

Models have been released under a Modified MIT license: See here.

You must not use this model in a manner that infringes, misappropriates, or otherwise violates any third party’s rights, including intellectual property rights

Downloads last month
2,601
Safetensors
Model size
0.2B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for mistralai/Timestral-209M

Quantizations
1 model

Spaces using mistralai/Timestral-209M 3

Collection including mistralai/Timestral-209M

Evaluation results