🚀 MOMENT-base
MOMENT是用於通用時間序列分析的基礎模型家族。該家族的模型具有以下特點:(1)可作為各種時間序列分析任務(如預測、分類、異常檢測和插補等)的構建模塊;(2)具備出色的開箱即用能力,即無需(或只需少量)特定任務的示例(支持零樣本預測、少樣本分類等);(3)可使用分佈內和特定任務的數據進行調優,以提升性能。
如需瞭解MOMENT模型、訓練數據和實驗結果的詳細信息,請參考論文MOMENT: A Family of Open Time-series Foundation Models。
MOMENT-1有3種規格:Small、Base和Large。
🚀 快速開始
環境要求
推薦Python版本:Python 3.11(預計很快會支持更多版本)。
安裝方法
你可以使用pip安裝momentfm
包:
pip install momentfm
或者,直接從GitHub倉庫安裝最新版本:
pip install git+https://github.com/moment-timeseries-foundation-model/moment.git
加載預訓練模型
要為其中一個任務加載預訓練模型,請使用以下代碼片段之一:
預測
from momentfm import MOMENTPipeline
model = MOMENTPipeline.from_pretrained(
"AutonLab/MOMENT-1-base",
model_kwargs={
'task_name': 'forecasting',
'forecast_horizon': 96
},
)
model.init()
分類
from momentfm import MOMENTPipeline
model = MOMENTPipeline.from_pretrained(
"AutonLab/MOMENT-1-base",
model_kwargs={
'task_name': 'classification',
'n_channels': 1,
'num_class': 2
},
)
model.init()
異常檢測、插補和預訓練
from momentfm import MOMENTPipeline
model = MOMENTPipeline.from_pretrained(
"AutonLab/MOMENT-1-base",
model_kwargs={"task_name": "reconstruction"},
)
mode.init()
表徵學習
from momentfm import MOMENTPipeline
model = MOMENTPipeline.from_pretrained(
"AutonLab/MOMENT-1-base",
model_kwargs={'task_name': 'embedding'},
)
教程
以下是使用MOMENT進行各種任務的教程和可復現實驗列表:
✨ 主要特性
- 多功能性:可用於多種時間序列分析任務,如預測、分類、異常檢測和插補等。
- 開箱即用:無需或只需少量特定任務的示例即可使用。
- 可擴展性:可使用分佈內和特定任務的數據進行調優,以提升性能。
📦 安裝指南
你可以使用pip安裝momentfm
包:
pip install momentfm
或者,直接從GitHub倉庫安裝最新版本:
pip install git+https://github.com/moment-timeseries-foundation-model/moment.git
💻 使用示例
基礎用法
以下是使用MOMENT進行預測任務的基礎用法示例:
from momentfm import MOMENTPipeline
model = MOMENTPipeline.from_pretrained(
"AutonLab/MOMENT-1-base",
model_kwargs={
'task_name': 'forecasting',
'forecast_horizon': 96
},
)
model.init()
高級用法
對於更復雜的任務,你可以根據需要調整模型參數。例如,在分類任務中:
from momentfm import MOMENTPipeline
model = MOMENTPipeline.from_pretrained(
"AutonLab/MOMENT-1-base",
model_kwargs={
'task_name': 'classification',
'n_channels': 1,
'num_class': 2
},
)
model.init()
📚 詳細文檔
模型詳情
模型描述
模型來源
- 倉庫:https://github.com/moment-timeseries-foundation-model/ (預訓練和研究代碼即將發佈!)
- 論文:https://arxiv.org/abs/2402.03885
- 演示:https://github.com/moment-timeseries-foundation-model/moment/tree/main/tutorials
環境影響
我們花費了數天時間訓練多個模型,這導致了大量的能源消耗和相當大的碳足跡。然而,我們希望發佈這些模型能夠確保未來的時間序列建模工作更快、更高效,從而降低碳排放。
我們使用總圖形功率(TGP)來計算訓練MOMENT模型所消耗的總功率,儘管GPU在訓練我們的模型時消耗的總功率可能會根據GPU利用率略有變化。我們的計算未考慮其他計算資源的電力需求。我們使用336.566 Kg C02/MWH作為匹茲堡每兆瓦時能源消耗的二氧化碳排放標準值。
- 硬件類型:NVIDIA RTX A6000 GPU
- GPU使用時長:89小時
- 計算區域:美國匹茲堡
- 碳排放(tCO2eq):未提供
硬件
所有模型均在由128個AMD EPYC 7502 CPU、503 GB RAM和8個NVIDIA RTX A6000 GPU(每個GPU具有49 GiB RAM)組成的計算集群上進行訓練和評估。所有MOMENT變體均在單個A6000 GPU上進行訓練(無數據或模型並行)。
🔧 技術細節
我們使用總圖形功率(TGP)來計算訓練MOMENT模型所消耗的總功率,儘管GPU在訓練我們的模型時消耗的總功率可能會根據GPU利用率略有變化。我們的計算未考慮其他計算資源的電力需求。我們使用336.566 Kg C02/MWH作為匹茲堡每兆瓦時能源消耗的二氧化碳排放標準值。
📄 許可證
本項目採用MIT許可證。
📖 引用
如果你使用MOMENT,請引用我們的論文:
BibTeX:
@inproceedings{goswami2024moment,
title={MOMENT: A Family of Open Time-series Foundation Models},
author={Mononito Goswami and Konrad Szafer and Arjun Choudhry and Yifu Cai and Shuo Li and Artur Dubrawski},
booktitle={International Conference on Machine Learning},
year={2024}
}
APA:
Goswami, M., Szafer, K., Choudhry, A., Cai, Y., Li, S., & Dubrawski, A. (2024).
MOMENT: A Family of Open Time-series Foundation Models. In International Conference on Machine Learning. PMLR.