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
Toto2GluonTSModelwith GluonTS evaluation pipelines and built-in datasets.
Evaluation
- GIFT-Eval Notebook — Evaluate on the GIFT-Eval benchmark.
- BOOM Evaluation — Evaluate on the BOOM observability benchmark.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce23ce328c593b8baaedcd679dfc49c4296cb06c4a46654caab7ce66ef4087a7
|
|
| MD5 |
988c9c37189c83b66a35dbe6fb7036f9
|
|
| BLAKE2b-256 |
d846e7c29d41892dac0aa8944596f128b500fc434a08fc9e11ac546c0e32ad6c
|
Provenance
The following attestation bundles were made for toto_2-2.0.0.tar.gz:
Publisher:
pypi-publish.yml on DataDog/toto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
toto_2-2.0.0.tar.gz -
Subject digest:
ce23ce328c593b8baaedcd679dfc49c4296cb06c4a46654caab7ce66ef4087a7 - Sigstore transparency entry: 1717615575
- Sigstore integration time:
-
Permalink:
DataDog/toto@44ea4e88852228039564aa3e76fac26aafac0803 -
Branch / Tag:
refs/tags/toto-2/v2.0.0 - Owner: https://github.com/DataDog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@44ea4e88852228039564aa3e76fac26aafac0803 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5eb922f8162a800d6d31cffb10e3f4c079276b12c41e272129e5b4a930943f71
|
|
| MD5 |
13edcdcdc098665e07759f76c054896e
|
|
| BLAKE2b-256 |
54af30d12ba1776ff21800bed679aaa60befcb99dec5841e9b25d0d2f0e72200
|
Provenance
The following attestation bundles were made for toto_2-2.0.0-py3-none-any.whl:
Publisher:
pypi-publish.yml on DataDog/toto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
toto_2-2.0.0-py3-none-any.whl -
Subject digest:
5eb922f8162a800d6d31cffb10e3f4c079276b12c41e272129e5b4a930943f71 - Sigstore transparency entry: 1717615849
- Sigstore integration time:
-
Permalink:
DataDog/toto@44ea4e88852228039564aa3e76fac26aafac0803 -
Branch / Tag:
refs/tags/toto-2/v2.0.0 - Owner: https://github.com/DataDog
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@44ea4e88852228039564aa3e76fac26aafac0803 -
Trigger Event:
release
-
Statement type: