为什么数据科学家需要承担开发运维的工作?

2020 年 5 月 31 日 CSDN

作者 | Caleb Kaiser
译者 | 弯月,责编 | 夕颜
头图 | CSDN下载自视觉中国
出品 | CSDN(ID:CSDNnews)

以下为译文:

 

如果你需要创建一个生产环境下的机器学习流水线,那么开始的部分工作(设计和训练模型等)显然属于数据科学的范畴。

 

某种意义上,当你需要将模型投入生产环境时,需要将常规的流水线从数据科学领域转移到基础设施领域。直观地讲,这时数据科学团队需要将工作移交给其他人,即开发运维。

 

然而,现实并非总是如此。越来越多的公司开始要求数据科学家负责将模型部署到生产的工作。

 

据统计,大多数数据科学家都需要花费25%以上的工作时间来部署模型。有趣的是,在数据科学家职位的招聘广告中也经常看见Kubernetes、Docker和EC2之类的技术要求。

 

为什么数据科学家不应该处理模型服务?

 

简单来说,模型服务是基础架构的问题,不属于数据科学范畴。我们可以比较一下这两个领域使用的技术栈:

             

当然,有些数据科学家喜欢开发运维,他们也可以承担跨部门的工作,但是这种情况比较罕见。事实上,我认为大家都高估了数据科学与开发运维之间的重叠度。

 

我们反过来看,你是否认为开发运维工程师能够设计新的模型体系结构,或者拥有大量调整超参数的经验?可能那些具备了数据科学知识,而且愿意学习一切的开发运维工程师确实能够胜任这些工作,但是将这些工作视为开发运维团队的职责就很奇怪了。

 

将心比心,数据科学家也不应该操心自动伸缩或编写Kubernetes清单文件的工作。那么为什么各个公司会这样要求他们呢?

 

各个公司忽视了基础设施的工作

 

许多组织对于模型服务的复杂程度存在根本的误解。通常他们的态度是“利用Flask打包一下模型就足够了。”

 

然而现实情况是,无论规模如何,任何模型服务都涉及一系列基础设施的难题。例如:

 

  • 如何在保证不停机的情况下,自动更新生产中的模型?
  • 如何有效地自动伸缩一个在GPU上运行的5GB模型?
  • 如何监视和调试生产部署?
  • 如何在控制云消费的情况下,完成所有的工作?
 
平心而论,现如今的机器学习基础设施是一个非常新的概念。两年前,Uber才透露了他们最先进的内部机器学习基础设施:Michelangelo。机器学习基础设施的编写方式多种多样。
 
但是,很多组织也很好地示范了如何在没有Uber工程资源的情况下,将数据科学与开发运维的工作重心分开来。
 

如何分离数据科学与开发运维的工作?
 
在这个话题上,我的很多看法主要来自我从事的开源模型服务平台Cortex上的工作。
 
我们通过模型-API-客户端的抽象架构,概念化了数据科学、开发运维与产品工程之间的交接工作:
 
  • 模型:经过训练的模型,即便是没有数据科学专业知识的工程师也可以使用predict()函数。
  • API:基础设施层接受训练好的模型,然后部署为Web服务。我们构建了Cortex来自动化这一层的工作。
  • 客户端:实际与部署在API层中的Web服务交互的应用程序。
 
在模型阶段,数据科学家会训练并导出模型。他们还将负责编写predict()函数,用于根据模型生成和过滤预测。
 
接下来,他们会将该模型移交给API,这个阶段的工作完全由开发运维部门负责。对于开发运维部门来说,该模型只是一个Python函数,只需将其转换为微服务,然后进行容器化和部署。
 
在模型-微服务启动后,产品工程师就可以把它们当作API进行查询。对他们来说,该模型只是一个Web服务。
 
模型-API-客户端体系结构不是分割数据科学与工程问题的唯一方法,但这个例子说明了你完全可以在数据科学和开发运维之间划清界线,同时无需引入过多的开销或构建昂贵的端到端平台。
 
只需在机器学习的工作流程中建立明确的交接点,就可以将数据科学家解放出来,让他们去做擅长的工作:数据科学。

作者简介
Caleb Kaiser,机器学习基础设施工程师。

原文链接:
https://towardsdatascience.com/why-are-data-scientists-doing-devops-bc36d00584c3

本文为CSDN翻译文章,转载请注明出处。

【END】
6月2日20:00 ,CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛携手全球顶级开源基金会主席、董事,聚焦中国开源现状,直面开发者在开源技术、商业上的难题,你绝不可错过的开源巅峰对谈!立即免费围观

更多精彩推荐

大佬 Zed 玩转跨界:不会绘画的音乐家不是好程序员

航拍高手、吉他十级,6500+Star 开源项目作者,后浪程序员给力!

面试官:你的 SQL 一般有几个 join?| 原力计划

基于深度学习和传统算法的人体姿态估计,技术细节都讲清楚了

面试中遇到这 3 个SQL问题,最容易掉坑里!

好扑科技结合区块链行业发展趋势,重磅推出“好扑区块链合伙人”计划

点击阅读原文,精彩继续。

你点的每个“在看”,我都认真当成了喜欢
登录查看更多
0

相关内容

数据科学(英語:data science)是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。 它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。 数据科学通过运用各种相关的数据来帮助非专业人士理解问题。
专知会员服务
78+阅读 · 2020年6月20日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
257+阅读 · 2020年6月10日
专知会员服务
121+阅读 · 2020年3月26日
【资源】100+本免费数据科学书
专知会员服务
105+阅读 · 2020年3月17日
【新书】Java企业微服务,Enterprise Java Microservices,272页pdf
21个必须知道的机器学习开源工具!
AI100
13+阅读 · 2019年9月13日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
Forge:如何管理你的机器学习实验
专知
11+阅读 · 2018年12月1日
【机器学习】如何通过机器学习预测维护设备?
产业智能官
16+阅读 · 2018年7月9日
为什么 Python 更适合做 AI/机器学习?
计算机与网络安全
10+阅读 · 2018年3月18日
反欺诈中所用到的机器学习模型有哪些?
【学界】机器学习模型的“可解释性”到底有多重要?
GAN生成式对抗网络
12+阅读 · 2018年3月3日
Arxiv
26+阅读 · 2019年3月5日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Arxiv
3+阅读 · 2018年9月12日
Phrase-Based & Neural Unsupervised Machine Translation
Arxiv
6+阅读 · 2018年3月28日
VIP会员
相关资讯
21个必须知道的机器学习开源工具!
AI100
13+阅读 · 2019年9月13日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
Forge:如何管理你的机器学习实验
专知
11+阅读 · 2018年12月1日
【机器学习】如何通过机器学习预测维护设备?
产业智能官
16+阅读 · 2018年7月9日
为什么 Python 更适合做 AI/机器学习?
计算机与网络安全
10+阅读 · 2018年3月18日
反欺诈中所用到的机器学习模型有哪些?
【学界】机器学习模型的“可解释性”到底有多重要?
GAN生成式对抗网络
12+阅读 · 2018年3月3日
Top
微信扫码咨询专知VIP会员