📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

MLOps Is a Mess: A Conversation with Mihail Eric

Petuum59:11

Transcription

你好,马哈尔,感谢您今天加入我们。我们很高兴能与您交谈。我先做个自我介绍,我是 Petuum 的产品营销经理 Julie。与我一起的是 Adal Islam,他是 Petuum 的首席产品经理。这是我们的新 Petuum 播客系列,我们将与您交流机器学习领域的不同实践者,以及我们工程团队和更广泛社区中的不同人物,讨论 MLOps,他们面临的问题,他们看到的问题,以及他们对 ML 的未来展望。

所以今天我们有马哈尔加入我们。马哈尔,也许您可以给我们一些关于您背景的信息,您来自哪里,是什么让您进入这个领域的?

当然,当然,我很乐意开始。首先,非常感谢你们邀请我。我非常兴奋能在这里谈论 MLOps,这是一个我非常熟悉和热爱的领域。是的,如果对您有帮助,我可能会先从我的背景和我是如何进入 ML 的开始,如果这有帮助的话。

哦,是的,完全可以。您来自哪里?您出生在哪里?

我出生在德国。所以,很遗憾我永远不能当总统。但如果政治是我喜欢的,那么机器学习就不会失败。

是的,我出生在德国。我的大部分生活都在洛杉矶度过,我的家人在我很小的时候就搬到了那里。但我也有一个小插曲,我在新罕布什尔州的寄宿学校度过了一段时间,然后又回到西海岸,在湾区学习。在那里我完成了本科和研究生学业。我最终是如何进入机器学习的,是在学校期间,当我开始在大学正式学习计算机科学时。

是的,我基本上已经从事 ML 工作近十年了。所以,当我进入 ML 领域时,那大概是……我不知道你们是否还记得,但当时 Andrew Ng 还在 Google Brain,他们有一个很大的演示,他们用 YouTube 的所有视频训练了一个大型神经网络,让它学习它能学到的东西。而神经网络最终发现的是猫,对吧?基本上,它在猫的视觉图像方面获得了非常好的表示。所以,这大概是我刚开始时的 ML 状态。

这是在 TensorFlow 或 PyTorch 出现之前的日子,你知道,TensorFlow 还没有出来,人们还没有讨论这意味着什么。但在此期间,我将人工智能和机器学习作为我的重点,在自然语言处理方面做了很多工作。所以,我在语言理解系统和生成系统方面做了很多研究。在斯坦福大学期间,我与许多非常非常出色的世界级研究人员合作,解决了很多关于对话系统的问题,以及我们如何构建对话助手。当时,我们正在进行一些关于深度学习用于对话系统的早期工作。

毕业后,我花了一点时间在自动驾驶汽车领域,这是当时另一个热门领域,甚至比现在还热门。但在 2017 年,人们认为自动驾驶汽车将在 2020 年实现,这就是普遍的看法。我花了一点时间在自动驾驶领域,在一个早期公司担任早期工程师。所以我从研究员转变为工程师,更像是一个低级工程师。然后我离开去帮助亚马逊 Alexa 启动一个特殊项目团队,在那里我花了大约两年半的时间帮助发展这个团队,并处理了各种各样的事情,主要是在对话系统和人工智能领域。我们发表了很多论文,做了很多研究,但也把很多东西推到了 Alexa 产品中,因为我们的任务是真正思考 Alexa 平台的未来会是什么样子,以及我们如何朝着那个未来前进。所以,在那里有很多有趣的事情。

是的,现在我只是在做不同的项目,机器学习、数据和所有基础设施。您是咨询公司的创始人,对吗?

是的,没错,没错。你们做什么?

是的,所以,总的来说,我参与的咨询公司,我工作的公司,我们基本上是一家通用咨询公司。公司会带着他们的机器学习问题来找我们。很多时候是那些处于机器学习生命周期早期阶段的公司。我们已经看到了他们机器学习采用的各个阶段,我们经常构建一些他们最终会实施的第一个 ML 产品。用例从更像自然语言的东西到计算机视觉到推荐系统不等。所以,我们对领域相当不敏感。但总的来说,这是关于我们如何帮助这些公司在机器学习方面取得第一个重大突破。通常是利用他们已经拥有的一些专有数据集。而且,这些企业本身通常是非常成功的企业,只是他们还没有考虑引入他们的第一个机器学习系统。所以,我们介入,我们开始处理他们的数据,我们开始构建系统,并试图在他们的关键业务指标上创造价值。

你们做这个多久了?

大约一年半了。一年半左右。

恭喜。

是的,是的,是的。我非常享受,做了很多不同的事情。

我可以问你一个问题吗?在当今世界,尤其是在 AV 领域工作的人要转向像 Alexa 这样的领域,似乎有点困难,对吧?我不知道您转换的时候是否有所不同,但我无法想象这是人们会想到的事情。您是如何完成这种职业过渡的?从外部看,它可能看起来像是“哦,是的,你只是在做机器学习”,但深入研究,对我来说,这似乎是一个相当大的飞跃。

我认为,在某种程度上,我认真学习机器学习对我帮助很大。因为我的正式培训是机器学习理论,而且很多同样的原则最终都适用,对吧?我指的是,你如何训练机器学习系统,你如何看待数据、验证数据、清理数据,然后最终生产化系统,很多同样的原则都适用,即使模态可能有点不同。所以,显然,AV 更侧重于视觉,通常是时间序列类型的问题。但,是的,在很多方面,同样的原则都适用。你可能花的时间更少。当你考虑语言时,你现在花更多时间在 Transformer 上,或者过去花时间在 RNN 上。但在那里,在 AV 的情况下,你可能花更多时间在……但根本上,它并没有太大区别。

而且,是的,会有一个过渡期,我承认,你需要更熟悉一些特定类型的模型的领域训练。但,如果你的机器学习原理基础扎实,那么这个提升就不会那么剧烈。

是的,而且我认为……抱歉,在我们深入研究 MLOps 之前,您对 AV 的展望是什么?我们没有在 2020 年达到 Level 5,对吧?

不幸的是,我们没有在 2020 年达到 Level 5。也许只是因为世界停滞了几年。但,不,我认为 AV,这实际上很有趣,因为 AV,花了很多时间在自然语言处理和 AV 上,我认为它们是相似的问题,因为它们都非常依赖长尾。就像 AV 的成功一样,我们可以在 95%、99%、99% 的情况下做得很好,然后就是那些非常非常难以解决的 1% 的情况,在那里你真正遇到了效率的瓶颈和预期的收益。

同样,在 NLP 中,我们可以构建相对不错的系统来覆盖很多好的情况,但所有人类语言的复杂性,处理俚语,人们奇怪的习语,人们奇怪的表达方式,这使得语言如此丰富,但也引入了你需要处理的案例的长尾。所以,它们是非常相似的问题。

我想说,回到我对 AV 的看法,我认为这是一个非常困难的问题。我认为我们很长一段时间内都不会达到 Level 5。我乐观地认为它会在我们有生之年发生,但不是在……而且,这也取决于你想要处理的地理范围。我们显然看到了像 Cruise 和 Waymo 这样的公司在推出,它们在受限区域内可以做得相当好。我们会看到,在未来几年内,我能从这里开车去波士顿吗?我对此不太乐观。但我认为,在我们有生之年,它会发生。

所以,我想现在是进入 MLOps 世界的好时机,考虑到您现在已经在不同的环境中体验过它了。但我想我问人们的第一个问题是,对您来说,MLOps 到底是什么?我从不同的人那里得到了很多不同的描述。但您写了一篇……顺便说一句,任何正在观看的人,如果还没有读过 Mihail 的非常棒的博客,与本次网络研讨会同名,请务必阅读。

是的,您对您来说意味着什么?

是的,我的意思是,这很有趣,因为 MLOps,我认为我在文章中也稍微提到了这一点,它是一个非常……它是一个非常多学科的领域。它涉及很多不同的事情。你看到这么多不同的答案,我认为这说明我们仍在努力弄清楚它到底指的是什么。存在相互冲突的定义,这在一定程度上是可以预料的,因为它的早期阶段非常不成熟,不同的组织对他们的 MLOps 部署和活动有非常不同的看法,从 A 到 B 到 C,而且不同规模的组织处理它的方式也大不相同。

总的来说,我认为 MLOps 所涉及的内容,我认为它位于数据科学或机器学习的交叉点。所以,关于构建预测模型的部分。软件工程,即系统的工程。然后是 DevOps 部分,MLOps 中的 Ops 来自哪里?总的来说,MLOps 负责的是,我们如何将机器学习系统带入世界并让它们存在于世界中?这听起来是一个非常模糊的描述,但我认为它触及了这样一个想法,即过去我们只是训练这些模型,将它们放在 Jupyter Notebook 中,让它们生活在某个地方,也许永远不会见天日。MLOps 对如何从一个训练好的模型转变为一个能够持续、可靠、稳健地为人们提供价值的东西更感兴趣,也更关注这些问题。以及,我们如何尽可能地自动化这个过程,并尽可能无缝地实现这个过程的运行。

所以,我认为这才是 MLOps 真正要做的事情,即使在实践中它可能因团队或组织而异。拥有这样一个维恩图,即目前存在的东西如何构建成这个叫做 MLOps 的新事物,这是非常有效的。而且,似乎作为 MLOps 的一部分,您还在定义一个项目或应用程序的整个生命周期,以及一个 AI 团队在一段时间内所做的所有工作。

我想知道您是否愿意多告诉我们一些,也许根据您的经验,您看到的生命周期是什么样的?您提到了其中的几个方面,人们在第一次做的时候经常会忽略,比如监控,它将在稍后发生,它必须存在于世界中。但我想知道您能否给我们一个您认为的生命周期是什么样的定义?

是的,是的,这是一个相当……我的意思是,这是一个相当长的过程,有很多不同的部分。在某种意义上,我认为,如果你真的想从头开始,它始于数据。我的意思是,每个机器学习项目,当然,每个机器学习运维项目都始于某种愿望,即以某种特定方式理解企业、团队或群组的数据,就像某种专有或内部数据集,他们试图从中提取价值。所以,在某种意义上,它的开始是,你如何可靠地摄入和存储数据,并拥有一个关于你的数据是什么的单一记录源。

然后,你开始问这些问题,比如,好的,我现在有了格式合理的数据,它必须被清理,它必须尽可能干净。我如何在此基础上开始构建预测模型?这就是我们进入机器学习领域的地方,人们通常会想到 MLOps 中的 ML。然后,从那里开始,你说,好的,我现在有一个模型文件,我现在有一个 pickle 或一个二进制文件,我需要以某种方式将其部署到世界。你开始问关于工程的问题,我如何制作一个端点,比如在 Web 服务器上,它实际上可以服务客户请求或用户请求?然后你必须处理那个组件。这开始处理传统的软件工程问题,后端工程师通常会考虑的 Web 应用。

然后,将所有这些联系起来,你就会遇到关于监控的问题。我如何确保系统正常运行,处理不同的负载?我们如何确保从模型在世界上的存在中获得的任何见解,它所做的预测,它是否正确,它是否错误,这些信息如何反馈到堆栈的其他部分?通常,也许是数据中的某个问题,如果你看到问题,或者他们可能需要修复。所以,这就是 Ops 部分的作用,你如何将模型在世界上的存在所产生的见解,你如何将其反馈到堆栈的初始部分?

所以,在某种意义上,它就像一个循环。有一个架构图,它单向进行,然后连接,它应该连接起来。这就是 MLOps 最好的时候,反馈循环。

是什么让这种迭代周期能够持续改进您的项目?您的博客中也有几张图表,展示了 MLOps 的定位,您将其置于软件工程和数据科学的中心。

是的,是的。我也非常喜欢您的 MLOps 变形虫图。

请告诉我们。

所以,事实上,你提到在生命周期的不同部分,有不同的流程需要处理,有不同的方面,是什么让那个反馈循环成为可能。对我来说,这意味着有不同的工具。所以,也许,如果你考虑 MLOps 工具的格局,它随着时间的推移是如何变化的?你看到了哪些变化?然后,你认为它将走向何方?

是的,是的,是的。所以,这是很有趣的,对吧?这是我最喜欢的图表之一,因为我知道它在我脑海中有点清晰了,也许这就是为什么我为“变形虫”这个词申请了商标。

我没有,但我……所以,在左边,这是 David Scully 的一个非常经典的论文。我认为是 David D. Scully,至少是他看待论文的方式。他是 MLOps 的教父,在某种意义上。他的工作我认为开创了许多关于我们如何看待机器学习系统的早期概念。所以,人们会看到左边的这个图表,然后说,嗯,这就是我们传统上如何看待这个架构图。这些是定义明确的框,我们都知道。是的,这就是我们将……我们将有一个工具来做这个,一个工具来做那个,然后生活就会美好。

但,在实践中,这……我的经验,以及我花了很多时间与之交谈的其他人的经验,它并没有那么明确。它不是……我们不能画出这样的……现在世界上的状态不是我们有这些定义明确的框。

总的来说,这些担忧可能……就像,很多关于数据收集、数据验证的东西,所有这些框至少触及了正确的想法。但工具……你知道,这个格局的性质是,我们看到很多不同的堆栈部分侵占了其他堆栈部分。比如,有一个工具,它可能最初只处理一个问题,但然后它试图做得很好。嗯,如果我们已经处理了数据摄入,那么我们也可以处理一些数据验证,为什么不呢?我的意思是,这并不遥远,对吧?所以,为什么我们不也做一点呢?然后,嗯,如果我们处理一些数据配置或数据验证,那么也许我们也可以做一些数据监控。所以,你看到界限变得越来越模糊。这就是“变形虫”这个想法的由来,它在不断变化,直到它最终在未来几年内稳定下来,这在一定程度上反映了我对当前格局的看法。

就工具而言,我认为趋势是,我们从一些小东西开始,一个工具,我们会说,我只会处理这个特定的部分。这是你进入市场的切入点,如果你正在建立一个企业或公司,甚至是开源工具。但不可避免的是,你……有时是企业,因为它们需要证明估值,我们需要端到端,我们需要开始构建更多的堆栈,并拥有更多的生命周期。然后,你就会开始看到这种侵占到其他堆栈部分。

我很好奇这种侵占,这种领域蔓延,你认为这是一种市场现象,还是它自然而然地产生于某种平台的整合?也许这是一个非常有趣的问题。

我认为这是市场漏斗与……所以,我认为这很有趣,因为一方面,当你看看 DevOps 作为一种通用模式时,如果你有一种模式,做一些模式识别并与之前发生的事情进行比较。开发者的趋势通常是,我们喜欢灵活性,但最终,如果你能处理更多问题,我们最终会……我们也很懒惰。开发者往往有点懒惰,他们喜欢有更多的事情为他们处理。有时我们会放弃一些灵活性,如果你能……我们必须考虑的事情更少。我的意思是,这里的懒惰是以一种非常仁慈的方式,而不是我们喜欢花时间专注于一件事而不必担心其他事情。

所以,我认为整合是不可避免的,因为这就是开发者喜欢思考问题的方式。我的意思是,他们最终会进化出我们必须花更少时间思考问题的工具。我的意思是,想想……即使是 Linux 的早期日子,你拥有完全的控制权,但然后你只是……我想要一个 Ubuntu,就像我的 Ubuntu 一样,开箱即用,尽可能完整,拥有我需要的所有功能。这很好,人们已经接受了这是现实。整合确实会发生。

但从市场角度来看,我认为肯定存在一些压力。我的意思是,我认为市场在这里起作用,是的,我们想拥有更多的堆栈,我们想……因为有更多的货币化机会。我们想能够……让人们成为机器学习从业者所涉及的一切的一站式商店。这可以证明使用工具的成本更高,当然,投资者也喜欢这样,因为你成为了端到端的解决方案。

所以,在某种意义上,它们来自不同的动机,但最终它们……我认为它们在同一页上。我的意思是,结果是一样的。也许其中一个或两个都是正确的,这也没什么坏处。

我想强调你刚才说的两件事,几乎是顺便提到的。当然,工具和……我猜是……大量不同的工具。但关于那个变形虫,你提到的一件事是变形虫不断演变的更方面的时间性。所以,你现在看到的样子可能看起来像一张地图,目前仍然有线条。但我认为我们 NLP 领域的一位首席工程师在看它时说,它实际上看起来很简单。我希望是这样。但缺失的是,每隔几个月,那个形状就会再次形成。在某些地方发生了分裂,出现了一些新的东西。比如,当 Scully 写那篇论文时,特征存储并不是一个真正常见的东西。现在,大多数人都会考虑,嗯,那里有一个小变形虫叫做特征存储。

我不知道接下来会发生什么,它会是一个现有框架的崛起,变成一个真正的工具系统,还是……这些小变形虫会互相吞噬,变成更大的东西?比如,MLOps 的数据平台,或者……专注于 AI 的操作系统。这些事情一直在发生。

所以,一方面是时间变化,我很想知道你认为它将走向何方。另一方面是工具的多样性和巨大的多样性,以及它将走向何方。我想也许这是同一个问题,那就是,你认为理想的 MLOps 的黄金路径是否涉及人们找到那个……那个他们将坚持的系统,那个将成为他们的变形虫?随着需求的改变,那个一刀切的平台是否会为他们提供一切,就像企业软件一样?还是你认为,也许因为变化的速度如此之快,它将永远是某种程度的去中心化开源软件,不断涌现,而下一个总是会更好?所以,你总是需要保持警惕,而对于那些试图做基于 AI 的业务的公司来说,这两种不同的……投影的未来,会有不同的影响。

是的,这是一个非常非常迷人的思考方式。答案是……有点两者兼有。我的意思是,我认为,当我想起机器学习从业者时,那些构建系统的人。通常你会遇到一些老兵,那些在这个领域工作了很长时间的人,所以他们可能被灌输了,也许不是灌输,但你知道,他们采纳了一套早期工具,在很多东西出现之前。我把自己看作是那些花了很多时间在早期构建工具的人,使用可能现在不存在或刚刚出现的工具。

有时很难打破习惯,当你习惯了一套工具,你喜欢它,这就是你习惯的。在这些情况下,说服我采纳最新的、最伟大的东西会更难,因为我有时不想花时间去……嘿,这对我来说是有效的,它并不完美,但它有效,这就是我所需要的。我知道它所有无效的方式,这就足够了。你知道我的意思吗?只要我知道我不应该踩到哪里,那么我就更舒服了。需要付出更多的努力才能学习最新的、最伟大的东西。

然而,我并不是说我不会在某个时候拿起一个新工具。你遇到了一个现有工具集中的一个如此大的痛点,以至于你觉得,“好吧,我只需要比这更好的东西,因为我厌倦了处理……X、Y 或 Z 问题。”这时,你就会开始考虑其他选择。我当然见过这种情况发生,我注意到我在这里花费的时间越多,我就会考虑其他东西。

话虽如此,我认为,最终,我们将处于一个工具变化很多的时期。这是我思考过并看到新版本、新工具出现在市场上的情况。有一天拥有很多 GitHub 星标的工具,可能在另一天就没有那么多了。另一个工具出现了,拥有更多的 GitHub 星标。这只是游戏规则。

但最终,我认为事情会稳定下来。我认为,如果……可以做一个很好的论证,即某种端到端解决方案将……也许不是一个,而是少数几个将浮出水面,成为事实上的方式。当然,任何新进入该领域的人,在学习如何构建系统时,都会以该工具为基础。你就会知道,因为他们就是这样学的。所以,就像我可能在早期学到了一套不同的工具,因为我几年前进入了这个领域。今天开始 MLOps 的人可能只知道 SageMaker,以 AWS 为例。他们只知道 SageMaker,因此他们将学习 SageMaker 工具,然后这就是他们训练机器学习系统的方式。然后,任何……随着 SageMaker 的改进,他们只会学习新的 SageMaker 工具,他们将学习这个拼图的新部分。

我认为有一个公平的论点是,你会有几个这样的端到端工具,人们会学会如何使用这些工具,而这些工具在几乎所有方面都足够好,以至于你不会太抱怨使用它们。而这,就是……无论这好坏,我认为这都是一个合理的,我们看到事情这样发展的方式。

朱莉,我敢肯定你也在朝着这个方向思考,所以我会让你完成问题,但我想先以一种更自私的方式来构架它。好的,假设有一个端到端平台,它可能不像 SageMaker,它更开放,允许你轻松集成其他工具。不是一刀切,不是一切都在一个盒子里,而是像一个不同工具的市场,你可以更容易地找到关于这些工具的教育,也可以……将它们集成到你的系统中,有一个社区方面。假设存在这样一个系统。也许是由 Petuum 制造的,顺便说一句。但假设它确实存在。你最终仍然在构想一个 MLOps 堆栈,对吧?最终会有一个 MLOps 堆栈。而且,尽管我问人们很多次,但我认为现在还没有。

所以,我想朱莉让你完成问题。我不知道我们是不是同一个问题,但我想谈谈 MLOps 堆栈里有什么,工具包到底有多大。我最近和一位 Gartner 分析师进行了一次很棒的通话,我问他,他告诉我,目前需要十几种不同的工具来构建一个 MLOps 堆栈。你认为需要多少个工具?

嗯,你知道,如果你考虑 SageMaker,那将是一个工具,对吧?但,你知道,SageMaker 有很多不同的组件。所以,我不会……我不会一定……那将是一个回避的答案。更像是一个工具箱?

是的,是的,是的。就像,是的,工具箱。我的意思是,我认为在我……我的文章中有这些看起来非常可怕的图表。我认为它们之所以可怕,部分原因在于它们不仅仅是最低限度的功能集。这里有每个功能集的各种不同选项。你知道,是不是 12 个,但我记不清了,但肯定比……超过 5 或 6 个。它们拼凑在一起。

是的,绝对超过五六个。我不知道是不是正好 12 个,但是的,我认为那里有很多事情在发生。我的意思是,我把它比作……我喜欢用 Web 开发来类比。我不是一个天生的 Web 开发者,但我花时间学习 Web 开发,而现代 Web 开发也发生了类似的事情,即要构建一个简单的 Web 应用,需要很多不同的部分。我认为这里也一样,因为你需要处理很多事情,比如,你如何摄入数据?你把数据存储在哪里?你如何版本化数据?你如何……然后,你的建模工具包是什么样的?你如何……配置?也许你会为配置有单独的东西。你如何……然后将其分发出去?你用什么来实际提供服务?你是在使用 Kubernetes 类型的东西,还是有单独的工具来做?你如何进行监控?你如何……然后,你如何……你如何版本化?你把模型存储在哪里?我的意思是,所有这些小部分加起来。

所以,我想简短的回答是,我认为这里有很多部分。是的,所以,我认为是的,有很多部分。所以,这个可怕的图形,你正在谈论的……让我们看看,是 Matt Tuck 的吗?是的,所以,是的,我认为他的比上面的那个更可怕。但,是的,他的,我认为是……一个很好的……我为分析师感到难过,他不得不……把那个放在一起,或者别的什么。但,是的,但他们认为那是应用层,对吧?

是的,是的。所以我认为,这里不是一对一的比较。我认为那个更准确地代表了 MLOps。

是的,是的。但底部的东西包括……我认为是实际的垂直化 AI 公司,它们只是解决计算机视觉或……视觉任务或类似的东西。所以,我认为这是对那里存在的更具代表性的描述。而且,再次,这很可怕,但我认为部分原因也是因为当你看看这些框中的任何一个时,你可以从你想要处理的东西的自助餐中选择。

但,是的,我的意思是,总的来说,你可以认为这些框中的每一个都是一个单独的东西,你可能想要。也就是说,我认为要构建一个最小的……可行的机器学习系统,我认为你不必处理所有这些。比如,特征存储。我认为它被提到了,现在存在,也许在 Scully 最初的架构图概念中甚至没有被考虑过。我大约在一到两年前发现了特征存储。当它们出来的时候,我想,为什么需要这个?我……我构建系统已经很久了,我从未想过这是我严格需要的东西。然后,随着时间的推移,你看到一些人说,“好吧,我明白在不同的情况下,这可能有用。”但很长一段时间以来,它似乎并不是一个严格必需的组件。事实上,当我帮助公司建立第一个模型时,我不会从一开始就建议使用特征存储。

特征存储是在你想要更多的可扩展性,你想要更多的……当延迟对你非常重要的时候。但如果你只是想让模型上线,你不需要特征存储。同样,我认为监控非常重要,但可能不是对于 V1。所以,在某种意义上,有很多工具,但它们被采用的顺序甚至不是一次性的。如果你可以零散地完成它们,取决于你在模型进展的某个阶段,你的机器学习进展的某个阶段需要什么。

所以,这是一个非常重要的观点。事实上,有一个 MLOps 堆栈,但它只是适合你当时的那一个。也许将来,会有一个……就像,这是你应该使用的 MLOps 堆栈。也许它会变成……就像 Microsoft Office,我们知道人们在商业中使用的通用工具。但现在,你可能不需要特征存储,但你需要一个生产就绪的部署管理器系统吗?你需要一个模型版本系统吗?当然,如果你正在构建第一个模型,你甚至需要一个模型版本系统吗?所以,这真的取决于你所处的位置。

这给我带来了另一个有趣的问题。你需要为规模做好准备,或者你需要为你的理想堆栈在未来某个时间点有所不同做好准备。我们学到的一个教训是,那个未来可能突然而至,而且来势汹汹。然后,如果你处于一个糟糕的境地,下一个客户就无法与你合作,或者你会因为过度依赖那些……GPU EMR 实例之类的东西而产生巨额成本超支。

你对这种一般性框架有什么建议吗?我相信你一定有,因为你的咨询工作似乎会遇到这个问题。

这是一个极其困难的问题。我认为,如果你有……如果你有答案,你不仅解决了机器学习系统,我认为你解决了许多软件工程问题,坦白说。因为这正是……公司在机器学习领域遇到的问题,你知道吗?我甚至在和我在 Facebook 早期的朋友聊天,他提到 Instagram 是公司巨大的收入来源。但很长一段时间,他们所有的工作只是为了扑灭火灾,基本上是保持灯火通明,以应对巨大的需求涌入。

这是一系列好问题,也是一个难题。而且,我想说,很难事先预期和了解你将看到的一切。存在一个权衡。因为你可以花很多时间来推迟……你将会看到什么,你可以……做一个超级健壮的通用系统,并为任何事情做好准备。我在一些组织工作过,我们花了很多时间为我们从未获得的流量做准备。为了字面意义上……构建这些超健壮的系统,可以扩展到全世界,而我们从未超越过几个城市。你知道我的意思吗?所以,重点是,那是……不必要的优化。软件工程意义上的那种过早优化。

所以,我认为,这是其中之一。而在另一端,是光谱的另一端,就是根本不考虑它,然后当它发生时,你就完全完蛋了。然后,你就……人们会在深夜接到电话,只是为了保持……不得不手动重启服务器,只是因为你没有那种远见。

你的理想情况,也许是一个有点像样的答案,是介于两者之间。而且,你知道,你该怎么做,介于两者之间?我的意思是,理想情况下,如果你已经……为成功做好了准备,你最终需要扩展服务器。在机器学习系统的案例中,最终你可能会需要……如果你每秒的请求越来越多,就需要扩展。那么,你是否主动地让这件事变得容易?我认为,集装箱化,我认为这是一件主动去做的好事。因为这不仅对开发有帮助,从生产的角度来看,也从原型制作的角度来看。

从根本上说,可复现性问题在机器学习中是普遍的,我们需要处理可复现性。所以,将它作为你的开发工作流程的一部分是一个很好的步骤,即使你不会处理全世界的流量。

所以,我认为有一些……我认为你可以非常放心地说,我应该在这方面深思熟虑。但你能期望一切吗?不。而且,我认为你不能合理地期望这一点。你应该期望在某个时候,你将不得不……显著地重写你的架构。我很少在一家公司工作过,那里没有一个时候,我们不得不……改变这里的运作方式。你知道,花几个月的时间来修复系统,并……将某些东西从单体改为微服务。我的意思是,这是组织通常必须处理的事情。只是因为单体更容易上手,而微服务……但微服务有助于扩展。所以,穿越那个……光谱也是你必须考虑的事情。

如果我可以向你提出一个奇怪的概念,那就是机器学习工作流程随着时间的推移而发展,并跟踪在不同规模下对不同工具、不同工作、不同任务的需求。如果规模可能是你的……时间轴,那么你将有一系列工作流程进入你的领域,即“必须做”和“从……迁移”。“最好优化”。它们可能突然出现。我几乎想象 MLOps 工作……是那些工作的衍生物。这意味着,你可能……在相同的时间尺度上,你可以处理那些 MLOps 工具,内部平台,你可能可以处理所有那些 MLOps 的不同方面,比如,正如你提到的,那些服务器需要扩展,你可能可以处理轻松扩展那些零散的、一点一点的方法。但这需要……似乎你和我想到了一起。这需要这种基础设施编排的心态。它需要你考虑容器,它需要你考虑 Kubernetes 等等。

所以,是的,我不知道这是否是你真正想谈论的。Kubernetes 不是普通 ML 工程师或数据科学家想担心的东西。普通数据科学家甚至不想担心部署。

工作编排,但似乎这是人们迟早需要应对的事情。你对此有什么看法?哦,天哪,这是一个棘手的问题。这可能是我所说的与别人听到的不一样。坦白说,我认为 Kubernetes 是一个非常有争议的工具集。我肯定用过它,而且我与它有着爱恨交加的关系。我完全理解它的原则,我明白它试图做什么,我明白为什么这有意义的概念,对吧?从这个意义上说,它的初衷是好的,我理解这一点。然而,在实践中,它是一个非常难用的系统。它非常、非常残酷。你知道,Kubernetes 在最底层,那是基础,对吧?但在机器学习的情况下,你还有很多层层叠叠的东西,对吧?比如 CubeFlow,人们经常使用它,并且拥有基于 K8s 的管道等等。这会变得更加困难,对吧?所以你得到的是一种俄罗斯套娃式的有效抽象,一层又一层,这使得本已相当复杂的系统更加难以使用。所以,我用过它,而且我认为在理想的情况下,我可能仍然会使用它,或者可能不是在理想的情况下,但如果我必须用,我就必须用。但我确实认为,我希望这至少不是编排和扩展资源的那个特定部分的最终状态。我甚至在推特上谈论过这件事,我说,为什么你们需要了解这么多才能设置 CubeFlow?我简直不敢相信这是数据科学家可以合理期望处理的事情。可悲的是,我们现在正处于这个阶段,但我希望我们正处于一个将出现更好事物的早期阶段。我希望出现的更好的是不仅仅是 Kubernetes 的一个包装器,因为也有工具试图做到这一点,对吧?抱歉,我不知道你们是否真的擅长这个,所以也许我不是来参加播客的合适人选。但完全不是,事实上,你提到了平台,我们正在做的事情稍微更抽象一些,因为 Helm,你可能熟悉另一个指令,它在这里工作,是的,是的,就像 pip 之类的,或者对于 Kubernetes。我们作为这项使命的一部分,让人们能够拥有这种针对他们想要的所有不同工具的市场感觉,我们正在做的一件事就是抽象出 Helm 部分。所以人们可能会认为它是围绕 Kubernetes 的多层包装器。其原理是,数据科学家暂时不必了解任何关于它的信息。你知道,这是疯狂的事情,Kubernetes 最初出现时,似乎不会……你知道,甚至 Docker 也是如此,对吧?它似乎不会立即成为一个重要的变革者。但它确实发生了。也许有什么东西在潜伏着,对吧?我们正在做的事情在这方面是相似的。数据科学家能否在不知道 Kubernetes 的任何信息的情况下脱颖而出?是的。我不知道,似乎我们正在获得关注。我们很乐意让你测试一下这个东西,并给我们你的观点。朱莉,我认为你想问的一件事与此非常相关,那就是关于团队本身,因为现在,你知道,我们正处于数据科学家无法完成这项工作的状态,所以你需要一个叫做 ML 工程师的人,一个叫做 ML Ops 工程师的人,有时你只需要一个自称 DevOps 工程师的人,或者一个自认为是 HPC 或基础设施管理员的人。所有这些人最终都成为这个……你知道,另一个模糊的团队,叫做 AI 团队或 ML 团队,对吧?是的,朱莉,你还有更多吗?嗯,我认为你文章中我非常喜欢的一点是关于抽象和未来的扩展,以及我们如何能够让那些不是……你知道,不是深度 ML 驱动的企业获得实际……你知道,采用这些产品。我想我的问题是,你提到了那些没有太多 ML 工程师的团队,在未来如何能够利用这些技术?你认为现在在那些……你知道,不是……你知道,不是基于 AI 的组织中,AI 团队的核心成员是谁?抱歉,所以谁不是……那些不处理 AI 的成员,或者你认为……我认为机器学习工程师,你知道,我们有数据科学家,是的,还有谁是你认为的团队成员?是的,更抽象的工具。是的,是的,绝对是数据科学家。我的意思是,我认为甚至数据分析师也能达到构建预测模型的程度,我知道有些公司正在努力实现这一点,所以数据分析师在某种意义上甚至可能比数据科学家技术上更不精通,对吧?那些主要使用 SQL 的人,是的,而且……你知道,作为他们首选的主要语言。所以你可以想象,即使是工作流程,真正的良好抽象,你可以只用 SQL 构建整个模型。而且,因为很多数据分析师会进行定性的数据分析理解,但我们能否更进一步,进行机器学习?这就是你进入预测领域的地方,对吧?那么,你如何让他们不仅说“这是发生的事情”,而且说“这是我们预测也会发生的事情”?对吧?我认为这将是一件非常非常酷的事情。我认为,这绝对是一个用例,我认为……我认为一些公司肯定在考虑这一点,并且他们希望看到这一点。我稍微谈到了这个……你知道,ML 的 WebFlow 的概念,对吧?是的。在那里,你实际上可以介绍你的……你知道,WebFlow,在某种意义上,WebFlow 不是这个想法的第一个版本,对吧?Wix 和 Squarespace 等是同一想法的先驱,如何让任何人都能创建网站?这就是他们试图解决和正在解决的问题,我认为这非常强大。我认为机器学习中也可能发生类似的事情,即理想情况下,任何人都可以构建机器学习模型,只要有正确的抽象,有正确的工具包。不过,从那里退一步,你知道,如果在一个组织内,如果我们可以达到……你知道,产品经理可以舒适地构建模型,你知道,一个可能技术精通但不是……你知道,不是一个真正的开发者,那也将是理想的,对吧?如果我们能给他们……如果那是一个交互式的可视化界面,他们可以四处移动盒子,我的意思是,这些是管道,对吧?这是你的数据,这是我们的模型,这是预测。我的意思是,如果你能以某种可视化界面的方式将它们组合起来,我认为那也将非常强大。因为在某种意义上,那将是不可思议的,因为产品经理也是那些最深入了解客户痛点和用户痛点的人。所以他们有……你知道,他们有正确的直觉,但可能没有工具来……你知道,利用这种直觉。你可以让他们也拥有与他们的直觉相匹配的工具堆栈,这样他们就不必花更多时间去烦扰开发人员去构建他们有直觉的东西,对吧?所以这可能是一种绕过整个过程的方法。所以,你知道,只是几个切入点,我认为,考虑到正确的……你知道,分散注意力,看看这会如何发展将会很酷。责任链。我认为你正在……你确实将链条延伸到了需求端,对吧?我可能会说,对吧?需求端就是你需要构建什么,一直到产品经理,对吧?对。那么供应端呢?基本上,你不是在……你知道,在一个真空中工作,而是有人为你提供工具、基础设施,有云提供商。你是否看到那些领域的人也开始作为团队的一部分参与进来?然后,当然,我一直想到的就是,这些人的负担有多少实际上不应该是他们的负担,而应该更多地是自助服务,为生产项目……你知道,需求拉动方面的人?你在这里主要指的是那些可能更处理低级基础设施的人,比如云服务提供商之类的,对吧?即使是那些,是的,对。是的,是的。在某种意义上,我认为……我认为这可能会发生。我认为……我必须仔细考虑一下具体如何。你知道,当然,对他们来说强大的一件事就是能够更快地启动这个基础设施。我的意思是,这仍然需要大量的工作来从头开始设置 Kubernetes 集群。我的意思是,这仍然非常痛苦,许多基础设施工程师必须将其作为他们工作的一部分。所以,如果我们能让它更容易,那么当然,你知道,你正在通过加快……你知道,为那些在他们正在设置的东西之上构建的人加快价值实现。我认为我们肯定可以在这方面做得更多。再次,我在这里攻击 Kubernetes,好像这是我存在的全部痛苦一样。但,但,是的,我的意思是,我认为……你知道,在高层次上,基础设施可以变得更容易设置和自助服务,我认为这是一个绝妙的主意,老实说。我认为……我非常喜欢自助服务,如果抽象定义得当。如果定义得很糟糕,那么就会加倍痛苦,因为你有一个不起作用的东西,而你不知道为什么它不起作用,但你却有所有这些额外的层,使得找到问题的根源更加困难。所以,定义明确的抽象,自助服务,可以是美好的,可以是……你知道,救星。我认为……但再次需要认真思考它们。所以,就像 Kubernetes 一样,通往规模的道路,也许也是同时的障碍。你知道,在过去的几周里,随着这些……你知道,很酷的 LLM 的出现,并且……你知道,AGI 明天就会发生,我们现在只需要扩展。但我不知道……你知道,普通大众是否意识到这有多么困难。你知道,以及企业扩展的障碍是什么,然后……哦,是的。你知道,你认为那些障碍是什么?哦,是的。我的意思是,我认为……这是一个很棒的……是的,这很有趣。我的意思是,每当 OpenAI 推出……你知道,很酷的新演示时,Twitter 就会爆炸,然后……你知道,当事情稍微平静下来时,你会想,好吧,这绝对是超级迷人的,而且我认为它很强大,毫无疑问。我的意思是,我绝不会贬低……你知道,演示的酷炫之处。我的意思是,我喜欢玩这些东西。你知道,话虽如此,就像我作为一个从业者,当我阅读……你知道,最初的 GPT-3 论文时,我比……你知道,机器学习部分更被工程部分所打动。我当时想,哦,这是一个非常非常难于构建的系统。我曾经构建过大规模系统,你知道,我没有……你知道,他们使用了数百个 GPU,甚至更多。我……你知道,我达到了……你知道,在好日子里,我使用了大约 64 个,甚至 128 个 GPU,跨越了……你知道,超过一太字节的数据。那很难设置。真的真的很难设置。你知道,分布式系统很棒,但它们真的真的很难。你知道,就像……你知道,每个问题都乘以 N,因为你正在做……你知道,在某种意义上。所以,我读了这篇……你知道,很长的论文,我想,哦,这真的很难设置。但从功能上讲,核心机器学习中发生的事情并不新颖。我的意思是,没有什么如此突破性的。它是更多的数据,更多机器,而且……你知道,虽然我完全低估了机器学习部分,但那是困难的部分是基础设施。是如何让它……你知道,你将在数百台机器上运行,如何确保每次更新梯度时,它不会花费……你知道,三秒钟?我的意思是,去……你知道,跨越并确保所有机器上的信息一致。真的真的很难的问题,一个超级超级难的问题。所以,你知道,在某种意义上,我认为你必须回到你的……你知道,你的问题。基础设施是我最感兴趣的部分,而这些规模问题是……你知道,是现在困难的问题,因为机器学习的很多方面已经被商品化了。我认为我们还有更多要看。你知道,当这些……你知道,当我们扩展工程时会发生什么。我确定,我认为我们会看到更多有趣的东西。很难确切知道会发生什么,但我认为……你知道,当……你知道,当尘埃落定的时候,我认为……我认为我们会看到一些很酷的东西。更多数据,更多资源。你知道,AGI,我不知道。格兰特,我在 OpenAI 有朋友,他们非常……你知道,非常属于那个阵营,就像,好吧,是的,我的意思是,就像我们只是……你认为当扩展到无限时会发生什么?当然会是 AGI,因为那就是会发生的事情,因为你添加了更多数据,你知道,因为就像大脑一样,我们只完成了大脑中神经元的……你知道,千分之一。所以,是的,这就是我们前进的方向。我不知道具体会怎样,但我们会看到一些有趣的东西。在哪里?你如何负担得起?我的意思是,那也是……你知道,让我增加很多的东西。你知道,OpenAI 资金非常充足。是的,但我们一直在大量关注……你知道,蓬勃发展的 FinOps 学科以及真正管理你的资源利用率的各种方法,以便人们真正……你知道,当你谈论……你知道,合理规模的 ML 组织时,他们有什么工具来管理成本?哦,是的。哦,是的。我的意思是,现在非常非常少。我的意思是,我曾与……你知道,与组织交谈过并合作过,其中任何研究……我的意思是,即使是像 GPU 这样的加速计算资源,他们也必须让强有力的利益相关者为他们担保。我的意思是,为一个 GPU 很难说服别人。而你却说,哇,如果我连一个 GPU 都拿不到,我怎么能做任何机器学习的事情?训练任何东西都要花很长时间。但这就是现实。你知道,当我们谈论这些……你知道,合理规模的 ML 时,他们的现实是,他们没有人来做这件事,而且他们难以证明 GPU 的成本,以及在 Amazon Mechanical Turk 上标注几百个标签的成本。我的意思是,你知道,我们正在做这件事。这些是他们真正挣扎的问题。部分原因就是……你知道,很多时候我看到的是,他们可能曾经有过一次机器学习的尝试,但没有取得很好的成功。所以,一些……你知道,公司里的某个大人物说,好吧,这行不通,显然所有这些机器学习的垃圾都只是炒作,所以我们不再这样做了。然后就很难了,就像改变……你知道,他们愿意接受什么的态度,并再次尝试一样。我认为他们很多时候没有……你知道,年轻的、更倾向于机器学习的组织的实验精神。但,但,是的,我的意思是,我认为……你知道,在某种意义上,这很难。这是一个很难的问题。我认为这里没有真正的解决方案。我认为……你可以,我认为你花时间投资于……你知道,研究如何降低这些成本,对这些组织来说,我认为他们会非常关注这一点。因为成本考虑很多时候是首要的。而且……你知道,而且在实践中可能发生的一种现实是,你只会看到……你知道,这些少数几个组织的高度集中,它们是这些模型的主要提供者。因为它们是唯一……你知道,投入了数百万美元来训练这个系统一次。你知道,这可能真的会发生,这实际上是一个非常可行的结果。你知道,即使现在也有初创公司出现,它们正在筹集……你知道,真的,就像种子轮公司正在筹集……你知道,高达 6500 万美元,因为它们需要 4000 万美元才能训练它们的第一套系统,因为它们正在尝试做这件事。这太疯狂了。而且还有再训练。是的,就像……它不会结束。它不是一次性的。所以,你知道,那 4500 万美元将继续……你知道,随着时间的推移而增长。但是,你看,你提出了……我认为……这似乎是我们同意这个想法,即存在这些双重约束,它们将阻止……你知道,你也有的这种乐观世界的愿景,即人们能够非常轻松地完成他们的 AI 项目。你知道,这也是 Pattern AI for All 的标语,意思是每个人,即使是卑微的产品经理,也应该能够为自己获得一个……你知道,一个机器学习产品。对,而这两个约束,你描述的似乎是……A 是人员,B 是资本,即资源。是的。恰好是……你知道,所有经济产出的柯布-道格拉斯函数。恰好它也是……你知道,机器学习的双重约束。是的。人员方面,我们已经谈过一点了,团队的多元化成员。而且我认为过去几个月,如果你一直在尝试招聘机器学习工程师,并尝试招聘能够完成这些任务的人,你会发现这很困难。所以也许是教育还没有跟上,也许我们的机构还没有培训足够的人。我们真的希望人们开始……你知道,调查这些……你知道,这些途径,即使他们在大学里。但绝对是关于资源方面,我觉得可能有希望。对,因为现在我们有芯片短缺,人们会开始投入更多。然后……你知道,像我们这样的公司也在投入大量资金,只是……你知道,如何最大限度地利用你的基础设施,如何让分布式基础设施……你知道,能够大规模、廉价地运行,并且没有任何……你知道,伴随而来的所有故障。绝对。最后,马哈尔,非常感谢你今天加入我们。这太迷人了。我想给你一个机会,告诉我们你对未来五年到十年 ML 领域有什么趋势感到兴奋?是的,是的。我的意思是,很多,很多。你知道,在高层次上,我认同……你知道,AI for All 的这个……你知道,这个口号。我确实认为,花费……你知道,作为咨询公司的优点之一是,你花了很多时间……你知道,人们来自各种不同的生活方式,从企业的角度来看,你只是听到了人们使用机器学习的非常有趣的方式。我认为我们才刚刚开始触及……你知道,这里的可能性。而且我认为……你知道,美丽之处在于你有领域专家,对吧?他们拥有一套不同的技能和不同的背景,音乐,或者……你知道,语言,或者别的什么。然后他们来了,他们说,好吧,我也可以用这个做点什么。而且因为我了解领域,所以我可以做点什么。你知道,如果我学习……你知道,只需要一点教育,对吧?就像,我如何实际构建,我如何为我的用例使用 GPT-3?我如何为我感兴趣的事情构建机器学习模型?对,这很美。我的意思是,当这种情况发生时,我们将看到机器学习……你知道,在我对 AGI 的理解中,它不是……你知道,像《2001 太空漫游》那样的 AGI,而是我对我所认为的 AI 的愿景,即它将存在于我们日常生活中的每一个部分。我们不会一直知道它。它将是……你知道,无缝的。它将……你知道,融入所有这些东西。但是,我认为有很多地方,它可以发挥有意义的作用,提高人们的生产力、效率、创造力。我的意思是,所有这些东西。而且我认为……你知道,而且它不必是……你知道,像《2001 太空漫游》那样。它不必是……你知道,这种超级智能的……你知道,近乎……你知道,它只需要让你……你知道,在你正在做的事情上快 20%。我认为这就足够了,对吧?你知道,想象一下,把 20% 的时间还给某人,那是非常宝贵的时间,对吧?我认为我们正在看到这一点,大规模地。在未来,我认为这是我为之兴奋的一个高层次趋势,绝对。是的,非常令人兴奋。好吧,非常感谢你加入我们,也感谢在座的所有观众。我们也会在 YouTube 上分享这个视频,以便那些没有机会与我们同步参加的人都能看到。但真的非常感谢你的时间。谢谢,谢谢朱莉。谢谢。我真的很感激。很高兴与你交谈,马哈尔。好的,保持联系。