机器学习操作正在兴起
作者头像
  • 2020-08-26 14:23:22 4

即便机器学习模型已经投入使用,它们仍然需要定期更新和监测,以防止模型漂移。具备良好机器学习操作管理能力的团队将显著提升业务表现。

对于数据科学家而言,创建准确的机器学习模型是一项复杂且耗时的任务,而在实际应用中管理这些模型更是充满挑战。识别模型漂移、更新数据集、再训练模型、优化性能以及维护底层技术平台都是数据科学领域的重要实践。缺乏这些管理规程,可能会导致模型产生严重的业务问题。

开发一个能在实际环境中运行的模型并不简单。根据相关研究,55%的公司在模型部署到生产环境方面遇到困难,超过40%的公司需要一个月以上的时间才能完成模型部署。即便部署成功,仍面临版本控制和结果重现性的难题。

由此可以看出,一旦机器学习模型被部署并应用于业务流程,新的问题便会接踵而至。

模型管理和操作已成为先进数据科学团队的重要课题。当前的工作不仅包括监控生产环境中的模型漂移、自动再训练模型,还包括在漂移明显时发出警报,并识别何时需要升级模型。随着越来越多的组织投资于机器学习,建立有效的模型管理和操作机制变得尤为重要。

好消息是,开源工具如MLFlow和DVC,以及商业解决方案如Alteryx、Databricks、Dataiku、SAS、DataRobot、ModelOp等,正逐渐简化数据科学家的模型管理和操作工作。此外,公共云服务提供商,例如Azure Machine Learning,也在提供MLops工具和服务。

模型管理和DevOps有一些共同点。许多人将模型管理和操作称为MLops,它涵盖了开发和维护机器学习模型所需的文化、理论和技术。

了解模型管理和操作

要深入了解模型管理和操作,需要结合软件开发的实际经验和科学研究的方法。

作为一名软件开发人员,你可能知道将应用程序版本化并部署到生产环境并非易事。一旦应用程序上线,更大的挑战才刚刚开始:用户期望定期改进,而基础设施、平台和库也需要不断更新和维护。

现在,让我们看看科学界的情况。实验过程往往伴随着各种假设和反复试验。在科学课堂上,我们学会了记录实验日志,并能追踪从一个实验到另一个实验中调整不同变量的过程。记录实验过程有助于证明结果的可重复性。

对于数据科学家而言,利用机器学习模型进行实验需要结合软件开发和科学研究的知识。机器学习模型是用Python和R等编程语言编写的软件代码,使用TensorFlow、PyTorch等机器学习库构建,并部署在Apache Spark等平台上。机器学习模型的开发和维护需要大量的实验和优化,数据科学家必须证明其模型的准确性。

正如软件开发一样,机器学习模型也需要持续的维护和改进。这其中包括维护代码、库、平台和基础设施,但数据科学家还需要特别关注模型漂移的问题。简单来说,当新数据出现时,如果机器学习模型提供的预测、聚类、分割或建议偏离预期结果,则说明出现了模型漂移。

成功的模型管理始于开发最佳模型

我曾与Alteryx的首席数据和分析官Alan Jacobson讨论过如何有效地开发机器学习模型。“为了简化模型开发,数据科学家面临的第一个挑战是如何确保有一个清晰的问题定义。许多复杂的业务问题可以通过简单的分析来解决,但首先需要确保问题是通过数据和分析能够回答的。即使使用了最先进的模型,构建数据和确保正确的输入质量也是最关键的部分。”

我同意Jacobson的观点。很多情况下,数据和技术实现都是从模糊或不明确的问题开始的,而且没有足够的时间、工具和专业知识来保证数据质量。因此,组织必须从提出一个智能的问题开始,投资于数据治理,并使用数据科学中的敏捷方法来迭代解决方案。

监控机器学习模型的模型漂移

对于生产环境中的模型来说,持续监控和管理的关键在于准确的问题定义。Jacobson进一步解释道:“监控模型是一个重要的过程,但要正确地进行监控,需要对需要监控的目标以及潜在的负面影响有深入的理解。虽然大多数人讨论的是模型性能及其随时间的变化,但在这一领域,最重要和最具挑战性的部分是对意外结果的分析。”

了解模型漂移和意外结果的一个简单方法是考虑COVID-19对那些使用疫情前训练数据的机器学习模型的影响。基于人类行为的机器学习模型、自然语言处理、消费者需求模型或欺诈检测模型都受到了疫情期间行为变化的影响,这些变化扰乱了人工智能模型。

随着越来越多的组织开始从数据科学项目中获取价值,并逐步提升其成熟度,技术供应商也在推出新的MLops功能。例如,SAS引入了特征贡献指数,可以帮助数据科学家评估模型的效果,即使在没有目标变量的情况下也能做到这一点。Cloudera最近宣布了一项ML监控服务,可以捕捉技术性能指标并跟踪模型预测。

MLops还解决了自动化和协作的问题

在开发机器学习模型和对其进行生产监控之间,还有其他工具、流程、协作和能力可以帮助数据科学实际落地。一些自动化工具和基础设施,类似于DevOps,包括面向机器学习模型的基础设施即代码和持续集成/持续部署(CI/CD)。此外,还有一些开发人员技能,例如使用底层训练数据对模型进行版本控制,以及搜索模型存储库。

MLops的另一面是为数据科学团队提供了科学的方法和协作的机会。例如,DataRobot提供了一个冠军-挑战者模型,可以并行运行多个实验模型,以挑战生产版本的准确性。SAS希望帮助数据科学家加快产品上市速度和提高数据质量。Alteryx最近推出了Analytics Hub,以促进数据科学团队之间的协作和资源共享。

所有这些都表明,管理和扩展机器学习需要更多纪律和方法,而不仅仅是要求数据科学家使用Python编写和测试随机森林、K均值或卷积神经网络。

    本文来源:图灵汇
责任编辑: :
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
兴起机器正在操作学习
    下一篇