TiRex-2
This repository provides the pretrained TiRex-2 model and inference code for zero-shot multivariate forecasting with past and future-known covariates, as introduced in TiRex-2: Generalizing TiRex to Multivariate Data and Streaming.
TiRex-2 is a pretrained time series foundation model that forecasts one or many target variates directly from their history, optionally conditioned on past and future-known covariates. A single checkpoint serves both univariate and multivariate forecasting and operates in a streaming fashion as new observations arrive — all zero-shot, with no task-specific training or fine-tuning.
Key facts
Zero-shot multivariate forecasting: TiRex-2 forecasts multiple target variates out of the box, without training or fine-tuning on you data.
Past and future-known covariates: TiRex-2 natively conditions on past covariates and future-known covariates, such as calendar features, holidays, promotions, or scheduled interventions.
Small active footprint: TiRex-2 activates 38.4M parameters in univariate mode and an additional 44.1M parameters for multivariate forecasting.
Getting started
The environment is managed by Pixi. Run the following to install it on your machine
curl -fsSL https://pixi.sh/install.sh | sh
git clone https://github.com/NX-AI/tirex-2 && cd tirex-2
# activate the cpu-only env
eval "$(pixi shell-hook -e example)" # to execute on GPUs use `example-cu128` or `example-cu126`
Minimal usage predicting a simple sine wave:
import matplotlib.pyplot as plt, torch
from tirex2 import TimeseriesType, load_model
model = load_model("NX-AI/TiRex-2", device="cpu") # use `device="cuda"` if cuda is available
y = torch.sin(torch.arange(160).float() / 8)
ts = TimeseriesType(target=y[:128].unsqueeze(0), past_covariates=None, future_covariates=None)
forecast = model.forecast([ts], prediction_length=32, output_type="numpy")[0][0]
We provide predefined Pixi tasks showcasing examplary forecasts. These run in the CPU-only example environment by default:
pixi run minimalruns above code and creates a plot of the forecast.pixi run comparisonshowcases the additional benefit of future known covariates in forecasting a target.
For a more interactive demo of TiRex-2, we also provide a quick-start notebook.
Cite
If you use TiRex-2 in your research, please cite our work:
@misc{podest2026tirex2generalizingtirexmultivariate,
title={TiRex-2: Generalizing TiRex to Multivariate Data and Streaming},
author={Patrick Podest and Marco Pichler and Elias Bürger and Levente Zólyomi and Bernhard Voggenberger and Wilhelm Berghammer and Daniel Klotz and Sebastian Böck and Günter Klambauer and Sepp Hochreiter},
year={2026},
eprint={2607.01204},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2607.01204},
}
Other versions:
Alongside this pretrained checkpoint, we release decontaminated versions to enable fair zero-shot evaluation on specific benchmarks by excluding their data from pretraining:
- TiRex-2-g: excludes any overlap with the GiftEval datasets (pretrain and evaluation) from pretraining.
- TiRex-2-gp: includes the GiftEval-Pretrain collection in the pretraining corpus (for comparison against TiRex-2-g).
- TiRex-2-f: excludes all fev-bench eval datasets from pretraining, using the same approach as for GiftEval.