Нейролента - подборка новостей о нейронных сетях, ChatGPT

Chronos: Learning the Language of Time Series. Abdul...

Chronos: Learning the Language of Time Series
Abdul Fatir Ansari, Lorenzo Stella, Caner Turkmen, Xiyuan Zhang, Pedro Mercado, Huibin Shen, Oleksandr Shchur, Syama Sundar Rangapuram, Sebastian Pineda Arango, Shubham Kapoor, Jasper Zschiegner, Danielle C. Maddix, Michael W. Mahoney, Kari Torkkola, Andrew Gordon Wilson, Michael Bohlke-Schneider, Yuyang Wang
Статья: https://arxiv.org/abs/2403.07815
Код: https://github.com/amazon-science/chronos-forecasting

TLDR: Предобученная трансформерная языковая модель для временных рядов с представлением ряда в виде последовательности токенов. Модель Chronos основана на T5, размеры от 20M до 710M.

Временные ряды -- большая и интересная тема, работ в ней поменьше чем в NLP или CV, но регулярно попадаются. Раньше была очень популярная тема с RNN (она отчасти возрождается сейчас с SSM, https://t.me/gonzo_ML/2148), ещё раньше были модели типа ARIMA и т.п. Есть фейсбучная библиотека Prophet (https://github.com/facebook/prophet). Было много подходов со специальными архитектурами, в частности можно вспомнить, например, использовавшиеся для предсказания погоды и не только Temporal Convolutional Networks (TCN, https://arxiv.org/abs/1608.08242), или околотрансформерный Informer (https://arxiv.org/abs/2012.07436). Но это далеко не всё.

За последний год-два валом повалили попытки так или иначе использовать LLM, от совсем прямолинейных типа через GPT-3 (https://arxiv.org/abs/2310.07820), Time-LLM (https://arxiv.org/abs/2310.01728) или PromptCast (https://arxiv.org/abs/2210.08964) до более специальных, например, Lag-Llama (https://arxiv.org/abs/2310.08278) или TimesFM (https://arxiv.org/abs/2310.10688). Было и есть и много всего другого, вот свежий обзор по теме (https://arxiv.org/abs/2401.13912).

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

Представленный в работе Chronos -- это по сути фреймворк для адаптации LLM к вероятностному предсказанию временных рядов. Цель -- добиться этого минимальными изменениями.

Одна из очевидных проблем -- временные ряды обычно состоят из вещественных чисел, а не токенов из конечного словаря, поэтому чтобы работать с LLM надо временной ряд токенизировать. Для этого он сначала скейлится (делим на среднее, но можно при желании и другую схему реализовать), а затем квантуется на B бинов (использовалось B = 4094), при деквантовании возвращается центр бина. Бины (их границы и центры) могут быть равномерно распределёнными или зависимыми от данных. Кроме B временных токенов добавлены ещё два специальных PAD (для пропущенных значений и паддинга) и EOS (для обозначения конца последовательности). Никакая другая информация (например, время или частота) к данным не добавляется.

В основном в работе фокусируются на энкодере-декодере T5, экспериментально проверяют и чисто декодер в стиле GPT-2. Целевая функция -- обычная кросс-энтропия при предсказании квантованного токена. Важно, что при таком подходе по факту происходит регрессия через классификацию, в этой функции никак не учтена близость соседних бинов. Плюс в этом тот, что архитектура или процедура обучения LLM никак не меняется, можно брать готовый код из коробки. Также это не накладывает никаких ограничений на выходное распределение, а у датасетов из разных доменов они могут быть разными.

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

Для обучения time series моделей такого количества качественных данных, как для NLP, нету. Поэтому авторы активно использовали синтетику через mixup аугментацию в дополнение к реальным данным.

Mixup использовался для изображений, там создавалась синтетическая картинка через взвешенную комбинацию двух реальных. Авторы предложили TSMix, обобщающий Mixup до более чем двух точек -- здесь это взвешенная комбинация k последовательностей. Веса сэмплятся из симметричного распределения Дирихле, Dir(α).