Sundial

🚩 News (2025.05) Sundial has been accepted as ICML 2025 Spotlight (Top 2.6%).

🚩 News (2025.02) Get 1st MSE/MAE zero-shot performance on Time-Series-Library datasets.

image/png

Sundial is a family of generative time series foundation models. The model can make zero-shot predictions for both point and probabilistic forecasting.

The base version is pre-trained on 1 trillion time points with 128M parameters. For more information, please refer to this paper and GitHub.

image/png

Overall Architecture: The input time series is divided into patch tokens, which are embedded from original continuous values. The patch embeddings are fed into a decoder-only Transformer, a stable and speedup version that learns token representations. The model is optimized using our TimeFlow Loss, a parameterized loss function that models per-token probability distribution conditioned on the learned representations, and generates multiple plausible predictions under the flow-matching framework.

Sundial can be viewed as an ARMA model (Auto-Regression and Moving-Average). Transformer learns auto-regressive token representations. Conditioned on them, TimeFlow transforms random noises into non-deterministic predictions.

Quickstart

pip install transformers==4.40.1 # Use this version and Python 3.10 for stable compatibility
import torch
from transformers import AutoModelForCausalLM

# load pretrain model
# supports different lookback/forecast lengths
model = AutoModelForCausalLM.from_pretrained('thuml/sundial-base-128m', trust_remote_code=True) 

# prepare input
batch_size, lookback_length = 1, 2880 
seqs = torch.randn(batch_size, lookback_length)

# Note that Sundial can generate multiple probable predictions
forecast_length = 96 
num_samples = 20

output = model.generate(seqs, max_new_tokens=forecast_length, num_samples=num_samples)

# use raw predictions for mean/quantiles/confidence-interval estimation
print(output.shape) 

More examples for predicting quantiles or confidence intervals are provided in this notebook.

Evaluation

We evaluate performance on the following benchmarks:

We are actively working around it and are glad to hear suggestions and noteworthy cases :)

Inference Time

  • Hardware: Apple M1 Pro CPU (16 GB)
Lookback Length Prediction Length # Generated Samples Inference Time Accelerate By
672 16 1 249ms -
2880 16 1 510ms FlashAttention
2880 720 1 510ms Multi-Patch Prediction
2880 1440 1 789ms KV Cache
2880 720 20 949ms Shared Condition

Specification

  • Architecture: Causal Transformer (Decoder-only)
  • Pre-training Scale: 1032B time points
  • Context Length: up to 2880
  • ReNorm: Default=True
  • Patch Length: 16
  • Multi-Patch Prediction Length: 720
  • Parameter Count: 128M
  • Number of Layers: 12
  • Precision: FP32
  • Speedup with KV Cache & FlashAttention & Shared Condition

Acknowledgments

This work was supported by the National Natural Science Foundation of China (62022050 and U2342217), the BNRist Innovation Fund (BNR2024RC01010), and the National Engineering Research Center for Big Data Software.

The model is mostly built from the Internet public time series dataset, which comes from different research teams and providers. We sincerely thank all individuals and organizations who have contributed the data. Without their generous sharing, this model would not have existed.

Citation

@article{liu2025sundial,
  title={Sundial: A Family of Highly Capable Time Series Foundation Models},
  author={Liu, Yong and Qin, Guo and Shi, Zhiyuan and Chen, Zhi and Yang, Caiyin and Huang, Xiangdong and Wang, Jianmin and Long, Mingsheng},
  journal={arXiv preprint arXiv:2502.00816},
  year={2025}
}

Contact

If you have any questions or want to use the code, feel free to contact:

License

This model is licensed under the Apache-2.0 License.

Downloads last month
61
Safetensors
Model size
128M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Datasets used to train thuml/sundial-base-128m

Collection including thuml/sundial-base-128m