本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 6 步。扩大管道
本指南介绍如何使用具体架构在 AWS 上开始快速构建机器学习管道。在完善管道过程中,还需要考虑其他注意事项,例如元数据管理、实验跟踪和监控。这些重要主题不在本指南的讨论范围内。以下各节讨论管道管理的另一个方面,即管道自动化。
不同级别的自动化
尽管您可以在 SageMaker AI 控制台中手动设置训练管道,但在实践中,我们建议在部署机器学习训练管道时尽量减少手动接触点,以确保机器学习模型的部署具有一致性和重复性。根据您的要求和要解决的业务问题,您可以确定并实施三个层次的部署策略:半自动、全自动和完全托管。
-
半自动:默认情况下,上一节讨论的步骤采用半自动方法,因为它们通过使用 CloudFormation 模板来部署训练和推理管道。这有助于确保管道的可重复性,并帮助您轻松更改和更新管道。
-
全自动化 — 更高级的选项是在开发、暂存和生产环境中使用持续集成和持续部署 (CI/CD)。将 CI/CD 实践纳入训练管道的部署,可确保自动化包括可追溯性和质量门。
-
完全托管:最终,您可以开发一个完全托管的系统,这样您就可以部署一个带有一组简单清单的机器学习训练管道,并且系统可以自行配置和协调所需的 AWS 服务。
在本指南中,我们选择介绍一个具体的架构。但您可以考虑使用其他技术。接下来的两节将讨论平台和编排引擎的一些替代选择。
适用于机器学习工作负载的不同平台
Amazon SageMaker AI
-
内置可追溯性(包括标记、训练、模型跟踪、优化和推理)。
-
内置一键式训练和推理选项,只需极少的 Python 和机器学习经验。
-
高级超级参数调整。
-
支持所有主要人工智能和机器学习 (ML/AI) 框架以及自定义 Docker 容器。
-
内置监控功能。
-
内置历史记录跟踪功能,包括训练作业、处理作业、批量转换作业、模型、端点和可搜索性。有些历史记录,例如训练、处理和批量转换,是不可变的,只能附加。
使用 SageMaker AI 的替代方法之一是 AWS Batch
-
开箱即用,可根据工作负载自动扩展计算资源。
-
开箱即用支持作业优先级、重试及作业依赖性。
-
基于队列的方法,支持构建循环作业和按需作业。
-
支持 CPU 和 GPU 工作负载。使用 GPU 构建机器学习模型的能力至关重要,因为 GPU 可以显著加快训练过程,尤其是对于深度学习模型而言。
-
能够为计算环境定义自定义 Amazon 机器映像(AMI)。
用于管道编排的不同引擎
第二个主要组件是管道编排层。AWS 提供 Step Functions
-
必需的基础设施:AWS Step Functions 是一项完全托管的无服务器服务,而 Airflow 需要管理自己的基础设施,并且基于开源软件。因此, Step Functions 可提供开箱即用的高可用性,而管理 Apache Airflow 则需要额外的步骤。
-
调度功能 — Step Functions 和 Airflow 均提供类似的功能。
-
可视化功能和用户界面 — Step Functions 和 Airflow 均提供类似的功能。
-
在计算图中传递变量:Step Functions 提供了使用 AWS Lambda 函数有限功能,而 Airflow 提供 XCom 接口。
-
用法:Step Functions 深受 AWS 客户欢迎, Airflow 已被数据工程界广泛采用。