时序大模型论文阅读笔记

jkm Lv2

前言

基于一段已有成果的科研项目进一步开发。在此前的工作中,我们构建了一个深度学习模型,完成了一个时间序列异常检测任务,发了篇论文。随后指导教师提出能否利用LLM的通用能力完成时间序列的zero-shot或者小样本微调,应该也是想要蹭一下大模型,毕竟现在大模型实在是太火了。于是研究方向转为时序大模型。


从一篇综述开始

1. Overview

来源论文:Large Language Models for Time Series: A Survey, 2024.12
将现有的工作分为了:Prompting、Quantization、Aligning、Vision、Tool。
重点考虑前三种方法。

2. 分类

2.1 Prompting

  • Number-Agnostic Tokenization:把数字直接当数字去tokenize,不做任何处理,只是设计一套模版。如:

    “From to , the average temperature of region was degree on each day. What is the temperature going to be on ?”

    这种方法肯定不好使,大模型在tokenize数字之后就失去了数字的特殊意义,这也是为什么在gpt刚问世的时候会出现1+1=3的情况。
  • Number-Specifc Tokenization:对数字进行一些处理。例如:

    “0.123, 1.23, 12.3, 123.0” –> “1 2 , 1 2 3 , 1 2 3 0 , 1 2 3 0 0”

    这种情况就是强制把所有数字都转化成保留小数点后两位。效果肯定是比第一种强的,但是具体有多大用不好说。
  • 评价:prompt工程,工作非常简单,模型架构没有任何创新,个人感觉效果甚微。

2.2 Quantization(量化)

本质上都是把一个向量形式转换成一个离散表示(例如一个索引)

  1. Discrete Indices from VQ-VAE
    • VQ-VAE:VQ-VAE 是一种用于生成模型的架构,它结合了变分自编码器(VAE)和矢量量化(Vector Quantization, VQ)技术。与传统的 VAE 不同,VQ-VAE 使用离散的潜在变量而不是连续的潜在变量来表示数据。
      • 编码器、解码器:与原始VAE相同
      • 矢量量化层:VQ-VAE 的核心创新点。它将编码器生成的高维特征向量转换为一组离散的潜在变量。具体来说,它通过查找表(codebook)中的最近邻向量来替换编码器输出的每个特征向量。
    • Auto-TTE:Text-to-ecg: 12-lead electrocardiogram synthesis conditioned on clinical text reports, ICASSP, 2023.3
      • 任务描述:由于真实的心电图(ECG)数据比较难获取,所以作者提出了一种由文本生成ECG数据的方式。
      • 模型架构:
        • 一个VQ-VAE学习ECG数据的离散表示
        • 一个自回归的Transformer Decoder,和llm一样采用ntp方式。将三部分tokens(病人tokens、文本tokens、量化的ECG tokens)生成quantized ECG token sequence
        • 一个 Hifi-GAN Decoder,根据quantized ECG token sequence重建序列
      • 评价:
        • 缺点:
          • 和我们做的任务大不相同;
          • 论文中只是阐述了模型构建方法,没有说为什么,感觉像是拼凑出来的;
          • 代码链接已失效
        • 优点:VQ-VAE的Encoder + HiFi-GAN的decoder可以借鉴一下?
    • DeWave:DeWave: Discrete EEG Waves Encoding for BrainDynamics to Text Translation, Neurips, 2023
      • 任务描述:EEG生成文本,略过
    • TOTEM: TIME SERIES MODELING AT SCALE: A UNIVERSAL REPRESENTATION ACROSS TASKS AND DOMAINS, under review at ICLR, 2024
      • 任务描述:专门为Transformer进行tokenize。
      • 编码
        • 模型输入:传感器数据,多维时间序列,

        • 展平:把数据沿Sensor维展平,数据变成

        • 模型架构:

          TimeVQ 的编码器 由步长为 的一维卷积组成,用于压缩时间序列。编码器 将一个单变量时间序列 映射到一个潜在表示 ,其中 是隐藏维度。潜在代码本 -维的码字 组成。在量化过程中,代码本用于替换 以生成 ,使得 ,其中 。 我们的解码器 遵循编码器 的逆架构,由步长为 的一维转置卷积组成,将量化后的 映射到重构的时间序列
        • 通过这个方式可以学习到一个代码本,可用于任意下游任务。

        • 疑问:为什么训练VQ-VAE要展平?原文没写。

      • 下游任务:分为了预测、分类、翻译三个,作者也提出了对应的三种Transformer。没有对应的代码不清楚细节。
      • 评价:
        • 未开源,很多实现细节不清楚
        • 模型构建的理由也没有写,Storyline不明确
        • 编码方式可以借鉴
  • Discrete Indices from K-Means
    • 都是音频领域的工作,略过
  • Discrete Indices from Other Techniques
    • FreqTST:MODELING TIME SERIES AS TEXT SEQUENCE: A FREQUENCY-VECTORIZATION TRANSFORMER FOR TIME SERIES FORECASTING, under review at ICLR, 2024
      • 任务描述:将时间序列从时域转化为频域,做时间序列预测
      • 模型结构:
        • 频率向量化模块:
          • 将时间序列进行快速傅立叶变换(FFT),然后构建一个频率字典。
          • 经过傅立叶变换后得到了一组频率,每个频率包含
          • 构建两个固定的频率字典:
          • 对于每一个频率 作如下计算:
          • 得到token序列,喂给Transformer Encoder
        • Transformer Encoder
        • Task Head(MLP):在频域上进行的tokenization,作者介绍了两个预训练任务来对齐时域和频域
          1. TSR,时间序列重建:从频域重建时域
          2. MPP,最大位置预测:关注如何学习时间序列的模式和找到序列的峰值。
        • 微调 or Zeroshot:区别在于task head是随机初始化的参数还是加载预训练参数。

2.3 Aligning(对齐)

  • Similarity-Matching:用一个时间序列Encoder,和LLM当作文本Encoder,得到两个向量。再通过一些损失函数让这两个向量对齐。
  • LLMs as Backbones:用大模型当Backbone网络,这部分工作应该是通过一个网络来使得时间序列与自然语言在空间上对齐。这种方式是当前比较多人尝试的赛道,主要原因可能是这种方式比较简单,只需要考虑设计一个对齐网络即可,LLM是完全冻结的或只微调一部分层,也可以节省一大部分计算开销。接下来的工作基本都是这种方式

GPT4TS

1. Overview

来源论文:One Fits All:Power General Time Series Analysis by Pretrained LM, Nips 2023
应该是最早的时序大模型,很朴素的一篇工作,用的是GPT2当Backbone,然后用时序数据进行特定层的微调。

2. Method

  • 输入分patch处理,对每个patch单独标准化
  • 输入嵌入层:查阅源码后,仅在imputation任务用到了,异常检测和预测都没有这层。后两者选用了直接填充的方式。
  • 训练阶段微调GPT2的位置嵌入层、LayerNorm层,冻结前馈神经网络与多头自注意力。
  • 任务:时间序列插补(imputation)、时间序列预测、异常检测等。

3. 总结

通过sft LLM进行对齐,比较粗糙。效果一般。


Time-LLM

1. Overview

来源论文:TIME-LLM: Time-Series Forecasting By Reprogramming Large Language Models

GPT4TS是对Transformer主干进行调整;TimeLLM是用现成的llama模型,将时序数据对齐到自然语言中。具体而言,TimeLLM提出了一种Reprogramming的方式,对齐时序数据和自然语言这两个模态,并设计了一个Prompt as Prefix的概念,利用大语言模型本身的推理能力处理时序分析任务。同样也是一个重要的Baseline。

TimeLLM本身是不支持异常检测的,仅有时序预测。

2. Method

  • Input Embedding:1和2对应的部分,时间序列 ,先通过RevIN,对每个通道进行归一化操作,然后分patch进行embedding,得到的时序特征为
  • Patch Reprogramming:对齐不同模态的一个常用招数是cross-attention,作者在这里把所有词的embedding和时序输入特征做一个cross-attention。然而,作者认为,词汇表很大,肯定无法直接将时序特征对齐到所有词上,而且也并不是所有词都和时间序列有对齐的语义关系,比如apple这个词完全就不需要。
    为了应对这个问题,作者用一个简单的linear层来抽取text prototypes(语义原型),过程如下: 相当于把 个词降低到了个prototypes。然后时序输入特征只需要和这些prototypes对齐即可。具体的cross attention的操作如上图序号3所示。这部分的示意图如下图所示:
  • Prompt-as-Prefix:这个环节为每个序列补充上了提示词作为前缀以增强LLM在下游任务中的表现,如下:

    文章设计的前缀提示词包含三部分:1)数据集总体描述;2)任务说明,让LLM适配不同的下游任务;3)统计描述,例如趋势、时延等,让LLM更好地理解时序数据的特性。
    然后把这个前缀和Reprogramming的输出结合在一起,输入进LLM,再经过一个projection即可得到预测的时序。

3. 总结

  • 这种结构下,仅需要训练额外加的模块(Patch Reprogramming和Output Projection),训练量小。
  • 代码齐全,并且github仓库很规范,已经被用作了baseline,后续重点考虑。
  • prompt + alignment,听起来挺厉害的。

TableTime

1. Overview

来源论文:TableTime: Reformulating Time Series Classification as Training-Free Table Understanding with Large Language Models, 2025.2, 中科大

时序数据分类任务:把时序数据转化为表格形式,然后通过一些其他手段来设计一个prompt,因为作者声称是可以避免对齐方法的若干缺点,所以也进行一下精读。

2. Background

虽然在之前的讨论中,我们一致认为将时序数据与文本空间对齐比单纯的prompt工程更有效。
但这篇文章却对“对齐”的方法进行了一些批判,主要有以下三个缺点:

  • 难以结合时间和通道特定信息,这两者都是多变量时间序列的重要组成部分;
  • 将学到的表示空间与LLMs的语义空间对齐是一个重大挑战;
  • 它们通常需要任务特定的再训练,这阻止了免训练推理,即使LLMs具备泛化能力。

针对以上缺点,作者还是在prompt上下文章。

3. Method

3.1 Context Information Modeling

  1. 时序数据 -> 表格
    这段感觉是在废话,时序数据本来也是表格。
  2. Contextual Text Information(上下文文本信息)
    • LLMs本质上缺乏特定任务的知识,且严重依赖明确的提示来引导其推理过程。在没有清晰指令的情况下,模糊或不完整的提示可能导致误解、无关输出或偏离任务要求。为了缓解这一问题,作者引入领域上下文作为提示的核心组成部分,明确提供特定任务的知识和必要的上下文,以确保准确的推理。
    • 领域上下文遵循一个严格的模板,组成如下:
      • 任务定义
      • 数据集描述
      • 类别定义
      • 通道信息(变量的含义)

3.2 Neighborhood-Assisted In-context Reasoner

LLMs在处理未见过的样本时,由于缺乏特定任务的示例,通常会遇到不确定性和难以捕捉复杂数据模式的问题。为了应对这些挑战,Neighborhood-Assisted In-context Reasoner(邻近辅助上下文推理器)被提出,旨在通过从训练数据中检索相关的邻居样本来提供必要的上下文指导,从而增强LLMs的分类能力。

作者提出了两个邻居检索的策略:

  • 仅使用正样本:通过相似性度量算法(如欧几里得距离)识别测试样本在训练数据集中最接近的k个邻居。 其中, 表示测试样本, 表示训练数据集, 表示相似性度量算法, 表示邻居的数量。
  • 对比增强机制:除了正样本外,还引入负样本来帮助LLMs更好地区分不同类别。具体步骤如下:
    • 使用K-means聚类算法对训练数据集进行聚类。
    • 选择来自不包含测试样本的簇中的负样本,确保这些样本具有足够的差异性
    • 公式如下: 其中,表示第 个簇, 表示该簇的质心, 表示簇的数量。

3.3 Multi-Path Ensemble Enhancement

借鉴模型集成的思路,该方法通过结合多个不同的推理路径,充分利用不同路径的优势,从而实现更准确和可靠的分类结果。每个路径可能是不同的模型,最后再用模型投票的机制集成答案。疑似是为了水文章提出的模块。

3.4 Prompt of Zero-shot LLM Reasoning

这一小节作者介绍了如何构建prompt,分为两部分:

  1. Task Decomposition:step-by-step process
  2. Prompt Design:模版如下图所示:

4. 总结

虽说是时序分类,但是和无监督异常检测的问题定义似乎也符合。
与纯prompt的工作还不太一样,比纯prompt工程多了一些步骤,作为一种In-context Learning。好处是开源代码,可以试验一下效果,应该也不太费成本。

对代码的一些疑问:

  • 没有requirements.txt
  • prompt仅针对一种数据(EEG),需要重写
  • 甚至启动函数没有启动代码
  • 一点注释都没有,函数参数也没有默认值,不清楚应该怎么传。
  • 代码开源程度不高,完全跑不通。

Time-FFM

1. Overview

来源论文:TIME-FFM: Towards LM-Empowered Federated Foundation Model for Time Series Forecasting, Nips 2024

2. Method

2.1 模型架构

  • 模态对齐:通过channel-independent技术,将多元时序拆分成单元时序分别进行处理。然后将每个输入序列划分成若干个步长相等、互不重叠的子序列(称为patch)。每个patch可以类比为NLP任务中的一个单词。最后通过全连接层将patch映射到预训练LM的输入维度。

  • prompt自适应:为了提高LM对patch token的理解和推理能力,需要针对不同领域的数据设计合理的prompt。目前的相关工作均需要根据领域知识人为构造一些指令作为prompt增强LM对patch token的理解[2][3]。本研究考虑这些指令是对原始时序数据统计属性的描述,而LM仅能获取到经过处理后的patch token。因此更合理的方式应该是站在LM对patch token理解的角度去构造prompt。LM对输入token理解的媒介主要是预训练的词库,因此本研究通过cross-attention去评估词向量和patch token之间的相关性,并选出最相关的k个词向量作为prompt。另一方面,这种方式能够更好地适应到未知领域的时序预测。

  • LM 主干:在整个训练过程中,该模块处于冻结状态。在本研究的实验中,使用预训练的GPT2的前6层transformer作为主干。

  • 个性化预测模块:为了保证模型能够学习到跨领域数据的通用时序表征并生成领域特定的预测结果,在训练过程中,各领域仅交互模态对齐与prompt自适应这两个模块的模型参数。每个领域保留自己的预测head。

2.2 联邦学习

服务器首先将当前的全局参数分发给所有 个参与方,每个参与方接收全局参数并结合自身的局部头部参数进行预测和更新。具体来说,这包括模态对齐、提示适应以及从LM骨干获取表示等步骤。

在本地更新完成后,各参与方将其更新后的参数上传至服务器。

对我们没有太大的帮助。


UniTime

1. Overview

来源论文:UniTime: A Language-Empowered Unified Model for Cross-Domain Time Series Forecasting, WWW, 2024.2
主要的贡献是,对于不同的数据集,仅训练一个模型,该模型可以自适应的根据prompt预测来自不同领域的数据。

可以利用这篇文章提出的模型验证两个问题:

  1. 在其他数据集上训练的模型,能不能zero-shot到我们的数据?
  2. 在其他数据集+水合物数据上训练的模型,效果是否比仅在水合物数据上训练的模型更好?即,混合其他数据集能否对我们的数据产生指导?

2. Background

三点motivation:

  1. 不同领域在数据特性上存在差异,例如变量的数量,这对现有模型提出了难题,因为这些模型对这些因素施加了不灵活的约束。
  2. 模型可能难以区分来自不同领域的数据,导致在评估中表现不佳。
  3. 不同数据的收敛速度不同,也可能导致实证性能下降。原因是一些复杂的数据需要练很多轮才能收敛,然而这个时候一些简单的数据可能就过拟合了。

3. Method

3.1 Time Series Tokenizer

  • 对于输入依然是CI(Channel Independent) + 分patch的处理
  • 不同的是这次的tokenizer引入了一个binary indicator,这个模块有两个作用:
    • 当作输入的mask,可以让模型仅依赖于部分输入,有助于缓解2. Background部分的第三点问题

      For example, domains with simple and regular patterns may converge swiftly, followed by a tendency to overfit, while others may demand more iterations to achieve convergence. Such an imbalanced learning process results in compromised cross-domain forecasting performance. To alleviate this problem, we propose to employ masking to compel the model to depend only on partial input.

    • 作为一个indicator,告诉模型哪些位置的输入被mask掉了。

      serving as a binary indicator to make the model aware of which positions are masked.

3.2 Language-TS Transformer

  • 如同它的名字一样,没有什么创新点,就是把语言token和时序token拼接起来,也没有用到后续工作中的cross-attention,原文这部分的大部分公式都是原始Transformer的公式。
  • 选用GPT2

3.3 Decoder

作者先说明了为什么不能用MLP当Decoder:

  • token的长度不一样
  • pred_len也不一样

所以,对于第一点,作者设置了一个maximum token length,设为R,然后用填充法将Language-TS Transformer的长度填充至R。随后作者用了一个轻量级的Transformer,将Padded Token作为输入,这一步是为了告诉其他token填充token的存在。

This step serves to inform the other tokens about the presence of the padding token.
这一句话没太看懂,是因为有了padding token的存在所以只能用Transformer了吗?换言之,Transformer具有区分padding token和普通token的能力,而MLP没有?

对于第二点,小Transformer最后的输出仍然是固定的,假设输出 个结果,pred_len不足 的就截取前pred_len个。

这一章作者的storyline其实写的不是很清楚,提出的问题和解决方法没有完全对应上,当然,我觉得整篇文章的storyline也一般。

3.4 Training

从图中也可以看出,这篇文章既要预测未来的步骤,也要重建历史序列。

Moreover, we simultaneously predict future values and reconstruct past histories, encouraging the model to align its predictions with the observed historical trends

所以,这篇文章的损失函数就是预测部分+重构部分的mse,非常简单。

不过这也为我们后续改成异常检测任务提供了便捷,只需要把pred_len设成0应该就可以了。

4. Experiment

在实验部分,我们仅关注Zero-shot任务的实验:

这部分实验中,作者用ETTh1, ETTm1, and ETTm2作为训练集,ETTh2、Electricity和Weather作为测试集,分别代表和训练集数据比较类似、有一点类似和完全不沾边。可以看到模型UniTime比Baseline模型确实是要好一些。
但从论文中Main Results的表和这个的表的对比来看,Zeroshot肯定是不如训练后的模型。


Moment

1. Overview

来源论文:MOMENT: A Family of Open Time-series Foundation Models, ICML 2024, CMU
一个开源的时间序列大模型,与其他专注于forecasting的模型不同,这篇文章对标GPT4TS,致力于处理任何时间序列任务。
模型开源到了hf,并且有完善的tutorials,重点考虑。
有几种思路:

  1. 直接用它的anomaly detection
  2. unsupervised or few-shot classification
  3. 或许可以试一试他的representative learning,接入此前的VAE框架。

2. Background

  • Transformers and patching for time series modeling:由于Transformers的自注意力机制是的复杂度,所以把一个子序列作为一个token而不是单个时间点是一种效率更高的做法。

  • Masked Representation Learning:一些工作用对比学习或零填充的方式。作者用了 token来预训练模型。有点像Bert。

  • Cross-modal transfer learning using language models:作者先介绍了ORCA,这是一种先学习嵌入网络、再微调预训练模型的方法;第二种就是reprogram的方法(跟Time-LLM一样)。作者认为这些方法需要大量的计算资源。值得一提的是,作者在这一节提出了三个发现,比较有意思:

    • 通过时序数据训练的Transformer也能跨模态建模其他模态的序列;
    • 在预训练过程中,随机初始化的模型权重比加载语言模型的模型权重效果更好,有更低的pretraining-loss;
    • 用时间序列预训练的模型比用LLM的方法效果更好。

    个人认为,如果这三点属实的话可能说明此前我们想通过LLM的通用能力来zero-shot的思路是行不通的。不过看起来时序数据的scaling laws仍然存在,只不过我们需要用时序数据来预训练。

3. Method


模型的整体架构还是比较简单的,看图基本能看明白。有以下几个点:

  • Transformer Encoder没有用原生的架构,采用了修改版的。即去掉了LN层的额外偏置,并且把它放在了残差连接的前面。用了相对位置编码。
  • 输入的time steps是固定的,512。对于更长的序列,就进行下采样,对于短的序列就在左侧填充0。
  • 同样采用了通道独立的方式。
  • 作者没有用与Encoder大小相同的Decoder,而是用了一个轻量级的prediction head。初衷是对于不同的下游任务,微调Transformer Decoder可能需要更多的数据,微调一个MLP就轻量多了。
  • 除了采用了相对位置编码外,还加上了原始Transformer的三角函数位置编码。这步挺有意思,作者承认了一开始是不小心把绝对位置编码加上的,但后续实验结果发现把两个都加上反而更好。可以说很诚实了。

    We initially included absolute positional embeddings by accident, but subsequent experiments showed that combining absolute and relative positional embeddings improve predictions.

这篇文章也让我思考,现有的LLM都是Decoder Only的架构,真的适合TS任务吗,可能用Encoder Only的架构会更好?这个问题仍是一个未知数。

预训练:在预训练阶段,任务就是还原那些被mask掉的序列,用MSE作为损失函数。有点像Bert。
微调:对于预测,把reconstruction head换成了forecasting head,即把 N 个 D 维的向量展平成 N x D 维的向量,再过一个MLP。

4. Experiment

  • classification:作者认为,在分类阶段,Moment可以在Zero-shot的情况下,学习到不同class数据的表示。在论文主体阶段,作者用了SVM来进行可视化,衡量了模型的分类能力,但在附加材料里是有accuracy的定量实验的。
  • scaling laws:作者认为,和LLM一样,时序数据依然存在scaling laws,即更大的模型效果更好。
  • 跨模态:作者在MNIST、CIFAR-10(图像分类)和IMDb(文本分类)数据集上证明了用时序数据预训练的Moment可以媲美相似大小的GPT2和Flan-T5。
  • 初始化:MOMENT with randomly initialized weights converges to a lower training loss.

    是否说明了在语言数据上预训练的模型在时序上效果不佳?


一些总结

时间序列应该来说还是一个比较热门的领域,虽然肯定不如cv或者nlp那样火,但每年NIPS、ICLR里都有几篇时序论文的身影。我的本科科研生涯和时间序列还是比较有缘分的,两篇能发出来的论文还正好都是跟时间序列相关的,加上时序大模型,可以说本科几乎一半时间都研究时序了。虽然我在这个领域也几乎没什么建树,但接触的时间应该还算是比较久了,自然也有一些心得,在这里分享出来。

以下全部言论均仅代表我本人,在2025年6.12日的个人想法!说不定几年后我自己都嘲笑自己了!!

1. 当前的时序大模型里,很大一部分都是用语言模型当Backbone,可行吗?

LLM as Backbone就如同GPT4TS和TimeLLM那样,用现成的预训练的LLM来进行对齐。

目前这种方式能这么火,个人认为是大家都看到了语言模型在图像处理领域的成功,从ViT到现在的多模态大模型,基本都是用的一个桥接器 + Frozen LLM,这样做的效果也挺不错,所以大家就想能不能设计一个时序模型的桥接器。但对于这点我是存疑的,我并不认为时序与语言空间能实现对齐。或者说,从我尝试了多个模型的初步结论来说,这种方式的效果确实一般,于是我不得不怀疑这种方式的可行性。多模态大模型,最后也终究是落回到了输出语言上,比如VQA任务,时序大模型输出的仍然是时间序列,并非语言,所以我认为这种方式不可取。

当然,Moment这篇工作中,作者也做了实验,现象是随机初始化的Moment模型,相比于加载预训练权重的Moment模型,在训练阶段收敛到了更低的损失。我觉得这个实验也在一定程度上说明了,在语言模型上用大规模语料库预训练的模型在时序任务上不一定能好使。

此外,当前的语言模型都是 Decoder Only的架构,这种架构一定适合时序任务吗?目前是未知的,至少Moment用的是T5架构而非语言模型,不管是在Benchmark还是在我们的项目数据上表现都强于GPT4TS与TimeLLM。

由开篇提到的综述来看,还有一种方式是Prompt,我觉得这种方式更是扯淡。我目前是不太相信prompt对于模型能起到很大的作用的,尤其是处理prompt里的数字,应该现有模型还不能很好的应对这点。

综上所述,我不太看好这种方式。

2. 时序大模型会存在吗?

那么再进一步,时序大模型这个概念到底成立吗,我们能见证时序大模型的到来吗?

我个人目前来说,对时序大模型也是持悲观态度的。首先“时序大模型”这个概念也是从语言大模型衍生而来的,既然号称大模型,就肯定不能只对某几个特定数据集有效,而是应该处理绝大多数时序数据集。但我个人始终认为,语言还是相对有限的,就比如说语言模型里会规定vocabulary table,它可能很大,一般有十几万个,但也是有限的。但时序数据的范围肯定要比语言模型的vocabulary size大很多,所以时序大模型应当是要比语言大模型难很多的。

此外,不仅是范围,时序数据也是更没有规律的。语言还是遵循一个基本的语法结构的,我认为是有一些模式可循的。所以目前的大语言模型也只是做到了让输出看起来很合理,但实际是否正确还有待检验。就比如大模型输出1+1=3,看上去肯定是合理的吧,但是不对。说回时序,那么时序这个东西哪有规律呢?不同的数据集之间差异太大了,很难找到一个可遵循的模式。

其次,语言模型的成功主要归功于海量的语料数据库,这个东西在时序数据有吗?我认为很难构造,原因就在于上一点,语言还是有一定规律的,你可劲给模型喂,模型是能记住基本语言模式的,至于不同的知识点,只要尽可能涵盖到,模型也能记住。这也就是我们常说的scaling law,通俗来说就是大力出奇迹。但对于时序数据,自己随便写上几个数也是一个时间序列数据,这个世界上太多时间序列数据了,这样拼凑起来的语料库模型能学到啥?所以我认为scaling law在时序数据上很难体现

综上,我个人认为时序大模型无疑是更更更难的,当然我很期待我被打脸的那一天。

3. 时间序列领域的价值?

时间序列领域里有很多子任务,比如预测(forecasting)、异常检测(anomaly detection)、分类(classification)、填充丢失值(imputation)等等。但万变不离其宗,这几个任务之间区别不太大。

对于时序数据,我个人的一些理解都已经写在前面了,总的来说就是我觉得时序数据之间相差太大,很难构建起一个统一的模型。因为我们的科研项目中是要在自己的数据集上进行适配的,大多数在Benchmark上刷到sota的模型,换到我们的数据上表现都很烂。从这个角度来说,如果这一领域的工作都不具备优秀的泛化性,那么这个领域的意义也就不会很大。

当然这里我想说的不只是时序本身的问题,而是当前时间序列的工作很多都是各种trick堆积起来的。就比如AnomalyTransformer这篇工作,测试部分的Detection Adjustment代码,这段根据gt调整预测结果也真是颠覆了我的深度学习认知了。具体请参考这篇工作的github,已经有很多人提了issues。我在逛小红书的时候也看到很多人吐槽时间序列领域乱象频出,甚至点名了thu,想必也是天下苦时序久矣。

总的来说,时间序列肯定是有应用价值的,但落地程度怎么样就很难说。反正我之后是肯定不会碰这些问题的。

  • 标题: 时序大模型论文阅读笔记
  • 作者: jkm
  • 创建于 : 2025-06-12 19:55:48
  • 更新于 : 2025-06-13 00:15:32
  • 链接: https://goldenkm.github.io/2025/06/12/TS-LLM-Note/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。