/ Модель

Характеристики

Лицензия
CC BY-SA 4.0
Архитектура
zeno-surprise-kernel · dense
Библиотека
onnx
Опубликована
14 окт 2026

zeno-divergent-v068

Регрессия по таблицам

Компактная модель оценивает панель прогнозов с учётом истории источников и риска их совместной ошибки.

27скачиваний за 30 дней1лайквеса обновлены14 окт 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Zeno Divergent v0.68 — компактная модель ZenoDivergent для оценки панелей прогнозов. Она принимает вопрос, прогнозы нескольких источников и историю их прошлых результатов, после чего выдаёт прогноз и оценивает риск того, что участники панели одновременно уверенно ошибутся. Архитектура Zeno shared surprise kernel использует механизм внимания по 64 прогнозистам, GRU для учёта до 16 последних исходов каждого и отдельную голову оценки совместного сбоя. В одном контрольном экземпляре 471 495 параметров; доступны три seed, модель экспортирована в ONNX и рассчитана на запуск на CPU. Обучение связано с ForecastBench.

Модель предназначена для проверки и объединения прогнозов, в том числе финансовых, погодных и вероятностных. По описанным испытаниям версия 0.68 пока не заменяет v0.57: ни для одного источника не выполнены условия выпуска коррекции, а оценка риска совместного сбоя обозначена как недостаточно мощная. Для криптопрогнозов наблюдался прирост, но интервалы были слишком узкими; тест риска также ограничен повторным использованием части окна. Лицензия — CC BY-SA 4.0.

Сценарии применения

  • объединение прогнозов нескольких источников
  • оценка риска совместной ошибки прогнозистов
  • проверка надёжности финансовых прогнозов
  • оценка ансамблевых погодных прогнозов
  • учёт прошлой точности прогнозистов при выборе прогноза

Ограничения

Оценка риска совместного сбоя помечена как недостаточно проверенная, а тестовое окно не было полностью перспективным. Версия 0.68 пока не одобрена для выпуска коррекций источникам; интервалы в описанных испытаниях были слишком узкими.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Zeno Divergent v0.68

A small, open model that checks a panel of forecasts before you trust it.

Give it one question, many forecasts and each forecaster's track record. It returns:

  1. Forecast: what to use, and when to keep the panel's own answer.
  2. Failure risk: the chance the panel is confidently wrong together.

Under 0.5M parameters per seed (471,495) · 1.6 MB ONNX · runs on any CPU · 3 seeds. Live now: web demo · API (version: "v0.68") · MCP tool zeno_check.

Model at a glance

Parameters471,495 per checkpoint (0.47M) · 3 seeds × 2 checkpoints (forecast-best, failure-risk-best)
Weightsmodel.safetensors (seed 11, forecast-best; shown as the model size above) · all six in model-s{11,12,13}.safetensors, fragility-s{11,12,13}.safetensors
ArchitectureZeno shared surprise kernel: attention over up to 64 forecasters (width 192, 4 heads) with pair-wise "who misses together" input, a GRU over each forecaster's last 16 outcomes, one shared core for all sources, and per-source forecast heads plus a joint-failure head
Training1x NVIDIA H200 · 2,000 updates per seed · seeds 11, 12, 13 · walk-forward over 15 test dates · weights frozen before the untouched ForecastBench window was scored
Formatssafetensors · ONNX opset 17 (onnx/, 1.6 MB each) · Python package zeno068 (ONNX or PyTorch backend)
ChecksONNX = PyTorch training forward to < 5e-7 on 200 real held-out cases (research/export-check.json); parity_check.py reproduces every example

Why it is smaller than v0.57 (9.16M): v0.68 uses the shared kernel introduced in v0.67. It is one small network for every source, built to read who disagrees and who fails together rather than to memorise each source. It has no deep panel transformer. Size was not what held either version back: v0.57's 9.16M parameters also kept the reference on most sources.

Try it online (no install)

  • Web demo: https://huggingface.co/spaces/mbarbosa1/zeno-try-it (v0.68 section)
  • HTTP: POST https://zenodivergent.dev/api/public/v1/check with {"version": "v0.68", "question": {...}}
  • MCP: https://zenodivergent.dev/api/public/v1/mcp, tool zeno_check, argument version: "v0.68"

All three run this exact revision through the zeno068 package on CPU, so they give the same answer as a local download.

Quickstart (CPU, about 1 minute)

pip install huggingface_hub
huggingface-cli download ZenoDivergent/zeno-divergent-v068 --local-dir zeno-v068
cd zeno-v068
pip install -r requirements.txt          # numpy, onnxruntime, safetensors
python parity_check.py                   # runs every example; prints "ok" for each
import json, zeno068

z = zeno068.load(".")                                   # ONNX Runtime; zeno068.load(".", "torch") also works
out = z.predict(json.load(open("examples/crypto-request.json")))
print(out["served"])          # forecast + 90% range you can use (the trained reference)
print(out["failure_risk"])    # calibrated chance the panel is confidently wrong together
print(out["support"])         # release status, and why the model could not run (if it couldn't)

z.predict(request, experimental=True)["experimental"]   # the raw Zeno correction: NOT released, untested

What every answer contains

FieldMeaningEvidence behind it
served.forecast, served.range90The source's trained reference (e.g. panel median, or calibrated market price for markets)Release rule output, decision.json
failure_risk.valueCalibrated chance (3-seed mean, isotonic calibration fitted on earlier data only) that the panel's confident members all miss togetherUntouched ForecastBench window: underpowered (see below)
support.release_statuskeep the reference for every source in this versiondecision.json
support.pass_through + reasonstrue when the trained inputs (task label, past-miss sequence) can't be rebuilt from your request. The model then doesn't run, and you get the reference onlyn/a
experimental (opt-in)Zeno's own corrected forecast and range, plus that source's measured gain and range coverageserving.json → confirmation

Input formats

1. Plain request. This is the same shape as the public API POST /api/public/v1/check. See examples/crypto-request.json. The numbers in that file are made up, to show the format.

{"source": "crypto", "decision_at": "2026-01-10T12:00:00Z", "lead_hours": 1,
 "task": {"forecast_type": "quantile", "variable": "btc-usd", "horizon": "1h"},
 "inputs": {"panel": [
   {"forecaster_id": "a", "available_at": "2026-01-10T12:00:00Z",
    "quantiles": {"0.05": 90120, "0.5": 90650, "0.95": 91180},
    "history_sequence": [{"scaled_error": 0.4, "missed": false, "label_available_at": "2026-01-10T09:00:00Z"}]}]}}
  • Each member gives one of: quantiles, probability (yes/no questions), or point with error_scale.
  • Forecasts available after decision_at are dropped.
  • history_sequence holds the forecaster's past resolved outcomes. scaled_error is (forecast − outcome) divided by that outcome's panel spread. Outcomes known after the decision are dropped. Use zeno068.history_sequence(...) to build it.
  • If task or every history_sequence is missing, the answer is a labelled pass-through.

2. Prepared panel case. This is the exact training format, used for the two real examples/forecastbench-*.json cases from the untouched window. Each one's .expected.json also records what actually happened.

Sources this package accepts: crypto, ecb_spf, forecastbench, health_covid, health_flu, health_rsv, markets, philfed_spf, philfed_spf_prob, sea. Any other source is refused, not guessed.

Using the ONNX files directly

onnx/kernel-s{11,12,13}.onnx hold the shared network. onnx/fragility-s{seed}.onnx hold the failure-risk checkpoint.

Inputs (batch b, members k)Outputs
member (b,k,8), history (b,k,4), dependency (b,k,k,3), mask (b,k) bool, context (b,4), seq (b,k,16,3), seq_len (b,k) int64, task (b) int64, source_index (b) int64z (b,96), joint_miss_logit (b)
  • Forecast heads: these are small linear layers stored in model-s{seed}.safetensors (heads.<source>.weight/bias, strength). zeno068/__init__.py (_forecast) shows how they are applied on top of each source's reference.
  • Failure risk: this is sigmoid(joint_miss_logit) mapped through calibration-s{seed}.json (isotonic), then averaged over the three seeds.
  • Match check: research/export-check.json compares ONNX against the original PyTorch training code on 200 real cases across 3 seeds. The largest difference is 3e-6.

What was measured (confirmation period, 3 seeds of the main version)

Status in one line: every source serves its trained reference. The run stopped after 4 of 12 trainings, so the matched controls the release rule needs are incomplete. The failure-risk output is labelled underpowered.

v0.57 stays the default model on zenodivergent.dev: it still improves crypto and some weather forecasts, and v0.68 does not beat it yet. Ask for v0.68 by name with version: "v0.68".

SourceScore gain vs its reference90% range coverage (target 85–95%)Reading
Crypto+3.9% to +4.7%81%Real forecast gain, but ranges too narrow. Not released
Phil. Fed SPF probabilities+7.2%n/aUncertainty crosses zero. Not established
Phil. Fed SPF+0.4% to +1.2%82–83%Too small, ranges too narrow
Space weather+0.6%54%Large range failure. Not in this package
Markets+0.2%n/aNot established
COVID-19 hospitalisations−0.5% to +0.1%93%No gain
Flu, RSV, deterministic weather−0.8% to −1.7%76–89%Worse; reference kept
ECB SPF, sea, ForecastBench≈ 0—Correction switched off by design

no_history (1 seed) gained only +0.35% on crypto. That suggests forecaster track records drive the crypto gain, but one seed is not a test.

Failure-risk test (untouched ForecastBench window, rescored 14 Oct with score_sealed/1.1.0)

  • 2,585 held predictions on 735 questions. 577 had no eligible label and were excluded, not counted as "no failure".
  • Weekly review of the riskiest 10%: 13 confident shared failures in total. Zeno caught 1–2; confidence alone caught 0.
  • Verdict: underpowered. This window was also seen during an earlier rehearsal, so it is not fully prospective.

v0.57 vs v0.68

v0.57 (served)v0.68 (this candidate)
Live on zenodivergent.dev / API / MCPyesno
Sources with a released correctioncrypto, ensemble weathernone (reference everywhere)
Warningsensemble weather onlypanel-level failure risk, calibrated, labelled underpowered
New in this version—ForecastBench as a trained source (808 forecasters, 82 families); panel cap 64; question-level scoring
FilesONNX + safetensors + zeno/ONNX + safetensors + zeno068/

Known limits

  • The failure-risk part reads a frozen copy of the shared network, so it can't shape what the network learns.
  • Two matched controls (no_dependence, shuffled_dependence) never ran, and no_history ran 1 of 3 seeds. So no source can be released.
  • Timing for two controls was estimated, not measured.
  • Range repair needs per-case confirmation predictions, which this run didn't save. Ranges are withheld rather than widened after the fact.
  • Same-answer checks between this download and the live API apply only if v0.68 is ever switched live.

Files

PathWhat
model-s{11,12,13}.safetensorsforecast network per seed (safe format, no pickle)
fragility-s{11,12,13}.safetensors, calibration-s*.jsonfailure-risk checkpoint + frozen isotonic calibration per seed
onnx/ONNX graphs of both, per seed
zeno068/CPU inference package; _core/ is the exact training feature code
config.json, serving.json, decision.jsonarchitecture, packaged settings, release decision
examples/2 real held cases + 1 request, with expected outputs
research/original training files, gate reports, rescored sealed results, receipts, export scripts
receipt.jsonSHA-256 of every file

Licence: CC BY-SA 4.0. Training data includes ForecastBench (CC BY-SA 4.0).

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · onnx

Нельзя запустить

Табличные модели пока не поддерживаются.

Ревизия весов
b6c9411

0 моделей