AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

不要再让数据科学家管理 Kubernetes 集群了

  • 2020-02-21
  • 本文字数:2143 字

    阅读完需:约 7 分钟

不要再让数据科学家管理Kubernetes集群了

本文内容基于我对机器学习团队的观察,而不是对该行业的学术调查。我是Cortex的贡献者,这是一个用于在生产环境中部署模型的开源平台。生产级机器学习有一个组织性的问题,这是因为它相对还比较新。虽然更成熟的领域(例如 Web 开发)经过几十年的发展已经有了最佳实践,但是生产级机器学习还没有。如果我们希望未来以 ML 为基础的软件真正普及开来,那么消除基础设施瓶颈就至关重要——要做到这一点,我们需要将其真正的专门化,让数据科学家专注于数据科学。


本文最初发布于 Towards Data Science 博客,经原作者授权由 InfoQ 中文站翻译并分享。


声明:以下内容基于我对机器学习团队的观察,而不是对该行业的学术调查。我的背景:我是Cortex的贡献者,这是一个用于在生产环境中部署模型的开源平台。


生产级机器学习有一个组织性的问题,这是因为它相对还比较新。虽然更成熟的领域(例如 Web 开发)经过几十年的发展已经有了最佳实践,但是生产级机器学习还没有。


举个例子,假设你的任务是为你所在的初创公司组建一个产品工程组织,而这家公司是一个开发 Web 应用程序的公司。即使你没有组建团队的经验,你也可以找到成千上万的文章和书籍,它们会告诉你这个工程组织应该采用什么结构以及如何发展。


现在想象一下,你在一家刚刚开始涉足机器学习的公司。你已经聘请了一名数据科学家来领导最初的工作,结果也不错。随着机器学习在产品中的应用越来越深入,随着数据科学家的职责迅速增加,机器学习团队显然需要发展壮大。


在这种情况下,并没有那么多关于如何构建一个生产级机器学习团队的文章和书籍。


这不是一个不常见的场景,经常出现的情况是,机器学习组织的新职责—特别是基础设施—被分配给了数据科学家。


这是个错误。

机器学习和机器学习基础设施的区别

在这一点上,平台和产品工程师的区别已经很好理解了。类似地,数据分析师和数据工程师显然是不同的角色。


许多公司的机器学习仍然缺乏这种专业化。


了解机器学习和机器学习基础设施之间的区别很重要,这有助于了解它们所需的工作和工具。


为了设计和训练新模型,数据科学家需要:


  • 把时间花在 Notebook、分析数据、做实验上。

  • 考虑类似数据保健和为数据集选择正确的模型架构这样的问题。

  • 使用 Python、R、Swift 或 Julia 等编程语言。

  • 对像 PyTorch 或 TensorFlow 这样的机器学习框架有自己的见解。


换句话说,他们的职责、技能和工具将围绕着操纵数据开发模型,他们的最终输出将是可以提供最准确预测的模型。


基础设施方面则完全不同。


将模型投入生产应用的一种常见方法是将其作为微服务部署到云中。要将模型部署为生产用 API,工程师需要:


  • 在配置文件、终端和云提供商的控制台之间分配他们的时间,设法优化稳定性、延迟和成本。

  • 考虑实例的自动扩展、在 API 不崩溃的情况下更新模型以及在 GPU 上提供推断服务等问题。

  • 使用 Docker、Kubernetes、Istio、Flask 等工具,以及他们的云提供商提供的任何服务/API。


关于机器学习和机器学习基础设施方面的工作,下面是一个简单的可视化:



机器学习 vs 机器学习基础设施


直观地说,数据科学家应该处理左边的圆,而不是右边的圆,这是有道理的。


让非专业人员管理基础设施有什么问题吗?


我们不妨做个假设。假设你必须指派某人来管理你的机器学习基础设施,但是你又不想让某人全职参与其中。你只有两个选择:


  • 一个是数据科学家,因为他们熟悉机器学习。

  • 一个是 DevOps 工程师,因为他们熟悉一般的基础设施。


这两种选择都有问题。


首先,数据科学家应该尽可能多的把时间花在他们最擅长的数据科学上。当然,这并不是说学习基础设施超出了他们的工作范围,只是基础设施和数据科学都是全职工作,将数据科学家的时间分配到这两项工作中会降低产出的质量。


其次,你的组织需要专门负责机器学习基础设施的人员。在生产环境中提供模型服务不同于托管 Web 应用程序。你需要一个专门的人来担任此角色,他可以在组织中倡导机器学习基础设施。


这种倡导是至关重要的。我了解了很多机器学习组织,你会惊讶地发现,他们的瓶颈往往不是来自技术性挑战,而是来自组织性挑战。


例如,我曾见过需要使用 GPU 进行推理的机器学习团队——像GPT-2这样的大型模型基本上都要求合理的延迟时间——但他们却无法获得 GPU,因为他们的基础设施是由更广泛的 DevOps 团队管理的,而这些团队不想让自己承担成本。


有专人致力于你的机器学习基础设施,意味着你不仅有一个不断改进基础设施的团队成员,还意味着你有一个能够满足你的团队需求的倡导者。

那么谁应该管理基础设施?

机器学习基础设施工程师。


现在,不要对这种官方的头衔有异议,要知道,机器学习还处于初级阶段,在头衔问题上,它还属于“狂野的西部”。不同的公司可能会有不同的叫法:


  • 机器学习基础设施工程师

  • 数据科学平台工程师

  • ML 生产工程师


我们已经可以看到成熟的机器学习组织招聘这个职位,包括 Spotify:



还有 Netflix:



随着诸如 Gmail 的 Smart Compose、Uber 的 ETA 预测和 Netflix 的内容推荐等基于 ML 的功能在软件中的应用越来越普遍,机器学习基础设施变得越来越重要。


如果我们希望未来以 ML 为基础的软件真正普及开来,那么消除基础设施瓶颈就至关重要——要做到这一点,我们需要将其真正的专门化,让数据科学家专注于数据科学。


英文原文:Stop making data scientists manage Kubernetes clusters


2020-02-21 08:001483

评论

发布
暂无评论
发现更多内容

AI简报-how to use Loss Surfaces 一种模型集成

AIWeker

AI简报 7月月更

web前端培训从 Vue CLI 怎样迁移到 Vite

@零度

前端开发 vite

JAVA编程规范之OOP规约

源字节1号

后端开发

30岁被裁,我想明白的几件事

老张

职业第二曲线 职场发展

浅析eTS的起源和演进

HarmonyOS开发者

HarmonyOS

渗透测试(PenTest)基础指南

SEAL安全

网络安全 DevSecOps 渗透测试 开源软件供应链 软件供应链安全

来了,MyBatisPlus的join联表查询

冉然学Java

Java mybatis 编程、 Fork/Join框架

数据库每日一题---第22天:最后一次登录

知心宝贝

数据库 算法 前端 后端 7月月更

墨天轮沙龙 | 北京大学李文杰:面向知识图谱应用的图数据库系统gStore

墨天轮

数据库 图数据库 知识图谱 开源数据库 国产数据库

wallys/2×2 MIMO 802.11ac Mini PCIe Wi-Fi Module, Dual Band, 2,4GHz / 5GHz

wallys-wifi6

IPQ4019 QCA9880 QCA9882 QCN9074 IPQ9072a

Neuron 2.1.0发布:支持Sparkplug B规范,更完善的工业协议支持

EMQ映云科技

物联网 IoT 工业 7月月更 版本发布

Python丨实用技巧Tips

AXYZdong

Python 7月月更

双引擎 GPU 容器虚拟化,用户态和内核态的技术解析和实践分享

Baidu AICLOUD

异构计算 AI加速 GPU容器虚拟化

秒懂 Git 与 Gitee

攻城狮杰森

git gitee 7月月更 入门教程

好家伙!阿里人用5个案例就彻底讲清了SpringSecurity安全框架

程序员小毕

Java spring 程序员 面试 springsecurity

户外全彩LED显示屏显示功能

Dylan

全彩LED显示屏 户外LED显示屏

百度APP iOS端内存优化实践-大块内存监控方案

百度Geek说

ios

Rancher2.6 Monitoring Grafana 对接 LDAP

Rancher

Kubernetes k8s rancher

Wallys/WiFi6 MiniPCIe Module 2T2R 2×2.4GHz 2x5GHz MT7915 MT7975

wallys-wifi6

IPQ4019 IPQ6010 ipq6018 QCN9074 MT7975

React Native 跨端框架与小程序混编实战

Speedoooo

flutter 小程序 React Native APP开发

来TDengine 开发者大会,探索数据架构的迭代升级

TDengine

数据库 物联网 ​TDengine

Pro 多店版系统,功能全才非它莫属!

CRMEB

Python基础详解(一)

五分钟学大数据

Python 7月月更

java培训JVM中方法调用的深入理解

@零度

JVM JAVA开发

架构“浴火重生”宝典名不虚传!GitHub开源半日标星竟已超300k!

冉然学Java

Java 架构 笔记分享 #Github #开源

推荐一个鸿蒙即时通讯软件《果聊》,有点屌呢!!

坚果

OpenHarmony 7月月更 harmony

OneFlow源码一览:GDB编译调试

OneFlow

源码 编译调试 框架解析

得物数据库中间件平台“彩虹桥”演进之路

得物技术

数据库 云原生 中间件 得物 彩虹桥

Android-聊聊自动化测试真经

芝麻粒儿

android 7月月更

浅谈:NFT元宇宙链游系统开发原理

开发微hkkf5566

不要再让数据科学家管理Kubernetes集群了_AI&大模型_Caleb Kaiser_InfoQ精选文章