Repository navigation
feat(models): add TimeH2O (h2oai/timeh2o-v1) - #77
Conversation
….4.1 timecopilot-timesfm 0.4.1 drops the safetensors<0.6 cap, which conflicted with h2ofm's safetensors>=0.6.2. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…exog Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
Merging this PR will improve performance by 10.86%1 warning, 1 note
Performance Changes
Tip Curious why performance improved? Comment Comparing |
Expose clip_nonnegative and snap_integer (enabled in the official GIFT-Eval and fev-bench runs) and pass covariate rows with their dtype so h2ofm encodes non-numeric ones as categorical. Co-authored-by: Cursor <cursoragent@cursor.com>
… options Co-authored-by: Cursor <cursoragent@cursor.com>
Models can set python in models.yaml; Modal dispatches them to a Python 3.12 image (h2ofm requires 3.12+) while the rest stay on 3.11. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Co-authored-by: Cursor <cursoragent@cursor.com>
Unable to generate the performance reportYour organization has exceeded its Macro Runners budget. Because this run uses tokenless mode, CodSpeed needs to wait for the GitHub Actions workflow to complete to validate the upload. Since the walltime jobs will never run, the workflow stays pending and we are unable to process this run. To run these benchmarks again, update your plan or increase your Macro Runners budget. If you need help, please contact us at support@codspeed.io or on Discord. |
Adds a
TimeH2Owrapper for H2O.ai's TimeH2O via theh2ofmpackage (fev-bench #3 by skill score, #1 by win rate; zero-shot on GIFT-Eval). Also adds replication on GIFT-Eval and fev-bench against the official results.Library
foundationforecast/models/timeh2o.py: forecast / CV / anomalies, quantiles andlevel, and native known-future exog (future_covariates) onh2oai/timeh2o-v1. Non-numeric covariates keep their dtype, soh2ofmencodes them as categorical.h2oai/timeh2o-v1-tinyhas no covariate support and raises withX_df. Requested quantiles are passed straight through:h2ofmextrapolates outside its 0.1 to 0.9 grid with Gaussian tails.clip_nonnegativeandsnap_integeroptions (off by default, as inh2ofm). The official runs enable both.h2ofm>=0.43.0(Python >= 3.12 only) andtimecopilot-timesfm>=0.4.1, which drops thesafetensors<0.6cap that conflicted withh2ofm(TimeCopilot/timesfm#1).tests/models/conftest.py(py >= 3.12) for the cross-model suite.tests/models/test_timeh2o.pyhas mocked tests plus a live smoke test on tiny.Replication
h2oai--timeh2o-v1and-tinyinconfigs/models.yaml, againstresults/TimeH2O-v1*in the official Space. Settings match the official notebook: context 16384, batch 64 / 128,clip_nonnegativeandsnap_integeron. CI subset: v1 onm4_weekly/short.h2oai--timeh2o-v1againsttimeh2o-v1.csv, with the settings from the officialmodels/timeh2o-v1/model.py. CI subset:epf_pjmandentsoe_1H.models.yamlentry can setpython: "3.12". Both harnesses build a 3.12 image with its own Modal function and route jobs by that field. Every other model stays on the existing 3.11 image, so their environment is unchanged.Notes
HF_TOKENaccounts used by GitHub CI and by the Modalhf-secretmust accept the terms on timeh2o-v1 and timeh2o-v1-tiny.