MLA-C01 Udemy Companion

第 08 章 · PDF 第 586-687 页

Machine Learning Operations (MLOps)

这一章覆盖 D3 主体,也是你最能利用工作经验的部分。考试会把延迟、吞吐、流量形态、容器、发布风险、自动化和成本放在同一道题里。

优先级:最高 D3.1-D3.3、D4.1-D4.2 建议 90 分钟 练习 14 题

1. MLOps 的对象不仅是模型文件

版本化代码、数据引用、特征定义、环境和参数。
自动执行处理、训练、评估与质量门禁。
把合格模型注册、审批并部署到合适推理形态。
监控数据、模型、服务、基础设施、安全和业务指标。
由时间、事件或漂移触发重训,保留 lineage 和回滚点。

考试语言转换:Pipeline 执行成功不代表模型可发布。生产门禁还要检查评估指标、偏差、安全扫描、审批、部署 alarm 和回滚策略。

2. 推理形态由 SLA 和流量决定

方式最佳线索容量/延迟主要限制
Real-time endpoint持续在线、低延迟、高吞吐、完整 endpoint 功能常驻实例,可自动扩缩空闲仍计费,要选实例和扩缩策略
Serverless Inference间歇/不可预测流量、最低运维、可容忍冷启动按使用付费,空闲缩至 0;可配 provisioned concurrency无 GPU、VPC、Model Monitor、MME、多 variant 等部分功能
Asynchronous Inference近实时、排队、大 payload、长处理最高 1 GB、最长约 1 小时;可缩至 0异步结果,通常以 S3/通知交付
Batch Transform数据已在 S3、离线大批量、无需 endpoint作业运行后释放资源不是在线请求服务
四问:

是否在线?能否等待?payload/处理多久?流量是否有空闲?“离线全量”选 Batch;“大且慢但要近实时结果”选 Async;“稀疏小请求”选 Serverless;“稳定低延迟/完整功能”选 Real-time。

主来源:SageMaker inference options

3. Endpoint 内的复用方式

能力结构适合风险
Production variants一个 endpoint 下多个 model/variant,按权重或目标 variant 路由A/B、灰度、实例类型比较要分别监控 variant 指标
Shadow variant复制生产请求给候选模型,但响应不返回用户无用户影响地比较候选模型额外推理成本;不能替代离线门禁
Multi-Model Endpoint一个共享容器/实例按需从 S3 加载多个模型大量相似、较小、低流量模型首次/被逐出后冷加载,热门模型可能挤压内存
Multi-container endpoint一个 endpoint 部署多个独立容器少量不同模型/框架共享 endpoint资源争用和路由配置更复杂
Inference pipeline多个容器串行执行预处理→模型→后处理把一致转换放进 endpoint每一跳增加延迟与故障点

MME 解决“很多模型共享算力”,inference pipeline 解决“一个请求串行经过多个容器”,production variants 解决“一个 endpoint 中分配流量”。三者不是同义词。

4. SageMaker 容器契约

训练容器

路径/约定用途
/opt/ml/input/data/<channel>训练 channel 数据
/opt/ml/input/config超参数与资源配置
/opt/ml/model最终模型工件;作业结束上传到 S3
/opt/ml/checkpoints与 S3 checkpoint 位置同步的恢复状态
/opt/ml/output失败原因和其他输出

推理容器

路径何时选
Built-in algorithm container算法与格式已匹配,最快使用
Pre-built framework + script mode自定义训练/推理脚本,复用 PyTorch/TensorFlow 等环境
Extend pre-built image只需额外依赖或系统包
Bring Your Own Container完全自定义框架、依赖或服务进程

主来源:Adapt your own inference container

5. 发布策略按风险和容量成本选择

策略流量移动优点代价
All at once一次全部切到 green最快爆炸半径最大
Canary先小比例,bake 后剩余全部小流量验证,步骤较少需要临时双份容量
Linear按固定增量多次移动渐进、观察窗口多发布时间更长
Rolling按实例批次替换 fleet额外容量可控新旧版本同时在线,回滚更慢
Shadow复制请求,不影响用户响应真实流量对比无用户风险不验证用户响应链路,增加成本

SageMaker deployment guardrails 用 CloudWatch alarms、baking period 和 auto rollback 控制 real-time/async endpoint 更新。A/B testing 的目标是比较用户或模型结果;blue/green/canary 的目标是安全发布,虽然都涉及流量。

6. 扩缩、可用性与成本

机制适合指标/注意
Target tracking保持每实例负载在目标附近SageMakerVariantInvocationsPerInstance 常用
Step scaling不同 alarm 强度对应不同扩缩步长需要自己设计 CloudWatch alarm
Scheduled scaling已知业务周期在流量到达前扩容,降低冷启动
Serverless provisioned concurrency稀疏但有可预测峰值,需要低冷启动为保持 warm 的并发付费

7. 监控从请求到业务结果

看什么工具
请求/服务Invocation4XX/5XX、ModelLatency、OverheadLatency、吞吐CloudWatch metrics/logs/alarms
数据schema、缺失、范围、分布漂移Model Monitor data quality
模型预测质量、偏差、feature attribution driftModel Monitor、Clarify、ground truth
基础设施CPU/GPU/内存、队列、扩缩、配额CloudWatch、Inference Recommender
业务转化、损失、人工升级、用户满意自定义指标与分析系统

Model Monitor 通常从训练/基线数据生成 statistics 与 constraints,再按 schedule 分析 data capture 或批量数据并报告 violations。没有 ground truth 时只能监控数据/预测分布,不能直接知道真实准确率。

EventBridge 定时或事件触发检查/重训。
Pipeline 处理、训练、评估并执行 ConditionStep。
达标模型进入 Registry;审批后触发部署。
新版本通过 canary + alarms;失败自动回滚。

8. SageMaker Pipelines 与 Projects

Pipelines 是 ML 原生 DAG。步骤之间传递 output properties 会自动建立数据依赖;不要只靠手写顺序假设依赖。

Step职责
ProcessingStep预处理、评估、自定义批处理
TrainingStep / TuningStep训练或超参数调优
ConditionStep根据评估指标、参数或属性选择分支
RegisterModel / ModelStep注册模型版本或创建模型资源
TransformStep批量推理
CallbackStep / LambdaStep集成外部任务或轻量自定义逻辑
FailStep明确终止并记录失败原因

SageMaker Projects 用模板搭建端到端 MLOps 资源和 CI/CD 集成,适合标准化团队工作流;Kubeflow/EKS 适合组织已有 Kubernetes 平台并需可移植编排的场景,运维复杂度更高。

9. ECR、ECS、EKS 与 Batch

服务职责何时不是 SageMaker endpoint
Amazon ECR存储、版本化和扫描容器镜像所有自定义容器路径都可能用到
Amazon ECSAWS 原生容器编排,EC2 或 Fargate模型只是更大微服务的一部分、已有 ECS 平台
Amazon EKS托管 Kubernetes control plane需要 Kubernetes API、生态、可移植性或已有 EKS
AWS Batch排队并调度批量容器作业到计算环境通用批量计算和依赖,不需要 SageMaker Batch Transform 契约

Fargate 减少节点管理,但题干若要求 GPU、特殊实例或底层控制,需核对支持并可能选择 ECS on EC2/EKS nodes。SageMaker endpoint 提供 ML 专用部署、监控、variants 和数据捕获,通常是考试默认。

10. IaC 与 CI/CD 是两层自动化

能力职责关键边界
AWS CloudFormation声明式模板创建/更新 AWS 资源,支持 change set、stack、rollback模板本身是部署单元
AWS CDK用编程语言 constructs 定义 IaC,最终 synthesize CloudFormation更高抽象,但仍需理解 stack
AWS CodeBuild运行 buildspec 中的编译、测试、打包和镜像构建不是多阶段编排器
AWS CodePipeline编排 source/build/test/approval/deploy stages调用其他服务完成工作
AWS CodeDeploy对 EC2/on-prem、ECS、Lambda 执行部署策略SageMaker endpoint 更新通常由 SageMaker API/Pipelines 完成
Git commit/pull request 触发 CI。
CodeBuild 运行 lint、unit/integration test,并构建推理镜像推送 ECR。
启动 SageMaker Pipeline 处理、训练、评估和注册模型。
Model Registry approval 或自动门禁触发 CD。
更新 endpoint,CloudWatch alarm 控制 canary/rollback。

GitFlow 有长期 develop/release/hotfix 分支,适合发布节奏严格但流程较重;GitHub Flow 以短生命周期 feature branch + pull request + 主分支持续部署为主。

11. 四种编排器不要混用

服务模型最强线索
SageMaker PipelinesML 原生 DAGProcessing/Training/Evaluation/Registry lineage
AWS Step Functions通用 state machineTask、Choice、Wait、Parallel、Map、重试和补偿
Amazon MWAA托管 Apache Airflow DAG已有 Airflow/Python DAG、复杂批 ETL 调度和跨系统依赖
Amazon EventBridge事件总线/规则/调度事件或 cron 触发目标,不负责完整 DAG 状态

EventBridge 可以启动 Pipeline、Step Functions 或 Batch;它是触发器。Step Functions 能把 SageMaker training/tuning/batch job 作为 task 并管理重试。MWAA 适合组织已有 Airflow 资产。Pipelines 对 SageMaker ML lineage 和步骤最原生。

12. Lake Formation:数据湖权限治理

Lake Formation 在 Glue Data Catalog 元数据之上提供集中数据湖权限和细粒度控制,可按数据库、表、列、行/单元格过滤,并支持跨账户共享。考试里它解决“谁可以查询哪些湖中数据”,不负责训练模型。

需求能力
集中管理 S3 数据湖表权限Lake Formation permissions
只允许团队查看特定列/行Data filters / LF-tag based access control
按业务分类规模化授权LF-Tags
审计访问与 CloudTrail 等日志能力结合

章节练习

先圈出 SLA,再圈出“已有平台/最低运维/发布风险”线索。

第 1 题 · 匹配

把流量与推理形态匹配。

第 2 题 · 单选

公司有数千个同框架的小型客户模型,大部分流量很低,希望共享实例降低成本。首选什么?

第 3 题 · 单选

新模型要接收真实生产请求进行比较,但其预测绝不能返回用户。应使用什么?

第 4 题 · 匹配

把 SageMaker 推理容器元素与职责匹配。

第 5 题 · 单选

发布先给 10% 流量,观察一个 baking period;成功后把剩余流量一次切换。是什么策略?

第 6 题 · 多选

哪些需求通常排除 SageMaker Serverless Inference?选择两项。

第 7 题 · 排序

排列基本 SageMaker Pipeline 模型构建流程。

第 8 题 · 匹配

把编排需求与服务匹配。

第 9 题 · 单选

CodeBuild 构建了新推理镜像。应把镜像推送到哪里供 SageMaker 拉取?

第 10 题 · 单选

团队要用 TypeScript 定义可复用 constructs,最终通过 CloudFormation stack 部署 ML 基础设施。应选择什么?

第 11 题 · 多选

Model Monitor 发现输入分布漂移。哪些动作合理?选择两项。

第 12 题 · 单选

公司已有成熟 Kubernetes 平台和 Kubeflow 工作流,必须保留 Kubernetes API 与可移植性。最佳部署编排目标是什么?

第 13 题 · 单选

数据湖管理员要允许团队查询同一表的部分列和行,而不复制数据。应使用什么?

第 14 题 · 多选

安全的 canary 发布自动回滚通常需要哪些元素?选择三项。

本章掌握线:80%

尚未提交

主来源与复习动作

拿你工作中的一条 SageMaker Pipeline,标出它在哪里版本化数据/代码、在哪里做质量门禁、如何触发部署、如何回滚。缺失的环节不是坏事,它正是考试和生产设计之间最有价值的追问。