机器学习模型带动业务增长已经在头部企业(特别是大厂)得到成功认证。越来越多的企业都在增加人工智能,机器学习模型的投入,并将从模型训练逐渐过渡到模型部署与落地。因为只有将模型部署到生产中才能验证其对于业务的真正价值。
那么,人工智能团队将如何在实际生产中部署,维护与监控这些模型呢?
答案可能是MLOps。
什么是 MLOps ?
MLOps是DevOps的一种扩展,旨在可靠且高效地在生产,部署和维护机器学习模型。与DevOps方法类似,MLOps旨在加强自动化程度并提高模型的质量,同时也关注业务和监管要求。它是一个多学科的领域,存在于DevOps,机器学习,软件工程的交汇处。
2021年甚至被称为MLOps年,特别在美国诞生了许多相关工具与初创企业。MLOps涵盖内容也非常广泛,包括:
- 可重现和协调的数据管道,
- 模型运行监控与报错,
- 可溯源的模型版本控制,
- 可自动扩展的模型服务,
- 数据版本控制和数据沿袭,
- 特征值存储,等等。
对于一个现代化的MLOps生态系统,我们可以找到不少端对端(E2E)的平台,也可以购买第三方软件或运用开源软件打造。
图片来自:fullstackdeeplearning.com/
合理规模的MLOps
然而您的团队是否需要上述所有功能,还是只是追求所谓的“行业最佳实践”?像谷歌、阿里等这样的公司有数百人在处理机器学习问题,每月处理数万亿个请求。这意味着大多数“最佳实践”偏向于超大规模模型,但是99%的公司并没有超大规模机器学习模型训练和部署的需求。
对于大多数公司而言,一般有5名机器学习工程师,10个模型,数百万个请求,这样“合理规模”的模型数量可能更为适用。合理规模的公司如果单纯追求“最佳实践”,无论是自建或者购买端对端的 MLOps平台都会造成不必要的浪费 。 相反,应该根据自身最迫切的需求,寻找或建立相应的模块化解决方案。虽然具体的需求千姿百态,但一般能归纳为以下4大板块。
比如:
- 一个NLP团队,需要大量的数据标注,那么可能需要自动数据标注服务。
- 一个侧重于算法开发的团队,需要大量模型实验,那么就需要实验结果追踪工具或数据库。
- 如果有多个模型协同工作并有复杂的数据管道,那么则需要成熟的流水线和流程安排工具。
- 如果需要确保模型上线后的稳定运行和维护,那么将需要拓展性能高的模型部署与监控平台。
NTCore能做什么
NTcore是自主多云的AI/ML模型运维系统。对于以上4大板块,NTCore旨在解决解决人工智能落地最后一公里问题,让模型部署与监控变得更简单。
NTCore的特点是打通壁垒,自主多云,以及可持续交付。
无论您如何解决MLOps的其他板块,NTCore都可以与现有技术栈相结合,轻松解决模型部署与监控的问题。
总结
只有聚焦在最迫切的问题上,才不会为未来过度地设计解决方案。一个以合理规模进行MLOps的团队,可以将有限的资源投入到最关键的模块上,从而最大化地得到机器学习模型对业务产生的价值。