数据科学应用_如何将数据科学应用于生产

数据科学应用

将数据科学应用于生产仍然是一个巨大的挑战。 不仅需要频繁地更新已部署的数据科学,而且可用的数据源和类型也会Swift变化,可用于其分析的方法也会Swift变化。 这种可能性的不断增长使得依靠精心设计和商定的标准或仅在专有工具的框架内工作限制了。

KNIME一直致力于提供一个开放平台,通过添加我们自己的扩展或提供围绕新数据源和工具的包装来集成最新的数据科学发展。 这使数据科学家可以访问和合并所有可用的数据存储库,并应用其首选工具,不受特定软件供应商的偏爱。 使用KNIME工作流程进行生产时,当然始终可以访问相同的数据源和算法。 就像许多其他工具一样,从数据科学创建到数据科学生产的过渡涉及一些中间步骤。

[ 也在InfoWorld上:今天的人工智能:什么是炒作,什么是真实的 ]

在本文中,我们将介绍KNIME工作流引擎的最新功能,该功能允许直接在数据科学创建工作流中捕获生产所需的零件,从而使部署完全自动化,同时仍允许使用数据期间可用的每个模块。科学创造。

相关视频:KNIME集成部署

为什么在生产中部署数据科学如此困难?

乍一看,将数据科学投入生产似乎并不重要:只需在生产服务器或选定的设备上运行它即可! 但是通过仔细检查,可以清楚地看到,在数据科学创建过程中构建的不是正在投入生产的。

我想将其与米其林星级餐厅的厨师进行比较,后者在自己的实验厨房中设计食谱。 通往完美食谱的途径包括尝试新的食材并优化参数:数量,烹饪时间等。只有满足时,最终结果(食材清单,数量,准备菜的程序)才能作为食谱写入。 此食谱就是“投入生产”的过程,即,可供购买本书的数百万家庭厨师使用。

这与提出数据科学问题的解决方案非常相似。 在数据科学创建过程中,将研究不同的数据源。 数据经过混合,汇总和转换; 然后尝试并优化具有多种可能参数设置的各种模型(甚至模型的组合)。 我们投入生产的并不是所有的实验和参数/模型优化,而是所选数据转换与最终的最佳(一组)学习模型的结合。

这听起来仍然很容易,但这通常是差距最大的地方。 大多数工具只允许导出可能模型的一部分。 许多人甚至完全忽略了预处理。 通常,导出的东西甚至都没有准备好使用,而仅仅是模型表示或库,需要先消耗掉或包装成另一个工具,然后才能投入生产。 结果,数据科学家或模型操作团队需要手动添加所选的数据混合和转换,将其与模型库捆绑在一起,然后将其全部包装到另一个应用程序中,以便可以将其投入生产。消耗服务或应用程序。 很多细节在翻译中迷失了。

对于我们上面的米其林厨师来说,此手动翻译不是一个大问题。 她每隔一年只能创建或更新一个食谱,并且可以花一天的时间将自己的实验结果转换成可以在家里典型厨房中使用的食谱。 对于我们的数据科学团队来说,这是一个更大的问题:他们希望能够在需要时轻松地每天甚至每小时地更新模型,部署新工具并在需要时使用新的数据源。 在两者之间添加手动步骤,不仅会使爬网过程变慢,而且还会增加许多其他错误源。

下图显示了数据科学的创建和生产化如何交织在一起。 这受经典CRISP-DM周期的启发,但更强调数据科学部署的连续性以及对不断进行监视,自动更新以及业务方面不断改进和优化的反馈的要求。 它还更清楚地区分了两个不同的活动:创建数据科学并将生成的数据科学过程投入生产。

数据科学应用_如何将数据科学应用于生产_第1张图片 尼米

通常,当人们谈论“端到端数据科学”时,他们实际上仅指的是左侧的循环:一种集成的方法,涵盖了从数据提取,转换和建模到编写某种模型(包括上述注意事项)。 实际使用模型已经需要其他环境,并且在继续监视和更新模型时,工具格局变得更加分散。 在许多情况下,维护和优化也是非常少见且繁重的手动任务。 附带说明:我们在此特意避免使用“模型操作”一词,因为数据科学生产过程(移入“操作”的部分)不仅仅包括模型。

消除数据科学创造和数据科学生产之间的差距

集成部署通过使数据科学家能够捕获部署所需的过程部分,从而使数据科学家能够在同一环境中对创建和生产进行建模,从而消除了数据科学创建与数据科学生产之间的差距。 因此,只要在数据科学创建中进行更改,这些更改也会自动反映在已部署的摘录中。 从概念上讲这很简单,但实际上却非常困难。

如果数据科学环境是编程语言或脚本语言,那么您必须详尽地详细介绍如何为整个过程的各个方面创建合适的子例程,这些子例程可能对部署有用,并且还要确保在这两者之间正确传递了所需的参数。代码库。 实际上,您必须同时编写两个程序,确保始终遵守两个程序之间的所有依赖关系。 容易遗漏少量数据转换或正确应用模型所需的参数。

使用视觉数据科学环境可以使这一过程更加直观。 KNIME的新集成部署节点扩展允许框架化或捕获部署中还需要的那些工作流。 之所以如此简单,是因为这些部分自然是创建工作流程的一部分。 这是因为,首先,在模型训练期间需要完全相同的变换部分,其次,在微调期间需要对模型进行评估。 下图显示了一个非常简单的示例,说明实际情况:

数据科学应用_如何将数据科学应用于生产_第2张图片 尼米

紫色框捕获了数据科学创建过程中部署所需的部分。 现在,我们不必添加它们,也不必经历明确的“导出模型”步骤,现在只需添加Capture-Start / Capture-End节点来构图相关片段,然后使用Workflow-Combiner将这些片段放在一起。 生成的自动创建的工作流程如下所示:

数据科学应用_如何将数据科学应用于生产_第3张图片 尼米

Workflow-Writer节点具有不同的形状,可用于所有可能的部署方式。 他们正好按照其名字的含义进行操作:写出工作流程供其他人用作起点。 但是更强大的功能是可以使用Workflow-Deploy节点,该节点自动将生成的工作流作为REST服务或分析应用程序上传到KNIME Server或将其部署为容器-通过使用适当的Workflow-Deploy节点可以实现所有这些。

数据科学的“完整部署”清单

许多数据科学解决方案都承诺端到端数据科学,完整的模型操作以及“完全部署”的其他形式。 以下是涵盖典型限制的清单。

  • 您可以混合和匹配技术(R,Python,Spark,TensorFlow,云,内部部署),还是只限于特定的技术/环境?
  • 您可以在创建以及部署设置过程中使用同一组工具,还是这两个工具之一仅覆盖另一个工具的子集?
  • 您可以自动部署到服务(例如REST),应用程序或计划的作业中,还是仅部署需要在其他位置嵌入的库/模型?
  • 部署是全自动的还是需要(手动)中间步骤?
  • 您是否可以自动回滚到数据科学创建过程和生产模型中的先前版本?
  • 数年后,您是否可以同时运行创建和生产过程,并保证所有结果的向后兼容性?
  • 可以在不到一分钟的时间内部署经过修订的数据科学流程吗?

本文的目的不是详细描述技术方面。 不过,必须指出的是,这种捕获和部署机制适用于KNIME中的所有节点,这些节点提供对本机数据转换和建模技术的访问权,以及包装其他库(如TensorFlow,R,Python,Weka, Spark,以及KNIME,社区或合作伙伴网络提供的所有其他第三方扩展。

通过新的集成部署扩展,KNIME工作流变成了完整的数据科学创建和生产环境。 建立工作流以尝试使用内置或打包技术的数据科学家可以捕获工作流,以便在同一工作流中直接部署。 这是第一次使直接从用于创建该过程的环境中即时部署完整的数据科学过程成为可能。

Michael Berthold是开源数据分析公司KNIME的首席执行官兼联合创始人。 他在数据科学领域拥有超过25年的经验,曾在学术界工作,最近在Konstanz大学(德国)担任正式教授,此前在加利福尼亚大学(伯克利分校)和Carnegie Mellon担任过正式教授,还曾在Intel的神经网络小组从事行业研究,乌托邦和Tripos。 Michael在数据分析,机器学习和人工智能方面发表了广泛的著作。 在Twitter , LinkedIn和KNIME博客上关注Michael。

-

新技术论坛提供了一个以前所未有的深度和广度探索和讨论新兴企业技术的场所。 选择是主观的,是基于我们选择的技术,我们认为这些技术对InfoWorld读者来说是重要的,也是他们最感兴趣的。 InfoWorld不接受发布的营销担保,并保留编辑所有贡献内容的权利。 将所有查询发送到[email protected]

翻译自: https://www.infoworld.com/article/3541230/how-to-move-data-science-into-production.html

数据科学应用

你可能感兴趣的:(大数据,编程语言,python,机器学习,人工智能)