MOMENT-base

MOMENT is a family of foundation models for general-purpose time-series analysis. The models in this family (1) serve as a building block for diverse time-series analysis tasks (e.g., forecasting, classification, anomaly detection, and imputation, etc.), (2) are effective out-of-the-box, i.e., with no (or few) task-specific exemplars (enabling e.g., zero-shot forecasting, few-shot classification, etc.), and (3) are tunable using in-distribution and task-specific data to improve performance.

For details on MOMENT models, training data, and experimental results, please refer to the paper MOMENT: A Family of Open Time-series Foundation Models.

MOMENT-1 comes in 3 sizes: Small, Base, and Large.

Usage

Recommended Python Version: Python 3.11 (support for additional versions is expected soon).

You can install the momentfm package using pip:

pip install momentfm

Alternatively, to install the latest version directly from the GitHub repository:

pip install git+https://github.com/moment-timeseries-foundation-model/moment.git

To load the pre-trained model for one of the tasks, use one of the following code snippets:

Forecasting

from moment import MOMENTPipeline

model = MOMENTPipeline.from_pretrained(
    "AutonLab/MOMENT-1-base", 
    model_kwargs={
        'task_name': 'forecasting',
        'forecast_horizon': 96
    },
)
model.init()

Classification

from moment import MOMENTPipeline

model = MOMENTPipeline.from_pretrained(
    "AutonLab/MOMENT-1-base", 
    model_kwargs={
        'task_name': 'classification',
        'n_channels': 1,
        'num_class': 2
    },
)
model.init()

Anomaly Detection, Imputation, and Pre-training

from moment import MOMENTPipeline

model = MOMENTPipeline.from_pretrained(
    "AutonLab/MOMENT-1-base", 
    model_kwargs={"task_name": "reconstruction"},
)
mode.init()

Representation Learning

from moment import MOMENTPipeline

model = MOMENTPipeline.from_pretrained(
    "AutonLab/MOMENT-1-base", 
    model_kwargs={'task_name': 'embedding'},
)

Tutorials

Here is the list of tutorials and reproducibile experiments to get started with MOMENT for various tasks:

Model Details

Model Description

Model Sources

Environmental Impact

We train multiple models over many days resulting in significant energy usage and a sizeable carbon footprint. However, we hope that releasing our models will ensure that future time-series modeling efforts are quicker and more efficient, resulting in lower carbon emissions.

We use the Total Graphics Power (TGP) to calculate the total power consumed for training MOMENT models, although the total power consumed by the GPU will likely vary a little based on the GPU utilization while training our model. Our calculations do not account for power demands from other sources of our compute. We use 336.566 Kg C02/MWH as the standard value of CO2 emission per megawatt hour of energy consumed for Pittsburgh.

  • Hardware Type: NVIDIA RTX A6000 GPU
  • GPU Hours: 89
  • Compute Region: Pittsburgh, USA
  • Carbon Emission (tCO2eq):

Hardware

All models were trained and evaluated on a computing cluster consisting of 128 AMD EPYC 7502 CPUs, 503 GB of RAM, and 8 NVIDIA RTX A6000 GPUs each with 49 GiB RAM. All MOMENT variants were trained on a single A6000 GPU (with any data or model parallelism).

Citation

BibTeX: If you use MOMENT please cite our paper:

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

Downloads last month
6,056
Safetensors
Model size
113M params
Tensor type
F32
·
Inference API
Inference API (serverless) does not yet support transformers models for this pipeline type.

Dataset used to train AutonLab/MOMENT-1-base