官网笔记和Slide(地址可能有变,无效请参考官方):
- Note: https://docs.google.com/document/d/1VuofeF5okBATz1F7HRQmOgi5Jc4bmUiHMYjRqwF-29s/edit?usp=sharing
- Slides: https://docs.google.com/presentation/d/1XKBXoLW3ED3FcvDRK3jfQeIlLCK2QTnsoZeopR6ziRQ/edit?usp=sharing
机器学习中的研究 VS 生产
Research | Production | |
Objectives | Model performance | Different stakeholders have different objectives |
Computational priority | Fast training, high throughput | Fast inference, low latency |
Data | Static | Constantly shifting |
Fairness | Good to have (sadly) | Important |
Interpretability* | Good to have | Important |
- 目标:
- 研究者主要就是模型的性能,是否达到了SOTA
- 生产的话,不同的职位的人他的目标是不一样的
- 计算优先度:
- 研究者主要是快速的训练,高吞吐量,主要是节约训练时间
- 生产者主要是快速推断能力,低延迟,提高QPS,高性能服务应用
- 数据:
- 研究主要是固定的数据集,干净静态的,也是历史数据
- 生产是变化的数据,脏乱的数据,历史和实时数据流,也有一些隐私数据
- 公平性:
- 研究 基本没多少研究 最好是有
- 生产的公平性是非常重要
- 可解释性:
- 最好是有 ,但是可以没有
- 生产的可解释性也非常重要,对用户企业都很重要,对于开发人员也非常重要
我认为在生产中,最重要的还是前期业务调研和训练数据,还有一点也比较重要,就是模型的安全性,这个在模型研究中基本没有涉及,在生产中非常重要。
机器学习系统 VS 传统的软件开发
机器学习系统的新挑战
- 数据测试
- 数据和模型版本
- 监控
- 数据标签
- CI/CD测试
- 部署
- 模型压缩
- 推理优化
- 边缘设备
- 隐私
- 数据操作
- 数据格式
机器学习部署神话
- 部署是困难的
- 可靠部署非常困难,包括低延迟和高可用
- 你只能一次部署一到两个模型
- 我们需要部署上百上千个模型
- 如果我们不做任何事情,模型的性能问题依然存在
- 模型的性能一开始就是有很多问题,都是需要做优化的
- 你不需要更新你的模型
- 其实模型的更新需求是非常频繁,如果使用k8s来部署,基本的容器生命周期都是十几分钟,几十分钟
- 大多数的机器学习工程师不需要担心规模
- 开始并没有担心规模,后续针对业务来做大规模部署
- 机器学习可以神奇的转换一个业务
- 机器学习的收益很难说这个和业务相关