🚀 MOMENT-Small
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-small",
model_kwargs={
'task_name': 'forecasting',
'forecast_horizon': 96
},
)
model.init()
分類
from momentfm import MOMENTPipeline
model = MOMENTPipeline.from_pretrained(
"AutonLab/MOMENT-1-small",
model_kwargs={
'task_name': 'classification',
'n_channels': 1,
'num_class': 2
},
)
model.init()
異常檢測、插補和預訓練
from momentfm import MOMENTPipeline
model = MOMENTPipeline.from_pretrained(
"AutonLab/MOMENT-1-small",
model_kwargs={"task_name": "reconstruction"},
)
mode.init()
表示學習
from momentfm import MOMENTPipeline
model = MOMENTPipeline.from_pretrained(
"AutonLab/MOMENT-1-small",
model_kwargs={'task_name': 'embedding'},
)
教程
以下是使用MOMENT進行各種任務的教程和可復現實驗列表:
✨ 主要特性
- 可作為多種時間序列分析任務的基礎構建塊。
- 具備出色的開箱即用性能,支持零樣本和少樣本學習。
- 可通過特定任務數據進行調優以提升性能。
📦 安裝指南
你可以使用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-small",
model_kwargs={
'task_name': 'forecasting',
'forecast_horizon': 96
},
)
model.init()
高級用法
在真實世界心電圖(ECG)案例研究中,你可以參考教程,對MOMENT進行微調,在多個GPU上進行訓練和推理以及參數高效微調(PEFT)。
📚 詳細文檔
模型詳情
模型描述
模型來源
- 倉庫: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時長 |
48 |
計算區域 |
美國匹茲堡 |
碳排放(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.