文章目录
一、机器学习生命周期和部署概述
1. 概述
下图展示了一个机器学习项目包含的内容
2.机器学习的生命周期
机器学习项目的生命周期包括:
- 定义项目:确定模型的输入输出
- 数据:收集数据、标记数据
- 建模:训练模型、误差分析
- 部署:部署、监控、维护
3. 机器学习模型部署的挑战
-
概念偏移(concept drift)或数据偏移(data drift):当模型部署完成后数据的分布发生变化
- 逐渐变化:例如语音识别中年轻人的样本比重逐渐增多
- 瞬间变化:例如由于新冠大流行,信用卡反诈骗系统失灵了因为个人购买方式发生了巨大变化,由线下购物转为线上购物
数据偏移通常指数据本身发生变化,概念偏移通常指x->y的过程发生变化。
-
软件设计时的要求,包括
- 实时处理/批处理
- 云/边缘
- 计算资源是否足够
- 延迟、QPS(query per second)
- 日志记录
- 安全和隐私
4. 项目部署模式
常见部署用例:
- 新产品,新功能:常见的设计模式是先启动少量流量,再逐渐增加流量
- 使用自动化/协助方法完成已有任务:
- 代替之前的机器学习系统
核心思想:监控和回滚(在系统无法工作时回滚到上一个版本)
部署模式:
- 影子模式(shadow mode):在初期我们使用影子模式部署,在这个模式中,机器学习算法和人类同时对某任务进行判断,我们会采取人类的判断作为结果。这样做的目的是收集有关学习算法和人类判断进行对比的数据。
- canary deployment:在中期我们将5%左右