Moirai-MoE: фундаментальная модель временных рядов на основе разреженной смеси экспертов

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


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

Moirai-MoE - модель для прогнозирования временных рядов от Salesforce AI Research, использующая один входной/выходной проекционный слой, при этом задача моделирования различных паттернов временных рядов делегируется разреженной смеси экспертов (MoE) в трансформерах.

Moirai-MoE достигает специализации, управляемой данными, и работает на уровне токенов. Для повышения эффективности обучения Moirai-MoE использует целевую функцию только декодера, что позволяет параллельно обучать модель на различных контекстных длинах.

Moirai-MoE была оценена на 39 наборах данных в сценариях прогнозирования внутри и вне распределения. Результаты подтверждают превосходство Moirai-MoE над существующими фундаментальными моделями, включая TimesFM, Chronos и Moirai.

В частности, Moirai-MoE превосходит свою аналогичную модель Moirai на 17% при том же размере модели и превосходит другие фундаментальные модели временных рядов с до 65 раз меньшим количеством активных параметров.

В открытый доступ на HF опубликованы 2 модели:

Moirai-MoE-1.0-R-Small (https://huggingface.co/Salesforce/moirai-moe-1.0-R-small), 11 млн. активных параметров, 117 млн. общих;

Moirai-MoE-1.0-R-Base (https://huggingface.co/Salesforce/moirai-moe-1.0-R-base), 86 млн. активных параметров, 935 млн. общих.

Пример использования Moirai-MoE для составления прогнозов:

import matplotlib.pyplot as plt  

from gluonts.dataset.repository import dataset_recipes

from uni2ts.eval_util.data import get_gluonts_test_dataset

from uni2ts.eval_util.plot import plot_next_multi

from uni2ts.model.moirai import MoiraiForecast, MoiraiMoEModule

SIZE = "small" # model size: choose from {'small', 'base'}

CTX = 1000 # context length: any positive integer

BSZ = 32 # batch size: any positive integer

# Load dataset

test_data, metadata = get_gluonts_test_dataset(

"electricity", prediction_length=None, regenerate=False

)

# Uncomment the below line to find other datasets

# print(sorted(dataset_recipes.keys()))

# Prepare model

model = MoiraiForecast(

module=MoiraiMoEModule.from_pretrained(

f"Salesforce/moirai-moe-1.0-R-{SIZE}",

),

mode="autoregressive",

prediction_length=metadata.prediction_length,

context_length=CTX,

patch_size=16,

num_samples=100,

target_dim=metadata.target_dim,

feat_dynamic_real_dim=metadata.feat_dynamic_real_dim,

past_feat_dynamic_real_dim=metadata.past_feat_dynamic_real_dim,

)

predictor = model.create_predictor(batch_size=BSZ)

forecasts = predictor.predict(test_data.input)

input_it = iter(test_data.input)

label_it = iter(test_data.label)

forecast_it = iter(forecasts)

# Visualize forecasts

fig, axes = plt.subplots(nrows=2, ncols=3, figsize=(25, 10))

plot_next_multi(

axes,

input_it,

label_it,

forecast_it,

context_length=200,

intervals=(0.5, 0.9),

dim=None,

name="pred",

show_label=True,

)

Страница проекта (https://www.salesforce.com/blog/time-series-morai-moe/)

Коллекция на HF (https://huggingface.co/collections/Salesforce/moirai-r-models-65c8d3a94c51428c300e0742)

Arxiv (https://arxiv.org/pdf/2410.10469)

GitHub (https://github.com/SalesforceAIResearch/uni2ts/tree/main/project/moirai-moe-1)


Источник: github.com

Комментарии: