GPT-3对MLOps的未来意味着什么?与大卫·赫西一起谈论
GPT-3在MLOps领域的未来意义?与大卫·赫西交流
本文最初是MLOps Live的一集,这是一个互动问答环节,ML从业者回答其他ML从业者的问题。
每一集都专注于一个特定的ML主题,在这一集中,我们与David Hershey讨论了GPT-3和MLOps的特性。
你可以在YouTube上观看:
或者作为播客收听:
- Spotify
- Apple Podcasts
但如果你更喜欢书面版本,这里有一份!
在这一集中,你将了解以下内容:
-
1
GPT-3到底是什么? -
2
GPT-3对MLOps领域有什么影响,它如何改变机器学习? -
3
语言模型如何与MLOps相辅相成? -
4
构建这种MLOps系统会有哪些问题? -
5
初创公司和企业如何利用LLM快速推出产品?
Stephen:在这个电话会议上,我们有David Hershey,他是社区中备受喜爱的人之一,我敢说,事实上,我们将讨论OpenAI GPT-3对MLOps世界的意义。David目前是Unusual Ventures的副总裁,他们正在为创始人对风险投资者的期望提高标准。在加入Unusual Ventures之前,他是Tecton的高级解决方案架构师。在Tecton之前,他曾担任Determined AI的解决方案工程师,以及Ford Motor公司的机器学习平台产品经理。
David:谢谢。很高兴能来这里聊天。
Stephen:我只是好奇,给个背景,你在Unusual Ventures的角色是什么?
David:Unusual是一家风险投资基金,我目前的重点是我们在机器学习和数据基础设施方面的投资。我领导我们所做的所有工作,思考机器学习基础设施和数据基础设施的未来,还有一些关于DevTools的想法。但这是我花了五六年时间专注于思考ML基础设施的延续,尽管我仍在继续这样做,但这次是为了找出下一个浪潮。
Stephen:是的,非常棒。你写了一些关于ML基础设施下一个浪潮的博客文章。你能再多介绍一下你在那方面的见解吗?
David:是的,对我们许多人来说,这是一段漫长的MLOps之旅,其中有起有落。我们已经取得了很多成就。当我开始涉足这个领域时,工具并不多,现在工具和可能性如此之多,我认为其中一部分是好的,一部分是不好的。
这次对话的主题显然是深入研究GPT-3和语言模型;现在关于生成式AI有很多炒作。
我认为,由于ChatGPT、GPT-3等语言模型的最新进展,我们有机会扩大构建ML应用程序的数量和能够构建机器学习应用程序的人员范围。
关于MLOps,我们可以思考新的工具,有新的人可以参与,还有可能有新功能的旧工具。所以有很多机会。
GPT-3是什么?
Stephen:是的,当然,我们肯定会深入探讨这个问题。说到生成式AI领域,本集的核心焦点将是GPT-3,但你能分享一下GPT-3的意义并提供一些背景吗?
David:当然。GPT-3与ChatGPT相关,我猜全世界现在都听说过它了。
总的来说,它是一个大型语言模型,与过去看到的用于各种自然语言处理任务的语言机器学习模型并没有太大不同。
它是建立在谷歌于2017年发布的transformer架构之上的,但GPT-3和ChatGPT是OpenAI对其的一种专有版本。
它们被称为大型语言模型,因为在过去的六年左右,我们所做的主要是提供更多的数据并使模型变得更大。通过GPT-3和其他训练语言模型的人,我们已经看到这些语言模型的惊人能力超出了我们所熟悉的语言处理的经典应用,比如情感分析。
这些语言模型可以进行更复杂的推理,高效地解决大量的语言任务;它们中最受欢迎的一种形式是ChatGPT,它实际上是一个能够进行人类对话的聊天机器人。
GPT-3对MLOps的影响
Stephen:太棒了。谢谢你分享这些……你对GPT-3对MLOps领域的影响有什么看法?以及你如何看待机器学习的变化?
David:我认为有几个很有意思的方面可以探讨语言模型对MLOps领域的意义 – 也许我想将其分为两个方面。
1. 语言模型
正如我所说,语言模型具有惊人的能力。它们可以在不进行任何额外工作的情况下解决大量任务;这意味着您不需要训练或调整任何东西 – 您只需要编写一个好的提示,
语言模型可以解决多个问题。
能够使用其他人训练的模型的好处是您可以将MLOps的工作交给构建模型的人,而您仍然可以在下游进行大量有趣的工作。
您不需要过多担心推理、版本控制和数据等问题。
有许多问题突然解决了,这使得机器学习在很多情况下更加易于使用。
但并非每个用例都会立即得到解决;语言模型很好,但它们还不是万能的。
一个需要考虑的类别是,如果我们不再需要为一些事情训练模型,
- 我们参与哪些活动?
- 我们在做什么,需要什么工具?
- 我们需要哪些才能在语言模型之上构建机器学习系统的才能和技能?
2. 语言模型如何补充MLOps
我们仍然在训练模型;仍然有许多情况我们需要这样做,我认为至少要谈一下语言模型今天的影响。
MLOps的一个最困难的问题是很多数据科学家并非原生的软件工程师,但降低软件工程的门槛可能是可能的。
例如,围绕将自然语言翻译为SQL等方面一直存在很多炒作,以便更容易进行数据发现等操作。因此,这些是对话的附属品或其他补充部分。
但是,我认为当你考虑到是否有办法使用语言模型来降低实际参与传统MLOps的门槛时,这仍然具有影响力,使软件方面更加易于使用,数据方面更加易于使用等等。
大型语言模型的可访问性
Stephen:当你谈到GPT-3和大型语言模型(LLMS)时,有些人认为这些工具是像微软、OpenAI、谷歌等大公司的工具。
您如何看待让这些系统对于规模较小的组织、初创公司或小团队更加可访问的趋势?我想利用这些东西并向消费者提供。
David:是的,我实际上认为这可能是语言模型带来的最令人兴奋的事情,我将以几个方面来阐述。
别人已经为大型语言模型解决了MLOps问题。
在某种程度上,它们为它们提供服务,为它们提供版本控制,为它们进行迭代,为它们进行微调。这意味着对于我与之合作和交流的许多公司来说,以这种形式的机器学习比以往任何时候都更容易接触到 – 他们不需要雇佣一个人来学习如何进行机器学习,学习PyTorch,并了解所有的MLOps,才能得到一些结果。
语言模型的惊人之处在于,你可以通过在OpenAI playground上写一个好的提示来获得你的MVP。
那时候,它们大多只是演示,还不是产品。但我认为信息是一样的:从一个想法到类似实际工作的东西变得如此容易。
在表面上,明显的事情是任何人都可以尝试并有可能构建出一些相当酷的东西;这不难,但这很棒 – 不难是很棒的。
我们一直在努力创建简单的机器学习模型,而这真的很酷。
我要谈的另一件事是这样的:当我回顾我在福特汽车公司的时间时,我们思考的一个重要主题是数据民主化。
我们如何使整个公司都能与数据互动?
民主化在大多数情况下只是说说而已,而语言模型在某种程度上为整个世界进行了一些数据民主化。
更进一步解释一下,当你考虑这些模型时,GPT-3或其他类似的语言模型的训练方式是基于一个被称为Common Crawl的数据集,这实际上就是整个互联网,对吧?所以他们下载了互联网上的所有文本,并训练语言模型来预测所有这些文本。
以前进行我们熟悉的机器学习所需的其中一件事是数据收集。
当我在福特汽车公司工作时,我们需要将东西连接到汽车上,将其遥测出来并将所有数据下载到某个地方,并创建一个数据湖,并聘请一个团队来整理这些数据并使其可用;进行任何机器学习的障碍是更换汽车和构建数据湖等等。
关于语言模型最令人兴奋的一点是,你不需要连接很多东西。你只需要简单地说,请完成我的文本,它就会完成。
我认为过去很多初创公司面临的一个难题是冷启动问题。比如说,如果你没有数据,你如何构建机器学习模型?而现在,在第一天,你就可以做到,任何人都可以。
这真的很酷。
如果MLOps问题解决了,初创公司还会担心什么?
Stephen:这非常有趣,因为如果你不担心这些问题,那么作为一个初创公司,你会担心什么?
David:好的,我来说说好的方面和坏的方面…
好的情况是担心别人的看法,对吧?你以客户为中心。
而不是担心如何找到另一个MLOps人员或数据工程师,因为他们很难找到,因为他们的数量不够,你可以担心构建顾客想要的东西,倾听顾客的意见,构建酷炫的功能,并且希望你也能更快地进行迭代。
而世界上所有的风险投资公司都喜欢谈论的另一方面是防守性 – 我不想讨论这个。
但当使用LLMs构建东西变得如此容易时,它变成了桌面赌注 – 它不再是与竞争对手区别开来的酷炫差异化的东西。
如果你构建了一个令人难以置信的信用评分模型,这将使你成为更好的保险提供商,或者这将使你成为更好的贷款提供商等等。
文本完成现在有点像是赌注的基本要求。很多人担心如何构建一些竞争对手无法模仿的东西 – 但嘿,这不是一个坏问题。
回到我之前说的,你可以专注于人们想要的东西以及人们如何与之互动,或许可以稍微以不同的方式构建它。
例如,有很多 MLOps 工具,而最后一步是监控,对吧?当我们考虑时,就像你发布一个模型,最后一件事就是监控它,以便你可以持续更新和改进之类的。
但是对于我合作的许多 MLOps 团队来说,监控仍然是事后才考虑的,因为他们仍在努力达到有东西可以监控的阶段。但是监控实际上是很酷的一部分;这是人们使用你的系统的地方,你通过迭代和改进来找出如何使它更好。
我认识的几乎每个正在进行语言模型相关工作的人现在都在进行监控,因为他们在五天内发布了某些东西;他们现在正在与客户进行迭代,而不是试图弄清楚和犯愁。
我们可以更加关注以用户为中心迭代这些系统,而不是艰难的 PyTorch 等等。
大型语言模型到来后,ML 的以数据为中心的方法有变化吗?
Stephen:在大型语言模型出现之前,围绕以数据为中心的人工智能方法在构建系统方面引起了狂热。现在这种方法与已经在大量数据上进行训练的大型语言模型有什么联系呢?
David:是的,我想提到的一件事是 –
在短期内,最不可能被语言模型取代的机器学习是一些最以数据为中心的内容。
当我在 Tecton 的时候,他们建立了一个特征存储库,我们正在处理的许多问题,比如欺诈检测、推荐系统和信用评分等,结果证明所有这些系统的难点不是机器学习部分,而是数据部分。
你几乎总是需要在很短的时间内了解关于全球用户的许多小事实,然后使用这些数据来综合回答。
从这个意义上说,这是一个难题的一部分:数据仍然是重要的,因为你需要知道某人刚刚点击了什么或者某人最近购买的五件东西是什么?这些问题不会消失。你仍然需要知道所有这些信息。你需要专注于理解和处理数据 – 如果语言模型对这些问题几乎没有任何影响,我会感到惊讶。
在许多情况下,难点仅仅是能够拥有正确的数据来做出决策。在这些情况下,以数据为中心,询问关于需要收集什么数据、如何将其转化为特征以及如何使用它进行预测的问题是正确的问题。
在语言模型方面,数据问题是有趣的 – 你可能需要更少的关注数据才能开始。你不需要策划和考虑一切,但你必须问关于人们如何实际使用它的问题 – 还有我们谈到的所有监控问题。
构建诸如聊天机器人之类的东西需要像产品分析一样构建,以便能够跟踪我们用户对此生成的响应或者我们正在做的其他事情等。因此,数据对于这些仍然非常重要。
我们可以深入讨论,但是它肯定有与以前不同的特质,因为数据不再是构建具有语言模型的特征的阻碍因素,至少不像以前那样了。
公司如何利用大型语言模型快速发布产品?
Stephen:太棒了。我尽量不要忘记对于其他 MLOps 组件方面的思路,但是我只是想再给一些背景说明…
根据你的经验,公司是如何利用这些大型语言模型快速发布产品的?你有什么使用案例想要分享的吗?
David:几乎涵盖了一切;你会对有多少种用例使用语言模型感到惊讶。
可能有一些明显的语言模型用例,然后我们再来讨论一些快速发布的事情…
写作助手
有一些工具可以帮助你写出大量这样的内容;例如,用于营销或博客等方面的复制工具。其中一些工具包括Jasper.AI和Copy.AI – 它们存在时间最长。这可能是使用语言模型实现的最简单的事情。
代理
存在一些用例可以帮助你采取行动。这是目前最酷的事情之一。其思想是构建一个代理,接收自然语言的任务并为您执行它们。例如,它可以发送电子邮件、调用API或执行其他任务。在这方面还有更多的工作,但它很有趣。
搜索和语义检索
很多人在从事搜索和语义检索等工作…例如,如果我想要查找一条笔记,我可以充分理解如何在大量信息中进行搜索。语言模型擅长消化和理解信息,因此知识管理和信息查找是很酷的用例。
我给出广泛的答案,因为几乎每个行业产品都有机会利用语言模型来整合或改进功能。有太多事情要做,一天的时间不够用。
Stephen: 很酷。这些就像与开发工具相关的用例,比如开发工具和其他东西吗?
David: 我认为有各种各样的用例,但就开发工具方面的思考而言,有一个叫Copilot的工具可以帮助你更快地编写代码。还有很多其他的工具,例如更高效地编写和生成拉取请求,以及自动构建文档。我认为整个软件开发的宇宙在某种程度上也准备进行改变。所以确切地说就是这样。
高效监控LLMs在生产环境中
Stephen: 通常,当我们谈论ML平台或MLOps时,这些都是紧密相连的不同组件。你有:
- 特征存储
- 模型注册表
- 来自数据湖的数据
然后数据会在这个工作流中流动、建模,然后部署。
现在,在这种情况下,LLMs几乎消除了开发方面…
你是否已经看到人们如何高效地监控这些系统,在生产环境中替换它们与其他模型和其他系统?
David: 是的,这很有趣。我认为监控是语言模型现在面临的最大挑战之一,因为我们消除了开发,所以它成为了头等大事。
在我们过去进行的大多数机器学习中,输出是结构化的(例如,这是一只猫还是不是?);监控这一点相当容易。你可以看看你有多常预测它是猫还是不是,并评估它随时间的变化。
但是对于语言模型来说,输出是一个句子 – 而不是一个数字。衡量一个句子有多好是很困难的。你必须考虑以下几个方面:
- 1 这个数字是否大于0.95或类似的数值?
- 2 这个句子是否权威和友好?
- 3 我们是否友好、不具有毒性和偏见?
所有这些问题都更难评估、追踪和衡量。那么人们在做什么呢?我认为对于很多人来说,第一个反应是使用类似产品分析的工具。
它更接近于Amplitude等工具,而不是传统的工具,你只是生成一些东西然后看人们是否喜欢它。他们是否点击?他们是否离开页面?他们是否接受这个生成的内容?诸如此类的事情。但是,那是一个相当粗略的度量。
这并不能给你几乎了解模型内部工作的细节。但这是人们正在做的。
对于这个问题,还没有很好的答案。如何监控这些东西?如何跟踪我的模型表现得有多好,除了观察用户如何与它交互?这对很多人来说是一个开放的挑战。
我们知道有很多机器学习监控工具……我希望我们最喜欢的一些工具能够不断迭代,直接帮助我们应对这些问题。但我也认为,新的工具有机会出现,帮助我们评估一句话的好坏,并在模型上线之前和之后进行测量;这将使你逐渐增强信心。
目前,我听到大多数人说他们发布新版本的模型的常见方法是在五六个提示上进行测试,然后通过目视检查输出是否良好来决定是否上线。
Stephen:那是可被淘汰的。讽刺的是,令人惊讶的是,还有讽刺的。
David:我认为这不会持续太久。
人们只是开心地看着五个示例,然后点击错误按钮将其上线到生产环境。
这很大胆,但目前有太多的炒作,人们会发布任何东西,我猜,但这种情况不会持续太久。
关闭主动学习循环
Stephen:是的,绝对没错。而且,我认为即使在大规模语言模型风潮之前,当只有基本的transformer模型时,处理这类系统的大多数公司通常会找到一种关闭主动学习循环的方法。
你如何找到一种关闭主动学习循环的方法,可以持续改进自己的数据集和模型的系统?
David:我认为对于很多人来说,这仍然是一个挑战,不是每个人都找到了解决方法。
OpenAI有一个微调API,其他一些公司也有,你可以收集数据,他们会提供一个微调的终端。所以我和很多人谈过,他们最终会选择这种方法,要么是为了改进模型,更常见的是为了提高延迟性能。比如,如果你能够将一个更便宜的模型微调到与GPT-3相似的性能水平,但速度更快、更便宜,我见过人们选择这种方法。
我们现在使用这些语言模型还处于早期阶段,我觉得随着时间的推移,主动学习组件仍然会是精细调整模型的一个重要环节。
你经常听到很多人谈论针对每个用户的微调,对吗?你能够有一个对我个人风格、需求等了如指掌的模型吗?对于现在使用这些模型的任何人来说,今天就应该开始思考这个主动学习循环,即使今天很难进行操作,也可以从GPT-3中下载权重并进行自定义微调。
即使你可以这样做,对一个拥有1750亿参数的模型进行微调也存在各种挑战,但我预计你现在收集的数据将在长期内不断提升模型的重要性。
GPT-3对MLOps从业者来说是机遇还是风险?
Stephen:是的,这在某种程度上看,是领域如何发展的有趣现象。所以此时,我们将直接进入一些社区问题。
社区的第一个问题是:GPT-3对MLOps从业者来说是机遇还是风险?
David:我认为机遇和风险在某种程度上是同一枚硬币的两面,我猜这样说吧。我会这样回答,两者兼有。
我先说说风险,我认为很难想象我们过去依赖训练模型来完成的许多工作负载,在现在可能不再需要了,或者可能会扩大。正如我们所讨论的,语言模型现在无法做到的事情很多,但它们能够做很多事情。并且没有理由相信它们在未来不能做更多的事情。
如果我们有这些通用模型可以解决很多问题,那么为什么还需要MLOps呢?如果我们不再训练模型,那么很多MLOps工作将会消失。所以如果你不注意这一点,那么需要处理的工作量将会减少。
现在,好消息是目前 MLOps 从业者的数量还远远不够。甚至不接近,对吧。所以我认为我们不会缩小到今天的 MLOps 从业者数量对于我们在世界上需要做的 MLOps 来说过多。所以我不会太担心这个问题,我想这就是我要说的。
但另一方面,有很多新东西需要学习,比如构建语言模型应用程序的挑战是什么?有很多挑战,也有很多新工具。我认为在接下来的几个社区问题中,我们会深入探讨。但我认为有一个真正的机会可以成为一个理解这一点甚至可以推动更进一步的人。
如果你是一个 MLOps 人员但不是数据科学家,你可以使用语言模型;如果你是帮助人们构建和推送模型到生产环境的工程师,也许你不再需要数据科学家。也许数据科学家应该担心了。也许你作为 MLOps 人员可以构建整个系统。你突然成为一个全栈工程师,通过在语言模型之上构建机器学习模型 – 你构建基础设施和周围的软件。
我认为这是一个真正的机会成为一个构建以语言模型为驱动的应用程序的全栈从业者。你的位置很好,你了解机器学习系统的工作原理,你可以做到。所以我认为这是一个机会。
MLOps 从业者在 LLM 时代应该学习什么?
Stephen: 这是一个非常好的观点;我们在聊天中有一个问题…
在这个大语言模型的时代,作为 MLOps 从业者,实际上应该学习什么或者作为初学者应该优先考虑学习什么技能呢?
David: 是的,好问题…
我不想太激进。还有很多机器学习应用案例不会受到语言模型的巨大影响。我们仍然会进行欺诈检测等工作。这些仍然是需要有人在我们自己的专有数据上训练模型的事情。
如果你对 MLOps、机器学习的开发、训练和完整生命周期有热情,学习与之前相同的 MLOps 课程。学习软件工程的最佳实践,了解机器学习系统的构建和投产过程。
也许我会补充一下,虽然很简单,但只需进入 OpenAI 的 GPT-3 游乐场并尝试使用模型。尝试构建一些用例。有很多演示。试着去构建一些东西。很容易。
就个人而言,我是一名风险投资人…我几乎不再从事技术工作,但我自己建立了四五个应用程序来玩耍和利用我的空闲时间 – 这是多么容易。你简直不敢相信。
只需构建一些基于语言模型的东西,很容易,你会学到很多。你可能会对它的简单程度感到惊讶。
我有一个可以将我的通话转录并为我撰写通话摘要的应用程序。我有一个可以针对一篇论文提问的应用程序,比如研究论文之类的东西。这些都是简单的应用程序。但你会学到一些东西。
我认为现在对于构建和迭代这些东西有一些了解是个好主意,而且也很有趣。所以我强烈推荐在 MLOps 领域的任何人都试一试。我知道这是你的空闲时间,但应该是有趣的。
以合理的规模托管 LLM 的最佳选择是什么?
Stephen: 太棒了。所以重点是交付东西。感谢您的建议。
让我们直接进入下一个社区问题:以合理的规模托管大型语言模型的最佳选择是什么?
David: 这是一个很难的问题…
关于语言模型,最困难的事情之一是在 300 亿参数范围内。GPT-3 有 1750 亿个参数。
在 300 亿参数范围内,模型开始适应我们今天拥有的最大 GPU。
目前市场上内存最大的GPU是A100,拥有80GB的内存。GPT-3无法适用于这款GPU。
你无法在单个GPU上运行GPT-3。那意味着什么呢?对于无法适用于单个GPU的模型,进行推理变得非常复杂 – 你必须进行模型并行处理,这是一场噩梦。
我的忠告是除非必须,否则不要尝试 – 还有更好的选择。
好消息是很多人正在努力将这些模型转化为适用于单个GPU的形式。例如,[我们记录于2月28日]我认为就在昨天或上周五,Facebook发布了LLaMA论文;他们改变了一个可以适用于单个GPU且具有类似功能的语言模型。
还有其他类似的模型,其参数规模从50亿到30亿不等。
我们最有希望的方法是找到一个适用于单个GPU的GPU或模型,然后使用我们用于所有历史模型部署的工具来进行托管。你可以选择你喜欢的工具 – 市面上有很多,BentoML的团队有一个很棒的服务产品。
很多其他人确实需要确保你有一块非常强大的GPU来运行它。但是我认为,只要选择了至少适用于一台机器的东西,那时候并没有太大区别。
LLMs是否会成为MLOps的主流?
Stephen:噢,谢谢你分享这个……
下一个问题是LLMs是否会成为MLOps的主流;相较于传统的NLP MLOps,它们能更好地解决哪些新挑战?
David:嘿,我感觉无论我在这里说什么都会让人生气。这是一个好问题。对于很多构建基于语言模型的机器学习应用的情况,存在一个简化版本的解决方案。你不再需要训练模型,也不再需要托管自己的模型,所有那些都不再需要。所以它在某种程度上相对容易。
构建语言模型不再需要很多东西。你应该问自己的新问题是:
-
1
我需要什么? -
2
我需要回答哪些新问题? -
3
如果不是训练、托管、服务和测试,我们正在谈论哪些新的工作流程?
Prompting是一种新的工作流程语言模型…构建一个好的提示就像构建一个好的模型的简化版本。它仍然是实验性的。
你尝试一个提示,它要么有效,要么无效。你不断调整它,直到它有效或无效 – 这在某种程度上几乎像是调整超参数。
你不断地尝试和调整,构建和尝试,直到你找到一个你喜欢的提示,然后你就可以使用它或其他方式。因此,有些人专注于提示实验。我认为这是一种有效的思考方式,你如何思考权重和偏差是模型实验。
如何在提示实验中拥有类似的工具?
跟踪提示的版本和有效的内容等等。我认为这是一个独立的工具类别。不论你是否认为提示工程是较低级的机器学习形式,它肯定是一种需要自己一套工具,并且与我们以往所有的MLOps完全不同。我认为有很多机会来思考这个工作流程并进行改进。
我们谈到了评估和监控以及与评估语言模型输出质量相关的新挑战。
这与监控历史机器学习模型之间存在相似之处,但也有一些独特的不同之处。我们提出的问题是不同的。正如我所说的,很多时候它更像是产品分析。你喜欢这个吗?你捕获的目标可能会使模型以稍微不同的方式微调。
你可以说我们了解监控和MLOps,但我认为关于如何监控语言模型还有至少一些新问题需要回答。
例如,什么是相似之处?它是实验性的和概率性的。
为什么我们有MLOps而不是DevOps?这是你可能首先问的问题,我猜。因为ML有这奇怪的概率和分布的一组东西,它与传统软件的行为不同,这一点没有改变。
从某种意义上讲,相似之处有很大的重叠,因为我们所做的很多工作是弄清楚如何处理概率性软件。不同之处在于,我们不再需要训练模型,而是编写提示。
托管和交互的挑战是不同的…这是否需要一个新的缩写呢?也许是的。说LLMOps很麻烦并不意味着我们不应该尝试首先去做。
无论缩写如何,我们肯定有一些新的挑战需要解决,也有一些旧的挑战不需要太多关注。
Stephen:我只想提及我知道开发人员已经在做笔记的实验部分…现在大量的提示工程正在进行。它现在实际上已经成为一种活跃的角色。实际上,已经有高级提示工程师了,这本身就是令人难以置信的。
David:成为一个提示工程师比成为一个机器学习专家更容易。也许吧。我只是这样说是因为我有机器学习学位,但没有提示学位。但这当然是一种技能,我认为管理和使用它是一项很好的技能,而且显然是一项有价值的技能。那为什么不呢?
GPT-3需要任何形式的编排吗?
Stephen:当然。好的,让我们看看另一个问题:
GPT-3是否需要任何形式的编排或者可能需要流水线处理?根据他们的理解,他们觉得MLOps更像是一种编排类型的过程,而不仅仅是其他任何事情。
David:是的,我认为有两种思考方式。
在语言模型中,你可以想象有一些批处理的用例。例如,提取出我的应用程序的所有评论中相关的用户反馈,并向我报告它们之类的事情。
仍然存在着与以前相同的所有编排挑战,即获取所有新数据、从App Store获取所有新评论,将它们并行或按顺序通过语言模型传递,收集信息,然后将其发送到需要的地方。没有什么改变。如果你以前的模型托管在内部端点,现在你把它托管在Open.AI的外部端点。谁在乎呢?没什么变化,挑战也差不多。
在推理时,你会听到很多人谈论像链式编排之类的东西在语言模型中。核心见解是我们实际上有很多使用案例涉及与模型来回交互。所以我写一个提示,语言模型根据它所说的东西回答我,然后我发送另一个提示来澄清或朝其他方向移动。这是一个编排问题。
从根本上讲,多次与模型来回交换数据是一个编排问题。所以,是的,语言模型肯定存在编排挑战。其中一些看起来就像以前一样。其中一些是全新的。我认为我们用于编排的工具是应该继续使用的相同工具。所以如果你正在使用Airflow,我认为那是一个合理的选择;如果你正在使用Kubeflow管道,我认为那是一个合理的选择;如果你正在做那些实时的事情,也许我们想要稍微有些新的工具,就像现在人们正在使用LangChain一样。
它看起来与许多编排工具相似,比如temporal或其他帮助进行编排和工作流的工具。所以,是的,我认为这是一个很好的观点。仍然有很多类似的工作,就像把所有这些系统粘在一起以便在应该工作时按时工作,这仍然需要完成。而且这是软件工程,有点像构建一个始终执行一系列需要做的事情并且始终如一的东西。你可以依赖于MLOps或DevOps或其他任何东西,建立可靠的计算流程。
这是很好的软件工程。
为了充分发挥LLM的潜力,需要遵循哪些MLOps原则?
Stephen: 我知道MLOps本身有自己的原则。你谈到了可重复性,这可能是一个难以解决的问题,并且谈到了协作。在系统中的团队为了正确利用这些大型语言模型的潜力,是否需要遵循MLOps原则?
David: 很好的问题。我认为我们现在还很早就知道,但我认为有一些类似的问题…
我们从MLOps和DevOps中学到的很多东西都只是给出了如何做的一些原则。所以从某种程度上说,我认为这对于MLOps和DevOps来说都是软件工程。就像,我们能否构建可维护、可靠、可重复和可扩展的东西?
对于我们想要构建产品的很多问题,特别是针对语言模型Ops,您可能希望对提示进行版本控制。这是一个类似的事情。您希望跟踪版本,并在版本更改时能够回滚。如果您具有相同版本的提示和模型上的相同零温度,那么它就是可重复的,是相同的东西。
再次说,这些挑战的范围本质上较小。所以我认为并没有很多新的东西我们必须学习。但是我需要更多地思考一下,因为我认为肯定会有一本关于未来语言模型所需遵循的所有事项的指南。但我认为还没有人写过,所以也许我们其中一个人应该去做那件事。
生成AI应用的法规
Stephen: 是的,这是一个机会。谢谢您的分享,David。
社区的下一个问题是:当将生成AI模型嵌入用户服务时,小型DevTool团队是否需要注意法规和合规要求?
David: 是的,很好的问题…
我认为可能值得考虑的一系列事情。我要说明一下,我不是律师,所以请不要听从我的建议并采取行动,因为我并不知道一切。
有几个方面的挑战:
- OpenAI和外部服务:现在很多托管语言模型的人都是外部服务。我们向他们发送数据。由于他们对ChatGPT进行的积极更改,现在您可以获得专有的Amazon源代码,因为Amazon的工程师一直在使用ChatGPT发送他们的代码并进行了微调,现在您可以将其取回。
这提醒我们,在使用外部服务时,您将自己的数据发送给其他人。这显然取决于法律或公司的影响,这可能意味着您不应该这样做,您可能要考虑在现场托管,并且这会带来各种挑战。
- 欧盟:欧盟AI法案预计将于今年通过,它对引入模型偏见和衡量偏见等方面有非常严格的规定。当您不拥有模型时,我认为值得知道的是,这些模型在产生偏见或有毒内容方面有很长的历史,而不进行测试并意识到这一点可能会有合规性的后果。
我认为这可能是我们将不得不面对的新一系列挑战,即如何确保在生成内容时不会生成有害或有偏见的内容,或者由于生成的内容而采取有偏见的行动。因此,我们习惯于拥有用于训练这些模型的数据的世界,这样我们可以希望迭代并尝试清除其中的偏见。如果这不成立,那肯定是一些新问题,您需要询问如何以符合不断发展的立法环境的方式使用这些系统。
总的来说,AI立法仍然很新。我认为很多人将不得不弄清楚很多事情,尤其是当欧盟AI法案通过时。
LLM的测试
Stephen: 你提到了关于模型测试部分的一些有趣的事情… 有人已经为LLM解决了这个问题吗?
David:有很多人正在尝试;我知道人们正在尝试有趣的事情。在学术界,已经建立了一些用于衡量文本毒性的度量标准。已经有了评估文本输出的方法和措施。在性别偏见等方面也有类似的测试,这些历史上都起到了作用。所以已经有了各种方法。
有些人正在使用模型来测试模型。例如,你可以使用一个语言模型来查看另一个语言模型的输出,并判断“这是仇恨言论还是歧视言论?”之类的问题,而且它们在这方面表现得相当不错。
我觉得简而言之,我们现在还处于非常早期阶段,我不认为有一个单一的工具可以指导某人完成所有的评估和测试。但至少现在已经有一些原始形式的构建基块可以用来解决其中的一些问题。但现在还很困难。
“我认为这是人们目前最大的挑战之一。”
有限资源下的生成式人工智能
Stephen:当你说一个模型评估另一个模型时,我的想法立刻转向了一些最新平台上的团队,这些团队正在积极使用监控来进行评估。这可能是一个非常好的商机,可以研究一下这些工具。
我现在要直接跳到下一个问题了,我觉得这个问题主要是关于优化的……
我们称之为LLMs的原因是有原因的,而你提到了一些工具,最新的一个是来自Facebook的LLaMA。
随着时间的推移,我们将如何看到更多针对资源受限开发进行优化的生成式人工智能模型,即使在有限的资源条件下,您也希望将其部署到平台上?
David:是的,我认为这非常重要。我认为这可能是我们将要看到的更重要的趋势之一,人们仍在早期阶段进行研究,但有很多理由关心这个问题:
- 成本 – 运行成千上万个GPU非常昂贵。
- 延迟 – 如果您正在构建与用户交互的产品,页面加载的每一毫秒都会影响他们的体验。
- 不能使用GPU的环境 – 你不能随身携带一个集群在手机或其他地方做所有的事情。
我认为在图像生成方面已经有很多发展。在短短几个月内,图像生成的性能有了很大的进步。我的MacBook可以快速生成图像。
现在,语言模型变得更大、更具挑战性 – 我认为还有很多工作要做。但我看到一些有前景的技术,例如使用一个非常大的模型生成数据,然后调整一个较小的模型来完成一个任务。
例如,如果OpenAI最大的模型在某个任务上表现良好,而最小的模型则不行,你可以让最大的模型重复做这个任务10000次,然后微调最小的模型,使其在这个任务上表现更好。
组件已经存在,但这是另一个地方,我认为我们还没有足够的工具来解决这个问题。这也是我最感兴趣的地方之一;我们如何让人们更容易地利用这些非常庞大的模型的能力,并将它们调整到符合成本、延迟或环境限制的形式因素中?
哪些行业将从LLMs中受益,以及它们如何整合?
Stephen:是的,看起来我们对主动学习和其他技术的思考方式的确在随着时间的推移而发生变化。因为如果你可以让一个大型语言模型微调一个较小的模型,或者训练一个较小的模型,那么这其中就会发生一系列令人难以置信的事件。
感谢您的分享,David。
我要直接跳到下一个社区问题了:您认为哪些行业最能从GPT-3的语言生成能力中受益,以及他们如何整合这项技术?
David:也许我们可以从显而易见的开始,然后再进入不那么明显的,因为我认为那样更简单。
任何内容生成现在都应该与语言模型相辅相成。
这是显而易见的。
例如,现在的文案撰写和市场营销与过去完全不同 – 原因很明显;现在生产优质内容的成本比以往任何时候都要低廉得多。你几乎可以在短时间内按需构建定制的优质内容。
很难相信该行业的每个方面都不应该有所改变,并且应该迅速采用语言模型。到目前为止,我们已经看到了这一点。
有人会为你生成产品描述、产品照片、市场营销内容和文案等等。而这恰恰是最大、最明显的突破,因为它是一个明显的契合点。
向下游移动,我认为情况会变得更糟。每个人都可能需要考虑如何使用语言模型,但用例可能不那么明显。并非每个人都需要聊天机器人,也不是每个人都需要文本自动补全之类的功能。
但无论是因为你的软件工程师使用了Copilot而使其效率更高,还是因为你的内部文档或产品文档具有更好的搜索能力,因为你可以使用语言模型进行索引,对于大多数人来说,这可能都是真实的某种形式。一旦你变得更加复杂,正如我所说,就会有机会实现自动化操作或其他自动化,你就会陷入几乎无所不包的形式。
我猜有一些地方在语言模型的显然转变下已经彻底改变,比如任何生成内容的地方,从某种意义上说,它应该是彻底变革的。然后,还有一个潜在的长尾效应,几乎适用于几乎每个行业。
帮助部署LLM的工具
Stephen:好的,谢谢你分享。在结束本次会议之前,还有两个小问题。
现在有没有工具在这个领域发生了真正的变化,让人们应该立即了解的,特别是那些使这些模型部署变得更容易的工具?
David:嗯,我们对LLMOps有一些抱怨。我要提到一些在这个领域工作并做出了很棒的成果的人。帮助人们进行提示和编排之类的最大起飞工具就是LangChain – 它变得非常流行。
他们有Python库和JavaScript库。现在他们正在以令人难以置信的速度进行迭代。这个社区真的非常棒和充满活力。所以如果你想开始并进行尝试,我认为这是最好的地方。
其他工具,如Dust和GPT Index,也在类似的领域内,帮助你编写并构建与语言模型进行实际交互的原型。
还有其他一些工具。我们谈论了很多关于评估和监控的内容,我认为有一家名为Humanloop的公司,还有一家名为HoneyHive的公司,它们都在这个领域,以及YC孵化批次中的其他四五家公司,也许他们会因为我没有单独提到他们而生气,但他们都在那里构建非常酷的东西。
围绕评估和管理提示等方面出现了许多新的工具。所以我建议看看这些工具,并熟悉我们需要帮助的新事物。
基于GPT、GPT-3和GPT-4的MLOps的未来
Stephen:太棒了。谢谢,David。在即将发布的后续播客中,我们肯定会在节目注释中留下这些信息。
David,对于使用GPT-3和即将发布的GPT-4进行MLOps的未来,还有什么最后的话吗?
David:我已经从事MLOps多年了,而这是我迄今为止最令人兴奋的时刻。因为我认为这是我们从一个利基领域转向影响每个人和每个产品的机会。所以这将带来很多改变和不同。
但是,这是我第一次感觉到ML真正的意义。我一直希望MLOps能让全世界的人都能利用ML来改变他们的产品。而现在,我觉得我们已经离这个目标最近了,通过降低门槛,每个人都能做到。所以我认为我们现在有巨大的机会将ML带给大众,并且我希望作为一个社区,我们能够共同实现这一目标。
总结
Stephen: 太棒了。我也很期待这个领域的发展。非常感谢你。David,人们在哪里可以找到你并与你在线联系呢?
David: 是的,LinkedIn和Twitter都可以。
Twitter上是@DavidSHershey,LinkedIn上是David Hershey。所以请随时联系我,给我发消息。非常乐意聊聊语言模型、MLOps,无论什么话题,以及flush boat。
Stephen: 太棒了。在MLOps Live上,两周后我们会再回来。在两周后,我们将与Leanne交谈,真正讨论如何通过MLOps来克服组织上的障碍。所以未来会有很多关于MLOps的内容,请不要错过。非常感谢你,David,参加本次会议。我们很感激你的时间和工作。很高兴能有你们俩。
David: 谢谢邀请我。这真的很有趣。
Stephen: 太棒了。再见,保重。