ГАЙД 2026

Как прогнозировать временные ряды локально: Timestral, Chronos-2 и TimesFM 3

Foundation-модели для прогноза научились выдавать вероятностный результат без обучения на ваших данных. Показываем, как выбрать размер, поставить модель на свой сервер, подготовить таблицу и не обмануть себя метриками.

ГайдПрогнозированиеЛокальный запуск
Уровень СреднийВремя настройки 30–40 минутДанные сняты 24.10.2026

Прогноз временных рядов перестал быть задачей «подбери ARIMA и подгони сезонность». С 2025 года появились foundation-модели (TSFM), которые выдают вероятностный прогноз zero-shot — без обучения на ваших данных. В гайде — как выбрать между Timestral, Chronos-2 и TimesFM 3, поставить выбранную модель на локальный сервер, подготовить таблицу с историей и проверить качество так, чтобы не обмануть себя.

Что нужно до старта
Python 3.10+ и pip. GPU не обязателен: все три модели работают на CPU, разница только в скорости. Ещё понадобится история наблюдений в таблице с колонками «идентификатор ряда», «время», «значение» — именно в таком виде данные принимают библиотеки.

01Когда TSFM лучше классики, а когда нет

Правило простое: foundation-модель выигрывает там, где рядов много и они разнородные. Тысяча датчиков, десять тысяч SKU, десятки регионов — обучать отдельную ARIMA на каждый ряд дорого, а общего паттерна «тренд + сезонность + шум» у них достаточно, чтобы предобученная модель переносила знания. Обратная ситуация — один ряд с длинной чистой историей и понятной сезонностью: там классика часто не хуже, а объясняется и настраивается проще.

  • Берите TSFM: много коротких рядов, редкие события, потребность в квантилях (не «одно число», а интервал), нельзя выносить данные наружу.
  • Берите ARIMA/ETS/бустинг: один-два ряда с многолетней историей, жёсткие требования к объяснимости, регуляторная отчётность.
  • Комбинируйте: TSFM как базовый прогноз, бустинг на его остатках — самый частый рабочий вариант в проде.

Отдельно про вероятностный выход. Классические модели дают точечный прогноз и доверительный интервал из предположений о распределении ошибок. TSFM сразу выдают набор квантилей (у Timestral — 21, от 0,01 до 0,99), то есть вы получаете распределение, а не допущение о нём. Для планирования запасов это меняет постановку: оптимизировать можно не средний спрос, а, скажем, 90-й квантиль — уровень, который покрывает 90% дней.

02Три семейства: что выбрать под задачу

КритерийTimestralChronos-2TimesFM 3.0
Размеры5M / 28M / 123M / 209M120M (+ small-версия)не раскрыт в карточке
Макс. контекст32 768 шагов8 192патчи по 32 шага
Макс. горизонт1 024 шага1 024 шагаблоками по 64-шаговым патчам
Квантили на выходе21задаются списком9 (0,1–0,9)
Лицензия весовModified MIT ($20 млн/мес)Apache-2.0Non-Commercial v1.0
Вес файлаот 21 МБ до 837 МБ478 МБ1 323 МБ
Установкаpip из GitHub-репозиторияpip install chronos-forecastingpip install timesfm[torch]
Загрузки HF за 30 дней6 815 (209M)14,2 млн871 тыс.
Данные сняты 24.10.2026 с карточек Hugging Face и файловых списков репозиториев. Загрузки показывают зрелость экосистемы, а не превосходство в точности.
Если продукт коммерческий и вы не хотите юридических сюрпризов — Chronos-2 под Apache-2.0 самый безопасный выбор; если нужен длинный контекст и российский/закрытый контур — Timestral.
Зрелость: загрузки моделей на Hugging Faceтысяч загрузок за 30 дней, снято 24.10.2026
0тыс.7 500тыс.15 000тыс.Chronos-214 170тыс.Chronos-2-small2 699тыс.TimesFM 3.0871тыс.Timestral-209M7тыс.
Chronos-2 — де-факто стандарт: 14,2 млн загрузок за месяц. Timestral вышел 14.10.2026, его 6,8 тыс. загрузок — это первые дни после релиза, а не оценка качества.
Проверяйте лицензию до пилота
Три модели выглядят взаимозаменяемыми технически, но лицензии у них разные. Apache-2.0 не ограничивает применение; Modified MIT у Timestral запрещает использование при выручке компании свыше $20 млн в месяц без отдельного договора; открытые веса TimesFM 3.0 — некоммерческая лицензия. Пилот на некоммерческой модели в продукте — прямой юридический риск.

03Установка и первый прогноз

Начните с виртуального окружения: три библиотеки тянут разные версии torch и конфликтуют в одном интерпретаторе. Дальше достаточно одного вызова.

Быстрый старт по каждой модели
1
Timestral: установка из репозитория
Пакета в PyPI нет — ставится прямо из git. Нужны Python 3.10+ и torch 2.4+; для воспроизводимости вендор советует клонировать репозиторий и поставить зависимости через uv по зафиксированному uv.lock.
terminalcopy
python -m venv .venv && source .venv/bin/activate
pip install git+https://github.com/mistralai/timestral.git
2
Timestral: прогноз на синтетике
Возьмите 1000 наблюдений истории и запросите горизонт 96 шагов. На выходе — медиана и любой из 21 квантиля, то есть сразу интервал, а не одно число.
timestral_demo.pycopy
import numpy as np, torch
from timestral import TimestralForecaster

model = TimestralForecaster.from_pretrained(
    "mistralai/Timestral-209M",
    device="cuda" if torch.cuda.is_available() else "cpu",
)
context = np.random.default_rng(42).standard_normal(1000).cumsum()
f = model.forecast(context, prediction_length=96)
print(f.median[-1], f.quantile(0.1)[-1], f.quantile(0.9)[-1])
3
Chronos-2: таблица вместо массива
Chronos-2 работает с pandas DataFrame: указываете колонки id, timestamp и target, получаете прогноз по каждому ряду. Это удобнее, когда рядов много.
chronos_demo.pycopy
pip install chronos-forecasting 'pandas[pyarrow]'

from chronos import Chronos2Pipeline
import pandas as pd

pipe = Chronos2Pipeline.from_pretrained("amazon/chronos-2", device_map="cpu")
df = pd.read_parquet("history.parquet")   # id, timestamp, target
pred = pipe.predict_df(df, prediction_length=24,
    quantile_levels=[0.1, 0.5, 0.9], id_column="id",
    timestamp_column="timestamp", target="target")
4
TimesFM 3.0: батч рядов
Установка с extras под torch; для Apple Silicon есть отдельный MLX-бэкенд без PyTorch, численно совпадающий с эталоном. Возвращает точку и 9 квантилей.
timesfm_demo.pycopy
pip install timesfm[torch]

from timesfm3 import TimesFM3Evaluator, ModelConfig
fc = TimesFM3Evaluator(ModelConfig(
    checkpoint_path="google/timesfm-3.0-pytorch",
    per_core_batch_size=32, device="cpu"))

04Подготовка данных: где ломается 80% пилотов

Пайплайн прогноза
1Собрать историюРегулярная сетка времени без дыр в индексе; пропуски значений — NaN, а не нули2Разметить ковариатыpast-only (прошлые продажи, лаги) и known-future (календарь, промо, план производства)3Отложить окноПоследние 10–20% истории — тест; всё, что после начала теста, модели видеть нельзя4Прогноз и метрикиОдин проход на тестовом окне, сравнение MASE и CRPS с базовой моделью5В продПереобучения нет: тот же чекпоинт, регулярный пересчёт по расписаниюПорядок важен: бэктест строится по той же схеме, что и прод-инференс

Самая дорогая ошибка — утечка будущего. Она выглядит безобидно: вы посчитали лаг «средние продажи за последнюю неделю» на всей таблице сразу, и в признаках у модели появилась информация из тестового периода. Метрики становятся прекрасными, прод — бесполезным. Все производные признаки считайте только по данным до момента прогноза, а known-future ковариаты (календарь, промо-план) проверяйте на предмет «а точно ли это известно заранее».

Второй частый провал — нерегулярная сетка. Если данные приходят «когда получится», приведите их к фиксированному шагу (15 минут, час, сутки) и отметьте пропуски как NaN: Timestral и Chronos-2 поддерживают пропуски нативно, а вот подстановка нуля или среднего искажает сезонность и модель начинает врать в прогнозе.

05Какой размер модели брать

У Timestral четыре размера, и зависимость качества от размера быстро выходит на плато. От 5M к 28M MASE на GIFT-Eval падает с 0,705 до 0,678 — заметно. От 28M к 123M — до 0,659. А от 123M к 209M — всего до 0,658, то есть на тысячную, при том что файл вырастает с 490 МБ до 837 МБ, а латентность — почти в полтора раза.

MASE на GIFT-Eval по размерам Timestralзначения умножены на 1000, меньше — лучше
04008005M70528M678123M659209M658
Данные авторов (Mistral). Видно плато: последние 86M параметров дают выигрыш в одну тысячную MASE — на практике это ниже шума вашего собственного датасета.
РазмерФайлКогда брать
5M21 МБТысячи рядов на одном ядре, грубые прогнозы, алерты «растёт/падает»
28M111 МББаланс: обходит Chronos-2 по данным вендора, влезает в память любого сервера
123M490 МБКогда нужна точность выше средней и есть запас по латентности
209M837 МБПланирование с высокими требованиями к качеству, GPU или многоядерный CPU
Начинайте с 28M: по заявлению вендора он обходит Chronos-2 (примерно вчетверо крупнее) на GIFT-Eval и TIME, а по латентности в пять раз быстрее 209M.
Абсолютные миллисекунды вендор публикует только для крайних размеров: 10 мс (5M) и 140 мс (209M) на CPU с 8 потоками при прогнозе на сутки вперёд по трём неделям 15-минутной истории.

06Метрики: чем мерить и что считать хорошим

МетрикаЧто показываетОриентир
MASEОшибка относительно наивного прогноза (повтор последнего значения)меньше 1 — уже лучше наивного
CRPS / WQLКачество вероятностного прогноза с учётом квантилейсравнивать только на своём датасете
SQL skill scoreСредний skill относительно бенчмарк-бейзлайнов (fev-bench)выше — лучше, 50+ на fev-bench у лидеров
MAPEПроцентная ошибкаломается на нулях и малых значениях
BiasСистематический сдвиг прогноза вверх или внизблизко к нулю; смотреть по группам рядов
Набор минимальный: MASE для точечного качества, CRPS для вероятностного, bias для проверки, что модель не «залипает» в одну сторону. MAPE держите только как знакомую бизнесу метрику, не как критерий выбора.

Нормы «MASE = 0,6 — хорошо» не существует: значение зависит от датасета, шага и горизонта. Поэтому сравнивайте не с лидербордом, а с двумя бейзлайнами: наивным прогнозом (завтра = сегодня) и вашей текущей моделью. Если TSFM не бьёт наивный прогноз на тестовом окне, проблема почти всегда в данных или в утечке, а не в модели. Второй обязательный разрез — по группам рядов: средний MASE 0,7 может скрывать десяток рядов с ошибкой 3,0, которые и создают все проблемы в проде.

Как считать честно
Считайте ошибку на горизонте, который реально нужен бизнесу. Модель может отлично предсказывать следующий час и разваливаться на горизонте недели. Прогоните бэктест на нескольких отложенных окнах (например, четыре квартала подряд), а не на одном: единственное окно легко «повезло».

07Как это выглядит в проде

Слои системы прогнозирования
Витрина историиРегулярная таблица id / timestamp / value плюс ковариаты; обновление по расписаниюисточник данныхИнференс TSFMБатч по всем рядам раз в час или раз в сутки, один чекпоинт без переобучениярасчётСлой метрик и алертовMASE и bias по группам, пороги квантилей, детект дрейфапотребительПотребителиПланирование запасов, дашборды, агент, который интерпретирует отклонения
Ключевое отличие от ML-пайплайна: нет шага обучения. Меняются только данные и пороги — поэтому система проще, но и «подкрутить» модель под свой домен без файнтюнинга нельзя.

Для доменной адаптации у Mistral есть отдельный путь — Mistral Forge: дообучение на своих данных, архитектурные расширения под специфичные ковариаты, контроль над составом обучающих данных и развёртывание в закрытом контуре. Условия и стоимость публично не раскрыты — уточняйте на официальном сайте. У Chronos-2 и TimesFM 3 альтернатива проще: файнтюнинг через примеры в репозиториях, включая LoRA для TimesFM.

Отдельно про интерпретацию. Числовой прогноз сам по себе не отвечает на вопрос «почему». Рабочая связка — TSFM считает квантили, а языковая модель получает на вход отклонение от прогноза, историю похожих случаев и пишет объяснение для человека. Именно так Mistral описывает промышленный сценарий: модель ловит аномалию, агент ищет похожие отказы и собирает диагноз со ссылками на журналы и наряды.

08Пять ошибок, которые видно только на бэктесте

  1. Утечка будущего в признаках. Лаги и скользящие средние, посчитанные по всей таблице, дают красивые метрики и бесполезный прод.
  2. Нули вместо пропусков. Подстановка нуля в дырах ломает сезонность; правильный путь — NaN, который модели понимают.
  3. Один горизонт. Прогноз на час и на неделю — разные задачи; модель, выбранная по короткому горизонту, провалится на длинном.
  4. Один бэктест. Единственное отложенное окно может совпасть с аномалией (карантин, распродажа) и дать ложный вывод в любую сторону.
  5. Средняя метрика по всем рядам. Она прячет подгруппы, где модель бесполезна; разбивайте отчёт по категориям и масштабу ряда.
Если метрика лучше лидерборда — ищите ошибку
MASE 0,3 там, где авторы модели рапортуют 0,66, почти всегда означает утечку данных или слишком лёгкий тест, а не гениальную настройку. Сначала проверьте, что тестовое окно действительно не пересекается с обучающими данными ваших признаков.

Частые вопросы

Какая модель лучше для прогноза продаж?
Если SKU и регионов много — начните с Timestral-28M или Chronos-2: обе поддерживают мультивариантные ряды и известные заранее ковариаты (промо, календарь). Для одного товара с длинной историей сравните с градиентным бустингом на лагах. Универсального ответа нет: решает бэктест на ваших данных с разбивкой по группам товаров.
Нужна ли GPU для прогнозирования временных рядов?
Для инференса — нет. Timestral на серверном CPU с 8 потоками тратит 10 мс (модель 5M) или 140 мс (209M) на прогноз суток вперёд по трём неделям 15-минутной истории. Chronos-2 тоже работает на CPU, хотя на GPU выдаёт свыше 300 рядов в секунду. GPU нужен для обучения и файнтюнинга, а не для регулярного прогноза.
Можно ли дообучить модель на своих данных?
Да, но по-разному. Timestral: zero-shot из коробки, доменная адаптация — через Mistral Forge (условия уточняйте на официальном сайте). Chronos-2 и TimesFM 3: примеры файнтюнинга лежат в их GitHub-репозиториях, у TimesFM есть пример с LoRA через Hugging Face Transformers и PEFT.
Что такое MASE и какой результат считать хорошим?
MASE сравнивает ошибку модели с ошибкой наивного прогноза «завтра будет как сегодня». Значение меньше 1 означает, что модель лучше наивного бейзлайна. Абсолютные значения зависят от датасета и горизонта, поэтому ориентироваться на цифры из лидербордов бессмысленно — сравнивайте со своим наивным прогнозом и с текущей моделью.
Можно ли использовать эти модели в коммерческом продукте?
Зависит от модели: Chronos-2 — Apache-2.0 без ограничений; Timestral — Modified MIT, коммерческое использование разрешено при выручке компании не выше $20 млн в месяц, выше — нужен договор с Mistral; открытые веса TimesFM 3.0 — некоммерческая лицензия. Перед пилотом проверьте лицензию выбранного чекпоинта, а не только название семейства.

Источники и официальные ссылки

Итог гайда
8,4/ 10
Локальный прогноз временных рядов в 2026 году — это pip install и одна таблица, а не месяц настройки. Начните с 28M-модели, соберите бэктест на четырёх отложенных окнах и сравните с наивным прогнозом: если TSFM его не бьёт, дело в данных. Лицензию проверяйте до пилота, а не после.
Разбор самой модели
Обзор Timestral: бенчмарки, четыре размера, лицензия Modified MIT и ограничения zero-shot подхода.