ONNX

YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Chronos-Bolt

Part of the light-curve family of open-source tools for astronomical time-series analysis. Available from Python via the light-curve package — pip install light-curve. Documentation: https://light-curve.snad.space/

Paper

Ansari et al., 2024. "Chronos: Learning the Language of Time Series." Transactions on Machine Learning Research. Chronos-Bolt is a faster, patch-based variant released by Amazon Web Services.

@article{ansari2024chronos,
  title   = {Chronos: Learning the Language of Time Series},
  author  = {Ansari, Abdul Fatir and others},
  journal = {Transactions on Machine Learning Research},
  year    = {2024},
  url     = {https://github.com/amazon-science/chronos-forecasting},
}

Original model

HuggingFace: tiny · mini · small · base

Package: chronos-forecasting==2.3.0 (pip-installable, no code submodule)

Each size is pinned to a specific HF commit (see chronos_bolt_prep/config.py) so the export is fully reproducible regardless of upstream changes to main.

License

Apache-2.0

Model overview

Chronos-Bolt is an encoder–decoder time series foundation model. Like Chronos 2, it splits the input into non-overlapping patches of size 16, applies instance normalization, and encodes the patches with a T5-style transformer. We export only the encoder to produce embeddings; the four sizes differ only in width:

Size d_model
tiny 256
mini 384
small 512
base 768

All four share an identical ONNX interface and preprocessing — the same as the Chronos 2 export.

Irregular-sampling strategy

Following the StarEmbed benchmark, timestamps are not passed to the model. Light curves are treated as equally spaced in observation order; left-padding with NaN marks unused context positions.

Inputs

Tensor Shape dtype Description
context [batch, seq] float32 Magnitude values; NaN marks left-padded positions

Both batch and seq are dynamic axes. seq must be a multiple of the patch size (16) and may be anything up to the model's native context of 2048 (128 patches). Inference cost scales with seq, so shorter series are proportionally cheaper — there is no fixed window and no truncation. Pad each batch to a common multiple of 16 with NaN.

Outputs (ONNX)

One file per size, chronos-bolt-<size>.onnx, with two named outputs:

Name Shape Description
mean [batch, d_model] Masked mean pool over valid context patches
sequence [batch, seq/16, d_model] Per-patch encoder hidden states

Preprocessing steps

  1. Select observations (time-sorted magnitudes).
  2. Optionally cap to the last 2048 observations (the model's native context).
  3. Left-pad each series to a common length that is a multiple of 16, using NaN.
  4. Pass the [batch, seq] float32 tensor to the ONNX model.

Instance normalisation (mean subtraction, std scaling) is applied internally by the model.

Weights

Source: amazon/chronos-bolt-{tiny,mini,small,base} (loaded automatically via ChronosBoltPipeline.from_pretrained, each pinned to a specific revision).

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

Paper for light-curve/chronos-bolt-tiny