Transcription
所以,感谢 Co-Rise 的同学们以及今天加入我们的所有人。我非常高兴地欢迎 Mihail Eric 成为我们的嘉宾。嗯,关于 Mihail 的背景,我想我最初是在斯坦福大学遇到 Mihail 的,当时他正在进行一些自然语言处理和机器学习的研究。之后,他去创业公司构建机器学习系统,然后他加入了亚马逊 Alexa 的一个基础团队,负责下一代机器学习技术。之后他离开了亚马逊,又创办了一些初创公司,有的专注于 MLOps,有的则专注于机器学习教育领域。所以,Mihail 今天加入我们,是因为他对 MLOps 的一些方面有非常坚定的看法,并且在行业内构建过一些非常庞大的系统,无论是大型还是小型。所以,Mihail,感谢你的加入。很高兴你能来。实际上,关于这一点,我刚才做了一个简短的概述,但你是否愿意多说一点关于你最近在做什么?我只知道一些亮点。
当然,当然,是的。首先,非常感谢 Andrew,也感谢 Co-Rise 团队的 Judy。很高兴来到这里。是的,我已经在机器学习领域待了很长时间了。你提到了我过去的一些经历,小规模的初创公司,也很幸运能在亚马逊 Alexa 最具吸引力的一个时期,也是组织发展的关键时期。我可以详细谈谈为什么会是这样,但就是在 Alexa 发展的这个关键时期,我们开始更多地思考下一代努力的方向,如何让 Alexa 成为一个更好的平台。所以,我为此工作了好几年。然后,我一直对人工智能教育、机器学习教育非常着迷,因为我经历过其中一些困难。显然,作为一个新手,然后逐渐发展出更多的专业知识,并密切关注我学习新事物的方式,并试图将这些经验教训传达给其他人。是的,我离开亚马逊大约一年了,我们最近几个月收购了一家教育公司,大约两个月前正式完成收购,所有文件都已签署。我一直在思考我接下来想做什么。这意味着另一家初创公司。我非常热衷于初创公司,所以一直在思考 MLOps 工具和数据工具的结合,以及最近的生成式 AI。很多人可能觉得这没什么新意,每个人都在思考生成式 AI,但这个领域确实有很多有趣的事情正在发生。所以,我正在思考什么样的应用,什么样的能力,能让人们做到以前不可能做到的事情。我认为这正是我喜欢思考的问题所在,即下一代技术,以及我们如何赋能新一批用户或新一批从业者,让他们能够做以前不可能做到的事情。
很酷。是的,我认为,仅仅就这个话题而言,对我来说,最近的许多生成模型和大型语言模型,它们是一个非常大的技术飞跃。这意味着你可以探索一大堆产品和设计理念,因为技术已经能够支持它们了,而这些是你五年前根本不会想到的。所以,是的,我认为这些公司都非常酷。你提到了进入机器学习领域,我想我会为你宣传一下你的公司。如果大家还没见过 Confetti,我们观众中有许多有抱负的机器学习工程师。所以,Confetti 是 Confetti AI 还是 Confederation?是的,Confetti AI。然后是 LLC,我想如果你要说官方法律术语的话。但你知道,是的,Confetti AI 是名字。所以,如果你还没见过那个网站,它是为了帮助人们练习编程练习,特别是针对机器学习和数据科学的。所以,这是一个非常酷的产品,而且实际上可能很有用,如果你正在准备不同类型的面试,比如数据科学的编码面试。但你也提到了你的教育背景,所以一个我总是喜欢问的标准问题是,你是如何开始从事你现在所做的事情的?我猜从你本科是计算机科学专业开始,你是否正式研究过统计学?
是的,是的,我很乐意多谈谈。所以,我在斯坦福大学完成了本科和研究生学习。当我刚开始在斯坦福大学时,我本来是要学物理的。我从小就对数学很感兴趣,我参加了很多数学竞赛,比如 Mathcounts 和 AMC,在美国的人可能熟悉这些,这是我中学和高中的数学竞赛和数学奥林匹克。所以我做了很多这样的事情。所以,他确实有倾向于进行数学思考,并解决数学问题,最初是要学物理的。我在斯坦福大学的第一个学期,上了一门计算机科学的入门课程,我简直惊呆了,因为它的教学方法非常好,教学质量很高。我的导师是 Jerry Kane,后来他成了我的导师。所以,我第一次接触到正式的计算机科学,我发现它有一种非常数学化的思考问题的方式,同时也有非常实际的应用,它是一门工程学科,对吧?归根结底,你可以用它来构建东西。看到这种结合,我就觉得这是我的最佳领域,我可以在这里构建实用的东西,但它又是非常程序化的,而且思考问题的方式非常算法化,这对我来说非常有吸引力。所以,我知道我想学计算机科学,而且我从小就一直想着人工智能。我读过 Ray Kurzweil 的《奇点临近》,脑子里一直有这些想法,这是一个值得努力的方向。我觉得当时我刚开始接触计算机科学的时候,正是 Andrew Ng 还在 Google Brain 的时候,他们刚刚完成了一个项目,让一个神经网络在 YouTube 上自由运行,基本上发现了猫。如果大家还记得的话,Andrew,你可能还记得这个实验,纽约时报的“谷歌猫”结果。是的,如果有人没见过这个,那是在 2011 年或 2012 年。这大概是深度学习第一次在《纽约时报》上被突出报道。图像是一个幽灵般的猫,因为如果你在海量的 YouTube 数据上训练无监督深度学习系统,你最终会得到一个特定的隐藏变量,它似乎编码了“猫”,而你从未告诉它“猫”是一个东西。
是的,完全正确,完全正确。所以,这是完美的背景。所以,我还在读本科,Andrew Ng 就在谈论这个结果,这就是我当时的想法:哦,人工智能领域有一些有趣的事情正在发生。所以,这又一次是深度学习复兴的时期。深度学习本身并不新鲜,但至少我们开始看到计算能力在追赶,新的数据集正在发布,比如 ImageNet 就是在这个时期出现的。所以,这是一个非常好的时机,可以在人工智能真正变得像现在这么大的时候深入研究它。是的,所以我正式学习了它,我学习了很多计算机科学课程来培养工程技能,同时也学习了更核心的概念,比如概率、统计和线性代数,所有这些后来都变得非常重要。然后,随着我学位的进展,我最终更专注于自然语言处理,因为我一直……所以,再补充一点背景,我本来是要学物理的,而且我实际上想辅修写作和英语。所以我一直对文字和语言很着迷,并且在高中时学习了很多语言。所以,自然语言处理感觉是人工智能领域一个非常自然的子领域,我花了很多时间投入其中。我加入了那里的自然语言处理小组,很幸运能与 Chris Manning、Percy Liang 和 Dandrapskin 等人合作,虽然不是直接合作,但还有 Chris Potts,我相信你对他们都很熟悉,Andrew。我真的做了很多关于自然语言处理、语言理解和人工智能的酷工作。
非常好。那么,实际上,也许有一件事你没有提到,你早期的一些机器学习项目是作为课程项目完成的,而不是像……你能够将机器学习和自然语言处理的更大项目作为课程来完成,是吗?是的,实际上是两者兼有。所以,当然有些是来自机器学习课程和自然语言处理课程。然后,当我越来越投入时,我一直在通过 Kaggle 竞赛来补充我所做的工作。当然,当我进入研究领域时,那完全独立于课程。我只是花了我所有课后的时间在自然语言处理小组,在 Gates 大楼的二楼闲逛,花了很多时间与那里的博士生交谈并进行项目。所以,这是课程作业的结合,可能让我开始接触它,然后是我自己的普遍兴趣,让我继续做更多的事情,并参与更多类型的项目。
我明白了,明白了。是的,你提到了时机的问题。所以,我想问你关于在斯坦福大学之后,你在 Alexa 构建更大系统的事情。但我认为值得注意的是,你和我都在同一时间在斯坦福大学,而且是在深度学习系统在几个主要任务上开始表现得非常好的几年里,比如语音识别。像谷歌这样的地方表明,你实际上可以使用这些东西,并且它能为一系列关键的机器学习系统带来有意义的性能提升。所以我认为这开启了一个阶段,我猜当你进入 Alexa 时,人们对做更多机器学习或更多深度学习感兴趣,而且还有点开放,因为即使是 Alexa 这样的地方,也从未真正面对过为深度学习系统收集和整理海量数据集意味着什么,因为即使是深度学习之前的语音识别器,相比之下数据量也更小。所以,我想你可能可以告诉我们,当你进入一个非常大的组织并开始在那里构建一些机器学习项目时,是什么样的?
绝对是。是的,我认为你说得完全正确。我确实是在一个有趣的时间加入了 Alexa,因为大约在 2018 年、2019 年,也许是 2019 年初,当时 Alexa 产品已经存在了大约三到四年,所以人们的家中已经有了 Echo 设备,放在桌子上等等。但从功能上来说,这些系统能做的事情非常基础。我仍然可以播放一首 Spotify 歌曲,设置一个提醒,把这个东西添加到我的待办事项列表中。功能上来说,它能做的事情非常少。在这一点上,组织在机器学习和语言方面花费时间和精力开发和处理的问题主要是 ASR(自动语音识别)。所以,他们已经构建了相当不错的语音识别系统,他们收集了声学数据,训练了系统来完成这项工作,并且在理解方面表现相当不错,至少能够转录说给 Alexa 系统的话。然而,他们真正希望用 Alexa 做到的下一代事情,更多地依赖于语言理解和语言生成。所以,第一,我们如何从一段转录的文本(来自音频信号)出发,然后用它来理解人们的意图,他们谈论什么,他们想要什么?然后,从那里开始,我们如何利用它来执行某些操作,或者从外部来源提取某些信息(无论这些来源是什么)?然后用它来合成引人入胜、有趣且有用的回应。所以,这就是生成部分。所以,总而言之,在我加入的时候,人们对机器学习问题的后期部分更加重视。这归结为如何开发用于语言理解和语言生成的数据集。这大约也是像 BERT 和 GPT(甚至不是 GPT-3,而是 GPT-1、GPT-2 等早期系统)开始流行的时候。它们刚刚开始崭露头角,这些 Transformer 模型变得越来越大。所以,这也是 NLP 进展的一个关键时期,我们开始能够提出有趣的问题,关于……这些新的性能提升,以及从这个角度来看的模型。所以,内部构建了大量数据集,成立了许多团队。我的团队基本上是一个新的努力,就像亚马逊 Alexa 内部的一个 Google Brain 风格的团队。然后,我们将其视为一个重点,我们将投入大量资源、时间和精力来真正让 Alexa 走向下一代,让它比现在更好。
我明白了。所以,对语言理解和语言生成进行深度学习的投资是一个重点。绝对是。所以,我认为,在我们的 MLOps 课程和数据中心深度学习课程中,我们都非常关注开源技术和人们可以用来从小规模开始使用的工具。有时会有一种感觉,哇,如果我们能在一家大公司工作,我们就不用担心这些事情了,我们已经有了一套相当不错的工具集,而且我们可以大规模工作,所有关于构建数据集和训练深度学习模型的事情,我们都可以花时间在建模部分。所以,在一家资源非常丰富的大公司做过这件事之后,当你开始构建这些东西时,工具和基础设施的情况是怎样的?
嗯,我希望你描述的是世界现状,就是你走进公司,就有完美的集群,你只需要添加你的 PyTorch 或 TensorFlow 代码,一切就都完成了。事实并非如此,亚马逊 Alexa 肯定也不是这样。事实上,我所在的团队……Alexa 的设计,作为一个组织,以及亚马逊的设计,是一个非常去中心化的组织。所以,甚至没有集中计算的概念。在 Alexa 组织中,有一些努力是这样做的,你有一个集中的地方,一个集中的客户数据存储,如果你想处理这些客户数据,有一套 AWS 的包装器,你可以用它们来启动新机器,并实际使用 GPU 和其他加速计算基础设施来运行实验。尽管如此,即使在我的团队中,我也基本上是负责设置我们大部分基础设施的人。我负责设置我们的内部 AWS 账户,然后负责从设置如何处理基础设施的最佳实践,到实际建立我们如何编写代码的实践,以及低级别的编码实践,因为我们有自己的仓库,如何组织 20 名研究人员和工程师以一种高效且富有成效的方式共同处理代码和实验。所以,这并不简单。这并不是你走进就一切都好的那种情况。我这么说可能有点啰嗦,但即使在大规模的情况下,数据和基础设施也存在复杂性。
是的,我确实没有意识到你在这方面有多么独立。所以,当你这样做的时候,你的团队构成主要是拥有机器学习和建模背景的人,还是你招募了纯粹的软件工程背景的人,或者可能是大规模计算方面的人?
是的,后来才有了。所以,在我加入公司和团队的时候,我……团队是自然成长的。所以,一开始是我和我的经理,然后随着时间的推移,我们发展到 20 到 25 人,当然,如果算上轮岗的实习生和大量的实习生,任何大公司都会有。但我可能是其中之一。我在 Alexa 之前是一名工程师,在一家初创公司从事大规模系统工作。所以,我是一名研究人员,转变为工程师,又转回了研究工程师。所以我可能是在架构大规模系统和处理研究方面拥有最多经验的人。所以,就我的日常工作而言,我喜欢处于研究和工程之间的最佳位置,我真的很喜欢跨越整个堆栈,从一端到另一端。所以,直到团队成立大约一年到一年半后,我们才真正得到正式的帮助,就是我们明确地向上级管理层提出工程资源请求,并让他们分配给我们。在那时,我的许多实践,无论好坏,都已经融入了团队的工作方式。然后,当工程师到来时,我们进行了调整。我得说我们做得相当好,因为我们有这么多研究人员在处理模型的不同部分。有很多人,基本上都是研究人员,在语言理解、语言生成以及对话问题的其他各个方面进行研究。这确实奏效了,我们能够完成很多工作。但直到很久以后,我们才真正拥有……专门的工程师团队,负责帮助我们让事情变得更健壮,或者帮助我们进行大规模系统的 Docker 化等等。
我明白了。所以,很多关键的机器学习运维设计决策和机器学习工程设计决策,可能在那时就已经以各种方式做出了,比如我们如何考虑编排,我们如何考虑某些数据集管理问题。
没错,没错。
好的,如果我们以语言理解为例,我们可以将其抽象为大规模监督学习。我假设其中一些需要人工标注,需要相当大的数据集。那么,对于像这样的任务,什么才是真正重要的,或者说,你在哪里花费了最多的时间,最多的头痛?我猜不是 Transformer 架构之类的事情,对吧?
嗯,绝对是其中一部分。所以,再次强调,这是在那个时期。从架构的角度来看,人们正在淘汰 LSTM 和 GRU 等老式循环神经网络架构,而 Transformer 是新的热门技术。所以,从语言的角度来看,一切都将是某种形式的 Transformer。我并不是说我们直接使用了 GPT 或 BERT,但从模型角度来看,它是某种变体。现在,我想说的是,当我们扩展规模时,复杂性确实出现了。亚马逊和 Alexa 拥有大量数据,我们有大量的标注人员。每天都有很多人在进行标注。我们在世界其他地方拥有劳动力,他们不断地对数据进行新的标注,这包括转录、命名实体识别(NER),以及各种监督学习问题,正如你所提到的。复杂性主要在于处理大规模数据,构建围绕海量数据的大规模模型。我指的是 PB 级别的数据。然后,甚至理解我们拥有的数据。我认为,在 Alexa 的情况下,可发现性实际上是一个大问题,因为至少在我加入的时候,组织经历了一个范式转变,或者说一个转折点,我们开始更多地考虑复杂的建模和机器学习。但至少在那之前,他们有远见,花了一些时间至少将数据存储在记录系统中。我们有数据被写入 S3 桶,以及类似……外部 Blob 存储。但现在,作为下一代建模者,我们必须进来,说“我们能用这个做什么?”我的团队,我们的高级任务是让 Alexa 变得更好,更智能,在这些方面做得更好。所以,我们首先必须去了解,当你指向我们内部基础设施中某个地方的随机 S3 桶时,这些数据分布是什么样的?我们有多少数据?这些标签真的好吗?很多问题确实出现了,我们每天都有成千上万的数据点被标注,然后我们去尝试构建某种意图分类器,或者某种其他类型的监督学习 NLP 问题,我们发现标签的分布完全不对。没有人花时间去理解这一点,所以从数据角度来看,这几乎是无用的。但它使建模问题变得极其困难,你的模型的预测会产生巨大的偏差。所以,我们必须理解数据分布,理解我们拥有什么,以及我们能够表示什么现象。然后,再往上一层,就是模式是否正确?谁开发了这些标签?我们每天都在使用这些数据,然后我们说,“嘿,在 NLP 和语言方面,尤其是在对话中,细微差别很重要,对吧?预测的标签实际上是一个相当重要的区别。我们可能会遇到这种情况,这个标签对于我们试图建模的内容没有意义。我们需要将其分解,我们需要调整层次结构,它必须更像一个分层标签方案。这些都是我们必须问自己的问题,但没有人真正花时间去问,因为没有人花时间去调查这些数据。所以,这是一系列问题。另外,还有处理 PB 级数据的问题,这更像是计算基础设施方面的问题。
是的,实际上,也许有一件事我想指出,因为……这可能对 NLP 领域之外的人来说不清楚,但我想如果你错了,请纠正我,因为这个时机很重要,人们需要理解,像 Alexa 这样的系统,在 2015 年 2016 年之前肯定存在,而且作为消费者体验,多年来可能看起来差不多,比如“嘿 Alexa,做 X”。但是,这些系统的构建方式是使用相当小规模的数据集。所以,你的语音识别器可能会用大约几千小时的数据进行训练。我想你描述的数据,你有所有这些生产数据,但你大部分时间并没有真正使用它来训练你的系统,因为老一代的系统更像是模式匹配型的 NLP,而不是大规模机器学习 NLP。
没错。所以,我想你的团队是第一次深入研究这些……海量数据,而且我们总是天真地说,“哇,我们有海量数据,我们会把它扔进深度学习系统,然后一切都会顺利进行。”然后听起来你发现了两件经常出现的事情:一是事件的整体分布非常倾斜,所以你的标签分布不是你想要训练的模型。二是你的标注者不一定足够一致,或者你的指南可能模棱两可。所以,当你训练一个特定概念的意图分类器时,它会变得模糊,因为你的训练数据有噪声。是这样吗?
绝对是。是的,我认为这说得非常好。而且我认为所有这些问题都推广到了 NLP 之外。所以,分布问题显然可以应用于任何人工智能子领域。然后,标签模糊性和一致性问题也适用。我与许多计算机视觉领域的人交谈过,他们遇到了完全相同的问题。这个标签适用于这个东西吗?是的,也可能不是。也许这个标签被这个其他标签所包含。这些担忧只有当你尝试构建模型时才会出现,然后你就会意识到,这些预测似乎不对,或者这并不能准确地代表我们试图做的事情。所以,是的,你描述的所有事情都完全正确。我认为,毫无疑问,人类标注者的一致性是真实存在的,无论模态如何。当医生对医学图像进行分类时,这确实是一个巨大的问题,因为当两位专家意见不一致时,模型应该怎么做?
没错。
所以,在大规模进行之后,你如何看待这些问题在小规模情况下?所以,如果你正在为一家公司提供关于为不同任务构建 NLP 分类器的建议,你是否会提前考虑这些数据分布、数据质量问题?还是说,等到规模扩大后再处理?
是的,是的,这些担忧一直存在。而且我认为即使在小规模情况下,它们也绝对适用。但我注意到的一件事是,在较小的公司中,我与之打交道和咨询的公司中,在较小的公司中,我在这里说“较小”不仅仅是指团队规模,还包括组织中机器学习工作的早期阶段。他们经常处理的许多问题都与资源限制有关。所以,这意味着不仅是人员方面的资源限制,我们没有足够的数据科学家和数据工程师来处理这个问题。从计算角度来看,我们没有资源来做到这一点。我们无法获得 GPU,但我们被要求训练 Transformer 模型,因为这是新的热门技术,我们该如何做到?然后第三个是数据方面的限制。我们没有数据来做我们想做的事情。所以,同样,不同的组织有不同的问题。有些已经拥有数据,他们只是想看看能用它做什么。有些根本没有数据,他们只是来问“我们需要构建的第一个数据集是什么?我们需要拥有的第一个小型监督学习数据集是什么,以便能够引入一些有用的东西?”所以,在某种意义上,问题有点不同,因为在 Alexa 和亚马逊,资源限制从来都不是问题。如果我们想要什么,我们需要证明我们的理由,我们可以获得人员,我们可以获得数据,我们可以获得计算能力。只要我们能提出合理的商业案例,我们就永远不必处理这些事情。当然,仍然有公司官僚主义需要处理,有点那样的,但当务之急是可以管理的。在小型企业和小型组织的情况下,他们只是……在很多情况下,他们还没有获得他们的第一个人工智能胜利,他们还没有获得他们的第一个概念验证,证明机器学习有时对他们试图解决的业务问题有意义。所以,对他们来说,他们需要尽快完成所有事情,以争取那些第一次胜利,他们可以向业务利益相关者或其他人证明,看,现在这是合理的,让我们花更多时间在数据上,花更多时间在扩展 GPU 上,我们可以获得三个数据科学家而不是一个独自一人在 50 名工程师的团队中处理你扔给他们的数据集,对吧?所以,我见过各种各样的问题,坦率地说,它们往往更多地集中在资源限制方面。
我明白了。是的,我认为资源问题,我总是对人们说,通常你在初创公司工作时,你所做的一切都很有用,因为你的问题往往是你没有足够的资源来做所有重要的事情。而当你身处大公司时,你需要小心相反的事情,你可能会遇到非常令人印象深刻的构建的东西,但它们基本上是无用的,因为你有资源来构建东西,但你可能不总是优先考虑正确的事情,即构建正确的东西。
绝对是。
所以,让我们看看。你刚才在亚马逊描述的很多内容基本上就是我们在数据中心课程中教授的内容。它涉及到数据集的管理。我喜欢你刚才描述的方式,你给人们建议,你说有一个单独的阶段是数据集构建。我认为让人们这样思考非常明智:如果我们开始构建一个机器学习系统,有一个第一阶段,就是弄清楚数据集的问题,然后再担心你的机器学习堆栈的其余部分。你如何看待数据中心作为一个独立的事项,与更多地……良好的机器学习软件工程相比?所以,是的,像我一样,人们开始将一些数据集管理、数据质量、人工循环标注等内容标记为“以数据集为中心”。然后问题是,这是一个有用的区别,还是可能危险,如果你只是说良好的软件工程现在是一个独立的话题?我想所有的机器学习工程都应该是良好的软件工程。所以,是的,你认为在你给出建议或思考自己的问题时,这是一个有用的区别吗?
嗯,功能上来说,这是一个非常有趣的点,即划清界限实际上可能是有害的。我以前从未这样想过。我的职业生涯跨越了两个极端,从建模到工程。所以,对我来说,我可能不太在意区分。归根结底,你只是在解决问题,你明白我的意思吗?而你需要的工具在某种意义上并不重要。你只是想解决问题。所以,你需要一个更好的模型吗?是的。你需要更多数据吗?是的。你应该都能做到,对吧?也许这对某人来说不是最有用的东西,如果有人问“我应该学这个东西吗?”我会从基本原理的角度来思考。如果你想解决一个机器学习问题,有几个方面你必须做好。这意味着数据,这意味着一些高容量的模型,它实际上能够从你的数据中学习。你会做错误分析,所有这些事情,这些只是构建一个完全成熟的系统的基本要素。然后,当然,迭代改进,做主动学习,确保你的版本控制做得好。所以,这些事情,有一系列工程需要包含所有这些。当务之急是,你只需要理解。如果你理解了构建一个完整的系统所需的那些基本原理,无论你称之为数据中心机器学习,还是其他什么时髦的词语,都不重要。除非你想推销自己,你知道,只是为了找工作,那没关系,如果你想有那个 Coursera 数据中心认证,那也很好,没什么不对。但如果你只是想退一步,说“我需要做什么,学习什么,才能成为一个非常成功的机器学习工程师或机器学习建模师,或者说,一个机器学习从业者?”我总是更关注那些核心原理,因为核心原理是持久的,并且会持久存在。我相信,跨越下一代……举个简单的例子,回想一下,我的意思是 Andrew,你可能也做过,我们曾经自己编写梯度来进行建模,对吧?你写了自己的梯度,在 MATLAB 中,在 PyTorch 之前,在 MATLAB 中。好吧,这太疯狂了。然后我们有了第一代工具,比如 Theano,你还记得吗?然后 Keras 出现了,然后是 TensorFlow。我记得 TensorFlow 刚出来的时候,在 NLP 小组,我们坐在那里,一群人在 Google 上网,然后说,“哦,让我们试试 Google 推出的这个新东西。”所以,再次,然后 PyTorch 出现了,现在有 JAX 和所有这些东西。所以,工具和框架会改变。我相信,如果你只关注基本原理,那会更有帮助。然后,你最终称它为什么,我不会花太多时间担心它。只要专注于重要的事情。
是的,我认为我同意这一点。也许,就基本原理而言,我认为有用的一点是,比如 Mike Wu 和我一起准备了这个数据中心课程,专注于我们实际用来让深度学习系统工作的那些东西。而且我们课程中涵盖的大部分内容都没有在标准的机器学习研究生课程中涵盖。所以,如果你看看基本上所有的斯坦福和其他机器学习课程,它们往往侧重于建模方面。所以我确实认为有一些空间,无论你称之为不同的东西,还是只是将其包含在你……你的机器学习课程中,这个数据集构建和数据质量的概念,就像调试模型一样重要。
绝对是。所以,我认为,在某些方面,分类是有用的。另一件事是,当你描述它时,我意识到你和我可能在某些方面有类似的问题,那就是,如果你想在机器学习领域有所作为,你很快就会偏离……只是 PyTorch 层面的东西,只是建模层面的东西。你给自己制造了一个问题,那就是人们会说,“好吧,现在有人想为我们构建平台,你负责平台了。”
没错,没错。
所以,在某种意义上,数据中心机器学习是……它使用了一系列机器学习运维工具,但仍然声称你在做令人兴奋的机器学习工作,因为在很多情况下,很多数据质量和数据集,尤其是数据质量和数据分布,确实对模型的表现有很大的影响。所以,是的,这是一种说法,所有这些数据集管理的东西实际上是非常有意义的机器学习工作。
也许。是的,我认为这绝对是一种说法。而且,你看,我当然不想贬低我们今天称之为数据中心机器学习的原则。那……那一直都是真的。而且,我认为任何机器学习从业者都会知道,这在数据中心机器学习出现之前一直都是真的。即使在数据中心机器学习出现之前的很多年,当你的模型或研究出现问题时,你经常被要求做的第一件事是,在你调试完模型之后,你会回去说,“好吧,这些标签真的对吗?它们真的……它们真的是一致的吗?我是否错误地标记了什么?因为很多时候,你提到你在研究生院做你的标注,或者你使用 MTurk 一点点,但你就像,“他们是否正确标记了这个?”所以,所有这些原则一直都存在。
你知道,现在也许我们称它们为,也许是营销方面,这对我来说不太重要,但但是的,这个原则绝对是超级重要的,是的,我认为这也很重要,就像我们越来越擅长构建大型模型一样,你会更多地遇到数据集问题,因为你,你知道,你很快就构建了模型,所以数据集的影响更容易,没错,观察到,这是一个很好的观点,是的,这真的很好,嗯,所以你对 ML Ops 工具想了很多,所以,嗯,我想我在准备过程中告诉过你,但在我们的课程中,我说数据中心 ML 和 ML Ops,基本上,嗯,有一部分 ML Ops 工具非常有用的,就像数据中心 ML,基本上是利用这些东西来做,比如更高杠杆的实验,特别是像工作流管道和数据质量,嗯,自动化启发式的东西,嗯,但是你怎么看待,你怎么看待 ML Ops 工具集,我想,就它与这个,比如数据集管理,数据质量的关系而言,我知道 ML Ops 还有其他部分,但是的,是的,嗯,这是一个新兴的领域,我的意思是,从某种意义上说,要做到这一切的精确工具链,嗯,仍然是新兴的,我知道我们曾经讨论过,你提到你的一些作业涉及让人们使用 Label Studio,让他们,你知道,使用像 Cleanlab 这样的东西,并利用它来深入了解你的数据质量,我认为所有这些东西,嗯,仍然有更多需要构建的地方,但但那正是,比如正确的步骤,我的意思是,你知道,数据管理和某种数据质量,归根结底,你知道,让我们说,我们已经,比如,解决了一些 ML Ops 领域更像是已解决的问题,比如扩展基础设施,你知道,也许是扩展,比如推理,你知道,确保你的推理延迟,嗯,是可靠的,当然,仍然有工作正在进行,以使其更快,你知道,容器化,嗯,你的 Kubernetes 集群和 Cube Flow 等东西的编排,嗯,但让我们说,也许那是,比如,那个,那个,那是问题的真正工程部分,比如大规模数据处理,大规模建模,这就像原始形式的工程,对吧,比如,有时甚至没有那么多机器学习真正发生在那里,当你只是在谈论我如何扩展以确保虚拟机上的利用率,你知道,是好的,并且我没有遇到,比如内存超出范围,或者你知道,只是在机器上用完了内存,嗯,从某种意义上说,现在真正有趣的工具是所有那些,比如,机器学习中更混乱的部分,所有那些让机器学习变得混乱的东西,总是数据的东西,对吧,所以我们开始真正,你知道,当我们花更多时间,刻意地,作为一个社区,思考数据中心 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,你知道,这是一个巨大的合同规模,你可以向某人收费,所以,是的,你知道,总结一下这一点,我认为这是一个滑坡,但我认为这是一种商业必需品,老实说,或者它们将被收购,我的意思是,我认为很多这些公司将被,比如,Google 或 Amazon 或其他公司收购,比如,它们是最好的,如果它们只专注于数据质量,并且它们是最好的,最适合数据质量的工具,那么一家没有提供优秀数据质量的公司就会说,好的,是的,你们做这个更有意义,是的,那是,如果人们正在创办公司,这是一个很好的收购策略,比如,即使你没有,你知道,在你尝试构建完整的,比如,必须服务于所有这些功能之前,是的,专注于一件事,然后一些大公司可能会收购你,因为你只擅长那一件事,这有点冒险,对吧,我的意思是,就像,是的,你必须真正投入其中,对吧,把所有的鸡蛋都放在一个篮子里,但我,我明白了,是的,嗯,所以,关于这些工具的话题,所以,所以,比如,我们已经有一些 Slack 线程在我们,比如,学生团体中,分享知识,因为人们正在评估各种标记工具,我认为这是真的,特别是对于标记工具,它们只是想连接到它们上游和下游的东西,这样你就可以做更有趣的事情,比如数据质量反馈到你的标注工具,或者可视化,嗯,你的数据,使用你用来标注数据的相同工具,这通常非常重要,嗯,所以,是的,我可以看到,比如,堆栈的渗透,或者,你知道,拥有更多的需求, pretty clearly,嗯,但是,总的来说,在 ML Ops 中,你如何看待人们学习,比如,良好的基础原则,而不是,比如,这里有一堆工具,对吧,比如,在你的博客文章中,你展示了一些,比如,工具图表,而且,我不知道任何一个,我的意思是,我知道,也许 20% 的,比如,那些图片,但是,是的,所以你认为人们应该,比如,做一个工具的全面调查?他们应该做,比如,ML Ops,还没有很好的课程,但是,它正在出现,是的,是的,我会说,绝对不要花太多时间,我绝对不要让工具成为你的专业,我的意思是,对我来说,就像,对我来说,这样做就像告诉一个纯粹的,你知道,后端工程师,说,哦,你应该只知道 Python,确保你只知道 Python,而不是,你应该学习如何用通用语言编程,你知道我的意思吗?你应该只是,你知道,应该做什么来构建一个好的软件,所以我认为,我们一直在谈论的很多基础原则,都是关于学习,学习好的实践,学习好的原则,它们适用,并且将永远适用,所以我绝对不会建议有人说,哦,在 SageMaker 中构建一个工具,然后在 Azure 中构建一个工具,然后在 GCP 中构建一个工具,你知道,就像,或者,比如,Google Cloud 相当于,比如,所有这些不同的东西,只是为了说你可以做所有这些事情,当,归根结底,你将去新的工作,每个新工作都将有不同的堆栈,而且那个堆栈将不同,而且,如果你知道,核心是什么,每个,你知道,核心原则是什么,你就能适应,而且,从根本上说,它们看起来会非常相似,所以,你知道,无论你使用的是 Label Studio 还是 Label Box 还是其他东西,Aquarium 还是,你知道,Scales,CL 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,谢谢大家,谢谢大家