第 1 题 · 匹配
把流量与推理形态匹配。
第 08 章 · PDF 第 586-687 页
这一章覆盖 D3 主体,也是你最能利用工作经验的部分。考试会把延迟、吞吐、流量形态、容器、发布风险、自动化和成本放在同一道题里。
考试语言转换:Pipeline 执行成功不代表模型可发布。生产门禁还要检查评估指标、偏差、安全扫描、审批、部署 alarm 和回滚策略。
| 方式 | 最佳线索 | 容量/延迟 | 主要限制 |
|---|---|---|---|
| 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。
| 能力 | 结构 | 适合 | 风险 |
|---|---|---|---|
| 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 中分配流量”。三者不是同义词。
| 路径/约定 | 用途 |
|---|---|
/opt/ml/input/data/<channel> | 训练 channel 数据 |
/opt/ml/input/config | 超参数与资源配置 |
/opt/ml/model | 最终模型工件;作业结束上传到 S3 |
/opt/ml/checkpoints | 与 S3 checkpoint 位置同步的恢复状态 |
/opt/ml/output | 失败原因和其他输出 |
/ping 提供健康检查,成功时返回 200。/invocations 接收推理请求并返回预测。/opt/ml/model。| 路径 | 何时选 |
|---|---|
| Built-in algorithm container | 算法与格式已匹配,最快使用 |
| Pre-built framework + script mode | 自定义训练/推理脚本,复用 PyTorch/TensorFlow 等环境 |
| Extend pre-built image | 只需额外依赖或系统包 |
| Bring Your Own Container | 完全自定义框架、依赖或服务进程 |
| 策略 | 流量移动 | 优点 | 代价 |
|---|---|---|---|
| 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 的目标是安全发布,虽然都涉及流量。
| 机制 | 适合 | 指标/注意 |
|---|---|---|
| Target tracking | 保持每实例负载在目标附近 | SageMakerVariantInvocationsPerInstance 常用 |
| Step scaling | 不同 alarm 强度对应不同扩缩步长 | 需要自己设计 CloudWatch alarm |
| Scheduled scaling | 已知业务周期 | 在流量到达前扩容,降低冷启动 |
| Serverless provisioned concurrency | 稀疏但有可预测峰值,需要低冷启动 | 为保持 warm 的并发付费 |
| 层 | 看什么 | 工具 |
|---|---|---|
| 请求/服务 | Invocation4XX/5XX、ModelLatency、OverheadLatency、吞吐 | CloudWatch metrics/logs/alarms |
| 数据 | schema、缺失、范围、分布漂移 | Model Monitor data quality |
| 模型 | 预测质量、偏差、feature attribution drift | Model Monitor、Clarify、ground truth |
| 基础设施 | CPU/GPU/内存、队列、扩缩、配额 | CloudWatch、Inference Recommender |
| 业务 | 转化、损失、人工升级、用户满意 | 自定义指标与分析系统 |
Model Monitor 通常从训练/基线数据生成 statistics 与 constraints,再按 schedule 分析 data capture 或批量数据并报告 violations。没有 ground truth 时只能监控数据/预测分布,不能直接知道真实准确率。
Pipelines 是 ML 原生 DAG。步骤之间传递 output properties 会自动建立数据依赖;不要只靠手写顺序假设依赖。
| Step | 职责 |
|---|---|
| ProcessingStep | 预处理、评估、自定义批处理 |
| TrainingStep / TuningStep | 训练或超参数调优 |
| ConditionStep | 根据评估指标、参数或属性选择分支 |
| RegisterModel / ModelStep | 注册模型版本或创建模型资源 |
| TransformStep | 批量推理 |
| CallbackStep / LambdaStep | 集成外部任务或轻量自定义逻辑 |
| FailStep | 明确终止并记录失败原因 |
SageMaker Projects 用模板搭建端到端 MLOps 资源和 CI/CD 集成,适合标准化团队工作流;Kubeflow/EKS 适合组织已有 Kubernetes 平台并需可移植编排的场景,运维复杂度更高。
| 服务 | 职责 | 何时不是 SageMaker endpoint |
|---|---|---|
| Amazon ECR | 存储、版本化和扫描容器镜像 | 所有自定义容器路径都可能用到 |
| Amazon ECS | AWS 原生容器编排,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 和数据捕获,通常是考试默认。
| 能力 | 职责 | 关键边界 |
|---|---|---|
| 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 完成 |
GitFlow 有长期 develop/release/hotfix 分支,适合发布节奏严格但流程较重;GitHub Flow 以短生命周期 feature branch + pull request + 主分支持续部署为主。
| 服务 | 模型 | 最强线索 |
|---|---|---|
| SageMaker Pipelines | ML 原生 DAG | Processing/Training/Evaluation/Registry lineage |
| AWS Step Functions | 通用 state machine | Task、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 和步骤最原生。
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 发布自动回滚通常需要哪些元素?选择三项。
尚未提交
拿你工作中的一条 SageMaker Pipeline,标出它在哪里版本化数据/代码、在哪里做质量门禁、如何触发部署、如何回滚。缺失的环节不是坏事,它正是考试和生产设计之间最有价值的追问。