内容领域 3: ML 工作流的部署和编排
任务 3.1: 根据现有架构和要求选择部署基础设施
掌握以下知识:
部署最佳实践(例如:版本控制、回滚策略)
AWS 部署服务(例如:Amazon SageMaker AI)
实时和批量提供 ML 模型的方法
如何在生产环境和测试环境中预置计算资源(例如:CPU、GPU)
部署终端节点的模型和终端节点要求(例如:无服务器终端节点、实时终端节点、异步终端节点、批量推理)
如何选择合适的容器(例如:已提供容器或自定义容器)
在边缘设备上优化模型的方法(例如:SageMaker Neo)
具备以下技能:
评估性能、成本和延迟权衡
根据需求(例如:GPU 或 CPU 规格、处理器系列、联网带宽),选择合适的计算环境用于训练和推理
选择合适的部署编排程序(例如:Apache Airflow、SageMaker Pipelines)
选择多模型或多容器部署
选择正确的部署目标(例如:SageMaker AI 端点、Kubernetes、Amazon ECS、Amazon Elastic Kubernetes Service [Amazon EKS]、AWS Lambda)
选择模型部署策略(例如:实时、批量)
任务 3.2: 根据现有架构和要求创建基础设施并编写脚本
掌握以下知识:
按需资源和预置资源之间的区别
如何比较扩缩策略
基础设施即代码 (IaC) 选项的权衡和用例(例如:AWS CloudFormation、AWS CDK)
容器化概念和 AWS 容器服务
如何使用 SageMaker AI 终端节点弹性伸缩策略来满足可扩展性要求(例如:基于需求、时间)
具备以下技能:
应用最佳实践来打造可维护、可扩展且经济实惠的 ML 解决方案(例如:在 SageMaker AI 终端节点上弹性伸缩、动态添加竞价型实例、使用 Amazon EC2 实例、在终端节点后面使用 Lambda)
自动预置计算资源,包括堆栈之间的通信(例如:使用 CloudFormation、AWS CDK)
构建与维护容器(例如: Amazon ECR、Amazon EKS、Amazon ECS,以及带有 SageMaker AI 的自备容器 [BYOC])
在 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 管道中创建自动化测试(例如:集成测试、单元测试、端到端测试)
构建并集成用于重新训练模型的机制