机器学习模型部署与自动化实践
1. 模型评估与多模型部署
在机器学习中,将多个模型部署到一个端点的原因是让机器学习工程师能够控制流量分配。这是因为机器学习平台需要支持模型的A/B测试,以便工程师决定是否用新开发的模型替换当前的生产模型。
机器学习托管服务具备监控资源使用情况的能力,能确保部署的模型可以跟上输入请求的速度。输入样本和相应的预测结果可以发送到数据仓库(DWH),用于比较不同模型版本的性能。
2. 混合云与多云部署
由于数据迁移成本高,且涉及治理和安全方面的考虑,通常会选择在存储大部分历史数据的云平台上训练机器学习模型。另一方面,为了最小化网络延迟,需要将模型部署到运行消费应用程序的云(或边缘)端点。可以使用标准模型格式(如TensorFlow SavedModel、ONNX或.bst文件)和容器来实现这种混合训练和部署。
这种脱离云进行推理的灵活性,是构建机器学习平台时的一个重要考虑因素。应选择不依赖于专有实现的框架。
3. 训练 - 服务偏差问题
训练 - 服务偏差是机器学习中的一个主要挑战。当机器学习模型在预处理数据上进行训练时,必须对传入的预测请求执行相同的预处理步骤。因为需要为模型提供与训练数据具有相同特征的数据,否则会出现训练和服务之间的偏差,导致模型预测效果不佳。
有三种方法可以确保训练期间的预处理步骤在预测时原样重复:
- 将预处理代码嵌入模型 :这是最简单的方法,将预处理步骤融入模型函数本身。例如,在Keras的Lambda层中进行预处理。这样,保存模型时,预处理步骤会自动成为模型的一部分。优点是简
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



