1

时间序列 AI 技术与大模型:蚂蚁集团的实践与应用探索

 1 month ago
source link: https://www.6aiq.com/article/1710390872447
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

时间序列 AI 技术与大模型:蚂蚁集团的实践与应用探索

导读 本文将分享蚂蚁在时间序列 AI 技术方面的实践,包括 AntFlux 蚂蚁时序智能引擎和时序技术在具体业务上的应用。

本文会围绕下面五个部分展开:

  1. 时序价值意义

  2. 时序 AI 技术

  3. 时序算法平台

  4. 时序业务应用

分享嘉宾|刘雨博士 蚂蚁集团 算法专家

编辑整理|王丽燕

内容校对|李瑶

出品社区|DataFun


01

时序价值意义

1. 时序产业价值

image-61cb3779d94c4d8aa46b873ef72cc420.png-imageStyle

来自麦肯锡的一篇报告显示:时间序列是仅次于结构化数据的一种重要的数据类别,价值高于图像、视频、文本、音频。

2. 无处不在的时序

image-85d72e7c4cdf4ce39ed7ec6a8bdf061a.png-imageStyle
image-f98f568bc27c41849c95ac06a43f42bf.png-imageStyle

人类生活中时序无处不在,比如视频、音频、机器人行动轨迹、心电图、太空旅行、金融上的股价序列等,另外还有天气预报、交通能力预测、供应链管理、自动驾驶也都需要用到时间序列预测。

3. 蚂蚁集团视角的时序应用

image-0e38671b185a4ee4af01f69c04c18964.png-imageStyle

时间序列在蚂蚁集团的应用场景包括:

  • 用户服务层:在财富投顾和保险投顾方面精细化服务用户,通过微观层面对用户的需求做推断和用户资产配置。
  • 业务运行层:有消金、财富、网商业务部门,需要对资金流动性做预测、对业务资源做精细化管理。通过宏观总量进行预测。
  • 云计算基础设施:会应用 AI 弹性容量来提升资源的利用效率。也是通过宏观总量进行预测。

基于上述需求场景,我们需要用时间序列技术来解决问题,时间序列分两类:

  • 异步时间序列:比如用户的行为序列、故障的日志。每个事件发生的时间间隔是不等的。对应解法是通过点过程(neural point process)算法,学习连续时间上的联合分布(行为发生的时间和事件的类型)。
  • 同步时间序列:每个数据点发生的时间间隔是相等的。因为蚂蚁集团的数据量庞大,一般会用全局模型,即用一个模型建模所有序列。

基于上述广泛的业务应用需求,我们开发了工业级的时序算法平台------AntFlux,它提供了先进的时序算法和跨领域解决方案,支持大规模计算,提升了研发到应用的效率和质量,助力用户持续创新。

02

时序 AI 技术

1. 时间序列发展

image-e58f4895331e4c988b989b8cbaffe013.png-imageStyle

(1)时序统计模型

Holt-Winter(三次指数平滑法)于 60 年代产生,1982 年 ARIMA 算法产生。这类模型有以下特点:

  • 都是统计模型,对每个系列单独建模,无法充分挖掘数据内蕴含的可复用的规律。
  • 具有较强的先验假设,需要预先设置一个分布。
  • 无法有效解决冷启动问题。比如出现一个新商品,因为没有历史数据,所以无法预测其销量。
  • 当序列规模庞大时,需要对每个序列单独建模,模型运维成本大。

(2)时序深度模型

2018 年,就到了时序深度模型的阶段。比如 TCN、N-BEATS、DeepAR、Autoformer、Informer、ETSformer、NSformer、PatchTST、Corrformer 等模型出现。其特点如下:

  • 针对不同场景,利用大规模数据构建统一模型,可充分挖掘数据内蕴含的规律,能够解决冷启动问题。
  • 模型没有强先验假设,自动提取特征,在复杂大规模时序建模场景效果好。
  • 无法跨场景迁移应用,不同场景需要独立构建模型。
  • 无法处理不同类型时序任务(预测、分类、异常识别)。

(3)时序大模型

2023 年,开启了火热的大语言模型阶段,有 TimesNet 模型(清华开发)、LLM-Time 模型(蚂蚁集团和莫纳什大学联合开发)、iTransformer 模型(蚂蚁集团和清华合作开发)等。时序大模型有以下特点:

  • 利用跨场景超大规模的数据构建大规模参数的模型,具备跨场景泛化、多任务处理能力。
  • 可以更好地利用多模态的数据,比如金融场景利用金融市场数据、研报等,在电力场景利用电力、气象等不同模态的数据来提升预测效果。
  • 提供了开箱即用的学习分析服务,应用者无需建模。

2. 蚂蚁集团自研时序 AI 算法

image-c76c6440c91647fbbc43967704cd30eb.png-imageStyle

上图是蚂蚁自研的时序预测算法总纲,这些算法都是为了解决一些业务中存在的问题,通过业务问题来抽象技术需求,然后对每个技术需求针对性地开发模型,提供核心能力解决对应问题。比如:

  • 新时序持续出现,如何在持续数据不足的情况下进行预测,就需要大规模时序联合建模的能力,因此我们研发了 APTN、DeepAR+、BiDA、EMSSM 等模型。
  • 有时候序列的变量可能是数据精度不够高,需要协变量和外生因子来提升预测性能,于是开发了一些模型提供多元混合复杂时序建模能力。
  • 预测值具有不确定性,所以我们提供了概率预测能力,在预测的时候不只是提供一个点的预测值,而是会提供一个预测的分布。比如 EMSSM(深度状态空间模型),TF-EBM(深度能量模型)。
  • 层次化时间序列模型:Hier-Transformer-CNF、SLOTH、FlowHTS 模型。适用于一些序列天然存在结构化关系的情况,比如一个国家的旅游总人数,是由每个省的旅游人数加起来得到的,所以就对应开发了层次化的时间序列模型。
  • 异步时间序列模型:NHPI、HYPRO、PromptTPP、LAMP 模型,用来处理时间间隔不等长的时间序列模型。并且与目前流行的大语言模型融合,增强了对长时事件序列的预测能力。
  • 时间序列大模型:Time-LLM、iTransformer。

(1)时序大模型:Time-LLM 多模态&跨领域一元时序预测

image-f884d0c789ef47e8a2bf0ecd67416f7a.png-imageStyle

Time-LLM 模型是通过重编程(model reprogramming)大语言模型来实现时间序列预测的时序基础模型。

Model reprogramming 是 cross modality(跨模态)的一种能力,通过源数据预训练好的模型来把这个模型应用到另一个 modality,不需要进行 fine tuning。其核心有两点:一个是 input transformation(输入转换),把 target 数据转成 LLM 需要的那个表征(源域表征),然后传入大语言模型;第二个是 remapping layer(输出映射),大语言模型输出预测值之后,它还在 source (源域)的 modality,再通过一个 output remapping 把结果重新映射到 target 需要的那个 modality。

Time-LLM 结合了文本和时序。一般大语言模型训练样本基本上都是文本,对数字天然不敏感。而 Time-LLM 用 model reprogramming 把大语言模型应用到了时序预测上。其核心设计为:

  • 结合了 prompt 和时序输入。prompt 加上输入的时序窗口统计特性,比如输入这段序列的均值方差、这段时序上升下降趋势等等,给到一些统计知识,用文本的方式表达出来。
  • 把时序打成 patch(分块),然后做 patch reprogram,更好地把时序的表征和大语言模型需要的表征 align(对齐),再把时序和文本两个表征拼接,输入到大语言模型,大语言模型本身是冻结的,不需要 fine tuning,然后产出预测值。最后是 output remapping layer(输出映射层)输出最终的结果。

模型具有如下一些优势:

  • 新颖:引领"语言+时序"的多模态基础模型新范式,将时序预测转化为"自然语言"任务。
  • 轻量:利用既有的预训练语言大模型,无需微调,节约资源。在论文实验中用的是 LLAMA-7B 模型。
  • 预测性能佳:在主流时序预测任务上取得优异效果。
  • 泛化能力强:具备良好的跨领域迁移能力,在少样本(few-shot)与零样本(zero-shot)任务上取得领先效果。
image-1af9f19315f44c1185121c3bfa954ad8.png-imageStyle

论文中有更多实验结果,这里仅截取其中 3 个任务:

  • 长时预测:测试了 8 个数据集(ETT、Weather、ECL 等),图上红色代表误差最小的。可以看到 Time-LLM 模型在长时预测取得与当前领先模型PatchTST 相当、甚至超越的预测效果。
  • 短时预测:用的是 M4 数据集。基准模型中 GPT4TS 是阿里出的针对时序的大模型,这个模型和 Time-LLM 有区别,它对大语言模型做了微调。从上图可以看到,Time-LLM 在短时预测也是最好的。蓝色标注代表的是效果第二好。
  • 跨场景零样本迁移预测:上图可看到在 ETTh1 训练,再在 ETTh2 预测也是 Time-LLM 的效果最好。

(2)时序大模型:iTransformer 通用多元时序预测

image-9c88dbd697054f209876d956779c28dd.png-imageStyle

之前很多 Transformer 的时序模型,在做多元时序预测都是以时间步为中心的表征,把每个时间步 t,当成一个样本,然后再做 tokenization。但 iTransformer 模型不一样,它是以变量或者时序为中心,把整条时序当成一个变量,再做 tokenization。先前做法的缺点为,同一个时间步内多元分布是不同的,而且可能每条时序的量级差别很大,很可能造成学习到的表征效果欠佳。所以之前有学者质疑Transformer 在实际上的效果,并指出完全基于 MLP 的模型,效果比Transformer 还要好。

把每条时序当成一个变量做 tokenization 之后,用多元的 attention 来学习到时序之间的 correlation。每生成一条单独的序列,再对每条序列做单独的建模,可以并行化的预测,又能提高 Transformer 的效率。

image-c64f06b86e7044bd98324873cc714b76.png-imageStyle

上图是 iTransformer 的整体架构,右边 Transformer 模块基本没有改动,最主要的改变在数据输入层,以每条时序变量为中心来建模。模型效果在几个典型的公开数据集上取得了领先或者第二的效果。

另外一个特点是以变量为中心,比如在训练的时候,只用到 20% 的序列做训练,在预测的时候,可以对100% 的序列做预测,可泛化到未见过的变元预测上,也是取得了领先的预测效果。

(3)时序 AI 技术:Memory Augmented State Space Model(IJCAI2022)长程时序概率预测

image-75632aa44d3349498d292ec1104f04ec.png-imageStyle

下面介绍状态空间模型,属于结构化的时序模型。

  • 第一类是典型的基于 RNN 的模型,其主要缺点是预测下一步的时候需要用到前一步的预测值作为输入,这样就会造成误差累积,对 memory (内存)要求比较高,而且要串行计算,所以效率不够高。
  • 第二类是典型的基于 Transformer 的模型,它具有一定的可解释性,可以用 attention weights 来产生每个变量的重要性。相对 RNN 来说避免了误差累积问题。
  • 第三类是典型的 Deep State Space Model(深度状态空间模型),这是一种结构化的时序时间序列模型,它最大的优点是具有可解释性,特点是不直接对观测变量做建模,而是对隐变量建模,观测变量则通过隐变量来生成。这个模型具有一些优点,比如 data efficient,可避免误差累积,对异常值 robust,并且能处理缺失值。
image-404d77efa68a446d920dd70fb9df59ec.png-imageStyle

为什么需要开发 Memory Augmented States Model?传统的状态空间模型要满足马尔科夫假设,即下个状态只跟当前状态或者之前有限步的状态有关,这是 fixed-order 马尔科夫过程。在解决一些长程依赖的问题时就有局限性,效果不够好,所以我们就利用一个外置的记忆模块以(key, value)的形式来记忆更久之前的隐状态,开发了 Memory Augmented States-space Model。

image-67ff45ce4e6c4d3d946b6286228003fc.png-imageStyle

这个模型最主要的特点是有 external memory,比如我们要预测未来某个节假日某种商品的销量,这与去年同个节假日的销量是强相关的,至少有 1 年的相关性。我们在外部记忆模块把去年模型训练产出的隐状态、RNN 产出的 h、状态空间模型的隐变量 z,通过外置记忆模块 (上图中的红框)保存下来。然后在预测今年的时候,通过当前 RNN 输出 ht,相当于是一个 local memory,然后 local memory 来 query 外置 g 模块里内容,相当于是 global memory,结合 local memory 和 global memory,产出当前的隐状态,然后再产出观测值。通过这种方法解决长程预测问题。

(4)时序 AI 技术:SLOTH (AAAI 2023) 在层次化结构上进行时序预测

有些时序是天生的层次化的结构,比如商品零售是一个大类商品,它包括各个小类商品,各个小类商品又可以向往下一层类目细分。商品零售总销量是用各个小类的商品销量聚合而成的。为了解决这种层次化结构时序预测问题,我们开发了层次化时间序列模型------SLOTH。

image-dc2477eefef74caf803aee493670f45d.png-imageStyle

该模型的特点为,利用时序的层次化结构,充分融合时序的层级之间的信息,增强表征能力。除此之外,模型的预测模块还与下游决策模块相结合。因为一般用时序预测,还会有后续的决策过程。之前大部分模型,预测和决策是分开的,但是这个模型会在预测值产生之后,直接输入到下游的决策模块,下游决策模块是一个优化问题,用了一个 OPTNet,把优化的 loss 回传到时序训练模块来,即实现预测和决策一体化建模。

image-316de91d8c8e4d759526232a430ac0ad.png-imageStyle

上层是下层聚合而成的,所以上层的序列一般比较稳定,而下层时序特点可能不是很明显,所以我们会用 bottom-up attention,top- down convolution,来把上层的信息和底层的信息相互融合。

image-772c2ac2b7c44671bc310a8ffd9dcd10.png-imageStyle

从上图可看出 SLOTH 模型的效果基本上是最好的。

03

蚂蚁时序智能引擎:AntFlux

1. AntFlux 是什么

image-31d06984a24b474b94c7f95e3b499516.png-imageStyle

AntFlux 是蚂蚁集团的一个时序平台,主要包括下面几个模块:

  • Insight 时序洞察:主要用于时序分析,比如异常检测、数据处理特征、时序特征生成。
  • Forecaster 同步时序建模:具有丰富的时序算法,用于自动化地构建模型。
  • 我们 AntFlux 的预测 SDK,具有丰富的前沿以及自研的时序算法,可以针对不同的场景/数据选择合适的模型。
  • AntFlux-ATS 异步时序建模
  • Components 时序 AIStudio 组件:给业务算法用的时候,不需要写代码,直接把那个组件拖拉拽就可以建模整个预测任务。
  • WorkFlow 时序工作流
  • Research 算法研创
  • Community 内源&社区

2. AntFlux 架构

image-a62f42e9a7db445d962ee550f315d3ec.png-imageStyle

上图是 AntFlux 的架构,包括依赖的底层平台、基础设施,用到的模型,还有在蚂蚁业务应用上所产出的解决方案。

3. 一站式服务

image-74ba9e64549f49afb8f2a9c802a90fd3.png-imageStyle

我们提供一站式服务,支持多种数据源,然后定义模型、训练、评估、部署、调用。在生产系统部署完,还需要对模型的性能做监控和运维,及时诊断模型。

4. 产品家族

下面简要介绍几个重要的产品模块。

(1)AntFlux-Forecaster

image-5224b35e202542ecbc007ab4648e1f76.png-imageStyle

AntFlux-Forecaster,覆盖了完整的时序预测建模流程。

image-4238d4153e6d42d89c196a46126625d7.png-imageStyle

我们从技术需求出发,抽象出了如上图中所示的核心能力,针对所需的核心能力内置了一些算法,包括自研的和一些业界流行的算法。

(2)AntFlux-Insight

image-09bcf7bce9ca41ce84c004121655d179.png-imageStyle

AntFlux-Insight 模块主要用于前期的时序分析,包括时序表征、时序检测和模型诊断。

(3)AntFlux-AI Studio Components

image-31aa63e21608444fb84cb4b2292714f8.png-imageStyle

AntFlux-AI Studio Components 可以通过形象的拖拉拽的方式进行建模和模型部署。同时我们还开发了自动时序建模组件 AutoTS,可以自动选择合适的模型,自动调优超参数,以及模型集成的能力。这些组件大大简化了时序建模的步骤,即使非时序专业人士也能轻松建模。

(4)AntFlux-WorkFlow

image-e3baa1bff7e9479883cfd07cb8eb5c67.png-imageStyle

AntFlux-WorkFlow 是一个时序工作流。

5. 竞品对比

image-ee9a53fa6a854159ae84a68bca731c9d.png-imageStyle

上图展示了 AntFlux 平台与其他国际领先的时序平台的功能对比,可以看到,AntFlux 的功能是非常全面的。

04

时序业务应用

1. 业务赋能

image-2f9a19cb85e344bb943946be21fe4535.png-imageStyle

时序应用分三个大类:

  • 时序洞察:向历史和当下要价值。比如异常检测、态势感知、热点挖掘(比如根据支付宝流量数据来挖掘出当前的热点事件)、归因分析等。
  • 时序预测:向未来要价值。比如绿色计算-AI 弹性容量(根据业务程序的流量来动态自动化调整所需要的服务器个数)、精细化的资金管理、风险定价、成本管理、供应链管理等。
  • 时序决策:向空间要价值。比如预测性规划(比如资金演绎预测出来每个渠道对应的银行卡支付的流量,然后预测性规划来判断哪一个渠道是最优的)、预测性控制等,来辅助业务自动化执行,帮助公司降本增收。

2. 绿色计算

image-67eb8e7f84724467af498949cf997472.png-imageStyle

绿色计算,是通过 AI 技术预测需求并自动化调度的一项实践,以帮助蚂蚁达成碳中和目标。

image-4bdc1f0b42a94dc49e0a37ae97eaa2c6.png-imageStyle

从上图中的流量图可以看到,有了弹性容量后,可以精准地进行弹性伸缩,使 CPU 能够保持在稳定的状态运行。

05

Q&A

Q1:TimeLLM 是否有可能适配多元时间序列,如果利用文本对多元时间序列进行描述,是否需要兼顾单序列描述和多通道序列间关系的描述?

A1:Time-LLM 目前是只支持一元的。我们是第一次尝试,后续我们会想把它适配到多元的。多元的时候有一个困难的点:在 prompt 设计的时候,除了这种单条序列的那种统计特性,可能需要我们把时序跟时序之间的这种相关性给描述出来,来辅助大语言模型的推理能力。

Q2:当前的文本似乎更倾向于对当前序列的特征描述,如果是额外文本信息的补充,这样是否就不再适合用对齐的方式去拉近两个模态的距离?

A2:还是适用的。

Q3:请问时间序列预测领域现在还有哪些难点?

A3:时间序列是一个比较老的研究领域,难点可能是:

  • 如何更好地支持一些协变量数据来提高预测。
  • 如何利用其他模态的信息来辅助时序预测。
  • 究竟扩大模型容量是否真的对模型效果有很大的提高?
  • 深度时间序列模型可解释性比较差,比较难解释预测效果变差的原因。

Q4:为什么 iTransformer 可以处理多模态数据?

A4:iTransformer 是针对多元时间序列来预测的。它的核心点是把整个时序当作一个变量来做预测。处理多模态数据的是 time-LLM 模型。

以上就是本次分享的内容,谢谢大家。

image-a87a81ea75514970a73bc08523ddddba.jpeg-imageStyle

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK