标准回答
目标
把「数据到上线」做成自动化、可复现、可回滚的流水线,缩短迭代周期并保证质量,而非手工 notebook 跑模型。
整体架构(DAG 编排)
数据采集/校验 → 特征工程 → 训练 → 评估 → 模型注册 → 部署 → 监控,用编排工具(Airflow/Kubeflow)串成 DAG,每步可独立重跑。
数据与特征
数据接入后做 schema/质量校验;特征工程产出存入 Feature Store,训练与在线服务共用同一份特征定义,避免训练-服务偏斜(training-serving skew)。
训练与评估
训练用版本化的数据 + 代码 + 超参,固定随机种子保证可复现;实验追踪(如 W&B)记录指标与产物。评估在留出集/离线指标达标 + 与基线对比通过后才放行。
注册与部署
通过的模型连同元数据(数据版本、指标、依赖)存入模型注册表;部署用灰度/影子流量 + A/B,保留上一版本以便一键回滚。
监控与闭环
线上监控服务指标(延迟/吞吐/错误)与模型指标(预测分布、数据漂移、概念漂移、效果衰减),触发告警与自动/人工重训,形成数据飞轮闭环。
可复现性贯穿全程:数据用 DVC、代码用 Git、配置与产物版本化,任一历史模型可精确重建。
常见误区
⚠️ 常见踩坑
只关注训练精度,忽视可复现(数据/配置没版本化,模型无法复现)与线上线下特征一致性;以及上线后无监控,模型悄悄因数据漂移而失效。
追问
追问 1:如何保证流水线可复现?
三要素都要版本化:数据用 DVC 或快照锁定版本,代码用 Git 提交哈希,配置/超参与依赖环境(容器镜像)固定;训练固定随机种子。实验追踪工具记录每次运行的数据版本、代码版本、超参与产物,使任意历史模型都能按记录精确重建。
追问 2:什么是训练-服务偏斜(training-serving skew),怎么避免?
指训练时和线上服务时的特征计算逻辑不一致(如离线用全量统计、在线用实时近似),导致离线指标好但线上崩。避免方法是用 Feature Store 统一特征定义,训练和服务读同一套特征/同一套转换代码,并对线上线下特征做一致性校验监控。
追问 3:上线后如何监控并决定何时重训?
监控分两层:服务层(延迟、吞吐、错误率)和模型层(预测分布漂移、输入特征的数据漂移、标签到位后的真实效果衰减)。当检测到显著数据/概念漂移或核心指标跌破阈值时告警,触发定时或事件驱动的自动重训,新模型经评估与 A/B 验证后灰度替换,旧版本保留以便回滚。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
🛠️ AI 工具
- Weights & Biases
AI 开发者平台,用于模型训练、微调、实验管理和生产部署,支持从实验到生产的全流程管理。