ONNX exports of TabICLv2, KumoTabular (small, medium, large), KumoRelational, Chronos-2 and Kumo-Anomaly for Tabular Data Workbench
b043bdf verified |
Download tsfm/README.md from ScriptSmith/tabular-data-workbench-onnx: direct link, hf CLI and curl.
- Browser
- Download file 5.75 kB
-
https://huggingface.co/ScriptSmith/tabular-data-workbench-onnx/resolve/main/tsfm/README.md
- Command line
-
hf download hf://ScriptSmith/tabular-data-workbench-onnx/tsfm/README.md
-
curl -L -o README.md https://huggingface.co/ScriptSmith/tabular-data-workbench-onnx/resolve/main/tsfm/README.md
5.75 kB
| license: apache-2.0 | |
| library_name: onnx | |
| base_model: | |
| - amazon/chronos-2 | |
| - autogluon/chronos-2-small | |
| - nvidia/Kumo-Anomaly | |
| base_model_relation: quantized | |
| pipeline_tag: time-series-forecasting | |
| tags: | |
| - onnx | |
| - onnxruntime-web | |
| - webgpu | |
| - time-series-forecasting | |
| - anomaly-detection | |
| - chronos | |
| - time-series-foundation-model | |
| # Chronos-2 and Kumo-Anomaly for onnxruntime-web | |
| Unofficial ONNX conversions of three time-series models, made for Tabular | |
| Data Workbench, which runs them in the browser with onnxruntime-web on WebGPU | |
| or WebAssembly: | |
| - [Chronos-2](https://huggingface.co/amazon/chronos-2) (120M parameters) and | |
| [Chronos-2 small](https://huggingface.co/autogluon/chronos-2-small) (28M), | |
| Amazon's forecasters. | |
| - [Kumo-Anomaly](https://huggingface.co/nvidia/Kumo-Anomaly) | |
| (NV-Tesseract-AD, 2.4M), NVIDIA's diffusion-based anomaly detector. | |
| The weights are the upstream weights: unchanged in the `fp32` variant, and | |
| with the larger ones rounded to float16 in the `f16w` variant. Amazon and | |
| NVIDIA have not reviewed or endorsed these conversions. NVIDIA's model card | |
| describes Kumo-Anomaly as "for research and development only". | |
| ## Files | |
| | file | inputs | output | | |
| | --- | --- | --- | | |
| | `chronos-2.<v>.onnx`, `chronos-2-small.<v>.onnx` | `features` (batch, tokens, 48), `token_mask` (batch, tokens), `group_mask` (batch, batch), `reg_mask` (tokens, 1), `rope_cos`, `rope_sin` (tokens, 64) | `quantiles` (batch, tokens, Q × 16) | | |
| | `kumo-anomaly.<v>.onnx` | `x` (batch, 40, 100, 2), `step_onehot` (1, 500), `strategy_onehot` (1, 2), `time` (100) | `eps` (batch, 40, 100) | | |
| Each graph comes in two variants (`<v>`), listed here with the sizes of | |
| Chronos-2, Chronos-2 small and Kumo-Anomaly: | |
| - `fp32`: the checkpoints' weights as they are (478 MB, 112 MB and 10 MB). | |
| - `f16w`: every float32 weight of 1,024 or more elements stored as float16 | |
| and cast back to float32 on load (239 MB, 56 MB and 5 MB). Compute stays | |
| float32. | |
| The Chronos-2 graphs take the encoder's input already assembled: instance | |
| scaling, arcsinh, patching, time encodings, the rotary tables and the masks | |
| built from group ids are computed outside the graph, so one graph serves | |
| every context length up to 8,192 and every horizon up to 1,024 without int64 | |
| shape arithmetic. Q is 21 quantiles for Chronos-2 and 13 for Chronos-2 small. | |
| The Kumo-Anomaly graph is the denoiser only. The masks, the noise, the | |
| DPM-Solver++ sampling loop, the median over samples and the scores run | |
| outside it, one graph call per solver step. | |
| `manifest.json` lists every file with its size and sha256, each model's | |
| configuration (context length, quantile levels, patch size, diffusion | |
| schedule) and the parity figures below. | |
| ## How they were made | |
| Sources: `amazon/chronos-2` at `29ec3766d36d6f73f0696f85560a422f50e8498c`, | |
| `autogluon/chronos-2-small` at `ddec01313e50b6bc58ebaa92ede81bc24a3d9f9a` | |
| (with `chronos-forecasting` 2.3.2), and `nvidia/Kumo-Anomaly` at | |
| `226c5003b0582adc1cac433123f47324bfae39f2` (with NVIDIA's | |
| [structured-data-models](https://github.com/NVIDIA/structured-data-models) | |
| at commit `2b1696f4fdc22004cc757c44703a69cf326c0a11`). | |
| ```sh | |
| cd models/tsfm | |
| uv run export_chronos2.py # Chronos-2 and Chronos-2 small | |
| uv run export_kumo.py # Kumo-Anomaly | |
| ``` | |
| Both scripts (in `models/tsfm/` of Tabular Data Workbench) export with | |
| `torch.onnx` (dynamo, opset 18, PyTorch 2.14 on CPU), remove the exporter's | |
| node metadata and doc strings, and check the graphs against the reference | |
| packages before writing the manifest. | |
| ## Parity | |
| Chronos-2: the whole forecast (numpy preparation, the ONNX graph in | |
| onnxruntime 1.30 on CPU, decoding) against `Chronos2Pipeline.predict_quantiles`, | |
| maximum absolute difference over all quantiles, divided by the forecast's | |
| widest spread between the lowest and highest quantile: | |
| | case | Chronos-2 fp32 | Chronos-2 f16w | small fp32 | small f16w | | |
| | --- | --- | --- | --- | --- | | |
| | AirPassengers, 24 months | 1.3e-6 | 2.3e-4 | 1.2e-6 | 3.8e-4 | | |
| | AirPassengers with gaps, 36 months | 1.0e-6 | 2.6e-4 | 8.0e-7 | 1.7e-4 | | |
| | daily series, weekly cycle, 28 days | 9.3e-7 | 4.6e-4 | 7.9e-7 | 3.3e-4 | | |
| | the same with a known covariate | 9.3e-7 | 2.7e-4 | 9.5e-7 | 4.9e-4 | | |
| Kumo-Anomaly: the sampling loop with the fp32 graph against | |
| `sdm.models.KumoAnomaly` on a series with injected anomalies, with the same | |
| noise (4 samples, 6 solver steps): anomaly scores agree to 1.0e-6 (scores up | |
| to 1.06). | |
| ## Licence | |
| All three models are licensed under the Apache License, Version 2.0 | |
| (`LICENSE`). `NOTICE` carries the copyright notices (Amazon.com, Inc. or its | |
| affiliates for Chronos-2; NVIDIA CORPORATION & AFFILIATES for Kumo-Anomaly) | |
| and states how these files differ from the originals. | |
| `LICENSE.structured-data-models` is NVIDIA's copy of the licence from the | |
| code the Kumo-Anomaly graph was exported from. Kumo-Anomaly's sampler derives | |
| from DPM-Solver (Copyright (c) 2022 Cheng Lu, MIT License), whose licence is | |
| in `THIRD-PARTY-NOTICES.txt`. | |
| Keep `LICENSE`, `NOTICE`, `THIRD-PARTY-NOTICES.txt` and | |
| `LICENSE.structured-data-models` with the graphs when redistributing them. | |
| ## Citation | |
| ```bibtex | |
| @article{ansari2025chronos2, | |
| title = {Chronos-2: From Univariate to Universal Forecasting}, | |
| author = {Abdul Fatir Ansari and Oleksandr Shchur and Jaris Küken and Andreas Auer and Boran Han and Pedro Mercado and Syama Sundar Rangapuram and Huibin Shen and Lorenzo Stella and Xiyuan Zhang and Mononito Goswami and Shubham Kapoor and Danielle C. Maddix and Pablo Guerron and Tony Hu and Junming Yin and Nick Erickson and Prateek Mutalik Desai and Hao Wang and Huzefa Rangwala and George Karypis and Yuyang Wang and Michael Bohlke-Schneider}, | |
| year = {2025}, | |
| url = {https://arxiv.org/abs/2510.15821} | |
| } | |
| ``` | |