/ Модель

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

Параметры
1 млн
Лицензия
Apache 2.0
Библиотека
nanoforecast
Опубликована
24 июл 2026

nanoforecast-v05

Прогноз временных рядовTime_series → time_series5 профессий

Компактная модель Eulogik для zero-shot и потокового прогнозирования временных рядов с точечными прогнозами и квантильными оценками неопределённости.

184скачиваний за 30 дней5лайковвеса обновлены29 сен 2026

Бенчмарки

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

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

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

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

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

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

NanoForecast v0.5 — модель прогнозирования временных рядов, разработанная Eulogik. Она предназначена для zero-shot прогнозов без дообучения на новых рядах, а также для потокового инференса и дообучения на пользовательских данных. Модель выдаёт точечные прогнозы и квантильные оценки p10, p25, p50, p75 и p90; заявлены также обнаружение аномалий, поддержка ONNX и работа на CPU, включая устройства с ограниченными ресурсами.

Архитектура содержит около 6,5 млн параметров и рассчитана на контекст длиной 512 временных шагов с прогнозом на 48 шагов, который можно настроить. В README приведены результаты на наборах ETTh1, ETTh2, ETTm1, exchange_rate, electricity и traffic, а метаданные указывают эти же наборы данных. Языковая поддержка неприменима к числовым временным рядам.

README сообщает, что квантильные интервалы на проверенных данных уже номинальных и должны рассматриваться как относительный сигнал неопределённости, а не как калиброванные вероятности. Также указано, что модель не предназначена для моделирования зависимостей между несколькими рядами и может уступать крупным моделям на отдельных наборах. Лицензия Apache 2.0 допускает коммерческое использование.

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

  • прогнозирование спроса или потребления по историческому временному ряду
  • потоковый прогноз следующих значений на устройстве с ограниченными ресурсами
  • получение интервалов неопределённости для прогноза временного ряда
  • прогнозирование показателей IoT-датчиков на Raspberry Pi или ARM-устройстве
  • дообучение прогноза на данных из пользовательского CSV

Ограничения

По README, квантильные интервалы недокалиброваны: диапазон p10–p90 покрывал 51% тестовых значений при целевом уровне 80%, поэтому их следует использовать как относительный сигнал неопределённости. Модель не учитывает межрядовые зависимости и уступает крупным моделям на части бенчмарков.

Для каких профессий подходит5

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

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

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

Открыть на Hugging Face

NanoForecast v0.5

6.5M-Parameter Time Series Foundation Model — Deploy Anywhere

CPU inference · ONNX · Streaming · Quantile forecasts · Edge/ARM

Hugging Face Downloads GitHub License PyPI Open in Colab Live Demo

Built by Eulogik — deployable AI for the real world


What is NanoForecast?

NanoForecast is a 6.5M-parameter time series foundation model that runs inference on CPUs and, via ONNX, on edge/ARM devices and in the browser. It performs zero-shot forecasting on unseen time series without fine-tuning, producing point forecasts with quantile uncertainty bounds (p10–p90).

Unlike 200M+ parameter alternatives (TimesFM, Chronos), NanoForecast is designed for deployment constraints: 19.5ms CPU inference, ONNX export (9.2MB INT8), streaming RNN mode, and Apache 2.0 license. It matches or beats TimesFM on 4 of 6 standard benchmarks at 31x fewer parameters.


Key Features

  • Zero-shot forecasting — no training needed for new time series
  • Streaming inference — feed one value at a time via stateful DeltaNet RNN (unique to NanoForecast)
  • Quantile predictions — p10, p25, p50, p75, p90 with monotonic guarantees
  • ONNX export — 9.2MB INT8 / 27.9MB FP32 for edge, IoT, browser deployment
  • CPU inference — 19.5ms median latency on Apple M4 (no GPU required)
  • Train from CSV — fine-tune on your data in minutes, not days
  • Apache 2.0 license — no restrictions on commercial use
  • Multi-task heads — point forecast + quantiles + anomaly detection in single forward pass

Benchmark Results

Standard protocol: context 512, horizon 48, non-overlapping test windows, MASE scaled by seasonal-naive in-sample MAE. All models evaluated under identical conditions.

DatasetNanoForecast v0.5 (6.5M)TimesFM (200M)PatchTST (15M+)
ETTh10.6760.7050.781
ETTh21.1101.3601.467
ETTm10.2870.5450.488
exchange_rate4.3174.3833.861
electricity2.0290.9231.347
traffic1.8050.7651.379
Overall MASE1.7041.4471.554

Results: NanoForecast v0.5 beats TimesFM on 4 of 6 benchmarks (ETTh1, ETTh2, ETTm1, exchange_rate) at 31x fewer parameters. TimesFM wins on electricity and traffic.

MASE by dataset

Parameter Efficiency

NanoForecast achieves 26x better parameter efficiency (MASE$^{-1}$ per parameter) than TimesFM and is 2x more efficient than PatchTST.

Parameter count

Efficiency scatter

Head-to-Head Wins

Win/loss matrix


Training-Pipeline Refinement: v0.3 → v0.5

The same 6.5M-parameter architecture gained 43.8% better MASE through three training-pipeline fixes — no architecture changes.

VersionParamsMASE ↓ImprovementTraining
v0.3 (released)6.5M3.030baselineColab T4, 200 epochs
v0.5 (released)6.5M1.704↓ 43.8%Colab T4, 200 epochs

v0.3 vs v0.5


Quantile Coverage

Measured under the standard protocol (benchmark_standard.py; empirical P(target ≤ predicted quantile), mean across the six datasets):

QuantileTargetMeasured
p1010%20.1%
p2525%30.8%
p5050%45.4%
p7575%59.5%
p9090%71.4%

Honest note: the predicted intervals are narrower than nominal under this protocol — the p10–p90 band covers 51% of held-out values (target 80%). Quantiles are best read as relative uncertainty signals (e.g., ranking steps by uncertainty) rather than calibrated probabilities. Point forecasts (p50) are unaffected and remain the recommended output for accuracy.

Coverage


Architecture

Raw Context (512 steps)
    → Instance Robust Scaler (median/IQR)
    → Adaptive Patching (patch_size=8)
    → Resolution Prefix Tuning (freq_id → 4 covariates)
    → Sequence Mixing Blocks × 8:
        ├── LongConv (global context, kernel=65)
        ├── DeltaNet RNN (local streaming, state_size=64)
        ├── Gated Router (learned blend)
        └── GatedMLP (expansion=2)
    → Multi-Task Heads:
        ├── Point Forecast (d_model → 1)
        ├── Monotonic Quantiles (p10–p90, 5 quantiles)
        ├── Context Reconstruction (anomaly detection)
        └── Trend / Seasonal Decomposition (3 components)

Architecture

ComponentDetail
Parameters6,518,104 (~6.5M)
Context length512 timesteps
Prediction length48 steps (configurable)
Patch size8
Hidden dim / layers96 / 8
Quantilesp10, p25, p50, p75, p90
StreamingStateful DeltaNet RNN — feed one value at a time
DeploymentONNX (FP32 + INT8), FastAPI, Docker, Browser

Deployment Options

FastAPI Server

pip install nanoforecast fastapi uvicorn python-multipart
python3 deploy/fastapi_server.py
# → http://localhost:8000/docs

Docker

docker build -t nanoforecast -f deploy/Dockerfile .
docker run -p 8000:8000 nanoforecast

ONNX (Edge / IoT / Browser)

pip install "nanoforecast[onnx]"
python3 -m nanoforecast.export.onnx_export \
    --checkpoint <checkpoint-dir> \
    --output nanoforecast.onnx

Inference Latency

NanoForecast runs 19.5ms on CPU (PyTorch) and 10.7ms via ONNX — no GPU required.

Latency

Live Gradio Demo

Open in Spaces

Upload a CSV → get a forecast + prediction intervals + decomposition plot. No code required.


Quick Start

Install

pip install nanoforecast

Zero-Shot Forecasting

import numpy as np
from nanoforecast import NanoForecast

model = NanoForecast.from_pretrained("eulogik/nanoforecast-v05")

# Generate context (or load your own time series)
context = np.sin(np.linspace(0, 8*np.pi, 512)) + 0.1 * np.random.randn(512)

# Forecast
result = model.predict(context, horizon=48, freq=1)

print(result["forecast"].shape)     # (48,) point forecast
print(result["quantiles"].shape)    # (5, 48)  p10..p90

Streaming / Online Inference (unique to NanoForecast)

result = model.predict(context, horizon=48, return_state=True)
state = result.pop("state")

# Stream new observations one at a time
for new_val in incoming_stream:
    result = model.predict_step(new_val, state, horizon=48)
    forecast = result["forecast"][0]  # updated forecast instantly

From Your Own CSV

python3 train_from_csv.py --csv sales.csv --target revenue --horizon 48

How Does It Compare?

FeatureNanoForecast v0.5TimesFMChronos-T5Lag-LlamaPatchTST
Parameters6.5M200M8M–710M16.6M15M+
CPU inference19.5msGPU requiredGPU requiredGPU requiredGPU required
Streaming✅❌❌❌❌
ONNX export✅❌❌❌❌
Edge/ARM via ONNX✅❌❌❌❌
Quantiles✅ (5)⚠️✅✅❌
Train from CSV✅❌❌⚠️⚠️
LicenseApache 2.0Apache 2.0Apache 2.0Apache 2.0Apache 2.0
Zero-shot✅✅✅✅❌

When to Use NanoForecast

✅ Use when:

  • Deploying to edge/IoT devices (Raspberry Pi, ARM, browser)
  • Streaming/online inference (feed one value at a time)
  • Quantile forecasts with uncertainty estimates
  • Training on your own data in minutes
  • ONNX export for browser/ARM deployment
  • Apache 2.0 license required

❌ Don't use when:

  • You need SOTA accuracy on all benchmarks (use TimesFM, Chronos)
  • You have massive datasets (100K+ rows) — fine-tune a larger model
  • You need multivariate cross-series dependencies

Training

Reproduce on Colab (free T4 GPU, ~12h)

Open in Colab

ParameterValue
DatasetsETTh1, ETTh2, ETTm1, exchange_rate, electricity, traffic
Synthetic records10,000
Epochs200 (best at 51)
Learning rate3e-5 (OneCycleLR, peak 3e-4)
Batch size128
LossMultiTaskLoss (point + quantile + anomaly + smooth)
Wall time~12h on Colab T4

Model Files

FileSize
model.safetensors26.1 MB
config.json343 B
model_card.json710 B
standard_benchmark.json3.1 KB

Citation

@article{kishore2026nanoforecast,
  title={NanoForecast v0.5: Competitive Time Series Forecasting Through Training Pipeline Optimization},
  author={Kishore, Gautam},
  journal={arXiv preprint arXiv:2609.31669},
  year={2026}
}

Paper: arxiv.org/abs/2609.31669


Links


Built by Eulogik — deployable AI for the real world

If you found this useful, please ⭐ the GitHub repo and like this model on Hugging Face!

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

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

GPU в ailist

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

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

Временные ряды пока не поддерживаются.

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

0 моделей