4.2.6 部署

4.2.6 部署

部署机器学习模型是指将模型从测试或暂存环境转移到生产环境的过程,然后其他人可以访问该模型并将输出提供给其他代理。机器学习模型只有在可用时才能提供价值,这使得部署成为机器学习项目生命周期的最后一个关键阶段。部署还将包含一个记录所有观察和预测的日志,以及一个过程,通过该过程监视和定期评估不断增长的日志以确保相关性和没有错误发生。大多数部署的项目将托管在基于云上的服务器中,从而使审计成为一项相对简单的工作,另一个好处是云上的服务器支持可扩展性。在云上.我们可以更方便地实施监控和管理已部署模型的使用以及产生的各种数据。部署主要解决的问题是:

·在云上如何扩展和伸缩;

·如何进行性能调优;

·如何管理模型的版本;

·如何保障安全性;(https://www.daowen.com)

·如何持续集成和持续部署;

·如何支持AB测试。

为了解决模型部署的挑战,不同的组织开发了一些开源的工具,如Clipper、Seldon、MFlow、MLeap、Oracle Graphpipe、MXnet model server等。

机器学习应用的开发从提出正确的问题开始。通常情况下,设计问题框架是该过程中最困难的部分。构建正确的问题为机器学习项目提供了一个明确定义的目标函数,使利益相关者能够识别所需的数据、解决问题的方法、潜在影响和所需的资源。提出的第一个问题可能不是正确的问题,但经过反复修改可以将问题朝着更清晰、更明确的目标前进。如果没有提出正确的问题,数据科学团队可能会浪费大量时间用于收集数据和训练模型,因为到目前为止,最消耗时间和资源的部分就是数据准备,而这些数据和训练模型对他们的预期目标毫无帮助。所以在可能的情况下,与其一开始就过度设计并构建难以解释和传播复杂且昂贵的机器学习模型,不如保持简单、快速明确的业务需求。