ITPub博客

首页 > 人工智能 > 人工智能 > 如何管理机器学习模型

如何管理机器学习模型

人工智能 作者:dicksonjyl560101 时间:2019-01-12 19:44:03 0 删除 编辑

https://www.toutiao.com/a6645460362621616644/


在当今快节奏的分析开发环境中,数据科学家的任务通常不仅仅是构建机器学习模型并将其部署到生产中。现在,他们负责定期监控,微调,更新,重新培训,更换和启动模型 - 在某些情况下,还有数百甚至数千个模型。

结果,出现了不同级别的模型管理。在下文中,我尝试突出每个,从单一模型管理到构建整个模型工厂。

机器学习流程基础知识 您可能想知道,如何使用我的培训程序的结果来获取新的传入数据?有很多选项,例如在用于培训和以标准化格式导出模型的同一系统中进行评分。或者,您可以将模型推送到其他系统,例如将模型评分为数据库中的SQL语句,或将容器化模型用于在完全不同的运行时环境中进行处理。从模型管理的角度来看,您只需要能够支持所有必需的选项。

标准流程如下所示:

如何管理机器学习模型

注意:实际上,除非至少部分数据处理(转换/集成)是生产中“模型”的一部分,否则模型本身通常不是非常有用。这是许多部署选项显示出令人惊讶的弱点的地方,因为它们仅支持单独部署预测模型。

机器学习模型评估和监控

模型管理的一个重要部分是确保模型保持正常运行。定期从过去收集数据 - 正如许多数据科学家被迫做的那样 - 只能保证模型不会突然改变。持续监控允许您测量模型是否开始“漂移”,即由于现实变化而变得过时。有时,建议手动注释数据以测试边界情况,或者只是确保模型没有出现重大错误。

最终,模型评估应该导致测量某种形式的模型质量的分数,例如分类准确性。有时,您需要更多依赖于应用程序的度量,例如预期成本或风险度量。然而,你用这个分数做的是另一个故事。

更新和再培训机器学习模型

在下一阶段,我们超越监控,实际管理某些事情。假设您的监控解决方案开始报告越来越多的错误。您可以触发自动模型更新,再培训,甚至完成模型的更换。

一些模型管理设置只是训练一个新模型然后部署它。但是,由于培训可能需要大量资源和时间,因此更明智的方法是使此开关依赖于性能。性能阈值确保实际上值得替换现有模型。运行评估程序以采用先前的模型(通常称为冠军)和新的(重新)训练模型(挑战者); 对它们进行评分并决定是应该部署新模型还是保留旧模型。在某些情况下,当新模型明显优于旧模型时,您可能只想解决模型部署的麻烦。

即使有连续的监控,再培训和更换,如果您不在管理系统的其他地方采取预防措施,机器学习模型仍然可能会遇到季节性问题。例如,如果模型预测服装的销售配额,季节将显着影响这些预测。如果您按月监控和重新培训,年复一年,您可以有效地训练模型以适应当前季节。您还可以根据季节手动设置不同加权季节模型的组合。

有时模型需要保证某些情况下的特定行为。将专家知识注入模型学习是实现这一目标的一种方法,但是具有可以覆盖训练模型的输出的单独规则模型是更透明的解决方案。

虽然某些模型可以更新,但许多算法都可以健忘。很久以前的数据在确定模型参数方面的作用越来越小。这有时是可取的,但很难适当调整遗忘率。

另一种方法是重新训练模型,从头开始构建新模型。这使您可以使用适当的数据采样(和评分)策略,以确保新模型在过去和最近数据的正确组合上进行培训。

现在,管理过程看起来更像这样:

如何管理机器学习模型

管理多个机器学习模型

假设您现在想要连续监视和更新/重新训练整组模型。您可以采用与单模型案例相同的方式处理此问题,但如果使用多个模型,则会出现与界面和实际管理相关的问题。如何将许多模型的状态传达给用户并让她与他们交互,谁控制所有这些流程的执行?必须有所有模型的仪表板视图,这些模型具有管理和控制单个模型的功能。

大多数工作流工具允许将其内部作为服务公开,因此您可以设想一个单独的程序,以确保正确调用您的个人模型管理过程。您可以构建单独的应用程序,也可以使用现有的开源软件来协调建模工作流程,监督这些流程并总结其输出。

当您将它们分组到不同的模型系列中时,管理大量机器学习模型会变得更加有趣。您可以类似地处理预测非常相似行为的模型。如果您经常需要新模型,这将特别有用。当模型相似时,您可以通过从系列中的现有模型初始化新模型来节省时间和精力,而不是从头开始或仅在隔离的过去数据上训练新模型。您可以使用最相似的模型(由对象的某些相似性度量确定)或混合模型进行初始化。

模型管理设置现在看起来像这样:

如何管理机器学习模型

如果您充分抽象模型系列之间的接口,您应该能够随意混合和匹配。这允许新模型重用负载,转换,(重新)培训,评估和部署策略,并以任意方式组合它们。对于每个模型,您只需要定义在此通用模型管理管道的每个阶段中使用哪些特定的流程步骤。

看一看:

如何管理机器学习模型

部署模型可能只有两种不同的方式,但有十几种不同的方式来访问数据。如果您必须将其拆分为不同的模型流程系列,那么最终会有超过一百种变体。

机器学习模型工厂

机器学习模型管理的最后一步是跳转到创建模型工厂。例如,这可以通过仅从上面定义各个部分(处理步骤)并以在配置文件中定义的灵活方式组合它们来完成。然后,每当有人想要稍后更改数据访问或首选模型部署时,您只需要调整该特定流程步骤,而不必修复使用它的所有进程。这是一个梦幻般的节省时间。

在这个阶段,将评估步骤分为两部分是有意义的,即计算模型得分的部分和决定如何处理该部分的部分。后者可以包括处理冠军/挑战者场景的不同策略,并且与您计算实际得分的方式无关。

然后,将模型工厂投入使用实际上很简单。配置设置定义每个模型管道使用每个过程步骤的化身。对于每个型号,您可以自动比较过去和当前的性能并触发重新训练和更新。本白皮书中详细介绍了有关企业扩展模型流程的内容。

这是很多信息,但数据科学家可以掌握每个级别,因为他们必须。今天的大量信息很快就会显得微不足道。我们现在必须开发出可靠,可靠的管理实践,以处理日益庞大的数据量和随之而来的大量模型,以最终理解它。

如何管理机器学习模型

本文摘自信息世界,作者Michael Berthold,KNIME创始人,由码上打卡团队编译,如有错误,请联系修改。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29829936/viewspace-2386131/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
行万里路,读万卷书,阅无数人。 吃货一枚,爱吃湘菜,粤菜与杭帮菜,尝遍天下美食。 摄影爱好者,游遍名川大山,江河胡海,赏遍人间春色。 爱看电影,尤其是国产大片,好莱坞大片。英文名:Dickson Jin, 网名:风一样的BOY。精通SAP供应链咨询。2017年开始研习人工智能。

注册时间:2014-08-27

  • 博文量
    2528
  • 访问量
    3904123