TSFM-модели для временных рядов: конец кастомного обучения
Timestral от Mistral показывает: модели-основы для временных рядов обгоняют ARIMA и отдельно обученные модели. Разбираем, когда они выигрывают, а когда нет.

Пять лет назад такое утверждение подняло бы на смех любую команду прогнозистов: для большинства задач на временных рядах обучать модель на собственных данных сейчас пустая трата времени. Модель-основа для временных рядов (time-series foundation model), обученная на миллионах рядов, которые вы никогда не увидите, из доменов, с которыми вы не работаете, с большой вероятностью обойдёт ваш тщательно настроенный пайплайн без дообучения, и на прогон одного прямого прохода на CPU уйдёт меньше времени, чем на чашку кофе. Timestral от Mistral, выпущенный на этой неделе в размерах от 5M до 209M параметров, — самое свежее и убедительное подтверждение того, что область пришла именно к этому. Думаю, многие практики будут сопротивляться такому выводу по вполне понятным, но в основном неверным причинам.
Что такое модель-основа для временных рядов
Аналогия с LLM полезна, но только если копнуть глубже поверхности. Большая языковая модель предобучается на огромном корпусе текстов, чтобы обобщаться на задачи и формулировки, которых никогда не видела. Модель-основа для временных рядов (TSFM) делает то же самое с непрерывными сигналами: она предобучается на большой и разнообразной коллекции рядов, реальных и синтетических, и так усваивает повторяющуюся «грамматику» временных данных. Тренды, сезонность, сдвиги режимов, возврат к среднему, шум всех мастей. Когда вы передаёте ей поток с датчиков или историю продаж, она не учится с нуля, она узнаёт.
Это последнее слово и есть весь фокус, и оно объясняет то, что сбило меня с толку при первом чтении: как модель, обученная в основном на синтетических данных, может обойти модели, обученные на реальных? Потому что генераторы синтетики построены так, чтобы выдавать процессы с согласованной динамикой: реалистичные сочетания тренда, сезонности и шума, плюс нелинейные зависимости между рядами. Модель усваивает огромное априорное распределение того, как может выглядеть временное поведение. Ваш реальный ряд, каким бы странным вам ни казался, почти наверняка является комбинацией паттернов, которые модель видела миллион раз.
Рецепт обучения Timestral делает это наглядным. Сначала масштабное предобучение на чисто синтетических данных с контекстом в 8 192 временных шага. Затем постобучение на смеси реальных и синтетических данных с расширенным контекстом до 32 768 шагов. Целевая функция — pinball loss по 21 квантилю, то есть модель выдаёт не точечную оценку, а полное распределение неопределённости. Вы получаете прогноз с честными доверительными интервалами, а не одно уверенное число.
Одну архитектурную деталь стоит взять на заметку: Timestral использует то, что Mistral называет decoupled horizon forecasting. Более ранние каузальные декодеры, например TimesFM, маскируют значения, которые нужно предсказать. Это просто, но расточительно: замаскированные значения перестают быть контекстом, и каждый прогноз ухудшает входные данные для следующих. Timestral сохраняет всю историю в последовательности и добавляет обучаемые токены прогноза, которые считывают эту историю. Каждое наблюдённое значение служит одновременно и целевой меткой, и контекстом. Это тот тип небольшого структурного исправления, который звучит несенсационно, но на масштабе важен чрезвычайно.
Прогноз без дообучения: почему он бьёт ваш пайплайн на каждый ряд
Самый сильный аргумент в пользу TSFM — не таблица лидеров на бенчмарках, а форма реальной работы с прогнозами. Почти никто не прогнозирует один ряд. Вы прогнозируете десять тысяч. Ритейлер прогнозирует спрос по каждому SKU в каждом магазине. Платформенная команда прогнозирует задержки по каждому сервису в каждом регионе. На промышленном заводе тысячи датчиков на сотнях агрегатов. Классические варианты все плохие: подгонять ARIMA под каждый ряд и смотреть, как большинство из них падает, потому что истории мало, или обучить одну глобальную модель на градиентном бустинге и утонуть в feature engineering и расхождениях масштабов между рядами.
TSFM обходит эту дилемму. Один чекпоинт, никакой подгонки под каждый ряд, а знание о связях между рядами заложено на этапе предобучения, а не должно открываться заново только по вашим данным. Поэтому практики, которые реально гоняют прогнозирование в масштабе, обычно меньше всех скептичны к этим моделям. Альтернатива здесь не какая-то изящная вручную настроенная модель, а куча задач AutoARIMA, которые идут часами и тихо ломаются на странных 5% рядов, которые важнее всего.
История с эффективностью — самая удивительная часть. Крупнейшая модель Timestral имеет 209M параметров, что по меркам LLM совсем мало, и на инференсе ей не нужен GPU. На обычном 8-поточном серверном CPU прогноз на сутки вперёд по трём неделям данных с 15-минутным шагом занимает 10 мс у модели на 5M и 140 мс у модели на 209M. Модель на 123M отстаёт от большой на бенчмарке всего на 0,2% и при этом работает втрое быстрее. Это повторяет то, что произошло с языковыми моделями: самое интересное сместилось в маленькие и быстрые уровни. Ту же динамику я разбирал в статье о flash-уровне LLM: о фронтирной модели пишут в заголовках, а бизнес крутит маленькая и эффективная.
И экономика накапливается. Десять тысяч рядов при ежедневном прогнозе по десятку миллисекунд на каждый означают, что вся ваша нагрузка по прогнозированию умещается в обеденный перерыв на одном скромном CPU-сервере. Никакого кластера с GPU, никакой распределённой задачи обучения, никакого героизма MLOps. Пять лет назад построить и выкатить приличную модель прогноза занимало месяцы. Сейчас это послеобеденное дело, и большая его часть уходит на работу с данными, а не на моделирование.

Ковариаты — настоящая фича и настоящий подвох
Здесь я уступлю скептикам, потому что их самая острая критика верна: для многих задач история целевого ряда — меньшая часть информации. Если вы моделируете спрос на электричество, прогноз погоды, календарь праздников и график тарифов — это не приправа к прогнозу, это и есть прогноз. Модель, которая воспринимает ваши тщательно подготовленные ковариаты как мягкое улучшение качества, подведёт вас именно тогда, когда режим изменится, а это как раз момент, когда она нужнее всего.
Ответ Timestral — ковариатно-зависимое внимание, и дизайн тут продуман лучше, чем кажется. Каждый входной ряд получает роль: цель, ковариата только из прошлого или ковариата с известным будущим. Ковариаты с известным будущим — производственные графики, плановые остановки, прогнозы погоды — видны по всему окну, тогда как цели остаются каузальными, и информация течёт только от ковариат к целям. Последнее ограничение самое важное: модель может учитывать запланированный рост нагрузки на следующей неделе, не протекая в предсказание собственным будущим значением цели. Утечка данных через ковариаты — одна из классических тихих ошибок в системах прогнозирования, и зашить направление потока информации в маску внимания — чистый способ её предотвратить.
Категориальные ковариаты тоже обрабатываются по-человечески: состояние станка, например «работает», «простой» или «на обслуживании», подаётся как категория, а не впихивается в произвольное целое число, которое навязывает фальшивый порядок. Всякий, кто видел, как дерево решений выучивает, что «состояние 3» почему-то больше «состояния 2», это оценит.
Но обратите внимание, что это значит на практике: качество развёртывания TSFM теперь ограничено качеством ваших конвейеров ковариат, а не моделью. Если погодный фид устарел, календарь праздников не учитывает региональные выходные, а график обслуживания никто не перевёл в машиночитаемый вид, модель вас не спасёт. Моделирование превратилось в товар, а инженерия данных — нет. Планируйте усилия соответственно.
Бенчмарки и зачем тестировать на своём сигнале
На трёх основных публичных бенчмарках — GIFT-Eval, TIME и fev-bench — модель Timestral на 209M занимает первое место среди предобученных моделей с нулевым обучением: один чекпоинт, без ансамблирования. Модель на 28M, по сообщениям, обходит Chronos-2, которая примерно в четыре раза больше. Результаты действительно сильные, и то, что каждый размер семейства лежит на Парето-фронте «точность против размера», говорит о том, что работает рецепт, а не только масштаб.
Теперь необходимые оговорки. У бенчмарков по прогнозированию есть серьёзная методологическая проблема: многие ряды в них — процессы с сильным шумом и слабым сигналом, где почти любая разумная модель показывает примерно одно и то же, потому что сигнала почти нет. Если усреднить оценки по сотням таких рядов, настоящие различия сжимаются в ничтожные отрывки. Так и получаются маркетинговые графики, где улучшение на 0,03 нарисовано как пятикратный разрыв. Это частный случай общей болезни, о которой мы уже писали: бенчмарки систематически упускают работу, которая действительно важна, а бенчмарки прогнозирования упускают её особенно наглядно и измеримо.
Лучший тест, который можно провести самому, — построить оценочные ряды с известным высоким отношением сигнала к шуму, где простой метод вроде эмпирических условных распределений способен уловить большую часть сигнала, и проверить, улавливает ли его и модель-основа. Затем поднимайте уровень шума и смотрите, где качество деградирует. Модель, которая выглядит SOTA на зашумлённых бенчмарках, но оставляет очевидный сигнал невостребованным в чистых режимах, говорит вам то, чего не скажет таблица лидеров.
На зашумлённых данных все модели выглядят одинаково. Различия появляются только там, где есть реальный сигнал, поэтому тестируйте там, где он есть.
Где классические методы всё ещё выигрывают
Моё вступление требует честных ограничений, так что вот они. Есть реальные случаи, когда не стоит тянуться к модели-основе.
- Вам нужны уравнения, а не только выходы. Если вы оператор энергосистемы или инженер по управлению, вам часто нужна интерпретируемая динамическая модель с параметрами, которые имеют физический смысл, их можно анализировать, проверять на стресс и показать регулятору. TSFM — чёрный ящик:
y = F(x, params)без читаемой структуры. Подогнанная модель в пространстве состояний или модель в духе SINDy даст вам то, чего нейросеть никогда не даст. - У вас один критичный ряд с богатой длинной историей и сильной предметной структурой. Один хорошо изученный ряд, например национальная нагрузка на электросеть с десятилетиями данных, окупает индивидуальную модель, построенную с учётом знания предметной области. Универсальность нулевого обучения пропадает впустую, когда у вас одна задача и глубокая экспертиза в ней.
- Ковариаты доминируют, а связи стабильны и известны. Линейная регрессия на правильных признаках прозрачна, легко отлаживается и, когда физика задачи действительно линейна, непобедима. Не платите налог на сложность без выигрыша.
- Вы обязаны полностью контролировать зависимость. Timestral распространяется по модифицированной лицензии MIT с ограничениями. Если ваше прогнозирование — критичная инфраструктура, например рынки энергии на сутки вперёд, нужно серьёзно подумать, стоит ли зависеть от сервера вендора или лицензии, которую вы не можете полностью контролировать. Для этого случая и существуют открытые веса и собственные модели.
- У вас строгие требования к гигиене бэктестинга. С предобученной моделью вы никогда не будете полностью уверены, что период бэктеста не попал в обучающий корпус, если вендор не даёт контроля над составом обучающей выборки. Mistral предлагает это через свой конвейер Forge, но проверьте, а не полагайтесь на слово.
Заметьте закономерность: модель-основа выигрывает по широте, скорости и разреженным данным, а проигрывает по интерпретируемости, глубине на одном ряде и риску зависимости. Это действительно полезное правило решения, и оно точнее привычного «всё зависит от обстоятельств».
Архитектурный вопрос, который все пропускают
Одно, что волна TSFM уже закрыла и что заслуживает большего внимания: трансформеры неплохо работают с непрерывными сигналами, а проблема токенизации оказалась менее страшной, чем ожидалось. Трюк — патчинг: вместо того чтобы считать каждый временной шаг токеном (что взрывает длину последовательности) или наивно встраивать сырые числа с плавающей точкой, ряд разбивается на патчи, и встраиваются уже они. Длина патча становится настраиваемым параметром, который балансирует разрешение и контекст, точно так же как размер словаря в LLM. Если вы следили за спором о моделях в пространстве состояний против трансформеров, заметно, что победившие пока TSFM в основном опираются на внимание: дальние зависимости временных данных, похоже, хорошо ложатся на внимание, если зафиксировать представление входа.
Стратегия «сначала синтетика» заслуживает такого же внимания как вклад. Большая часть обучающих данных Timestral была сгенерирована, а не собрана: сначала одномерные процессы с согласованной динамикой, затем многомерный синтезатор, который накладывает нелинейные зависимости между ними. Это аккуратно обходит проблему данных, которая мучает машинное обучение на временных рядах: нет никакого Common Crawl для данных с датчиков, а то, что есть, разрозненно, закрыто и форматируется непоследовательно. Если синтетика с правильными индуктивными смещениями переносится так хорошо, это меняет экономику всего подраздела. Не нужно копить телеметрию мира, нужны хорошие генераторы.

От прогноза к системе
Самое интересное долгосрочное следствие — не сама модель, а то, что она открывает дальше по потоку. Дешёвый вероятностный многомерный прогнозист, который непрерывно работает на ваших метриках, — это детектор аномалий с честной неопределённостью. Вместо оповещения, когда значение пересекает статический порог, вы оповещаете, когда реальность выходит за предсказанные квантили. А это означает оповещения, которые учитывают сезонность и плановые события. Запланированный рост нагрузки ожидаем, а не помечается как сюрприз. Только это исключило бы заметную долю ночных звонков в большинстве организаций.
Добавьте сверху LLM-агента, и получится тот рабочий процесс, который набрасывает Mistral: числовая модель помечает аномалию на насосе, агент сравнивает сигналы с эмбеддингами прошлых отказов, запускает анализ первопричины по записям обслуживания и заметкам операторов и отдаёт руководителю площадки диагноз с доказательствами вместо голого алерта. Покупаете ли вы именно это видение или нет, направление здравое: это тот же паттерн, что мы видели в констрейнед-декодинге для моделей решений. Быструю специализированную модель оставляйте в цикле для того, в чём она хороша, а общая модель пусть оркестрирует вокруг неё.
Итак, к чему я прихожу. Индивидуальное прогнозирование не умерло, его просто понизили из инструмента по умолчанию до инструмента специалиста. Если у вас один ряд, глубокое знание предметной области и нужна интерпретируемая динамика, продолжайте подгонять модели в пространстве состояний и спите спокойно. Но если у вас тысячи рядов, короткая история на каждый и команда из трёх человек, бремя доказательства переменилось: теперь вам нужна причина не начинать с модели-основы. Проверьте её на своих данных с высоким сигналом, правильно подключите ковариаты, сверьте лицензию с вашей готовностью к риску, а сэкономленные месяцы потратьте на работу с данными, потому что именно там проекты прогнозирования всегда и выигрывали или проигрывали.


