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.
Release files for toto-2 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| toto_2-2.0.0.tar.gz | 24.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| toto_2-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.8 kB
Release files / toto_2-2.0.0.tar.gz
| Download URL | toto_2-2.0.0.tar.gz |
|---|---|
| Size | 24.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce23ce328c593b8baaedcd679dfc49c4296cb06c4a46654caab7ce66ef4087a7
|
|
BLAKE2b-256 checksum How to use checksums |
d846e7c29d41892dac0aa8944596f128b500fc434a08fc9e11ac546c0e32ad6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 4, 2026.
Transparency logRelease files / toto_2-2.0.0-py3-none-any.whl
| Download URL | toto_2-2.0.0-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5eb922f8162a800d6d31cffb10e3f4c079276b12c41e272129e5b4a930943f71
|
|
BLAKE2b-256 checksum How to use checksums |
54af30d12ba1776ff21800bed679aaa60befcb99dec5841e9b25d0d2f0e72200
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 4, 2026.
Transparency log