Downloads · 30 days
56
100% of all-time downloads
GizzAI/Gizzai-Sense-T-E2B
Gizzai-Sense-T-E2B is a time series forecasting model from GizzAI. Use it for the time series forecasting task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as other.
一条序列 + 一段话 → 类型化的判断和带区间的预测。 A time series plus the words around it, in; calibrated typed answers and honest forecast bands, out.
Downloads · 30 days
56
100% of all-time downloads
All-time downloads
56
Public
Parameters
5.1B
10.8 GB on disk
Likes
2
Public
Click a slice to open those files.
.safetensors10.7 GB · 99%
From the Hugging Face model README
一条序列 + 一段话 → 类型化的判断和带区间的预测。 A time series plus the words around it, in; calibrated typed answers and honest forecast bands, out.
A frozen Chronos-2 encoder reads the series; a small trained projector places its states in the
language model's own embedding space, where they sit in slots inside the <state> block — the way
Gemma 4 places image and audio features. The values are also written into the prompt as digits, so
the model can read an exact level and the shape at the same time.
Decisions come back as probabilities over the answer's own options, with no text generated, and numbers come back as three monotone quantiles corrected from Chronos-2's own forecast, so a band means what it says. Both were trained with proper scoring rules (log loss and Brier for decisions, pinball for quantiles), which is why the calibration numbers below are worth reading.
pip install -U huggingface_hub torch "transformers>=5.17" chronos-forecasting
hf download GizzAI/Gizzai-Sense-T-E2B --local-dir Gizzai-Sense-T-E2B
import sys
sys.path.insert(0, "Gizzai-Sense-T-E2B") # sense_t.py ships with the weights
from sense_t import SenseT
s = SenseT("Gizzai-Sense-T-E2B")
series = {"names": ["门店A 日销量"], "values": [[980, 1012, 1040, 995, 1030, 1105, 1220,
970, 1008, 1035, 1001, 1042, 1110, 1235,
965, 1015, 1030, 999, 1038, 1102, 1228]],
"unit": "件", "step": "天"}
# a yes/no judgement, as a calibrated probability
print(s.noul("这家店最近没有促销。", "未来 7 天里会不会有一天低于 950 件?", series, horizon=7))
# a number, as 10 / 50 / 90% quantiles in the series' own units
print(s.forecast(series, step=2, horizon=7))
# the same question after one sentence changes: the event becomes a covariate the forecaster uses
print(s.forecast(series, step=2, horizon=7, state="已知未来:第 3 个天有“促销”。"))
choice and score work the same way; decide answers several questions about one series.
Time series generated by this project, with exact labels, in four families:
One epoch is not enough for the harder families; this model saw 2.0.
It is not a domain model. It has never seen your data, and a published general model is the starting point for a domain fine-tune, not a replacement for one.
Accuracy on the artifact's own evaluation, with the majority answer on the same rows in brackets. A number that matches the bracket means the model did not read anything there.
| question family | Held-out series, training domains (majority) | Unseen domains (majority) | Unseen phrasings (majority) |
|---|---|---|---|
| anomaly — was there an anomaly | 0.937 (0.540) | 0.933 (0.555) | — |
| anomaly_type — which kind of anomaly | 0.928 (0.481) | 0.884 (0.543) | — |
| event_effect — which way an event moved it | 0.696 (0.696) | 0.691 (0.532) | — |
| long_trend — the long trend | 0.917 (0.403) | 0.877 (0.360) | — |
| percentile — where today sits in its own history | 0.903 (0.653) | 0.890 (0.633) | — |
| period — the repeating period | 0.811 (0.293) | 0.703 (0.447) | — |
| season_next — next season from last year | 0.523 (0.390) | 0.497 (0.410) | — |
| shift_when — when the level shifted | 0.863 (0.417) | 0.793 (0.410) | — |
| threshold — will it cross a threshold | 0.783 (0.537) | 0.716 (0.569) | — |
| trend_future — the coming trend | 0.593 (0.580) | 0.572 (0.530) | — |
| trend_past — the trend so far | 0.742 (0.571) | 0.632 (0.502) | — |
| volatility — how volatile | 0.685 (0.282) | 0.739 (0.299) | — |
| whatif_decision — is the action worth it | 0.850 (0.807) | 0.860 (0.793) | 0.820 (0.763) |
| whatif_threshold_no — threshold without acting | 0.860 (0.543) | 0.857 (0.570) | 0.847 (0.607) |
| whatif_threshold_yes — threshold after acting | 0.860 (0.650) | 0.877 (0.637) | 0.837 (0.630) |
| which_grows — which series grows fastest | 0.404 (0.449) | 0.333 (0.476) | — |
| yoy — year over year | 0.827 (0.370) | 0.817 (0.353) | — |
| overall | 0.797 | 0.771 | 0.834 |
| mean calibration error (ECE) | 0.065 | 0.077 | 0.052 |
Numbers (quantile head), in the series' own scale units: Held-out series, training domains: pinball 0.176, 80% band covers 0.77; Unseen domains: pinball 0.238, 80% band covers 0.70; Unseen phrasings: pinball 0.179, 80% band covers 0.73. Pinball is the proper scoring rule for quantiles; 0.80 coverage is a calibrated 10–90% band.
The public checkpoint is the compensated-baked artifact; its bundled series runtime files ship alongside the weights, so users do not merge a separate adapter. On held-out rows, max probability change 0.0410, 1 decisions changed. The released code path reproduces the merged model to 0.0000 on decisions and 0.0000 on quantiles.
Screen recordings of the released weights answering live — nothing replayed:
<video src="https://huggingface.co/GizzAI/Gizzai-Sense-T-E2B/resolve/main/demos/sense_t_live.mp4" controls width="720"></video>
CN voice-over / 中文配音. One live session, four scenes: typed judgement, 10/50/90% forecast, promotion state change, and what-if tutoring. / 一次真实推理,四个场景:类型化判断、10/50/90% 预测、加入促销状态、辅导 what-if。
<video src="https://huggingface.co/GizzAI/Gizzai-Sense-T-E2B/resolve/main/demos/sense_t_live_bilingual.mp4" controls width="720"></video>
Bilingual caption edition / 中英双语字幕版. The same real-model recording with Chinese voice and Chinese-English captions. / 同一段真实模型录屏,保留中文配音并加入中英双语字幕。
Read paper_sense_t_bilingual.md for the release-facing method, evaluation, runtime fidelity and limits. / 发布版方法、评估、运行时一致性与局限见 paper_sense_t_bilingual.md。
Gizzai Sense License (see LICENSE): free below US$100k annual organisational revenue, paid above.
Gemma 4's terms and prohibited-use policy flow through; Chronos-2 is Apache 2.0 and included
unmodified in chronos-2/. See NOTICE and USE_POLICY.md.
Inference code on GitHub: wzsxb233/gizzai-sense
Commercial and academic collaboration: [email protected]