Update README.md
Browse files
README.md
CHANGED
@@ -55,56 +55,25 @@ getting started [notebook](https://github.com/IBM/tsfm/blob/main/notebooks/hfdem
|
|
55 |
## Model Releases (along with the branch name where the models are stored):
|
56 |
|
57 |
|
58 |
-
- **512-96-r2**: Given the last 512 time-points (i.e. context length), this model can forecast up to next 96 time-points (i.e. forecast length)
|
59 |
-
in future. This model is pre-trained with a larger pretraining dataset for improved accuracy. Recommended for hourly and minutely
|
60 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: main)
|
61 |
-
- **1024-96-r2**: Given the last 1024 time-points (i.e. context length), this model can forecast up to next 96 time-points (i.e. forecast length)
|
62 |
-
in future. This model is pre-trained with a larger pretraining dataset for improved accuracy. Recommended for hourly and minutely
|
63 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 1024-96-r2)
|
64 |
-
|
65 |
-
- **1536-96-r2**: Given the last 1536 time-points (i.e. context length), this model can forecast up to next 96 time-points (i.e. forecast length)
|
66 |
-
in future. This model is pre-trained with a larger pretraining dataset for improved accuracy. Recommended for hourly and minutely
|
67 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 1536-96-r2)
|
68 |
-
|
69 |
-
- **512-192-r2**: Given the last 512 time-points (i.e. context length), this model can forecast up to next 192 time-points (i.e. forecast length)
|
70 |
-
in future. This model is pre-trained with a larger pretraining dataset for improved accuracy. Recommended for hourly and minutely
|
71 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 512-192-r2)
|
72 |
-
|
73 |
-
- **1024-192-r2**: Given the last 1024 time-points (i.e. context length), this model can forecast up to next 192 time-points (i.e. forecast length)
|
74 |
-
in future. This model is pre-trained with a larger pretraining dataset for improved accuracy. Recommended for hourly and minutely
|
75 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 1024-192-r2)
|
76 |
|
77 |
-
- **1536-192-r2**: Given the last 1536 time-points (i.e. context length), this model can forecast up to next 192 time-points (i.e. forecast length)
|
78 |
-
in future. This model is pre-trained with a larger pretraining dataset for improved accuracy. Recommended for hourly and minutely
|
79 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 1536-192-r2)
|
80 |
|
|
|
|
|
81 |
|
82 |
-
- **
|
83 |
-
in future.
|
84 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 512-336-r2)
|
85 |
-
|
86 |
-
- **1024-336-r2**: Given the last 1024 time-points (i.e. context length), this model can forecast up to next 336 time-points (i.e. forecast length)
|
87 |
-
in future. This model is pre-trained with a larger pretraining dataset for improved accuracy. Recommended for hourly and minutely
|
88 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 1024-336-r2)
|
89 |
|
90 |
-
- **1536-
|
91 |
-
in future.
|
92 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 1536-336-r2)
|
93 |
|
|
|
|
|
94 |
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
- **1024-720-r2**: Given the last 1024 time-points (i.e. context length), this model can forecast up to next 720 time-points (i.e. forecast length)
|
101 |
-
in future. This model is pre-trained with a larger pretraining dataset for improved accuracy. Recommended for hourly and minutely
|
102 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 1024-720-r2)
|
103 |
|
104 |
-
- **1536-720-r2**: Given the last 1536 time-points (i.e. context length), this model can forecast up to next 720 time-points (i.e. forecast length)
|
105 |
-
in future. This model is pre-trained with a larger pretraining dataset for improved accuracy. Recommended for hourly and minutely
|
106 |
-
resolutions (Ex. 10 min, 15 min, 1 hour, etc). (branch name: 1536-720-r2)
|
107 |
-
|
108 |
|
109 |
## Model Capabilities with example scripts
|
110 |
|
@@ -118,11 +87,15 @@ The below model scripts can be used for any of the above TTM models. Please upda
|
|
118 |
- **New Releases (extended features released on October 2024)**
|
119 |
- Finetuning and Forecasting with Exogenous/Control Variables [[Example]](https://github.com/ibm-granite/granite-tsfm/blob/main/notebooks/tutorial/ttm_with_exog_tutorial.ipynb)
|
120 |
- Finetuning and Forecasting with static categorical features [Example: To be added soon]
|
121 |
-
- Rolling Forecasts - Extend forecast lengths
|
122 |
- Helper scripts for optimal Learning Rate suggestions for Finetuning [[Example]](https://github.com/ibm-granite/granite-tsfm/blob/main/notebooks/tutorial/ttm_with_exog_tutorial.ipynb)
|
123 |
|
124 |
## Benchmarks
|
125 |
|
|
|
|
|
|
|
|
|
126 |
TTM outperforms popular benchmarks such as TimesFM, Moirai, Chronos, Lag-Llama, Moment, GPT4TS, TimeLLM, LLMTime in zero/fewshot forecasting while reducing computational requirements significantly.
|
127 |
Moreover, TTMs are lightweight and can be executed even on CPU-only machines, enhancing usability and fostering wider
|
128 |
adoption in resource-constrained environments. For more details, refer to our [paper](https://arxiv.org/pdf/2401.03955.pdf).
|
@@ -130,6 +103,12 @@ adoption in resource-constrained environments. For more details, refer to our [p
|
|
130 |
- TTM-E referred in the paper maps to the 1024 context models.
|
131 |
- TTM-A referred in the paper maps to the 1536 context models.
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
|
134 |
## Recommended Use
|
135 |
1. Users have to externally standard scale their data independently for every channel before feeding it to the model (Refer to [TSP](https://github.com/IBM/tsfm/blob/main/tsfm_public/toolkit/time_series_preprocessor.py), our data processing utility for data scaling.)
|
|
|
55 |
## Model Releases (along with the branch name where the models are stored):
|
56 |
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
|
|
|
|
|
|
59 |
|
60 |
+
- **512-96-r2**: Given the last 512 time-points (i.e. context length), this model can forecast up to the next 96 time-points (i.e. forecast length)
|
61 |
+
in future. (branch name: main)
|
62 |
|
63 |
+
- **1024-96-r2**: Given the last 1024 time-points (i.e. context length), this model can forecast up to the next 96 time-points (i.e. forecast length)
|
64 |
+
in future. (branch name: 1024-96-r2) [[Benchmarks]]
|
|
|
|
|
|
|
|
|
|
|
65 |
|
66 |
+
- **1536-96-r2**: Given the last 1536 time-points (i.e. context length), this model can forecast up to the next 96 time-points (i.e. forecast length)
|
67 |
+
in future. (branch name: 1536-96-r2)
|
|
|
68 |
|
69 |
+
- Likewise, we have models released for forecast lengths up to 720 timepoints. The branch names for these are as follows: `512-192-r2`, `1024-192-r2`, `1536-192-r2`, `512-336-r2`,
|
70 |
+
`512-336-r2`, `1024-336-r2`, `1536-336-r2`, `512-720-r2`, `1024-720-r2`, `1536-720-r2`
|
71 |
|
72 |
+
- Please use the [[get_model]](https://github.com/ibm-granite/granite-tsfm/blob/main/tsfm_public/toolkit/get_model.py) utility to automatically select the required model based on your input context length and forecast length requirement.
|
73 |
+
|
74 |
+
- We currently allow 3 context lengths (512, 1024 and 1536) and 4 forecast lengths (96, 192, 336, 720). Users need to provide one of the 3 allowed context lengths as input.
|
75 |
+
but can provide any forecast lengths up to 720 in get_model() to get the required model.
|
|
|
|
|
|
|
|
|
76 |
|
|
|
|
|
|
|
|
|
77 |
|
78 |
## Model Capabilities with example scripts
|
79 |
|
|
|
87 |
- **New Releases (extended features released on October 2024)**
|
88 |
- Finetuning and Forecasting with Exogenous/Control Variables [[Example]](https://github.com/ibm-granite/granite-tsfm/blob/main/notebooks/tutorial/ttm_with_exog_tutorial.ipynb)
|
89 |
- Finetuning and Forecasting with static categorical features [Example: To be added soon]
|
90 |
+
- Rolling Forecasts - Extend forecast lengths via rolling capability. Rolling beyond 2*forecast_length is not recommended. [[Example]](https://github.com/ibm-granite/granite-tsfm/blob/main/notebooks/hfdemo/ttm_rolling_prediction_getting_started.ipynb)
|
91 |
- Helper scripts for optimal Learning Rate suggestions for Finetuning [[Example]](https://github.com/ibm-granite/granite-tsfm/blob/main/notebooks/tutorial/ttm_with_exog_tutorial.ipynb)
|
92 |
|
93 |
## Benchmarks
|
94 |
|
95 |
+
<p align="center" width="100%">
|
96 |
+
<img src="benchmarks.webp" width="600">
|
97 |
+
</p>
|
98 |
+
|
99 |
TTM outperforms popular benchmarks such as TimesFM, Moirai, Chronos, Lag-Llama, Moment, GPT4TS, TimeLLM, LLMTime in zero/fewshot forecasting while reducing computational requirements significantly.
|
100 |
Moreover, TTMs are lightweight and can be executed even on CPU-only machines, enhancing usability and fostering wider
|
101 |
adoption in resource-constrained environments. For more details, refer to our [paper](https://arxiv.org/pdf/2401.03955.pdf).
|
|
|
103 |
- TTM-E referred in the paper maps to the 1024 context models.
|
104 |
- TTM-A referred in the paper maps to the 1536 context models.
|
105 |
|
106 |
+
Please note that the Granite TTM models are pre-trained exclusively on datasets
|
107 |
+
with clear commercial-use licenses that are approved by our legal team. As a result, the pre-training dataset used in this release differs slightly from the one used in the research
|
108 |
+
paper, which may lead to minor variations in model performance as compared to the published results. Please refer to our paper for more details.
|
109 |
+
|
110 |
+
**Benchmarking Scripts: [here](https://github.com/ibm-granite/granite-tsfm/tree/main/notebooks/hfdemo/tinytimemixer/full_benchmarking)**
|
111 |
+
|
112 |
|
113 |
## Recommended Use
|
114 |
1. Users have to externally standard scale their data independently for every channel before feeding it to the model (Refer to [TSP](https://github.com/IBM/tsfm/blob/main/tsfm_public/toolkit/time_series_preprocessor.py), our data processing utility for data scaling.)
|