使用基于 LLM 的基础模型和亚马逊云科技上可扩展的 AIOps 进行时间序列预测
时间序列预测对于跨行业的决策至关重要。从预测流量到销售预测,准确的预测使组织能够做出明智的决策,降低风险并有效地分配资源。但是,传统的机器学习方法通常需要大量的特定数据调整和模型定制,从而导致漫长且资源密集型的开发。
进入 Chronos,这是一个尖端的时间序列模型家族,它利用大型语言模型 (LLM) 架构的力量来突破这些障碍。作为基础模型,Chronos 在大型多样的数据集上进行了预训练,使其能够在多个领域推广预测能力。这种创新的方法使 Chronos 能够在零点预测方面表现出色,即在未对目标数据集进行特定训练的情况下作出的预测。在大多数基准数据集中,Chronos 的性能都优于特定任务模型。
Chronos 建立在一个关键见解之上:LLM 和时间序列预测都旨在解码顺序模式以预测未来事件。这种相似之处使我们能够将时间序列数据视为一种语言,由现成的变压器架构进行建模。为了使之成为可能,Chronos 通过两个步骤将连续的时间序列数据转换为离散的词汇表,即按绝对平均值缩放时间序列,然后将缩放后的时间序列量化为固定数量的等间隔条柱。
在这篇博客文章中,我们将使用模拟销售预测情景的合成数据集指导您完成将 Chronos 集成到 Amazon SageMaker Pipeline 的过程,以最少的数据解锁准确、高效的预测。您将学习如何使用功能来协调从微调到部署的整个工作流程。在这段旅程结束时,您将有能力简化开发流程,并将 Chronos 应用于任何时间序列数据,从而改变您的预测方法。
先决条件
使用所需的 IAM 权限访问 SageMaker 域:您需要拥有必要的 Amazon Identity and Access Management (IAM) 权限才能访问 SageMaker 域,才能创建和管理资源。确保你拥有创建笔记本、部署模型和执行本文中概述的其他任务所需的权限。有关设置 SageMaker 域名的说明,请参见亚马逊 SageMaker AI 的快速设置。要继续操作,请参阅 GitHub 中的代码。
单击此处打开亚马逊云科技控制台并继续操作。
SageMaker 管道概述
我们使用 SageMaker Pipelines 来协调训练和评估实验。借助亚马逊 SageMaker Pipelines,您可以:
- 同时运行多个实验迭代,减少总体处理时间和成本
- 通过 Studio 集成监控和可视化运行的每个实验的性能
- 调用下游工作流程进行进一步分析、部署或模型选择
培训管道
生成数据
与自然语言处理 (NLP) 领域中可用的大量高质量文本数据集相比,公共时间序列数据的可用性和质量是有限的。这种差异对用于零点预测的训练模型构成了挑战,后者需要大规模、不同的时间序列数据。鉴于我们正在微调预训练的 Chronos 模型,我们只使用一小部分合成生成的数据。
为了生成不同的时间序列模式,我们流水线的第一步使用基础内核库生成合成数据集。这些内核定义了基本的时间序列模式,包括线性趋势、平滑的局部变化和季节性。通过随机二进制运算组合这些内核,我们可以创建复杂的合成时间序列数据。这个过程使我们能够从简单的基础内核生成复杂的模式。
这项数据处理工作是使用 PyTorchProcessor 完成的,它在 SageMaker 管理的容器中运行 PyTorch 代码 (generate_data.py
)。用于调试的数据和其他相关工件位于与 SageMaker 账户关联的默认亚马逊简单存储服务(Amazon S3)存储桶中。可以在亚马逊云手表中找到管道中每个步骤的日志。
超参数搜索
生成数据后,我们会对预训练的 Chronos 模型进行微调。微调允许它专门研究其预训练数据中可能无法很好地体现的特定用例。在这篇文章中,我们使用了 amazon/chronos-t5-small
但你可以使用任何看似合适的模型。下表显示了可用型号。
模型 | 参数 | 基于 |
chronos-t5-tiny | 8 米 | t5 高效微型 |
chronos-t5-mini | 20 米 | t5 高效迷你版 |
chronos-t5-Small | 46 米 | t5 高效小型 |
chronos-t5-base | 200 米 | t5 效率基础 |
chronos-t5-Large | 710 米 | t5 高效大号 |
为了获得优秀输出,我们使用自动模型调整通过超参数调整来找到模型的优秀版本。此步骤已集成到 SageMaker Pipelines 中,允许使用各种方法和预定义的超参数范围并行运行多个训练作业。在我们的开发流程中,我们专门调整学习率以优化模型的性能。借助 SageMaker 中的超参数调整功能,我们增加了模型为给定任务实现优秀精度和泛化的可能性。
亚马逊 SageMaker 模型注册表
然后,所选模型将上传到 SageMaker 模型注册表,该注册表在管理准备投入生产的模型方面起着至关重要的作用。它存储模型,组织模型版本,捕获容器镜像等基本元数据和工件,并管理每个模型的批准状态。通过使用注册表,我们可以高效地将模型部署到可访问的 SageMaker 环境中,并为模型版本控制奠定基础。
推断
训练管道完成后,我们的模型将使用 SageMaker 托管服务进行部署,从而可以创建用于实时预测的推理端点。该端点允许与应用程序和系统无缝集成,通过安全的 HTTPS 接口提供对模型预测功能的按需访问。实时预测可用于股票价格和能源需求预测等场景。
示例预测输出
下图显示了来自 Chronos 端点的示例预测。
Chronos 基准测试性能
上图显示了基于 27 个未用于训练 Chronos 模型的数据集的各种时间序列预测模型的性能评估。该基准评估了 Chronos 模型对照局部统计模型、任务特定模型和预训练模型的零镜头性能。评估使用两个指标:概率预测 (WQL) 和点预测 (MASE);两者均使用季节性朴素基线进行归一化。使用几何均值对结果进行汇总。值得注意的是,上述一些预训练模型之前曾接触过基准数据集。
零杆结果来自《Chronos:学习时间序列语言》。
结论
在这篇博客文章中,我们演示了如何使用亚马逊 SageMaker AIOps 功能来部署 Chronos,这是一种基于 LLM 架构的强大时间序列预测模型。通过使用 SageMaker Pipelines,我们展示了大规模构建、训练和部署复杂预测模型的综合方法。这种实现提高了模型开发的效率、可扩展性、简化的 AIOps、实时推理能力和成本效益。Chronos 与 SageMaker 的整合为各行各业的企业在没有大量内部机器学习专业知识的情况下实现高级时间序列预测开辟了新的可能性。随着人工智能和机器学习的不断发展,像 Amazon SageMaker 上的 Chronos 这样的解决方案代表着在使复杂的预测技术更易于使用和更具可操作性方面向前迈出的重要一步,有可能导致更明智的决策并提高各行业的运营效率。
参考文献
-
- Chronos 预测
- 调整语言模型架构以进行时间序列预测
- 使用 Amazon Sagemaker 上的 mLOP 进行可靠的时间序列预测
如有任何想法或问题,请随时发表评论!
作者简介
Alston Chan 是亚马逊广告的软件开发工程师。他为详情页面上的产品推荐构建了机器学习管道和推荐系统。工作之余,他喜欢游戏开发和攀岩。
玛丽亚·马苏德专门在亚马逊云科技商务平台上构建数据管道和数据可视化。她拥有机器学习方面的专业知识,涵盖自然语言处理、计算机视觉和时间序列分析。Maria 本质上是可持续发展爱好者,她喜欢园艺和在闲暇时和狗一起玩耍。
Nick Biso 是亚马逊云科技专业服务部的机器学习工程师。他使用数据科学和工程来解决复杂的组织和技术挑战。此外,他还在亚马逊云科技云上构建和部署 AI/ML 模型。他的热情延伸到他对旅行和多元文化体验的热爱。