|
Download README.md from DecisionIntelligence/FLAME: direct link, hf CLI and curl.
- Browser
- Download file 3.42 kB
-
https://huggingface.co/DecisionIntelligence/FLAME/resolve/main/README.md
- Command line
-
hf download hf://DecisionIntelligence/FLAME/README.md
-
curl -L -o README.md https://huggingface.co/DecisionIntelligence/FLAME/resolve/main/README.md
3.42 kB
| license: apache-2.0 | |
|  | |
| [](https://www.python.org/) [](https://pytorch.org/) | |
| # FLAME: Flow Enhanced Legendre Memory Models for General Time Series Forecasting | |
| This is the official repository of **FLAME**: Flow Enhanced Legendre Memory Models for General Time Series Forecasting. It has been accepted by **NeurIPS** 2026! | |
| ## Introduction | |
| FLAME is a family of extremely **lightweight** and highly capable time series foundation models. Based on the normalization-based forecasting head, it can support both the **deterministic** and **probabilistic** forecasting. | |
| To our best knowldege, FLAME is the first time series foundation model possessing both lightweight backbones and generative prediction capabilities! | |
|  | |
| ## Architecture | |
| FLAME adopts the Channel-Independent pretraining paradigm, and each variable is preprocessed through Instance Normalization to mitigate the value discrepancy. FLAME utilizes the Re-Norm to further mitigate the statistical differences between inputs and forecasts, and its backbone mainly consists of three modules: 1) Encoding, including Time Series Tokenization, **Local-Perception**, and MSA-Encoder, which tokenize the time series and enhance them through fusing the local environmental information with LegT; 2) Decoding, including **LegS based SSD-Decoder** and MCA-Enhancer, which utilize the SSD layers and MCA layers to make long-term inference ; 3) **Flow-based Head**, which leverages the Normalization Flow to support generative probabilistic forecasting, with both efficiency and accuracy. | |
|  | |
| ## Quickstart | |
| We release all three versions of FLAME in different branches: | |
| ```shell | |
| FLAME Small (2M) -- branch main & FLAME_Small | |
| FLAME Base (6M) -- branch FLAME_Base | |
| FLAME Large (10M) -- branch FLAME_Large | |
| ``` | |
| You need to install the following packages: | |
| ```shell | |
| # pip install transformers[torch] | |
| # pip install mamba-ssm[causal-conv1d] | |
| # pip install zuko | |
| ``` | |
| To make deterministic or probabilistic forecasts, just follow: | |
| ```python | |
| from transformers import AutoModel, AutoConfig | |
| import torch | |
| model_path = "path/to/your/model" | |
| config_path = "path/to/your/config" | |
| config = AutoConfig.from_pretrained(config_path) | |
| model = AutoModel.from_pretrained(model_path, config=config) | |
| model.eval() | |
| # The inputs need to be [batch_size, seq_len]. If multivariate, transform the inputs to [batch_size * n_vars, seq_len] | |
| inputs = torch.randn(batch_size, seq_length) | |
| # deterministic forecasting | |
| with torch.no_grad(): | |
| # output shape: [batch_size, 1, seq_len] | |
| outputs = model.generate( | |
| inputs=inputs, | |
| max_length=96, | |
| revin=True, | |
| num_samples=1, | |
| inference_patch_len=48 # recommend to input the period length | |
| ) | |
| # probabilistic forecasting | |
| with torch.no_grad(): | |
| # output shape: [batch_size, 100, seq_len] | |
| outputs = model.generate( | |
| inputs=inputs, | |
| max_length=96, | |
| revin=True, | |
| num_samples=100 | |
| ) | |
| ``` | |