内容领域 3:ML 工作流的部署和编排 - AWS Certified Machine Learning Engineer

内容领域 3:ML 工作流的部署和编排

任务 3.1:根据现有架构和要求选择部署基础设施

掌握以下知识:

  • 部署最佳实践(例如,版本控制、回滚策略)

  • AWS 部署服务(例如,Amazon SageMaker AI)

  • 实时和批量提供 ML 模型的方法

  • 如何在生产环境和测试环境中预置计算资源(例如 CPU、GPU)

  • 部署终端节点的模型和终端节点要求(例如,无服务器终端节点、实时终端节点、异步终端节点、批量推理)

  • 如何选择合适的容器(例如,已提供容器或自定义容器)

  • 在边缘设备上优化模型的方法(例如 SageMaker Neo)

具备以下技能:

  • 评估性能、成本和延迟权衡

  • 根据需求(例如 GPU 或 CPU 规格、处理器系列、联网带宽),选择合适的计算环境用于训练和推理

  • 选择合适的部署编排程序(例如 Apache Airflow、SageMaker Pipelines)

  • 选择多模型或多容器部署

  • 选择合适的部署目标(例如,SageMaker AI 终端节点、Kubernetes、Amazon Elastic Container Service [Amazon ECS]、Amazon Elastic Kubernetes Service [Amazon EKS]、AWS Lambda)

  • 选择模型部署策略(例如,实时、批量)

任务 3.2:根据现有架构和要求创建基础设施并编写脚本

掌握以下知识:

  • 按需资源和预置资源之间的区别

  • 如何比较扩缩策略

  • 基础设施即代码 (IaC) 选项(例如 AWS CloudFormation、AWS Cloud Development Kit [AWS CDK])的权衡和使用案例

  • 容器化概念和 AWS 容器服务

  • 如何使用 SageMaker AI 终端节点弹性伸缩策略来满足可扩展性要求(例如,基于需求、时间)

具备以下技能:

  • 应用最佳实践来打造可维护、可扩展且经济实惠的 ML 解决方案(例如,在 SageMaker AI 终端节点上弹性伸缩、动态添加竞价型实例、使用 Amazon EC2 实例、在终端节点后面使用 Lambda)

  • 自动预置计算资源,包括堆栈之间的通信(例如,使用 CloudFormation、AWS CDK)

  • 构建和维护容器(例如,Amazon Elastic Container Registry [Amazon ECR]、Amazon EKS、Amazon ECS,将自带容器 [BYOC] 与 SageMaker AI 结合使用)

  • 在 VPC 网络中配置 SageMaker AI 终端节点

  • 使用 SageMaker AI SDK 部署和托管模型

  • 为自动扩缩选择特定的指标(例如,模型延迟、CPU 利用率、每个实例的调用数)

任务 3.3:使用自动编排工具来设置持续集成和持续交付 (CI/CD) 管道

掌握以下知识:

  • AWS CodePipeline、AWS CodeBuild 和 AWS CodeDeploy 的功能和配额

  • 使用编排服务的数据摄取自动化和集成

  • 版本控制系统和基本用法(例如 Git)

  • CI/CD 原则以及如何将这些原则融入 ML 工作流

  • 部署策略和回滚操作(例如,蓝/绿、金丝雀、线性)

  • 代码存储库和管道如何协同工作

具备以下技能:

  • CodeBuild、CodeDeploy 和 CodePipeline(包括各阶段)的配置和故障排除

  • 应用持续部署流程结构来调用管道(例如 Gitflow、GitHub Flow)

  • 使用 AWS 服务来自动进行编排(例如,部署 ML 模型、自动模型构建)

  • 配置训练和推理作业(例如,使用 Amazon EventBridge 规则、SageMaker Pipelines、CodePipeline)

  • 在 CI/CD 管道中创建自动化测试(例如,集成测试、单元测试、端到端测试)

  • 构建并集成用于重新训练模型的机制