题目重点:MLE Set B 独立问 model deployment;覆盖可复现 artifact、特征契约、在线/批量形态、灰度验证和失败回滚。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 候选人先按具体模型任务选择在线 API 或 batch inference;本文以在线分类模型为例,题目没有唯一部署环境。
- 模型 artifact 与特征 schema、预处理器和阈值须一起版本化,线上预测可追溯。
- 灰度/回滚准则需要与系统/产品目标一致;不能只用容器健康就判模型正确。
解题路线
- 从训练流水线冻结数据/代码/模型版本与评估报告,打包模型、预处理和 schema,并用可重放输入做接口契约测试。
- 定义服务形态:在线请求的 p99/吞吐/失败回退与批量任务的吞吐/完成时限不同;确定 CPU/GPU、内存和依赖特征来源。
- 部署前在 staging 回放样本,核输出范围、类别映射、缺失/未知值、端到端延迟;影子流量与线上旧模型对比,不先影响用户决策。
- 先小流量 canary,再按质量护栏扩量;记录 modelVersion、featureVersion 和 requestId,监控错误/延迟与预测分布。
- 若错误、漂移或业务指标超过阈值,切回上版 artifact 与对应特征契约;保留历史事件用于诊断,必要时重放补算。
手动走一遍
训练版 v2 模型在离线 AUC 提高后先以相同输入对照 v1,发现某类别编码映射差异;阻止扩大灰度,修复/重新打包后再测。仅能启动容器不能证明线上特征正确。
规模与取舍
部署运行成本由模型大小、每请求特征读取与推理量、峰值 QPS 和目标 p99 决定;多版本影子流量近似增加一份推理负载。题目不给模型大小,不填虚构机器数。
易错点与追问
容易失分的边界
- 仅保存模型权重,忘保存编码器/阈值。
- 测试集好就直接全量上线。
- 灰度只看 HTTP 200,不看预测分布和延迟。
- 回滚权重却仍使用新版特征 schema。
继续深挖
- 批量模型和实时模型何时共享 artifact?
- 如何避免训练/服务 skew?
- 模型依赖新特征但特征服务不可用怎么办?
- 如何做无缝回滚?
