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 (TBA soon).

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. 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:

TBA

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