Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
timesfm_jax
Commits
23df87ec
Commit
23df87ec
authored
Aug 08, 2024
by
suily
Browse files
README修改算法原理
parent
18dced17
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
9 deletions
+8
-9
README.md
README.md
+8
-9
No files found.
README.md
View file @
23df87ec
...
@@ -3,28 +3,27 @@
...
@@ -3,28 +3,27 @@
`A decoder-only foundation model for time-series forecasting`
`A decoder-only foundation model for time-series forecasting`
-
https://arxiv.org/abs/2310.10688
-
https://arxiv.org/abs/2310.10688
## 模型结构
## 模型结构
TimesFM是一种基于区块的decoder-only
的
模型,应用了自注意力机制和传统的位置编码,主要由三个组件组成:输入层、Transformer层和输出层。
TimesFM是一种基于区块的decoder-only模型,应用了自注意力机制和传统的位置编码,主要由三个组件组成:输入层、Transformer层和输出层。
<div
align=
center
>
<img
src=
"./doc/timesfm.png"
/>
</div>
## 算法原理
1、输入层:将时间序列数据分割成相等长度的时序数据块(patch),然后通过残差块对每个时序数据块进行线性变化,进而得到Token。
1、输入层:将时间序列数据分割成相等长度的时序数据块(patch),然后通过残差块对每个时序数据块进行线性变化,进而得到Token。
2、Transformer层:应用了位置编码和自注意力机制。位置编码将时间信息注入Token(令牌)序列;自注意力允许模型学习序列中不同标记之间的依赖关系和关系;位置编码介入自注意力的构造意味着模型可以适应数据中不同的时间粒度和频率。
2、Transformer层:应用了位置编码和自注意力机制。位置编码将时间信息注入Token(令牌)序列;自注意力允许模型学习序列中不同标记之间的依赖关系和关系;位置编码介入自注意力的构造意味着模型可以适应数据中不同的时间粒度和频率。
3、输出层:使用层归一化和残差连接,将输出Token映射到最终预测。
3、输出层:使用层归一化和残差连接,将输出Token映射到最终预测。
TimesFM在真实世界的大型时间序列语料库上进行了预训练,可以为未见过的数据集生成可变长度的预测。
<div
align=
center
>
<img
src=
"./doc/timesfm.png"
/>
</div>
## 算法原理
TimesFM是google research推出的一种时序预测基础模型,在真实世界的大型语料库上进行了预训练。TimesFM能够适应不同的上下文和预测长度,并且与最新的LLM相比体量更小(200M参数),同时在未见过的数据集上也能zero-shot预测。具体的,TimesFM对时间序列进行分块和位置编码注入,再通过堆叠的Transformer层提炼出数据中的时间顺序信息和不同时间点的关系。
<div
align=
center
>
<div
align=
center
>
<img
src=
"./doc/timesfm.png"
/>
<img
src=
"./doc/timesfm.png"
/>
</div>
</div>
## 环境配置
## 环境配置
注意:本仓库中的tensorflow只应用于长期基准测试读取数据集,运行源码发生了OOM错误,目前认为是tf-gpu与jax-gpu的内存分配冲突导致:-
[
GPU memory allocation — JAX documentation
](
https://jax.readthedocs.io/en/latest/gpu_memory_allocation.html
)
注意:本仓库中的tensorflow只应用于长期基准测试读取数据集,运行源码发生了OOM错误,目前认为是tf-gpu与jax-gpu的内存分配冲突导致:
[
GPU memory allocation — JAX documentation
](
https://jax.readthedocs.io/en/latest/gpu_memory_allocation.html
)
。解决方法:
解决方法:
```
```
1、安装tf-gpu,但在timesfm/experiments/long_horizon_benchmarks/data_loader.py中添加:
1、安装tf-gpu,但在timesfm/experiments/long_horizon_benchmarks/data_loader.py中添加:
tf.config.experimental.set_visible_devices([], "GPU")
tf.config.experimental.set_visible_devices([], "GPU")
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment