本文从简约主义的视角探讨了时间序列通用预训练大模型的开发问题,并提出了Chronos模型。这是一个用于时间序列的语言建模框架,对时间变化不敏感,并且与任何语言模型架构兼容,只需进行微小的调整。它通过缩放和量化将时间序列分词为固定词汇表,并使用交叉熵损失训练现有的变换器语言模型架构。在广泛的基准测试中,Chronos模型在训练语料库中的数据集上显著优于其他方法。与专门针对新数据集进行训练的方法相比,它具有相当的甚至更好的零样本性能。这些结果表明,Chronos模型可以利用来自不同领域的时间序列数据来提高未知预测任务的零样本精度。
时间序列预测可以使用经典预测方法和深度学习方法。经典预测方法如ETS、ARIMA等为每个时间序列独立地拟合模型,而深度学习方法在给定的数据集中学习时间序列。大型语言模型(LLM)在自然语言处理任务中表现出色,基于transformer架构,通常在文本语料库上进行训练。基于预训练LLM的预测模型包括将数值时间序列数据视为原始文本,利用预训练的LLM进行微调,或将数值数据编码为数字字符串,在预训练的LLM上进行零样本设置来获取预报。零样本学习。Chronos模型是一种概率性的时间序列预测方法,它使用分类模型对观测值进行分类分布建模,执行回归分类。该模型不需要针对时间序列进行特定设计或特征,而是将时间序列值标记化到固定词汇表上,并在这些标记上训练现有的语言模型架构。Chronos是一个框架,用于调整现有的语言模型架构和训练过程以进行概率时间序列预测。由于自然语言和时间序列在表示方面的差异,需要对现有的语言建模框架进行特定的修改,特别是与分词有关的修改,以便它们适用于时间序列数据。我们的设计理念包括对模型架构和训练过程进行最小化的修改,以利用现有的变换器模型在语言任务上的出色表现。本节介绍了如何将时间序列数据应用于语言模型的方法,包括缩放和量化。首先对时间序列进行标准化,然后使用量化将其转换为离散令牌。建议使用一致的binning方法,并使用PAD和EOS标记填充和结束时间序列。最后,介绍了如何使用编码器-解码器T5模型和GPT-2模型进行实验,证明了该方法可以简单扩展到仅解码器模型。Chronos模型通过最小化真实标签和预测标签之间的分类交叉熵来训练,它使用Vts中元素的分类分布作为输出分布,并具有两个关键优势:不需要修改语言模型架构或训练目标,以及允许模型学习任意分布,包括多模态分布。这种灵活性对于预训练模型特别有价值。时序模型通过自回归采样从预测分布中获得未来多个实现,并将预测的令牌映射到实际值,再通过反标化变换进行反标化,在均值标定的情况下,涉及将值乘以尺度s。Mixup是一种数据增强方案,用于缓解深度学习模型中的过度拟合和过拟合问题。现有工作已将Mixup扩展到时间序列领域,提出了TSMix。TSMix从训练数据集中随机采样k个特定长度的时间序列,对其进行缩放,并取其凸组合。组合权重从对称的Dirichlet分布中采样。TSMix通过混合来自不同时间序列的模式来增强数据的多样性。
4.2 KernelSynth:使用高斯过程生成合成数据KernelSynth是一种用于生成合成时间序列的方法,它利用高斯过程生成合成时间序列,以增加模式多样性并弥补实际数据有限的情况下的不足。该方法通过随机组合高斯过程的核函数来生成新时间序列,并从GP先验中抽取样本生成合成时间序列。图3展示了KernelSynth中的生成过程,用简单基核函数组合生成复杂时序模式。
本节介绍了常用基准数据集的实验结果,包括数据集、训练策略、基准和评估指标的概述,以及Chronos模型在领域内和零样本设置下的性能评估、设计选择对性能的影响、定性性能分析和局限性等关键发现。实验细节已归入附录。
为了训练和评估Chronos模型,我们收集了来自多个应用领域的大量公开可用数据集,并对数据集进行了分类。我们使用28个数据集来训练模型,包括约89万个一维时间序列,总共有约84亿个观察值。我们使用每个时间序列的最后H观察值作为留出测试集,并使用任务特定的预测长度H。两个基准的任务在数据集大小、频率、历史长度和预测长度方面表现出不同的属性,使其成为丰富的基准,反映了现实世界的场景。我们使用Chronos模型对基准数据进行评估,以获得准确的预测结果。在实验中,我们选择了T5模型作为Chronos的主要架构,并进行了只用解码器的GPT-2模型实验。我们使用了由28个训练数据集生成的增强数据和合成数据,并使用分布式数据并行和梯度积累进行训练。我们使用了AdamW优化器,并使用权重衰减为0.01的Adam优化器进行为期200K步的训练。不同尺寸的Chronos模型训练时间和成本也进行了报告。我们对Chronos模型进行了性能评估,并与各种时间序列预测基准进行了比较。评估了本地模型、针对每个任务单独训练或微调的任务特定模型以及预训练模型。详细信息请参阅附录C。我们评估了模型的概率和点预报性能,使用了加权分位数损失(WQL)评估概率预报的质量,并使用平均绝对比例误差(MASE)评估点预报性能。我们采用几何平均值聚合所有数据集的相对分数,以避免算术平均值可能产生的误导性结论。我们使用季节性朴素模型作为基准模型。对于无法完成或未能在分配时间内完成评估的模型,我们赋予其相对分数为1。我们给所有任务赋予了相同的权重,以反映实际情况中数据集可能具有不同数量的时间序列、频率、历史和预测长度的情况。Chronos模型在两个数据集上均表现出色,包括内部域数据集和零样本数据集。在内部域数据集上超过了经典统计基线和特定任务的深度学习模型,在零样本数据集上轻松地超过了统计基线,同时与在这些任务上训练的最佳深度学习模型表现相当。通过简单的微调方案,Chronos-T5(Small)模型在Benchmark II上取得了最佳成绩,显著超过了所有基线。Chronos-T5模型在基准评估中表现出色,优于其他基准模型,包括针对每个数据集训练或微调的任务特定模型和深度学习模型。模型通过跨多个数据集进行一次训练,简化生产预测系统中的预报工作流程。季节性朴素模型与其他本地模型竞争,表明数据集具有强烈的季节性模式。
基准II由27个数据集组成,这些数据集在Chronos模型训练过程中未被使用过。Chronos模型在零样本性能方面显著优于本地统计模型,在概率预报方面表现良好,优于许多特定任务模型。通过微调Chronos-T5(小型)模型,其在基准II上的总体性能得到了显著提高,超过了更大的Chronos模型和最佳特定任务模型。
我们研究了不同设计选择,如模型大小、初始化、训练步骤、合成数据比例、上下文长度和词汇表大小,对下游模型性能的影响。在每次实验中,我们只调整一个参数,保持其他因素不变,以评估其对Chronos-T5(小型)性能的单独影响。我们试验了不同模型大小,发现更大的模型可能提高性能,但受推理时间限制,未进一步探索。随机初始化模型收敛到较低训练损失的趋势更明显,语言模型权重初始化的模型在初始阶段训练损失下降较快,但最终收敛到较高的损失。TSMix增强的模型在零样本性能上有所提升,使用合成数据可以提高域内和零样本指标的性能,但比例过高会降低性能。更长的训练可能有助于提高性能,随着上下文长度的增加,性能有所改善,但需要评估更长上下文长度的效果。词汇量增加,点预测指标(MASE)持续提高,但WQL在较大词汇量时开始改善后恶化。
本节对Chronos模型生成的预测进行了定性分析,并指出了标记化技术的局限性。我们主要关注合成时间序列的生成,以进行不同类型时序模式的受控分析。具体来说,我们没有提供实际数据集的预测,但建议读者参考附录E中的图22至图24以获取更多信息。Chronos-T5(基础版)模型可以准确预测时间序列中的趋势和季节性,但在处理指数趋势时存在保守性。该模型在自回归过程中表现出色,适用于复杂过程。Chronos模型使用分类分布提供灵活的预测分布,能够产生不同形状的预测分布,包括多模态分布。尽管存在溢出和精度损失的限制,但其在现实世界数据上的表现良好。未来工作方向是改进分词方法以克服边缘情况。
Chronos是时间序列预测的实用预训练模型,在综合测试数据集上表现出显著的零样本性能。通过微调,可以提高内域和零步结果,同时考虑其他信息,如协变量,可以训练针对任务的适配器,将协变量注入预训练的预测模型中。Chronos模型可以部署在不同历史长度、频率、预测时间和上下文长度的数据集上,简化了预测管道。为了提高推理速度,可以采用各种技术,如针对现代Ampere GPU优化的CUDA内核、量化、更快解码技术等。大规模时序数据集上的大型模型训练可以获得出色的领域内和零样本性能,但高质量的公开时序数据有限。解决数据有限问题的另一方向是开发更好的合成时序生成方法。