内容领域 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 管道中创建自动化测试(例如,集成测试、单元测试、端到端测试)
构建并集成用于重新训练模型的机制