🚀 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.