Журнал · Rit.work

Что перенести из Morpheus-2.0 в собственный прогноз временных рядов

Morpheus-2.0 показывает, как одной модели прогнозировать ряды с разными схемами, горизонтами и временными масштабами без отдельных выходных голов.

Rit.work
Студия разработки
20 октября 2026 г.3 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Одну модель временных рядов научили работать с разным числом переменных, длиной прогноза и временным масштабом без отдельной настройки под каждую схему. В препринте, который не проходил рецензирование и содержит замеры самих авторов, Morpheus-2.0 Multiscale снизил относительную масштабированную абсолютную ошибку до 0,646 против 0,685 у базовой версии. Из архитектуры можно отдельно перенести внимание по двум осям и обучение на прогнозах переменной длины.

Каждый слой связывает время и переменные параллельно

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

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

В каждом слое работают две ветви внимания. Первая сопоставляет переменные в один момент времени: например, нагрузку, температуру и календарный признак. Вторая просматривает историю одной переменной. Обучаемый коэффициент смешивает результаты, поэтому ранние и поздние слои могут по-разному распределять вес между связями.

Такой порядок отличается от архитектур, которые сначала обрабатывают время, а затем переменные в следующем блоке. Здесь обе связи доступны внутри каждого слоя, но модель не сравнивает каждый токен со всей сеткой. Разреженная схема сокращает вычисления, а позиционное кодирование отдельно сохраняет координаты времени и переменной.

Длина прогноза становится частью обучающей задачи

При обучении каждый пакет получает случайный бюджет токенов для будущего участка. Из него модель выводит горизонт с учётом числа переменных и ширины временного участка. Один набор весов поэтому видит короткие и длинные запросы, а при работе достаточно замаскировать нужное число будущих позиций.

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

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

Сеть смешивания не видит сами прогнозы компонентов — только исходный ряд и горизонт. Благодаря этому приём можно использовать с другими моделями, если они выдают согласованный набор квантилей. Когда компоненты расходятся, объединённое распределение расширяется и показывает большую неопределённость.

Менять весь стек рано, но два приёма уже стоит проверить

Модели оценивали на 97 конфигурациях GIFT-Eval из разных предметных областей и с разной частотой наблюдений. Для предварительного обучения использовали публичный корпус примерно из 230 миллиардов наблюдений и синтетический набор MySTiC. Относительная MASE показывает абсолютную ошибку с поправкой на масштаб ряда, а CRPS оценивает всё прогнозное распределение; в обеих метриках меньшее значение лучше.

Базовая Morpheus-2.0 содержит 81 миллион параметров. Объединение разных временных масштабов улучшило MASE на 6,8% относительно сильнейшего отдельного кодировщика, а CRPS — на 9%. При этом преимущество распределилось неравномерно: модель лидировала в энергетике и транспорте, но отставала в природных и медицинских рядах.

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

Случайный горизонт обучения внедрить проще: он меняет формирование пакетов и масок, но не требует нескольких моделей при работе. Такой подход полезен сервисам, где пользователи запрашивают разные интервалы прогноза. Запросы длиннее родного выходного блока всё равно приходится строить итеративно, поэтому ошибка на них может накапливаться.

Multiscale имеет смысл, когда данные заметно различаются по частоте и характерному масштабу событий. За точность приходится платить запуском набора кодировщиков, а фиксированный бюджет токенов сокращает доступную историю по мере роста числа переменных. Поэтому работа не обосновывает замену готового стека целиком, но даёт проверяемые изменения для следующего цикла экспериментов.

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу