Byron Allen作者吴振东校对陈丹翻译

攀登数据科学家和数据工程师之间的隔墙

本文为大家介绍了数据科学家和数据工程师之间的鸿沟,并提供了Production ML作为解决方案。

机器学习的教育和研究重点往往集中在数据科学过程的模型构建、训练、测试和优化等方面。要使这些模型投入使用,需要一套工程专长和组织结构,对于其中的标准尚不存在。有一个架构可以指导数据科学和工程团队相互协作,从而将机器学习模型部署到终端用户,这篇文章能让你了解更多关于这一方面的信息。

来源:Chris Conzales今天机器学习中最令人兴奋的事情之一,并不是深入学习或强化学习的前沿,至少我是这样认为。相反,更多有意思的事情是如何管理模型,以及数据科学家和数据工程师如何像一支团队般高效协作。朝这些方向前行可以引导组织更有效、可持续地应用机器学习

可悲的是,“科学家”和“工程师”之间有一道鸿沟,可以说是一堵墙。Databricks的联合创始人兼产品副总裁Andy Konwinski等人,指出了近日一篇关于MLFlow的博客文章中存在一些关键障碍。Databricks说:“构建生产性机器学习应用程序具有挑战性,是因为没有标准的方法来记录实验、确保可重复运行以及管理和部署模型。”。
 
当今应用机器学习的许多主要挑战(无论是技术上的、商业上的还是社会上的)的起因,是随着时间的推移,数据与机器学习部件的管理以及利用之间存在不平衡。一个模型可以表现得非常好,但是如果底层数据漂移、部件没有被用来评估性能,那么您的模型将无法很好地概括总结,也无法适当地更新。这个问题属于一个与数据科学家和工程师都相关的灰色地带。

来源:burak kostak

换言之,问题的症结在于机器学习中缺少CI/CD的主体。如果您的环境发生了变化(如输入数据),并且模型没有在其构建目的的上下文中定期进行评估,从而导致模型随着时间的推移而失去相关性和价值,那么您是否能够创建一个真正好的“黑盒”模型并不重要。这是一个很难解决的问题,因为提供数据的人——工程师,以及设计模型的人——科学家,双方没有形成最令人愉快的组合。

这一挑战有一些具体的例子。想想有多少机器学习的笨蛋预言希拉里·克林顿将在大选中获胜。从自动驾驶汽车杀死无辜的行人,到有偏见的人工智能系统,都有一些重大的失误,我认为这些失误通常起因于数据科学和工程之间的灰色地带。

来源:Kayla Velasquez

也就是说,无论是消极的还是积极的,机器学习都会影响到我们的社会。举一个更积极、更少商业化的例子,比如说electricity map使用机器学习来绘制全世界电力对环境的影响图;机器学习在癌症研究中目前正帮助我们更早、更准确地发现几种癌症类型;人工智能驱动的传感器为农业赋能,以满足全球粮食需求的飙升。 

两者之间的隔墙

考虑到这一点,获得机器学习的成果,更具体点,模型管理是至关重要的。然而,回到正题,数据科学家和数据工程师并不总是能互相理解。
 
对于一个数据科学家来说,不了解他们的模型应该如何存在于一个不断吸收新数据、集成新代码、被终端用户调用、并可能不时地以各种方式(即在生产环境中)失败,这样的情况并不少见。另一方面,许多数据工程师对机器学习的理解不够,不足以使他们明白投入生产的内容以及对组织的影响是什么。。
 
尽管这两个角色占据了同一空间,但他们在操作时往往没有足够地考虑对方的那一方面。“那不是我的工作”不是正确的方法。要生产出可靠、可持续和适应性强的产品,这两个角色必须更有效地协同工作。
 
攀墙

理解对方的第一步是建立一个共同的词汇表——对语义学进行某种标准化,并因此讨论挑战或者说是相切合的挑战是怎样的。当然,其中充满挑战——只要问几个不同的人什么是数据湖,如果你得到的不是多个答案的话,至少也会得到是两个不同的答案。
 
我开发了共同的参考点,称之为ProductionML价值链和ProductionML框架。

我们将生产性机器学习的过程分解为五个重叠的概念,这些概念常常被单独考虑。虽然引入这样一个整体框架似乎会增加复杂性和相互依赖性——实际上,这些复杂性和相互依赖性已经存在——如果忽略它们的话只会把问题推到最后。
 
通过在生产性机器学习管道的设计中考虑相邻的概念,您将开始引入难以捉摸的可靠性、可持续性和适应性。
 
ProductionML 框架

ProductionML价值链是对操作数据科学和工程团队所需内容的高级描述,目的是将模型部署到终端用户。自然会有更为技术性和详细的理解——我称之为ProductionML框架(有些人可能称之为连续智能)。

ProductionML 框架

这个框架是在商业性MLOps工具、开源选项和内部PoC开发的几轮实验之后开发的。它旨在指导production ML项目的未来开发,特别是ProductionML中需要数据科学家和工程师输入的方面。 

数据科学是橙色的,数据工程/DevOps是蓝色的。
 
如果您不熟悉这些方面,请参阅橙色标记的数据科学和蓝色标记的数据工程/DevOps。
 
如您所见,“训练性能跟踪”机制(例如,MLFlow)和管理机制位于该体系结构的中心。这是因为每个部件,包括度量、参数和图形,都必须在培训和测试阶段存档。此外,所谓的模型管理从根本上与利用这些部件的模型管理方式有关。
 
管理机制将部件和业务规则结合起来,提升优化合适的模型(或更确切地说,是估计器)以适应生产,同时根据用例特定的规则来标记其他模型。这也称为模型版本控制,但术语“管理”用于避免与版本控制混淆,并强调该机制在监督模型管理中的中心作用。
 
黄金枪?

我们都一起前行。我们都在努力攀登这堵墙。有很多很棒的工具进入市场,但迄今为止,没有人有一把黄金枪…

来源:Mrgarethm-Golden Gun-国际间谍博物馆

在我看来,MLFlow迈出了巨大的一步,它回答了关于模型管理和工件归档的某些问题。其他产品同样解决了相对特定的问题——尽管它们的优势可能在ProductionML价值链的其他部分。这些可以在Google Cloud ML引擎和AWS Sagemaker中看到。最近,GCP提供了AutoML Tables beta的beta版本,但即使如此,尽管它确实更接近了,但它也不能提供所需的所有现成的东西。 

考虑到这种持续的差异,在科学家和工程师之间建立一个共同的词汇和框架是至关重要的。
 
这堵墙太高了吗?根据我的经验,答案是否定的,但这并不是说ProductionML不复杂。
 
詹姆斯·邦德:
M:所以如果我没听错的话,斯卡拉曼加逃走了——坐在一辆长出翅膀的车里!
Q:哦,那完全可行,先生。事实上,我们现在正在制造一辆。
 
也许你应该这样翻过那堵墙…

原文标题:

Scaling the Wall Between Data Scientist and Data Engineer

原文链接:

https://www.kdnuggets.com/2020/02/scaling-wall-data-scientist-data-engineer.html

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

产业数据科学机器学习
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

自动驾驶汽车技术

自动驾驶汽车,又称为无人驾驶汽车、电脑驾驶汽车或轮式移动机器人,是自动化载具的一种,具有传统汽车的运输能力。作为自动化载具,自动驾驶汽车不需要人为操作即能感测其环境及导航。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

语义学技术

语义学,也作“语意学”,是一个涉及到语言学、逻辑学、计算机科学、自然语言处理、认知科学、心理学等诸多领域的一个术语。虽然各个学科之间对语义学的研究有一定的共同性,但是具体的研究方法和内容大相径庭。语义学的研究对象是自然语言的意义,这里的自然语言可以是词汇,句子,篇章等等不同级别的语言单位。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~