Time to Embed: Unlocking Foundation Models for Time Series with Channel Descriptions (CHannel-Aware Representation Model, CHARM)
paper | blog p1 | blog p2 | blog p3
Недавно вышла очень интересная и подробная статья про фундаментальную модель для эмбеддингов многомерных временных рядов. Это кажется первая архитектура фундаментальной модели с прицелом на понимание рядов, а не на предсказание, - через выразительные эмбеддинги и интерпретируемость. В блоге компании основные примеры как раз про анализ аномалий, поиск похожих ситуаций и т.п. - очень похожие кейсы на то, что делаем мы.
Веса и исходные коды не доступны, но статья настолько подробная, что мы взяли её за основу и сделали свою модель с блекджеком и поддержкой нерегулярных временных рядов. Когда завершим тренировку - скорее всего выложим модель в открытый доступ.
Если у вас есть задачи, где такая модель может пригодиться - напишите мне, пожалуйста. Мы ищем больше downstream tasks, на которых можно проверить качество натренированной модели на реальных кейсах.
Теперь к сути. Архитектура модели (Figure 1):
- Contextual ТCN (Temporal Convolutional Network) + Contextual Attention. Инновация в contextual части (см ниже).
- Модель-encoder (non-causal attention).
- Вместе с рядами в модель подаются текстовые описания каждого ряда (тот самый контекст).
- Новомодная JEPA тренировка (Self-Supervised Learning)
- Эмбеддинги на каждую точку, но хорошо агрегируются в общие эмбеддинги.
Параметры модели:
7М параметров, 8 слоёв, 128 размерность эмбеддингов
Почему JEPA?
1. Намного проще масштабировать, так как не нужны размеченные данные, не нужны негативные примеры как в contrastive learning. Только обычные неразмеченные данные, которых на порядки больше в доступе.
2. Устойчивость к шуму. Утверждается, что в отличие от моделей, натренированных на восстановление последовательности, при обучении JEPA модель не переобучается на шум, всегда присутствующий в данных с реальных датчиков.
3. Так как при тренировке задача JEPA - предсказание (хоть и в латентном пространстве эмбеддингов), то модель отлично работает как для задач классификации, так и для задач предсказания.
Contextual Temporal Convolutional Network (TCN)
Построены на основе обычных иерархических свёрточных сетей (dilated TCNs), с двумя "но" (Figure 2):
1. Свёрточные ядра генерируются простым линейным преобразованием из эмбеддингов описаний каждого канала временного ряда.
2. Веса для каждого канала и уровня свёртки тоже генерируются из описаний каналов временного ряда.
Contextual Attention Layer
Построен на механизме self-attention с двумя дополнениями на основе эмбеддингов описаний каналов:
1. Для каждой пары каналов по описаниям генерируется вес, определяющий, насколько эти каналы между собой связаны.
2. Для каждой пары каналов и задержки между ними генерируется вес, определяющий, насколько эти два канала связаны между собой Δt между отсчётами. Он отвечает на вопрос: «Если значение на канале A изменилось сейчас, как сильно это повлияет на канал B через Δt шагов во времени?» Например, для датчиков «Давление в насосе» и «Температура двигателя» логично предположить, что резкий скачок давления приведёт к повышению температуры, но не мгновенно, а спустя какое-то время (сдвиг Δt).
Визуализируя эти веса, можно наглядно наблюдать, как модель выучивает, какие каналы взаимодействую друг с другом, и как (Figure 7).
И главное - этот механизм позволяет подавать каналы на вход модели в разном порядке и в разном количестве, что очень удобно в практике и без чего не может быть по-настоящему фундаментальной time series модели. До сих пор моделям приходилось "догадываться", какой канал что означает. Теперь же, у модели по сути есть понимание, как разные физические величины в мире взаимодействуют, и для каждой величины есть свой шаблон взаимодействия.
Кроме того, утверждается, что это позволяет существенно повысить качество как для предсказаний, так и для классификафии на основе эмбеддингов модели (Figure 14).
paper | blog p1 | blog p2 | blog p3
Недавно вышла очень интересная и подробная статья про фундаментальную модель для эмбеддингов многомерных временных рядов. Это кажется первая архитектура фундаментальной модели с прицелом на понимание рядов, а не на предсказание, - через выразительные эмбеддинги и интерпретируемость. В блоге компании основные примеры как раз про анализ аномалий, поиск похожих ситуаций и т.п. - очень похожие кейсы на то, что делаем мы.
Веса и исходные коды не доступны, но статья настолько подробная, что мы взяли её за основу и сделали свою модель с блекджеком и поддержкой нерегулярных временных рядов. Когда завершим тренировку - скорее всего выложим модель в открытый доступ.
Если у вас есть задачи, где такая модель может пригодиться - напишите мне, пожалуйста. Мы ищем больше downstream tasks, на которых можно проверить качество натренированной модели на реальных кейсах.
Теперь к сути. Архитектура модели (Figure 1):
- Contextual ТCN (Temporal Convolutional Network) + Contextual Attention. Инновация в contextual части (см ниже).
- Модель-encoder (non-causal attention).
- Вместе с рядами в модель подаются текстовые описания каждого ряда (тот самый контекст).
- Новомодная JEPA тренировка (Self-Supervised Learning)
- Эмбеддинги на каждую точку, но хорошо агрегируются в общие эмбеддинги.
Параметры модели:
7М параметров, 8 слоёв, 128 размерность эмбеддингов
Почему JEPA?
1. Намного проще масштабировать, так как не нужны размеченные данные, не нужны негативные примеры как в contrastive learning. Только обычные неразмеченные данные, которых на порядки больше в доступе.
2. Устойчивость к шуму. Утверждается, что в отличие от моделей, натренированных на восстановление последовательности, при обучении JEPA модель не переобучается на шум, всегда присутствующий в данных с реальных датчиков.
3. Так как при тренировке задача JEPA - предсказание (хоть и в латентном пространстве эмбеддингов), то модель отлично работает как для задач классификации, так и для задач предсказания.
Contextual Temporal Convolutional Network (TCN)
Построены на основе обычных иерархических свёрточных сетей (dilated TCNs), с двумя "но" (Figure 2):
1. Свёрточные ядра генерируются простым линейным преобразованием из эмбеддингов описаний каждого канала временного ряда.
2. Веса для каждого канала и уровня свёртки тоже генерируются из описаний каналов временного ряда.
Contextual Attention Layer
Построен на механизме self-attention с двумя дополнениями на основе эмбеддингов описаний каналов:
1. Для каждой пары каналов по описаниям генерируется вес, определяющий, насколько эти каналы между собой связаны.
2. Для каждой пары каналов и задержки между ними генерируется вес, определяющий, насколько эти два канала связаны между собой Δt между отсчётами. Он отвечает на вопрос: «Если значение на канале A изменилось сейчас, как сильно это повлияет на канал B через Δt шагов во времени?» Например, для датчиков «Давление в насосе» и «Температура двигателя» логично предположить, что резкий скачок давления приведёт к повышению температуры, но не мгновенно, а спустя какое-то время (сдвиг Δt).
Визуализируя эти веса, можно наглядно наблюдать, как модель выучивает, какие каналы взаимодействую друг с другом, и как (Figure 7).
И главное - этот механизм позволяет подавать каналы на вход модели в разном порядке и в разном количестве, что очень удобно в практике и без чего не может быть по-настоящему фундаментальной time series модели. До сих пор моделям приходилось "догадываться", какой канал что означает. Теперь же, у модели по сути есть понимание, как разные физические величины в мире взаимодействуют, и для каждой величины есть свой шаблон взаимодействия.
Кроме того, утверждается, что это позволяет существенно повысить качество как для предсказаний, так и для классификафии на основе эмбеддингов модели (Figure 14).
Эмбеддинги
Интересно, что авторы сделали ablation study (Table 12) и показали, что хотя использование эмбеддингов для каждой точки даёт лучшие результаты для downstream tasks (предсказание и классификафия), использование только последней точки даёт результаты лишь на единицы процентов хуже. Причём результаты практически одинаковы как при использовании linear слоя, так и при использовании MLP, что говорит и высоком качестве самих эмбеддингов.
А вот использовать усреднение не стоит - все характеристики резко (на десятки процентов) ухудшаются. Что соответствует интуации об усреднении температуры по больнице.
Более подробное описание статьи на русском в GonzoML Podcasts (https://t.me/gonzo_ML_podcasts/513) - спасибо @che_shr_cat за генерацию выжимки статьи!
Интересно, что авторы сделали ablation study (Table 12) и показали, что хотя использование эмбеддингов для каждой точки даёт лучшие результаты для downstream tasks (предсказание и классификафия), использование только последней точки даёт результаты лишь на единицы процентов хуже. Причём результаты практически одинаковы как при использовании linear слоя, так и при использовании MLP, что говорит и высоком качестве самих эмбеддингов.
А вот использовать усреднение не стоит - все характеристики резко (на десятки процентов) ухудшаются. Что соответствует интуации об усреднении температуры по больнице.
Более подробное описание статьи на русском в GonzoML Podcasts (https://t.me/gonzo_ML_podcasts/513) - спасибо @che_shr_cat за генерацию выжимки статьи!
Telegram
gonzo_ML_podcasts
Time to Embed: Unlocking Foundation Models for Time Series with Channel Descriptions
Authors: Utsav Dutta, Sina Khoshfetrat Pakazad, Henrik Ohlsson
Paper: https://arxiv.org/abs/2505.14543
Code: Not available
Model: Not available
# TL;DR
🧠 Что сделали?
Авторы…
Authors: Utsav Dutta, Sina Khoshfetrat Pakazad, Henrik Ohlsson
Paper: https://arxiv.org/abs/2505.14543
Code: Not available
Model: Not available
# TL;DR
🧠 Что сделали?
Авторы…
🔥7
Time Series going MoE
Изучаю разные подходы с масштабированию time series моделей и вижу, что наметился переход на MoE архитектуры. Пока что вышло всего две такие модели, но судя по результатам, скоро ждать больше:
1. Moirai-MoE (blog / arxiv:2410.10469)
2. Time-MoE (arxiv:2409.16040)
Интересна мотивация, которая в обоих работах независимо друг от друга совершенно одинаковая:
1. Модели нужно масштабировать и тренировать на всё большем объёме данных (не новость), а для этого нужна эффективность при тренировке. MoE в декодерных трансформерах существенно ускоряет как обучение, так и инференс. И это позволяет закидывать в топку существенно большие объёмы данных. Например Time-MoE тренировались на датасете на 300B точек на 128 ×
A100-80G (4.8 x10^8 TFLOPS).
2. Но главное даже не это - в обоих работах показано, что переход от плотных моделей к разреженным (MoE) даёт прирост в качестве при том же количестве параметров. И это уже интересная мысль, которая не была мне очевидна.
Salesforce репортит 17% прирост за счёт перехода на MoE (Extensive experiments on 39 datasets reveal that Moirai-MoE delivers up to 17% performance improvements over Moirai at the same level of model size).
Авторы Time-MoE точные цифры не приводят, но на графиках видна заметная разница (см картинки), при том, что переход на MoE одновременно на 78% снизил стоимость трена и на 39% - стоимость инференса.
Изучаю разные подходы с масштабированию time series моделей и вижу, что наметился переход на MoE архитектуры. Пока что вышло всего две такие модели, но судя по результатам, скоро ждать больше:
1. Moirai-MoE (blog / arxiv:2410.10469)
2. Time-MoE (arxiv:2409.16040)
Интересна мотивация, которая в обоих работах независимо друг от друга совершенно одинаковая:
1. Модели нужно масштабировать и тренировать на всё большем объёме данных (не новость), а для этого нужна эффективность при тренировке. MoE в декодерных трансформерах существенно ускоряет как обучение, так и инференс. И это позволяет закидывать в топку существенно большие объёмы данных. Например Time-MoE тренировались на датасете на 300B точек на 128 ×
A100-80G (4.8 x10^8 TFLOPS).
2. Но главное даже не это - в обоих работах показано, что переход от плотных моделей к разреженным (MoE) даёт прирост в качестве при том же количестве параметров. И это уже интересная мысль, которая не была мне очевидна.
Salesforce репортит 17% прирост за счёт перехода на MoE (Extensive experiments on 39 datasets reveal that Moirai-MoE delivers up to 17% performance improvements over Moirai at the same level of model size).
Авторы Time-MoE точные цифры не приводят, но на графиках видна заметная разница (см картинки), при том, что переход на MoE одновременно на 78% снизил стоимость трена и на 39% - стоимость инференса.
🔥4
Alexander Chemeris
Photo
Тренировка моделей - это, в первую очередь, - правильная подготовка датасета.
BLAST: Balanced Sampling Time Series Corpus for Universal Forecasting Models
paper | dataset | code (dataset) | code (training)
Если оригинальный Time-MoE тренировали на 128x A100-80G на 419 billion tokens, то после BLAST фильтрации датасета его же натренировали всего на 8x A100-40G на 78 billion tokens и одновременно улучшили результат.
Как?
Все данные равны, но некоторые равнее. Если тренировать модель хоть на 1Т синусоид, то модель кроме синусоид ничего не выучит. Если добавить туда 100 прямых линий, то про них модель скорее всего тоже ничего не выучит, так как не заметит среди синусоид. И если с синусоидой и линиями это интуитивно понятно, то когда у тебя сборная солянка из 100+ разнородных источников данных, всё становится совсем не так просто.
Авторы предлагают достаточно простой метод сэмплирования данных из датасета, который сохраняет разнобразие данных, но при этом резко сокращает дублирование похожих данных.
1. Для каждого датасета и каждого сэмпла создаётся набор фич, и из них собирается вектор признаков.
2. При помощи UMAP все вектора проекцируются на двухмерную решётку.
3. Сэмплирование производится по решётке. Если в какой-то ячейке много сэмплов (т.е. они "похожи"), то из неё всё равно берётся столько же сэмплов, сколько и из ячеек в небольшим количетвом сэмплов.
Идея интересная, но:
1. кажется, что проекцирование на двумерную плоскость слишком уж сильно сокращает выразительность, и можно вместе излишками выплеснуть что-то полезное.
2. ручное выпиливание фич лобзиком плохо масштабируется и опять же - скорее всего не передаёт всего реального многообразия.
Интересно, как можно развить этот метод, обойдя эти ограничения. Кажется, что вместо ручного вектора фич можно использовать эмбеддинги достаточно выразительной модели, а вот уйти от сетки в двумерном пространстве может быть сложнее.
BLAST: Balanced Sampling Time Series Corpus for Universal Forecasting Models
paper | dataset | code (dataset) | code (training)
Если оригинальный Time-MoE тренировали на 128x A100-80G на 419 billion tokens, то после BLAST фильтрации датасета его же натренировали всего на 8x A100-40G на 78 billion tokens и одновременно улучшили результат.
Как?
Все данные равны, но некоторые равнее. Если тренировать модель хоть на 1Т синусоид, то модель кроме синусоид ничего не выучит. Если добавить туда 100 прямых линий, то про них модель скорее всего тоже ничего не выучит, так как не заметит среди синусоид. И если с синусоидой и линиями это интуитивно понятно, то когда у тебя сборная солянка из 100+ разнородных источников данных, всё становится совсем не так просто.
Авторы предлагают достаточно простой метод сэмплирования данных из датасета, который сохраняет разнобразие данных, но при этом резко сокращает дублирование похожих данных.
1. Для каждого датасета и каждого сэмпла создаётся набор фич, и из них собирается вектор признаков.
2. При помощи UMAP все вектора проекцируются на двухмерную решётку.
3. Сэмплирование производится по решётке. Если в какой-то ячейке много сэмплов (т.е. они "похожи"), то из неё всё равно берётся столько же сэмплов, сколько и из ячеек в небольшим количетвом сэмплов.
Идея интересная, но:
1. кажется, что проекцирование на двумерную плоскость слишком уж сильно сокращает выразительность, и можно вместе излишками выплеснуть что-то полезное.
2. ручное выпиливание фич лобзиком плохо масштабируется и опять же - скорее всего не передаёт всего реального многообразия.
Интересно, как можно развить этот метод, обойдя эти ограничения. Кажется, что вместо ручного вектора фич можно использовать эмбеддинги достаточно выразительной модели, а вот уйти от сетки в двумерном пространстве может быть сложнее.
👍1
Не совсем про временные ряды, но мы ведь всегда говорили, что предсказание тесно связано с контекстом, и не всегда этот контекст - это числа.
👍1
Forwarded from Сергей Булаев AI 🤖
А ещё Grok‑4 - лидер в прогнозировании будущего по данным крупнейшего живого бенчмарка FutureX.
• Grok‑4 занял 1 место в общем зачёте среди 25 моделей, обойдя Gemini Deep Research и GPT‑4o‑mini (Think&Search).
• На 4 уровне сложности (Super Agent Tier, задачи с высокой волатильностью) Grok‑4 единственный стабильно показывал результат, в то время как большинство моделей ушли в нули.
• Среднее время ответа: менее 5 минут на задачу. Для сравнения, у некоторых глубоких research‑моделей до 30 минут.
• Количество поисковых запросов - до 40 на задачу. Именно эта агрессивная стратегия поиска и дала ему преимущество.
• В финансовых прогнозах по S&P 500 (Q2 2025) лучшие модели выиграли у аналитиков Уолл‑стрит в 33‑37% случаев. Grok‑4 вошел в топ‑результаты, показав высокую точность и скорость.
• В простых задачах (уровень 1‑2) Grok‑4 догоняет или перегоняет людей. В задачах 3‑4 уровня эксперты пока впереди на 10‑25% по точности, но разрыв сокращается.
• Конкретный кейс: вопрос "Сколько будет смертей во время беспорядков в Калифорнии до конца июля 2025?". Grok‑4 правильно спрогнозировал ноль, опираясь на BBC, LA Times и NPR. Другие модели ошибались, выдавая вымышленные события.
Сергей Булаев AI 🤖 - об AI и не только
• Grok‑4 занял 1 место в общем зачёте среди 25 моделей, обойдя Gemini Deep Research и GPT‑4o‑mini (Think&Search).
• На 4 уровне сложности (Super Agent Tier, задачи с высокой волатильностью) Grok‑4 единственный стабильно показывал результат, в то время как большинство моделей ушли в нули.
• Среднее время ответа: менее 5 минут на задачу. Для сравнения, у некоторых глубоких research‑моделей до 30 минут.
• Количество поисковых запросов - до 40 на задачу. Именно эта агрессивная стратегия поиска и дала ему преимущество.
• В финансовых прогнозах по S&P 500 (Q2 2025) лучшие модели выиграли у аналитиков Уолл‑стрит в 33‑37% случаев. Grok‑4 вошел в топ‑результаты, показав высокую точность и скорость.
• В простых задачах (уровень 1‑2) Grok‑4 догоняет или перегоняет людей. В задачах 3‑4 уровня эксперты пока впереди на 10‑25% по точности, но разрыв сокращается.
• Конкретный кейс: вопрос "Сколько будет смертей во время беспорядков в Калифорнии до конца июля 2025?". Grok‑4 правильно спрогнозировал ноль, опираясь на BBC, LA Times и NPR. Другие модели ошибались, выдавая вымышленные события.
Сергей Булаев AI 🤖 - об AI и не только
Гриша Сапунов скинул интересную статью:
Towards a Physics Foundation Model
paper | code | blog
Краткое содержание: https://arxiviq.substack.com/p/towards-a-physics-foundation-model
Сравнивают трансформер, обученный на нескольких разных задачах гидродинамики с U-Nets и Fourier Neural Operators (FNO), обученными на одной конкретной задаче. И показывают, что:
1. Результат на порядок точнее - медианный MSE уменьшается до 29x.
2. Модель разумно (со потерей точности) обобщается на задачи из смежных областей, которые она до этого не видела.
Всячески приветствую больше работ по фундаментальным моделям для физических временных рядов.
Что интересно
Модель разбита на обычную вычислительную интегирующую часть и собственно трансформер, который принимает на вход и абсолютные значения, и вычисленные дифференциалы и генерирует дифференциаллы же. В ablation показывается, что без работы в дифференциальном поле точность модели радикально падает. Причём достаточно простейшего интегрирования первого порядка. Т.е. как обычно, правильное представление входных данных критически важно для правильной работы модели.
Towards a Physics Foundation Model
paper | code | blog
Краткое содержание: https://arxiviq.substack.com/p/towards-a-physics-foundation-model
Сравнивают трансформер, обученный на нескольких разных задачах гидродинамики с U-Nets и Fourier Neural Operators (FNO), обученными на одной конкретной задаче. И показывают, что:
1. Результат на порядок точнее - медианный MSE уменьшается до 29x.
2. Модель разумно (со потерей точности) обобщается на задачи из смежных областей, которые она до этого не видела.
Всячески приветствую больше работ по фундаментальным моделям для физических временных рядов.
Что интересно
Модель разбита на обычную вычислительную интегирующую часть и собственно трансформер, который принимает на вход и абсолютные значения, и вычисленные дифференциалы и генерирует дифференциаллы же. В ablation показывается, что без работы в дифференциальном поле точность модели радикально падает. Причём достаточно простейшего интегрирования первого порядка. Т.е. как обычно, правильное представление входных данных критически важно для правильной работы модели.
👍3