模型部署
对于一个机器学习模型来说,完成训练过程通常并不意味着结束。模型服务部署是其中一个十分重要的环节,因为只有当完成了模型部署,才能真正为业务创造价值。 对于使用python搭建的机器模型,最简单的方式是直接使用官方库将模型储存为pickle格式,使用时再进行加载。这种方式优势在于简单便捷,缺点是兼容性较差,首先pickle格式只能用于python,当你的生产环境需要其他语言时,则无法直接调用。其次pickle的序列化和反序列化过程也和python版本有关,切换python版本后可能会导致解析失败。 因此这就引入了第二种通用交换格式,常见的两种格式是Open Neural Network Exchange(ONNX)和Predictive Model Markup Language(PMML)。使用通用格式的好处是不受语言和版本的限制,从模型可重复性和质量控制角度来看,是一种更优的格式,缺点是需要进行额外的格式转换。幸好有一些第三方库提供了格式转换的功能,以机器学习包sklearn为例,目前sklearn-onnx和sklearn2pmml 可以用来进行格式转换。