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