📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Data Centric Deep Learning: Fireside Chat with Mihail Eric

Uplimit 58:54

Transcription

所以,感谢 Co-rise 的同学们以及今天加入我们的所有人。我非常高兴地欢迎 Mihail Eric 成为我们的嘉宾。嗯,关于 Mihail 的背景,我想我最初是在斯坦福大学遇到 Mihail 的,那时他正在进行一些自然语言处理和机器学习的研究。之后,他继续在初创公司构建机器学习系统,然后他加入了亚马逊 Alexa 的一个基础团队,负责下一代机器学习技术。之后他离开了亚马逊,又创办了一些初创公司,有的专注于 MLOps,有的则专注于机器学习教育领域。所以,Mihail 今天加入我们,是因为他对 MLOps 的一些方面有非常强烈的看法,并且在行业内构建了一些非常庞大的系统,无论是大型还是小型。Mihail,感谢你的加入,很高兴你能来。实际上,我刚才做了一个简要的概述,但你是否愿意多说一些你最近在做什么?我只知道一些亮点。

当然,当然,是的。首先,非常感谢 Andrew,也感谢 Co-rise 团队的 Judy。很高兴来到这里。是的,我已经在机器学习领域待了一段时间了,你提到了我过去的一些经历,比如小型初创公司,也很幸运能在亚马逊 Alexa 最具吸引力的发展时期在那里工作。我可以详细谈谈为什么会这样,但我在 Alexa 发展的关键时期参与其中,那时我们开始更多地思考下一代工作将如何让 Alexa 成为一个更好的平台。我为此工作了好几年。然后,我一直对人工智能教育、机器学习教育非常着迷,因为我经历过其中一些困难。显然,作为一个新手,然后逐渐发展出更多的专业知识,并密切关注我学习的方式,并试图将这些经验教训传达给其他人。是的,我离开亚马逊大约一年了,我们创办的一家教育公司在几个月前被收购了,大约两个月前,正式被收购,所有文件都已签署。我一直在思考我接下来想做什么。这意味着另一家初创公司。我非常喜欢初创公司,所以一直在思考 MLOps 工具和数据工具的结合,以及最近的生成式人工智能。很多人可能觉得这没什么新意,每个人都在思考生成式人工智能,但这个领域确实有很多有趣的事情正在发生。所以,我正在思考什么样的应用,什么样的能力,能够让人们做以前不可能做的事情。我认为这正是我喜欢关注的领域,我最常思考的问题是下一代技术,以及我们如何赋能新的用户群体或新的从业者去做以前不可能做的事情。

很酷。是的,我认为,就这个话题而言,对我来说,最近的生成模型和大型语言模型是一个非常大的技术进步。这意味着你可以探索一大堆产品和设计理念,因为技术本身就支持了这些。这些是你五年前可能根本不会想到的。所以,是的,我认为这些公司都非常酷。你提到了进入机器学习领域,我想我会为你宣传一下你的公司。如果大家还没见过 Confetti,我们这里有很多有抱负的工程师,在机器学习领域。所以,Confetti 是 Confetti AI 还是 Confederation?是的,Confetti AI。然后是 LLC,我想,如果你要说官方的法律术语的话。但你知道,是的,Confetti AI 是名字。所以,如果你还没看过那个网站,它是为了帮助人们练习编程练习,特别是针对机器学习和数据科学。这是一个非常酷的产品,而且实际上可能很有用,如果你正在准备不同类型的面试,比如数据科学的编码面试。但你也提到了你的教育背景,所以我通常喜欢问的一个标准问题是,你是如何开始从事你现在所做的事情的?我猜,从一开始,你是计算机科学本科吗?你是否正式学习过统计学?

是的,是的,我很乐意多谈谈。我在斯坦福大学完成了本科和研究生学业。当我刚开始在斯坦福大学时,我原本打算学习物理学。我从小就对数学很感兴趣,从我上初中开始,我就参加了很多数学竞赛,比如 Mathcounts 和 AMC,也许在美国的人对这些比较熟悉,这些是初中和高中级别的数学竞赛和数学奥林匹克。我参加了很多这样的活动。所以,我确实有倾向于进行数学思考,并解决数学问题,原本打算学习物理学。在我刚到斯坦福大学的第一个学期,我上了一门计算机科学的入门课程,我简直惊呆了,因为它的教学方法非常好,教得非常到位。杰瑞·凯恩是我的导师,后来也成了我的导师。所以,我第一次接触到正式的计算机科学,我发现它有一种非常数学化的思考问题的方式,但同时也有非常实际的应用,因为它是一门工程学科,对吧?归根结底,你可以用它来构建东西。看到这种结合,我就觉得这是我的理想领域,我可以在这里构建实用的东西,但它又是非常程序化的,而且是以一种非常算法化的方式思考问题,这对我来说非常有吸引力。所以我知道我想学计算机科学,而且我从高中起就一直想着人工智能。我读过雷·库兹韦尔的《奇点临近》,脑子里一直有这些想法,认为这是值得努力的事情。这里有很多有趣的想法。我认为我开始接触计算机科学的时候,正是安德鲁·吴还在谷歌大脑的时候,他们刚刚完成了一个项目,让一个神经网络在 YouTube 上自由运行,基本上发现了猫。如果人们还记得的话,安德鲁,你可能还记得这个实验,纽约时报的谷歌猫结果。是的,如果有人没见过这个,那是在 2011 年或 2012 年。这大概是深度学习第一次在《纽约时报》上被突出报道。图像是一个模糊的猫的图像,因为如果你在海量的 YouTube 数据上训练无监督深度学习系统,你最终会得到一个特定的隐藏变量,它似乎编码了“猫”,而你从未告诉它“猫”是什么。

是的,完全正确,完全正确。所以,这是完美的背景。所以,我当时还是个本科生,安德鲁·吴就在谈论这个结果。这就是我当时的想法,哦,人工智能领域有一些有趣的事情正在发生。所以,这又回到了深度学习复兴的时期。深度学习本身并不是什么新鲜事,但至少我们开始看到,现在的计算能力正在赶上,新的数据集正在发布,比如 ImageNet 就是在这个时期出现的。所以,这是一个非常好的时机,在人工智能真正变得像现在这么庞大之前就深入研究它。是的,我正式学习了它,我学习了很多计算机科学课程来发展工程技能,同时也学习了更核心的概念,比如概率、统计和线性代数,所有这些后来都变得非常重要。随着我学位的进展,我最终更专注于自然语言处理,因为我一直有……也许再补充一点背景,我原本打算学习物理学,并辅修写作和英语。所以我一直对文字和语言很着迷,高中时我学了很多语言。所以,自然语言处理感觉是人工智能领域一个非常自然的子领域,我花了很多时间。我加入了那里的自然语言处理小组,很幸运能与 Chris Manning、Percy Liang 和 Dandrapskin(虽然联系不那么直接)以及 Chris Potts 等人合作。我相信你对他们都很熟悉,安德鲁。我真的做了很多关于自然语言处理、语言理解和人工智能的精彩工作。

非常好。而且,实际上,也许你没有提到的一点是,你早期的一些机器学习项目是课程项目,而不是像……你知道,业余的黑客项目?但你能够将机器学习和自然语言处理的更大项目作为课程来完成,是吗?

是的,是的,实际上是两者的结合。有些确实是在机器学习课程和自然语言处理课程中完成的。然后,当我越来越投入时,我一直在业余时间补充我所做的工作,参加 Kaggle 竞赛,当然,当我进入研究领域时,那完全独立于课程。我只是花所有课后时间在自然语言处理小组,在盖茨大楼的二楼闲逛,花很多时间与那里的博士生交流并参与项目。所以,这既有课程作业,可能让我入门,也有我自己的普遍兴趣,让我继续做更多的事情,参与更多类型的项目。

我明白了,明白了。是的,你提到了时机问题。我想问你关于在斯坦福大学之后,你在 Alexa 构建更大系统的事情。但我认为值得注意的是,你和我都在同一时间段在斯坦福大学,那几年深度学习系统在几个主要任务上开始表现得非常好,比如语音识别。像谷歌这样的地方表明,你实际上可以使用这些东西,并且可以为许多关键的机器学习系统带来有意义的性能提升。我认为这开启了一个阶段,我猜当你进入 Alexa 时,人们对做更多的机器学习或更多的深度学习感兴趣,而且当时还有点开放,因为即使是 Alexa 这样的地方,也从未真正面对过为深度学习系统收集和整理海量数据集意味着什么,因为即使在深度学习出现之前,语音识别器相比之下数据量也要小得多。所以,我想你也许可以告诉我们,当你过渡到一个非常大的组织,然后在那里构建一些机器学习项目时,是什么样的?

绝对是。是的,我认为你说得非常对。我加入 Alexa 的时机确实很有趣,因为大约在 2018 年、2019 年,也许是 2019 年初,Alexa 产品已经存在了大约三到四年。所以,人们的家里都有 Echo 设备,放在桌子上等等。但从功能上来说,这些系统能做的事情非常基础。我仍然可以播放一首 Spotify 歌曲,设置一个提醒,将某件事添加到我的待办事项列表中。功能上来说,它能做的事情非常少。此时,组织在机器学习和语言方面投入时间和精力开发的问题主要是 ASR(自动语音识别)。所以,他们已经构建了相当不错的语音识别系统,他们收集了声学数据,训练了系统来完成这项工作,在理解方面表现相当不错,至少能够转录说给 Alexa 系统的话。然而,他们真正希望用 Alexa 做到的下一代事情,更多地依赖于语言理解和语言生成。所以,一个是如何从一段转录的文本(来自音频信号)出发,然后用它来理解人们的意图,他们谈论什么,他们想要什么?然后,从那里,我们如何利用它来执行某些操作,或者从外部来源提取一些信息(无论这些来源是什么)?然后用它来合成引人入胜、有趣且有用的回应。这就是生成部分。所以,总而言之,在我加入的时候,人们对机器学习问题的这些后期部分更加重视。这归结为更多地是如何开发用于语言理解和语言生成的数据集。这大约也是像 BERT 和 GPT(甚至不是 GPT-3,只是 GPT-1、GPT-2,早期一代系统)这样的系统开始流行的时候。它们刚刚开始崭露头角,这些 Transformer 模型变得越来越大。所以,这也可能是 NLP 进展的一个关键时期,我们开始能够提出有趣的问题,围绕着……从这个角度来看,这些新的性能提升和模型。所以,内部构建了大量数据集,成立了许多团队。我的团队基本上是一项新的努力,就像亚马逊 Alexa 内部的谷歌大脑团队一样。然后,我们将其视为一个重点,我们将投入大量资源、时间和精力来真正让 Alexa 走向下一代,让它比现在更好。

我明白了。所以,对投资于让深度学习在这些系统(如语言理解和语言生成)中发挥作用给予了很大的关注。绝对是。所以,我认为,在我们的 MLOps 课程和数据中心深度学习课程中,我们都非常关注开源技术和人们可以用来从小规模开始使用的工具。有时会有一种感觉,哇,如果我们身处一个大组织,我们就不用担心这些事情了,我们已经有了一套相当不错的工具,并且可以大规模工作。所有关于构建数据集和训练深度学习模型的事情,我们都可以花时间在建模部分。所以,在这样一个资源丰富的地方做过之后,当你引入这些东西时,工具和基础设施的情况是怎样的?

嗯,我希望你描述的世界就是这样,你走进公司,就有配置好的集群,你只需要添加你的 PyTorch 或 TensorFlow 代码,然后一切都会顺利完成。事实并非如此,亚马逊 Alexa 肯定也不是这样。事实上,我所在的团队……Alexa 的设计,作为一个组织,以及亚马逊的设计,都是一个非常去中心化的场所。所以,甚至没有集中计算的概念。在 Alexa 组织中,曾有一些努力这样做,你有一个集中的地方,一个集中的客户数据存储,如果你想处理这些客户数据,有一套 AWS 的包装器,你可以用它们来启动新机器,并实际使用 GPU 和其他加速计算基础设施来运行实验。即便如此,即使在我的团队里,我也是基本上自己搭建了我们很多基础设施的人。我负责……基本上每个团队都可以拥有自己的内部 AWS 账户,所以我负责设置我们的内部 AWS 账户,然后负责从建立如何处理基础设施的良好实践,到实际……甚至建立我们如何编写代码的实践,以及低级别的编码实践,因为我们有自己的代码库,如何组织 20 个人,20 名研究人员和工程师,以一种富有成效和高效的方式一起处理代码和实验。所以,事情并没有那么简单。并不是你走进那里就一切都很好。话虽如此,我认为这部分原因在于我参与了一个新团队。我基本上是我经理的第一个下属。所以,我们真的必须从头开始搭建一切。一些像 Alexa 的 ASR 团队那样存在了更长时间的团队,可能已经有了更明确的实践。但我认为即使在那里,我们使用的系统之一,也是唯一可以访问客户数据的方式,基本上就是 AWS 的包装器。所有东西都……你通过一套不同的命令和东西进行交互,但从根本上来说,在后台会有 AWS 的虚拟机和服务器被启动,以及 GPU。那不是最干净的基础设施。获取任何客户数据都非常困难。也许有点是故意的,对吧?有很多隐私问题,他们想让它变得非常困难,如果……你知道,如果有坏人参与其中,我并不是说有,但要能够以糟糕的方式操纵这些数据。但在实践中,作为一名研究员、科学家和工程师,要进入这些机器,启动这些机器,确实非常困难。有政策规定,每 30 天你的整个……你的整个基础设施就会被关闭,因为他们想确保这不会……你不会一直保留数据,而且出于成本考虑,他们也想确保这不会一直存在并最终被泄露。所以,像这样的实践使得完成一些工作实际上非常困难。所以,事情并没有那么简单。我用一种冗长的方式来表达,即使在大规模的情况下,数据和基础设施也存在复杂性。

所以,是的,我猜我没有意识到你在搭建这些东西方面有多么独立。所以,当你这样做的时候,你的团队构成主要是拥有机器学习和……你知道,建模背景的人,还是你招募了纯粹的软件工程背景的人,或者可能是大型计算或类似的东西?

后来,后来。所以,当我加入公司,加入团队的时候,我……团队是自然成长的。所以,一开始是我和我的经理,然后随着几年的发展,我们增长到 20 到 25 人。当然,如果算上轮岗的实习生和大量的实习生,任何大公司都会有。但我可能是……我加入 Alexa 之前的背景是,我曾在一家初创公司担任过从事大型系统工作的工程师。所以,我是一名研究员,转变为工程师,然后又变回了……你知道,研究工程师。所以,我在架构大型系统和处理研究方面拥有最多的经验。所以,就我的日常工作而言,我喜欢处于研究和工程之间的理想位置,我喜欢跨越整个堆栈,从一端到另一端。所以,直到团队成立大约一年到一年半后,我们才真正得到……你知道,正式的帮助,就是我们明确地向上级管理层提出工程资源请求,并让他们分配给我们。在那时,我的很多实践,无论好坏,都已经融入了团队的工作方式。然后,当工程师到来时,我们进行了调整。我得说我们做得相当好,因为我们有这么多研究人员在研究……你知道,建模的各个不同部分。有很多……他们基本上都是研究人员,在语言理解、语言生成以及对话问题的其他各个方面进行研究。这……这很有效,我们能够完成很多工作。但直到很久以后,我们才真正拥有……你知道,专门的…… handful of engineers 负责帮助我们,也许让事情更健壮一些,或者……你知道,帮助我们进行一些大型系统的 Docker 化,或者类似的事情。

我明白了。所以,很多……很多关键的机器学习运维设计决策和机器学习工程设计决策可能在那时就已经以各种方式做出了,比如你是如何考虑编排的,你是如何考虑某些数据集管理的。

是的,是的。

好的。所以,如果我们以语言理解为例,我们可以将其抽象为大规模监督学习。我猜对于其中一些,你需要人工标注,你需要相当大的数据集。对于这样的任务,什么才是真正重要的,或者说……你知道,你在哪里花费了最多的时间,或者最让你头疼?我猜不是 Transformer 架构之类的事情,对吧?

嗯,它……它肯定有它的变体。所以,你知道,这又回到了那个时期。从架构的角度来看,人们正在淘汰 LSTM 和 GRU 以及这些更老式的循环神经网络类型的架构。所以,Transformer 是当时最热门的东西。所以,从语言的角度来看,一切都将是某种形式的 Transformer。我并不是说我们直接使用了……你知道,GPT 或 BERT,但……它从模型角度来看,是某种变体。现在,我想说的是,当我们扩展规模时,复杂性确实出现了。亚马逊和 Alexa 拥有大量数据,我们有大量的标注员。每天都有大量的标注工作。所以,我们在世界其他地方有一个劳动力,他们不断地对数据进行新的标注。这包括转录,比如……你知道,命名实体识别,我的意思是,各种类型的监督学习问题,正如你所暗示的。复杂性主要在于,一,处理大规模数据。所以,处理大规模系统,构建大规模模型,围绕着……你知道,海量数据,我指的是 TB 级别的数据。然后,甚至理解我们拥有的东西。我认为,在 Alexa 的情况下,可发现性实际上是一个大问题。因为,至少在我加入的时候,有一个……你知道,一个范式转变,或者也许是公司……组织存在的转折点,我们开始更多地考虑复杂的建模和机器学习。但至少到那时,他们有远见,花了一些时间至少将数据存储在记录系统中。所以,我们有数据被写入 S3 存储桶,以及……你知道,外部 blob 存储。但现在,我们作为……你知道,下一代建模者,不得不进来,说……我们能用这个做什么?我的团队,我们的高级任务是……让 Alexa 变得更好,让它更智能,让它在这些方面做得更好。所以,我们首先必须……你知道,当我们被指向我们内部基础设施中某个地方的随机 S3 存储桶时,我们必须去了解这些数据分布是什么样的,我们有多少数据,这些标签是否好用。很多问题确实出现了,我们每天都有成千上万个数据点被标注,然后我们去尝试构建……你知道,某种意图分类器,或者某种……其他类型的监督学习,NLP 问题,然后我们发现标签的分布完全不对。没有人花时间去理解这个。所以,从数据的角度来看,这基本上是无用的,对吧?从数据的角度来看,它让建模问题变得极其困难,你的模型的预测会产生巨大的偏差。所以,我们必须理解数据分布,理解那里有什么,以及我们能够表示什么现象,以及我们在数据中表示了什么。然后,再往上一层,就是……模式是否正确?谁开发了这些标签,我们每天都在使用这些数据?所以,我们说,在 NLP 和语言方面,尤其是在你的对话中,细微差别很重要,对吧?预测的标签实际上是一个相当重要的区别。我们会遇到这种情况,这个标签对于我们试图建模的东西没有意义。我们需要将其分解,我们需要调整层次结构,你知道,它必须更像一个分层标签方案。这些都是我们不得不问自己的问题,但没有人真正花时间去问,因为没有人花时间去调查这些数据。所以,这是一系列问题。然后,还有处理 TB 级数据时发生的情况,这更像是计算基础设施方面的问题。

所以,也许有一件事我想指出,因为……这可能对 NLP 之外的人来说不清楚。但我想,如果我没记错的话,因为这个时机,人们理解像 Alexa 这样的系统,在 2015 年到 2016 年之前肯定存在,而且作为消费者体验,多年来可能看起来差不多。但这些系统的构建方式是相当小规模的数据集。所以,你的语音识别器可能会用……你知道,可能只有几千小时的数据进行训练。我认为,你描述的数据……Mihail,你有所有这些生产数据,你正在捕获,但你大部分时间都没有实际使用它来训练你的系统,因为老一代的系统更像是模式匹配型的 NLP,而不是大规模机器学习 NLP。

是的,是的。

所以,我想你的团队是第一次深入研究这些……你知道,海量数据,而且我猜我们总是说,哇,我们有海量数据,我们会把它扔进深度学习系统,然后一切都会顺利进行。然后,听起来你发现了两件经常出现的事情。一个是……你知道,事件的整体分布非常倾斜,所以……你的标签分布不是你想要训练的模型。然后,你的标注员不一定足够一致,或者你的指南可能模棱两可。所以,当你训练一个特定概念的意图分类器时,它会变得模糊,因为你的……你的训练数据有噪音。是这样吗?

这绝对是正确的。是的,我认为这说得非常好。我会说,所有这些问题都推广到了 NLP 之外。我的意思是,分布问题显然可以应用于……任何人工智能子领域。然后,标签的模糊性和一致性问题也适用。我的意思是,我与许多计算机视觉领域的人交谈过,他们遇到了完全相同的问题。我的意思是,这个标签适用于这个东西吗?是的,也可能不是。也许这个标签被另一个标签所包含。我的意思是,这些顾虑只有当你尝试构建模型时才会出现,然后你意识到……这些预测似乎不对,或者这不能准确地代表我们实际要做的事情。所以,是的,你描述的所有事情都完全正确。是的,我认为,人类标注者的一致性确实如此,无论模态如何。当你有……你知道,医生……对医学图像进行分类时,这确实是一个巨大的问题,因为当你有……你知道,两位专家意见不一致时,模型应该怎么做?

那是对的。

所以,在大规模进行之后,你如何……你如何看待这些问题,在小规模的情况下?所以,如果你在……你知道,给一家正在引入……你知道,不同任务的 NLP 分类器的公司提供建议,你是提前考虑这些……你知道,数据分布、数据质量问题吗?还是说,等到规模扩大后再处理?

是的,是的,这些顾虑一直存在。我认为即使在小规模情况下,它们也绝对适用。但我注意到的一件事是,在我接触过和咨询过的小公司中,以及等等,在……你知道,我在这里说“小”不仅仅是指团队的规模,我的意思是,即使是组织中机器学习工作的早期阶段。他们经常会遇到的很多问题都与……你知道,资源限制有关。所以,这意味着不仅是人力资源限制,所以我们没有足够的数据科学家、数据工程师来从事这项工作。从计算的角度来看,我们没有资源来做到这一点。我的意思是,我们无法获得 GPU,但我们被要求训练 Transformer 模型,因为这是当时最热门的东西。我们该如何做到这一点?然后,第三个是数据方面的限制。我的意思是,我们没有数据来做我们想做的事情。所以,同样,不同的组织有不同的问题。有些组织已经有了数据,他们只是想看看他们能用它做什么。有些组织根本没有数据,他们只是来问……我们需要构建的第一个数据集是什么?我们需要拥有的第一个小型监督学习数据集是什么,以便能够引入一些有用的东西?所以,从某种意义上说,问题有点不同,因为在 Alexa 和亚马逊,资源限制从来都不是问题。我的意思是,如果我们需要什么,我们就需要证明我们的理由,我们可以获得人员,我们可以获得数据,我们可以获得……我们可以获得计算能力。这些是我们从未不得不处理的事情,只要我们能提出一个合理的商业案例。我的意思是,当然,仍然有公司官僚主义需要处理,有点那样的,但那……你知道,可以管理的,可以管理的,在万不得已的时候。在小型企业和小型组织的情况下,他们只是……你知道,在很多情况下,他们还没有获得他们的第一个……你知道,人工智能的胜利,他们还没有真正获得他们的第一个概念验证,表明机器学习有时对他们试图解决的业务问题是有意义的。所以,对他们来说,他们需要尽快完成所有事情,以争取那些第一次胜利,他们可以向……你知道,业务利益相关者或其他人证明,看,现在这是合理的,让我们花更多时间在数据上,花更多时间在……你知道,扩展 GPU 来做这件事,我们可以获得三个数据科学家,而不是一个单独的数据科学家,在 50 名工程师的团队中,处理一些你扔给他们的数据集,对吧?所以,我看到了很多不同的顾虑,坦率地说,它们往往更多地集中在资源限制方面。

我明白了。是的,我认为资源问题,我总是……我总是对人们说,通常当你创业时,你所做的一切都很有用,因为你的问题往往是你没有足够的资源来做所有重要的事情。然后在大型公司,你必须小心相反的事情,你可能会遇到看起来非常令人印象深刻但基本上无用的东西,因为……你有资源来构建东西,但你可能不总是有正确的优先级,关于……你知道,什么才是正确的东西。

那是绝对正确的。

所以,让我们看看……你刚才在亚马逊描述的很多内容基本上就是我们在数据中心课程中教授的内容。我的意思是,它涉及到思考如何管理数据集。我喜欢你刚才描述的方式,在……你知道,给人们建议时,你说有一个单独的阶段,那就是……你知道,数据集构建。我认为让人们这样思考非常明智:如果我们开始构建一个机器学习系统,有一个第一阶段,那就是……你知道,弄清楚数据集部分,然后再担心你的机器学习堆栈的其余部分。你如何看待数据中心作为一个独立的事物集合,与……你知道,更好的机器学习软件工程相比?我的意思是,人们……是的,包括我自己,我想,正在开始将一些……你知道,数据集管理、数据质量、人工循环标注等内容标记为……你知道,以数据集为中心。然后问题是……你知道,这是一个有用的区别,还是可能很危险,如果你只是说……你知道,良好的软件工程现在是一个独立的话题?我的意思是,我想让所有的机器学习工程都成为良好的软件工程。所以,是的,我想,当你给人们建议或思考自己的问题时,你认为那里有一个有用的区别吗?

我的意思是,从功能上讲,这确实是一个非常有趣的点,即划清界限实际上可能是有害的。我以前从未这样想过。我的意思是,从某种意义上说,我的职业生涯跨越了两个极端,从建模到工程。所以,对我来说,我倾向于……我可能不太喜欢这里的区分。我的意思是,归根结底,你只是在解决一个问题,你知道我的意思吗?而你需要的工具在某种意义上并不重要,你知道吗?因为你只是想解决问题。所以,你需要一个更好的模型吗?是的。你需要更多的数据吗?是的。你应该能够做到所有这些,对吧?我的意思是,也许这对某人来说不是最有用的事情,如果他们问……哦,我应该学这个东西吗?我的意思是,我会从基本原理入手。如果你想解决一个机器学习问题,有几个方面你需要做对。这意味着数据,这意味着……你知道,一个高容量的模型,它实际上能够从你的数据中学习。你会做错误分析,我的意思是,所有这些事情,这些只是……构建一个完全成熟的系统的基本组成部分。我的意思是,然后当然,迭代改进,做主动学习,你知道,确保你做得很好,版本控制等等。这些事情……有一系列工程工作包含了所有这些。当事情变得棘手时,我认为你只需要理解,如果你理解了……你知道,构建一个完整的系统所需的那些基本原理,无论你称之为数据中心机器学习,还是……你知道,其他一些很酷的热门词汇,这并不重要。我的意思是,除非你只是想推销自己,你知道,就像为了工作或者别的什么,那很好。如果你想……拥有那个 Coursera 数据中心认证,那也很好。我的意思是,这没什么不对。但如果你只是想退一步,说……我需要做什么,学习什么,才能成为一个非常成功的机器学习工程师或机器学习建模师,你知道,让我们称之为机器学习从业者。我总是更关注那些核心原则,因为核心原则是持久的,并且会持久存在,我相信,跨越……你知道,下一代……你知道,就像一个非常简单的例子,回想一下……我的意思是,安德鲁,你知道,你可能甚至做过……你知道,我们过去会自己编写梯度来进行建模,对吧?我的意思是,你确实在 Matlab 中编写了自己的梯度,在 PyTorch 出现之前,在 Matlab 中。好的,这太疯狂了。然后我们有了第一代工具,比如ano,你知道,然后 Keras 出现了,然后 TensorFlow。我记得当 TensorFlow 在 NLP 小组出来的时候,我们坐在那里,夏天刚过,很多人都在谷歌,坐在那里说……哦,你知道,让我们试试谷歌刚刚发布的新东西。所以,再次,你知道,然后 PyTorch 出现了,现在还有 Jax 和所有这些东西。所以,工具和框架会改变。我相信,如果你只关注基本原理,那将……那将非常有帮助。然后,你最终称它为什么,我不会花太多时间担心它。只是……只是专注于那些重要的事情。

是的,我认为,我同意这一点。也许……就基本原理而言,我认为有一件事很有用,所以……就像我和 Mike Wu 一起制作了数据中心课程,专注于……你知道,我们实际用来让深度学习系统工作的那些东西。而且,我们课程中涵盖的大部分内容都没有在……你知道,标准的机器学习研究生课程中涵盖。所以,如果你看看基本上所有的斯坦福和其他……你知道,机器学习课程,它们往往专注于建模方面。所以,我认为有一些空间……无论你称它为不同的东西,还是你只是将其包含在你的……你知道,机器学习……课程中,这种数据集构建和数据质量的概念,就像调试模型一样重要。

绝对是。所以,我认为,在某些方面,分类是有用的。

另一件事是,当你描述这个时,我意识到你和我可能在某些方面有类似的问题,那就是,如果你想在机器学习方面取得进展,你很快就会偏离……你知道,只是 PyTorch 层面的东西,只是建模层面的东西。你给自己创造了一个问题,那就是,人们会说,很好,现在有人想为我们构建平台。你现在负责平台了,对吧?

对,对。

所以,从某种意义上说,数据中心机器学习是……它使用了一堆 MLOps 工具,但仍然声称你在做令人兴奋的机器学习工作,因为在很多情况下,你知道,很多数据质量和数据集,特别是数据质量和数据分布,对模型的影响非常大。所以,是的,这是一种说法,所有这些数据集管理的东西实际上是非常有意义的机器学习工作。

也许。

是的,我认为这绝对是一种说法。而且,看,我当然不想贬低……你知道,我们今天称之为数据中心机器学习的原则。我的意思是,那一直都是真的,而且我认为,任何机器学习者,任何机器学习从业者都会知道,那一直都是真的。首先,你知道,即使在数据中心机器学习出现之前的很多年,当你的模型出现问题时,在你的研究中,在你的模型出现问题时,你通常被要求做的第一件事是,在你……你知道,你已经调试了你的模型,太棒了。你会回去说……好吧,这些标签真的对吗?我的意思是,这些……你知道,它们真的是一致的吗?我是否误贴了标签?因为很多时候,你知道,你提到了你的博士学位,研究生院,你可能在做你的标注,或者你可能用……你知道,MTurk 一点点,但你会在想……他们是否正确地标注了这个?所以,所有这些原则一直都存在。

你知道,现在也许我们称它们为,这也许是营销方面的一点,对我来说这不太重要,但但是的,这个原则绝对是超级重要的,是的,我认为这也是因为,正如我们在构建大型模型方面做得越来越好一样,你会更多地遇到数据集问题,因为你,你知道,你很快就构建了模型,因此数据集的影响更容易,没错,观察到,这是一个很好的观点,是的,这真的很好,嗯,所以你对 ML Ops 工具想了很多,所以,嗯,我想我在准备时告诉你了,但在我们的课程中,我说数据中心 ML 和 ML Ops,基本上,嗯,ML Ops 工具有一个子集,它们非常有用,而数据中心 ML 基本上就像使用这些东西来做,特别是像工作流管道和数据质量,自动化启发式类型的东西,进行更高杠杆的实验,但你如何看待,你如何看待 ML Ops 工具集,我想,就它与数据集管理、数据质量的关系而言,我知道 ML Ops 还有其他部分,但是的,是的,嗯,这是一个新兴的领域,我的意思是,从某种意义上说,要做这一切的精确工具链,嗯,仍然是新兴的,我知道我们曾讨论过,你提到你的一些作业涉及让人们使用 Label Studio,让他们,你知道,使用 Cleanlab 之类的东西,并利用它来了解你的数据质量,我认为所有这些东西都是,嗯,仍然有更多需要构建的地方,但但那正是,就像正确的步骤,我的意思是,你知道,数据管理和某种数据质量,归根结底,你知道,让我们说,我们已经,就像某种程度上解决了 ML Ops 领域的一些问题,比如扩展基础设施,你知道,也许扩展,就像推理,你知道,确保你的推理延迟是,是可靠的,而且当然还有工作正在进行,以使其更快,你知道,容器化,嗯,编排你的 Kubernetes 集群和 Kubeflow 以及类似的东西,但让我们说,也许那是,就像那个,那个是问题的真正工程部分,比如大规模数据处理,大规模建模,这就像原始形式的工程,对吧,有时候甚至没有那么多机器学习真的在那里发生,当你只是在谈论如何扩展以确保虚拟机的使用率,你知道,是好的,而且我没有遇到,内存超出范围,或者你知道,只是在机器上用完内存,从某种意义上说,现在真正有趣的工具是所有那些,有点像机器学习的混乱部分,所有让机器学习变得混乱的东西,总是数据的东西,对吧,所以我们开始真正,你知道,当我们花更多时间,有意识地,作为一种社区,思考数据中心 ML 和某种有效的数据管理原则时,这意味着在早期阶段构建更多围绕这些的工具,早期阶段,但我的意思是,你知道,我认为数据质量和数据理解应该发生在机器学习模型的整个生命周期中,但话虽如此,嗯,你知道,我们真的到了那个点,花时间构建那部分工具,工具链,现在有很多公司出现,这真的要处理所有不是,也许更像机器学习性质的东西,对吧,更多的是关于,比如数据洞察,你试图捕捉的数据现象,标签的一致性,你的标注者的一致性,你知道,你应该,你应该使用所有标注者的所有标注,还是不应该,你应该,当你可能收到一些生产数据时,你应该重新标注哪些子样本,我的意思是,所有这些都是人们开始,或者认识到他们需要回答的更基本的问题,现在我们开始构建工具来实际能够回答,所以我认为,这是,这是一个很好的进展,这是一个很好的演变,我认为还有很多工作需要完成,当然,我明白了,所以这,这很多侧重于,就像只是理解,以及,我想,也许是可视化和,以及审查和过滤和搜索你的数据,那是,我想,你的训练和评估数据,最终,没错,好的,嗯,是的,我认为,你对有几家公司有什么看法,它们现在看起来有点像 ML Ops 工具,但它们的主要卖点只是,就像它们的数据质量服务,有像 Aquarium 这样的,或者 Cleanlab 启动了一家公司,嗯,嗯,是的,你,我想,你是否在某种程度上认为它们是 ML Ops 的东西,我认为,ML Ops 在获得资金方面正在失去动力,所以现在每个人都会变成一家数据质量初创公司,但我不知道,我喜欢那个见解,这是,我们又回到了这个讨论,另一件再次出现的事情是,这种分类的概念,什么是,什么是有效的分类,而不是无效的分类,我认为,我赞同这种观点,我认为 ML Ops 在过去,你知道,让我们说,过去六个月到一年里,从 VC 的角度来看,受到了一点点抨击,所以那些,你知道,也许一两年前,有一大批 ML Ops 公司,每个人都说,哦,是的,就像为 ML 人员构建工具,这是目前最有用的事情,那里有,就像真正,有价值可以构建,并且作为一家公司可以提取价值,然后我们有成千上万的工具从市场出来,现在作为一个从业者,我想,哦,我甚至想用哪个,它们都差不多,哪个,哪个实际上是有用的,因此,如果你在 2022 年进入,并说,我正在建立一家 ML Ops 公司,你将会遇到阻力,因为 VC 会看着你的脸说,嗯,你和任何 15 家公司有什么不同,而且,老实说,很难证明这一点,所以我确实认为这里有一些品牌重塑,从根本上说,我认为任何这些公司,即使它们将自己标记为数据 Ops 公司或数据质量公司或任何其他营销术语,它们最终都会,无论它们会想出什么营销术语,所以,是的,所以它们与其他所有公司区分开来,我认为即使是这些参与者,最终也会处理很多相同的问题,它们最终会触及堆栈的很多相似部分,所以即使你看看 Cleanlab,或者你知道,像 Aquarium 这样的,你看到了这种,这种演变,这种任何这些公司的演变,即使它们从一个特定的细分市场开始,即使它们只谈论问题的特定子集,我只会帮助你处理标签质量,我只会帮助你,比如可视化,你知道,你的数据的集群,不可避免地,它们将不得不开始侵占堆栈的后期部分,即使是 Aquarium 也开始进行标记,即使是 Aquarium 最终可能也会开始做类似建模的事情,因为它们,你知道,从纯粹的商业角度来看,在那些,就像特定的,堆栈的切片中,可能没有那么多价值捕获,可货币化的价值捕获,所以我认为,很多这些公司的广泛未来是,它们只会尝试,你知道,它们将向上游和下游发展,取决于它们在堆栈中的位置,而且,老实说,这将更加难以区分,什么是什么是不同的,因为它们都会,有点看起来一样,它们都会倾向于像 SageMaker 这样的东西,你知道我的意思吗,就像它们都会开始看起来有点像这些端到端平台,你可以在那里做你真正需要的一切,而且它们希望让你保持在它们的平台上下文中,哦,是的,是的,那真不幸,如果那就像,不可避免的滑坡,对吧,因为很多这些东西开始,就像 Cleanlab 是一个非常好的特定数据质量工具,我一点也不想让它们为我管理其余流程,我只想用它们来做,对,但也许这意味着从商业模式上,所以我,是的,你认为从商业模式上,人们会,我想,随着时间的推移,倾向于吞噬更多,是的,我的意思是,我喜欢,我不知道我们在这里想谈论多少,但但一个简单的问题是,你知道,Cleanlab,我认为你们正在使用它,使用开源工具,但一旦它们想围绕它建立一家企业,它们就需要出售某种企业级产品,你为标签质量能收多少钱,你知道我的意思,就像,就像确保你的标签是一致的,而且,如果你要建立一个 VC 支持的企业,你需要能够趋向于,每年产生数亿美元的 ARR,你知道我的意思,收入,而且很难向某人收取十万美元,如果你只是确保,你知道,你的标签更干净 20%,至少我认为很难收取那么高的费用,对,所以你真的需要能够证明,比如,真正的基础设施投资,那就是数据库,就像数据库一样,真正的基础设施投资,就像这里有一个数据库,我给你看,这里是 Snowflake,你知道,那是你可以向某人收费的巨大合同规模,所以,是的,你知道,为了总结这一点,我认为这是一个滑坡,但我认为这是,老实说,一种商业必需品,或者它们会被收购,我的意思是,我认为很多这些公司都会被,比如,谷歌或亚马逊或任何地方收购,如果它们只是专注于数据质量,并且是那里最好的数据质量工具,那么一家没有提供优秀数据质量的公司就会说,好的,是的,你们做这件事更有意义,是的,那是,如果人们正在创办公司,这是一个很好的收购策略,就像即使你没有,你知道,在你尝试构建完整的,必须服务于所有这些功能之前,专注于一件事,然后一些大公司可能会买你,因为你在这件事上做得非常好,这有点冒险,对吧,我的意思是,就像,是的,你必须真正投入其中,对,把所有的鸡蛋都放在一个篮子里,但我,我明白了,是的,嗯,所以,关于这些工具的话题,所以,所以,比如,我们已经有一些 Slack 线程在我们,比如学生群体中,分享知识,因为人们正在评估各种标记工具,我认为确实如此,特别是对于标记工具,它们只是想与它们上游和下游的东西连接起来,这样你就可以做一些更有趣的事情,比如数据质量反馈到你的标注工具,或者可视化,用你用来标注数据的工具来可视化你的数据,这通常非常重要,所以,是的,我可以看到那种,比如,堆栈泄露,或者,你知道,拥有更多的需求, pretty clearly,但在 ML Ops 中,总的来说,你如何看待人们学习,某种好的基础原则,而不是,就像,这里有一堆工具,对吧,在你的博客文章中,你展示了一些,比如工具图表,而且,我不知道那些,我的意思是,我知道,也许 20% 的那些图片,但,是的,所以你认为人们应该,基本上,做一个工具的大型调查,他们应该做,ML Ops,还没有很好的课程,但它正在出现,是的,是的,我会说,绝对不要花太多时间,我绝对不会让工具成为你的专业领域,我的意思是,对我来说,这样做就像告诉一个纯粹的,你知道,后端工程师,说,哦,你应该只知道 Python,确保你只知道 Python,而不是,你应该学会如何编程,你知道我的意思,你应该只知道,为了构建一个好的软件,应该做什么,所以我认为,我们一直在谈论的很多基础原则,都是关于学习,学习好的实践,学习将适用并始终适用的好原则,所以我绝对不会建议某人说,哦,在 SageMaker 中构建一个工具,然后在 Azure 中构建一个工具,然后在 GCP 中构建一个工具,你知道,就像,或者像所有这些不同东西的 Google Cloud 等价物,只是为了说你可以做所有这些,当,归根结底,你将去新的工作,每个新工作都将有不同的堆栈,而且那个堆栈将是不同的,而且,如果你知道核心是什么,每个,你知道,适用的核心原则是什么,你就能适应,而且,从根本上说,它们看起来会非常相似,所以,你知道,无论你使用的是 Label Studio 还是 Label Box,还是其他什么,Aquarium 与,你知道,Scales 的 Nucleus,我的意思是,你知道,这些是,我可以,我可以替换这些组合,我可以花一整天去研究,什么可以适应,什么是一个好的替代品,我绝对不会说花时间学习超过,老实说,一个,但但我确实认为,但但学习一个,对,我的意思是,我认为,说,去,如果我,当我说人们,如何新人,如何建立技能,成为一个好的 ML Ops 人员,好的 ML 工程师,我认为构建一个端到端的系统,从数据生成,从,你知道,数据采集,到数据理解,通过,我应该捕捉和建模什么现象,我们需要做什么标签,获取那些标签,构建模型,你知道,部署模型,基于,你知道,基于进入的生产数据,对模型进行错误分析,回去迭代,你知道,做那个完整的周期,那是很有用的,而且,归根结底,你选择在,你知道,在做这些事情的每一个中,你将迫使自己问这个问题,好吧,我想做标记,我应该使用什么标记工具,好吧,有几个,其中一个,选择一个,它不会有太大的区别,老实说,好的,现在我需要做数据质量,你知道,也许 Cleanlab 仍然是少数几个好的之一,所以也许现在没有那么多参与者,但会有,会有,比如,几个 Cleanlab 的替代品会出现,选择一个,就这样,你知道我的意思,我应该在哪里部署它,AWS,当然,GCB,当然,Azure,只是选择一个,然后去做,然后完成那个练习,完全,那个,只是,端到端,将比花太多时间在那些博客文章上更有用,比如 X 对比 Y 对比 Z 对比 A 对比 B 对比 C,哪个是正确的,你知道我的意思,它们会没事的,它们,功能上,你选择一个或另一个不会受到太大伤害,在一个中感到舒适,并且足够了解幕后发生的事情,以至于当你一年后去新工作时,你将能够拿起他们使用的那个,因为他们选择使用 AWS 而不是 GCP,而你只学了 GCP,而那将会发生,对,那将会发生,而且这种情况经常发生,是的,是的,我认为这是一个很好的观点,而且我认为,特别是考虑到,比如,ML Ops 工具集的,比如状态,如果,我认为有道理,你尝试一个项目,这会迫使你,比如,面对一些这些,比如一般性问题,而且,无论你最终使用的系统或工具,可能足够相似,或者,比如,有相同的原则在下面,你可以,比如,映射到它,嗯,好的,我们差不多到时间了,你有什么要给学生们的告别建议,他们正在进入 ML 工程,ML Ops,哦,天哪,这是,我知道这是一个非常广泛的,万能的问题,什么,如何,是的,我想,你可以,比如,我将做两个非常快的,好的,未来的人工智能,你有什么想告诉我们的吗,我们应该害怕吗,我们应该兴奋吗,听起来你对用大型语言模型构建产品感到兴奋,我认为我们应该兴奋,绝对兴奋,当然,这是一个好时机,这是一个好时机,你知道,ML Ops 工具的混乱暂且不论,我认为这是一个进入这个领域的好时机,我预计只会带来更多的好事,我确实相信,我的意思是,显然,我和你一样,选择将我们的职业生涯建立在这个根本性的技术范式转变之上,因为我们看到了它之前的样子,我们看到了在过去十年里我们取得了多快的进步,你知道我的意思,就像过去十年的进步确实令人震惊,在过去的六个月里也令人震惊,并且只是期望,你知道,有一点乐观主义,比如技术乐观主义,就像,是的,外推到无穷大,而且只会发生更多令人惊叹的事情,所以看涨,100%,然后,对于在这个领域工作的人来说呢,听起来像是在做端到端项目是最好的建议,还有其他重要的建议给进入这个领域的人吗,是的,端到端项目,从零开始构建一些东西,你知道,从零开始构建一些东西,真正经历那个练习,而且,我认为这很好,你知道,有这样的课程,我给的建议,我认为仍然适用,有时候,我遇到过那些人,他们说,哦,我应该用,我应该用数据中心,我应该做 ML 工程,你知道,我有点偏向于花很多时间在工程技能上,因为我过去是工程师,而且,我几乎是故意地,我从一个纯粹的研究人员那里,你知道,在斯坦福大学,我所做的就是写非常糟糕的 Python 代码,然后说,嘿,我需要变得更好,我觉得我需要构建,我需要学习我的,我的贸易工具,花更多时间实际学习好的工程实践,然后回来了,让我告诉你,当我从一个更纯粹的软件工程工作回到一个,比如,研究工程师,那种混合体,我的研究生产力提高了 10 倍,因为我只是,在架构系统和思考,你知道,干净的抽象,在调试东西方面,我快多了,我遇到的任何问题,即使是研究问题,我也只是,不会被吓倒,因为我想,我觉得我会最终解决它,而且,我拥有知道如何做这件事的工具集,所以我想说的另一件事是,你知道,工程将永远有用,而且,这里的工程适用于,比如,当然,数据构建,数据分析,以及以健壮和可扩展的方式进行,花时间学习这些技能,它们绝对会很有用,太棒了,是的,我绝对同意,就像,你不应该让,比如,软件工程减慢你表达你的数据科学想法的能力,正是如此,正是如此,好的,Mihail,非常感谢,这很有趣,代表我们所有的学生,而且,是的,学生们,如果你还没有,请查看 Mihail 的博客,主要是在 LinkedIn 上发布,或者,Medium 和 LinkedIn,到处都是,还有 Twitter,对,所以,你应该看看他的东西,至少是 ML Ops 的博客文章,我也把它放在了我们的 Slack 上,好的,再次感谢 Mihail,感谢大家,谢谢大家,绝对,谢谢 Andrew,谢谢大家,谢谢大家