来源 | 数据派 THU

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

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

可悲的是,“科学家”和“工程师”之间有一道鸿沟,可以说是一堵墙。Databricks的联合创始人兼产品副总裁Andy Konwinski等人,指出了近日一篇关于MLFlow的博客文章中存在一些关键障碍。Databricks说:“构建生产性机器学习应用程序具有挑战性,是因为没有标准的方法来记录实验、确保可重复运行以及管理和部署模型。”

当今应用机器学习的许多主要挑战(无论是技术上的、商业上的还是社会上的)的起因,是随着时间的推移,数据与机器学习部件的管理以及利用之间存在不平衡。一个模型可以表现得非常好,但是如果底层数据漂移、部件没有被用来评估性能,那么您的模型将无法很好地概括总结,也无法适当地更新。这个问题属于一个与数据科学家和工程师都相关的灰色地带。

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

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

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

两者之间的隔墙

考虑到这一点,获得机器学习的成果,更具体点,模型管理是至关重要的。然而,回到正题,数据科学家和数据工程师并不总是能互相理解。

对于一个数据科学家来说,不了解他们的模型应该如何存在于一个不断吸收新数据、集成新代码、被终端用户调用、并可能不时地以各种方式(即在生产环境中)失败,这样的情况并不少见。另一方面,许多数据工程师对机器学习的理解不够,不足以使他们明白投入生产的内容以及对组织的影响是什么。。

尽管这两个角色占据了同一空间,但他们在操作时往往没有足够地考虑对方的那一方面。“那不是我的工作”不是正确的方法。要生产出可靠、可持续和适应性强的产品,这两个角色必须更有效地协同工作。

攀墙

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

我开发了共同的参考点,称之为ProductionML价值链和ProductionML框架。

我们将生产性机器学习的过程分解为五个重叠的概念,这些概念常常被单独考虑。虽然引入这样一个整体框架似乎会增加复杂性和相互依赖性——实际上,这些复杂性和相互依赖性已经存在——如果忽略它们的话只会把问题推到最后。

通过在生产性机器学习管道的设计中考虑相邻的概念,您将开始引入难以捉摸的可靠性、可持续性和适应性。

ProductionML 框架

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

ProductionML 框架

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

数据科学是橙色的,数据工程/DevOps是蓝色的。

如果您不熟悉这些方面,请参阅橙色标记的数据科学和蓝色标记的数据工程/DevOps。

如您所见,“训练性能跟踪”机制(例如,MLFlow)和管理机制位于该体系结构的中心。这是因为每个部件,包括度量、参数和图形,都必须在培训和测试阶段存档。此外,所谓的模型管理从根本上与利用这些部件的模型管理方式有关。

管理机制将部件和业务规则结合起来,提升优化合适的模型(或更确切地说,是估计器)以适应生产,同时根据用例特定的规则来标记其他模型。这也称为模型版本控制,但术语“管理”用于避免与版本控制混淆,并强调该机制在监督模型管理中的中心作用。

黄金枪?

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

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

考虑到这种持续的差异,在科学家和工程师之间建立一个共同的词汇和框架是至关重要的。

这堵墙太高了吗?根据我的经验,答案是否定的,但这并不是说ProductionML不复杂。

詹姆斯·邦德:

M:所以如果我没听错的话,斯卡拉曼加逃走了——坐在一辆长出翅膀的车里!

Q:哦,那完全可行,先生。事实上,我们现在正在制造一辆。

也许你应该这样翻过那堵墙…

欢迎所有开发者扫描下方二维码填写《开发者与AI大调研》,只需2分钟,便可收获价值299元的「AI开发者万人大会」在线直播门票!

推荐阅读半小时训练亿级规模知识图谱,亚马逊AI开源知识图谱嵌入表示框架DGL-KE
中国顶尖的技术社区们在一个群里,会聊什么…京东智能内容创作算法的演进与实践:基于关键词自动生成摘要马化腾、马云并列成为中国首富;百度回应“将上线电商直播”;.NET 5 Preview 2 发布 | 极客头条程序员职场背锅甩锅指南警惕!新骗术出现:这些虚假二维码生成器已成功盗取 4.6 万美元!“出道” 5 年采用率达 78%,Kubernetes 的成功秘诀是什么?
  • 你点的每个“在看”,我都认真当成了AI

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

  1. 如何解决数据科学家、数据工程师和生产工程师的阻抗失配问题

    构建一个可扩展.可靠和高性能的机器学习(ML)基础架构并不容易.这比用Python构建一个分析模型要花费更多的精力. Uber已经为许多生产中的用例运行了其可扩展和不依赖框架的机器学习平台Michel ...

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

    作者:Byron Allen 翻译:陈丹 校对:吴振东 本文约2400字,建议阅读10分钟 本文为大家介绍了数据科学家和数据工程师之间的鸿沟,并提供了Production ML作为解决方案. 标签:机 ...

  3. 如何区分大数据下的三大利器:数据科学家,数据工程师与数据分析师

    与其他一些相关工程职位一样,数据科学家的影响力与互联网同进同退.数据工程师和数据分析师与数据科学家携手共同完成这幅"大数据时代"巨作.他们共同努力拟定数据平台要求,基础和高级算法, ...

  4. 如何区分理解数据科学家与机器学习工程师

    数据科学家Vs机器学习工程师 原文: What are machine learning engineers? 来源: https://tech.co/12-ways-advantage-big-da ...

  5. 数据科学家、数据工程师、数据分析师的区别有什么

    随着大数据的愈演愈热,相关大数据的职业也成为热门,给人才发展带来带来了很多机会.数据科学家.数据工程师.数据分析师已经成为大数据行业最热门的职位.它们是如何定义的?具体是做什么工作的?需要哪些技能? ...

  6. 给软件工程师、数据科学家和数据工程师的面试指南:该做与不该做

    亚马逊这样的公司有 14 项领导原则 .他们不想仅仅雇佣一个数据科学家或软件工程师.对于许多只进行一次或两次面试的面试者来说,这可能没有那么明显,因为你太专注于回答面试的技术部分.但是,在你进行技术面 ...

  7. 这五个数据科学家和机器学习工程师油管博主,你必须关注

    全文共1983字,预计学习时长5分钟 图源:unsplash 别再看没完没了地看油管上的猫咪视频!是时候利用它"武装"自己的大脑了.这5个油管博主,笔者强烈安利,让他们带你去了解如 ...

  8. 数据分析师,BI开发人员,数据科学家和数据工程师的角色

    数据分析师,BI开发人员,数据科学家和数据工程师的角色 本文由Saeed Aghabozorgi和Polong Lin共同撰写后,本人翻译而来,原文在此: https://cognitiveclass ...

  9. 顶级数据科学家谈数据素养

    何为数据素养(Data Literacy)? 数据素养,并非只是简单语词,而是具有丰富层次的复杂概念. 学者曾给出过一个相对正式的定义,称数据素养是"解读.处理.分析和反思数据的能力&quo ...

最新文章

  1. CloudCompare的介绍
  2. 网络编程模型综述 之 成熟的IO框架介绍
  3. java sqlserver 二进制_Java将图片资源以二进制的形式保存到Sqlserver数据库中
  4. 大厂2020届实习生笔试题
  5. 计算机组装 毕业设计,毕业设计(论文)--计算机组装与维护 .doc
  6. uniapp判断是ios、android、小程序
  7. C语言图形化编程 【一】
  8. 微信小程序——定位(根据经纬度算距离)
  9. 渗透测试工程师从业经验
  10. PHP汉字转拼音(有声调、无声调、首字母、首字母大写)
  11. php拼音分组,前端 - JavaScript如何实现汉字按拼音首字母分组拼序
  12. ubuntu phpmyadmin php5.3,ubuntu中怎么下载安装phpmyadmin
  13. 股票控件android,一个Android股票应用(含源码)
  14. 使用Go清理数据:第1部分
  15. PTA题目 : 用指针实现将一个3*3的整型矩阵转置
  16. 关于 arm 和 x86 架构的思考
  17. 低代码接口开发平台——YesApi(免费注册)
  18. 开箱一款高精度智能手表,健康监测运动记录,你来评评是否值得
  19. 2015年校园招聘12家IT公司面试体验
  20. vue实现实例搜索和排序

热门文章

  1. Centos7更改root密码
  2. LINUX创建www的用户组和用户,并且不允许登录权限:
  3. 倍福TwinCAT(贝福Beckhoff)基础教程5.1 TwinCAT-2 运行可执行文件
  4. http头部消息中的cache-control解释
  5. LINUX 查找tomcat日志关键词
  6. Linux内核--网络栈实现分析(二)--数据包的传递过程--转
  7. Linux下,各种解压缩命令集合
  8. 关于RAID与SCSI的一些基本概念(转)
  9. Java获取文件的目录_Java实现读取某个路径下的文件目录
  10. QGC地面站参数调节