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-curvepackage —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
- Select observations (time-sorted magnitudes).
- Optionally cap to the last 2048 observations (the model's native context).
- Left-pad each series to a common length that is a multiple of 16, using NaN.
- 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).