Skip to main content

Toto 2.0 — foundation model for multivariate time series forecasting

Project description

Toto 2.0

Technical Report | Blog | Model Collection | BOOM Dataset | GitHub

Toto 2.0 is a family of foundation models for multivariate time series forecasting, built by Datadog. It features a u-μP-scaled transformer with alternating time/variate attention and quantile-based probabilistic forecasting, ranging from 4M to 2.5B parameters.

Note: Fine-tuning and exogenous variable support are planned for a future 2.0 release. If you need these features today, see toto-ts (Toto 1.0).

Features

  • Zero-Shot Forecasting — No task-specific fine-tuning required.
  • State-of-the-Art Performance — Top results on GIFT-Eval and BOOM.
  • Multivariate Support — Efficiently handles multiple variables via alternating time/variate attention.
  • Probabilistic Predictions — Returns 9 quantile levels (0.1–0.9) for uncertainty estimation.
  • High-Dimensional Support — Scales to time series with a large number of variates.
  • Decoder-Only Architecture — Supports variable prediction horizons and context lengths.

Model Weights

Checkpoint Parameters
Toto-2.0-4m 4M
Toto-2.0-22m 22M
Toto-2.0-313m 313M
Toto-2.0-1B 1B
Toto-2.0-2.5B 2.5B

Installation

Requires Python 3.12+ and PyTorch 2.5+. A CUDA-capable GPU (Ampere or newer) is recommended.

pip install toto-2

Or install the toto-models umbrella package, which includes toto-2 and its dependencies:

pip install toto-models

Quick Start

import torch
from toto2 import Toto2Model

model = Toto2Model.from_pretrained("Datadog/Toto-2.0-22m")
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device).eval()

# Input shape: (batch, n_variates, time_steps)
target = torch.randn(1, 1, 512, device=device)
target_mask = torch.ones_like(target, dtype=torch.bool)
series_ids = torch.zeros(1, 1, dtype=torch.long, device=device)

# Returns quantiles of shape (9, batch, n_variates, horizon)
# Quantile levels: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
quantiles = model.forecast(
    {"target": target, "target_mask": target_mask, "series_ids": series_ids},
    horizon=96,
    decode_block_size=768,   # None for single forward pass (faster, better short-term)
    has_missing_values=False, # Set True if target_mask contains False entries
)

Inference tips:

  • decode_block_size=None — single forward pass, faster and better for short horizons. Used for all leaderboard results.
  • decode_block_size=768 — block decoding, better long-term stability for horizons ≳1000. Default in notebooks.
  • has_missing_values=False — enables Flash Attention kernels when your context has no gaps.

Tutorials

  • Quick Start — Load a model, forecast, plot results, handle missing values and multivariate inputs.
  • GluonTS Integration — Use Toto2GluonTSModel with GluonTS evaluation pipelines and built-in datasets.

Evaluation

Citation

If you use Toto 2.0 in your research, please cite:

@misc{khwaja2026toto20timeseries,
      title={Toto 2.0: Time Series Forecasting Enters the Scaling Era},
      author={Emaad Khwaja and Chris Lettieri and Gerald Woo and Eden Belouadah and Marc Cenac and Guillaume Jarry and Enguerrand Paquin and Xunyi Zhao and Viktoriya Zhukov and Othmane Abou-Amal and Chenghao Liu and Ameet Talwalkar and David Asker},
      year={2026},
      eprint={2605.20119},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2605.20119},
}

License

Apache-2.0. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

toto_2-2.0.0.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

toto_2-2.0.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file toto_2-2.0.0.tar.gz.

File metadata

  • Download URL: toto_2-2.0.0.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for toto_2-2.0.0.tar.gz
Algorithm Hash digest
SHA256 ce23ce328c593b8baaedcd679dfc49c4296cb06c4a46654caab7ce66ef4087a7
MD5 988c9c37189c83b66a35dbe6fb7036f9
BLAKE2b-256 d846e7c29d41892dac0aa8944596f128b500fc434a08fc9e11ac546c0e32ad6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for toto_2-2.0.0.tar.gz:

Publisher: pypi-publish.yml on DataDog/toto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file toto_2-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: toto_2-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for toto_2-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5eb922f8162a800d6d31cffb10e3f4c079276b12c41e272129e5b4a930943f71
MD5 13edcdcdc098665e07759f76c054896e
BLAKE2b-256 54af30d12ba1776ff21800bed679aaa60befcb99dec5841e9b25d0d2f0e72200

See more details on using hashes here.

Provenance

The following attestation bundles were made for toto_2-2.0.0-py3-none-any.whl:

Publisher: pypi-publish.yml on DataDog/toto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page