Time Series Forecasting
tirex

TiRex

TiRex is a time-series foundation model designed for time series forecasting, with the emphasis to provide state-of-the-art forecasts for both short- and long-term forecasting horizon. TiRex is 35M parameter small and is based on the xLSTM architecture allowing fast and performant forecasts. The model is described in the paper TiRex: Zero-Shot Forecasting across Long and Short Horizons with Enhanced In-Context Learning.

Key Facts:

  • Zero-Shot Forecasting: TiRex performs forecasting without any training on your data. Just download and forecast.

  • Quantile Predictions: TiRex not only provides point estimates but provides quantile estimates.

  • State-of-the-art Performance over Long and Short Horizons: TiRex achieves top scores in various time series forecasting benchmarks, see GiftEval and ChronosZS. These benchmark show that TiRex provides great performance for both long and short-term forecasting.

Quick Start

The inference code is available on GitHub.

Installation

TiRex is currently only tested on Linux systems and Nvidia GPUs with compute capability >= 8.0. If you want to use different systems, please check the FAQ in the code repository. It's best to install TiRex in the specified conda environment. The respective conda dependency file is requirements_py26.yaml.

# 1) Setup and activate conda env from ./requirements_py26.yaml
git clone github.com/NX-AI/tirex
conda env create --file ./tirex/requirements_py26.yaml
conda activate tirex

# 2) [Mandatory] Install Tirex

## 2a) Install from source
git clone github.com/NX-AI/tirex  # if not already cloned before
cd tirex
pip install -e .

# 2b) Install from PyPi (will be available soon)

# 2) Optional: Install also optional dependencies
pip install .[gluonts]      # enable gluonTS in/output API
pip install .[hfdataset]    # enable HuggingFace datasets in/output API
pip install .[notebooks]    # To run the example notebooks

Inference Example

import torch
from tirex import load_model, ForecastModel

model: ForecastModel = load_model("NX-AI/TiRex")
data = torch.rand((5, 128))  # Sample Data (5 time series with length 128)
forecast = model.forecast(context=data, prediction_length=64)

We provide an extended quick start example in the GitHub repository.

Troubleshooting / FAQ

If you have problems please check the FAQ / Troubleshooting section in the GitHub repository and feel free to create a GitHub issue or start a discussion.

Training Data

  • chronos_datasets (Subset - Zero Shot Benchmark data is not used for training - details in the paper)
  • GiftEvalPretrain (Subset - details in the paper)
  • Synthetic Data

Cite

If you use TiRex in your research, please cite our work:

@article{auerTiRexZeroShotForecasting2025,
  title = {{{TiRex}}: {{Zero-Shot Forecasting Across Long}} and {{Short Horizons}} with {{Enhanced In-Context Learning}}},
  author = {Auer, Andreas and Podest, Patrick and Klotz, Daniel and B{\"o}ck, Sebastian and Klambauer, G{\"u}nter and Hochreiter, Sepp},
  journal = {ArXiv},
  volume = {2505.23719},   
  year = {2025}
}

License

TiRex is licensed under the NXAI community license.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Datasets used to train NX-AI/TiRex

Space using NX-AI/TiRex 1