1 min read

TimesFM 的 token 设计:连续时序的 patch 范式

TimesFM 在 token 设计上与自然语言处理存在根本差异。

自然语言处理中的 token 为字符或子词,属离散符号,经词表映射为向量。时间序列由连续实数构成,不存在可直接对应的离散符号体系。

TimesFM 将时序切分为固定长度的片段,称为 patch。以 32 个时间点为一段,该片段在 Transformer 中占据一个位置。片段内的浮点数经由残差多层感知机投影至模型维度,直接作为输入。

输出端相应地预测下一个 patch 的数值,训练目标采用均方误差。

Chronos 采取另一条路径:将连续数值分桶并映射为离散 id,随后完全沿用文本建模的流程。TimesFM 则保留连续空间,未做量化处理。

采用 patch 的缘由有二。其一,原始时序长度较大,若以单个时间点为 token,注意力计算成本过高。其二,单个时间点所承载的信息有限,聚合为片段后方可呈现局部模式。

论文中有一句表述:“A patch of a time-series is a natural analogue for a token in language models.” 这一类比仅在序列位置的意义上成立,二者底层的数据类型始终不同。