Transcription
欢迎来到解锁语言模型魔法,LMC 带着 Eric 和 Kevin Wu 的神秘感。Eric 和 Kevin 是 Coraza 的深度学习基础课程的讲师,该课程将于下周开始,我将把时间交给他们开始。
嗨,是的,谢谢 Barbara。所以,让我们简单介绍一下自己。Kevin 和我与 Corise 合作了一年多。我们教授深度学习基础课程,到目前为止一直很有趣。我们将在下周进行第四期课程,也就是第四轮课程,从 6 月 19 日开始。我们真正涵盖了深度学习的基础知识。它适合所有对学习深度学习、机器学习模型感兴趣的人。所以我们真的从基础开始。您只需要一点编码经验,不需要机器学习背景。我们课程的目标是为您提供开始使用深度学习所需的所有基础知识,无论是在工作中还是在业余时间,如果您有兴趣的话。
在我把时间交给 Kevin 之前,今天我们想谈谈大型语言模型,这是最新的课程,非常强大的神经网络。我敢肯定你们都或多或少地熟悉它。我们觉得,尽管它获得了如此多的关注,但其内部工作原理有时可能相当不透明。如何使用像 ChatGPT 这样的工具,所有这些都被隐藏起来了,您得到的是一个非常好的用户界面。所以我们今天真的想揭开这个面纱,花一点时间首先从基本层面探讨大型语言模型在内部是如何工作的,然后我们想讨论如何通过微调或其他方式利用大型语言模型来适应您的特定需求,最后,我们想谈谈这些非常强大的工具的潜在风险和偏见,以及如何意识到它们。
好的,太棒了。是的,很高兴再次谈论这个。今天的目标是提供一个概述,总有更多的细节需要深入。所以请随时提问,我们也会在即将到来的课程中更深入地探讨大型语言模型。
好的,让我们开始吧。正如您在此处看到的,大型语言模型是 2023 年的新热门话题。我们看到了这个随时间变化的兴趣,特别是在这一年中,大型语言模型的增长了大约四倍。问题是,大型语言模型自 2016 年以来一直被使用。这是自 Google 的人们真正专注于自注意力机制以及 Transformer 的出现以来就出现的东西,他们开始训练大量数据。现在的问题是,为什么它突然成为一个热门话题,而且很大程度上是因为它的广泛应用以及它与每个人日常生活的相关性。
所以,这次谈话的原因是,许多人正在通过 ChatGPT 或 Stable Diffusion 等工具使用大型语言模型,但很少有人能理解它们,更少的人能微调它们,真正用模型做些什么,例如对输出结果有一定的控制。所以,我们觉得,如果行业或学术界的人对这一点有更深入的了解,这将真正有助于他们将自己定位为人工智能专家,并能够充分利用这些模型的能力。
好的,这次谈话我们将涵盖三个基本内容。首先,我们将快速解释一下大型语言模型是什么。其次,我们将概述微调大型语言模型。最后,我们有一些需要考虑的事情,这些事情与偏见以及当前行业中发生的各种趋势有关。
好的,正如您在此处右侧看到的,大型语言模型,这只是截至 2022 年 12 月的最新数据。但这里的圆圈代表了正在训练的每个模型的参数数量,每个圆圈都是一个大型语言模型。您可以看到这里有大量的模型。大多数人熟悉 GPT-3,它在左侧。当谈到大多数 ChatGPT 时,人们实际上使用的是 GPT-3.5。然后是 GPT-4,它不在这里,因为人们不知道它使用了多少参数。
好的,让我们关注是什么让大型语言模型“大”?这基本上是这个术语最大的区别点,是它的大部分组成部分。它在两个方面很大,对吧?首先是模型参数,正如我们在上一张幻灯片中看到的。现在这是一个更直接的条形图,只是使用的参数数量非常大。这里给您一个数量级的比较。所以我们有参数数量,比如 10 的 10 次方或 10 的 11 次方。在深度学习的早期,第一个真正突破最先进水平的神经网络拥有大约 5 万到 10 万个参数,这些被认为是真正大的模型。因为在神经网络之前,我们有更简单的模型,比如逻辑回归或随机森林,它们最多有 1 万,也许 1000 个参数。所以,是的,这是第一个轴,我们在 x 轴上有不同的层级,y 轴上是像 Elmo 或 Bert 这样的一些 GPT 的前身。然后 DBT 本身特别关注生成组件,它有很多不同的版本,您可能在代码中看到过,小、中、大、特大。所以这是不同的大小,以及这些模型性能的比例。
所以,让大型语言模型大的第二个因素是数据集,没错。所以这与大型模型也有一些相似之处,您也有一个大型数据集。问题是哪个先出现,鸡还是蛋?这些模型之所以大,是因为它们有很多参数,所以您需要大量数据来训练它们,还是因为数据集很大,您需要很多参数?在这种情况下,是因为数据量很大,所以您需要很多参数来有效地学习这些数据。所以,如果您看很多这些公司的大小,它们基本上也非常大。在 x 轴上,token 基本上指的是,您可以将它们视为单词,但有时是单词的更小部分,但本质上是单词的数量。您已经达到了数十亿单词、数百亿、数千亿单词的规模。所以这是一个需要一个庞大得令人难以置信的模型来学习的庞大得令人难以置信的数据集。
这里有几个示意图,说明数据集的大小可以来自哪里。所以如果我们看第一张图,这是 OpenAI 的 GPT 模型。所以在这里,我们看看用于训练这些大型语言模型的这个数据集的组成。在大多数情况下,它是互联网,因为我们知道 Common Crawl 是一个非营利组织,它们基本上从互联网上收集了大量数据。它可以来自不同的地方,比如新闻出版物,像 Reddit 这样的地方,例如从博客上获取内容。它们会对内容质量进行过滤。而这基本上是训练中的 60% 的权重,所以 60% 的数据来自互联网的一部分。但仍然有相当一部分来自书籍和维基百科。但对我来说,这里最大的组成部分是维基百科,对我来说,这已经大得令人难以置信了,而这只占数据集的 3%。
最后,我们在这里的底部有不同的构成。这是另一种观点,只是关于 Common Crawl、维基百科和书籍等的构成。所以这只是给您一点感觉。
大型语言模型的主要特点是,它们还没有为任何特定目的进行训练。换句话说,我的意思是,我们有很多事情想让 ChatGPT 做,比如翻译我的文本或总结它。它还没有特别为此进行训练。它只是被训练来学习语言。所以,在接下来的几张幻灯片中,我们将快速回顾一下这是如何发生的,只是为了进行通用的语言理解训练,而这正是预训练语言模型的核心,这为之后的微调奠定了基础。
所以,这个练习我将加快速度,因为要了解它,也需要稍微编写一些代码。所以希望这能让您对课程的样子有一个初步的了解。但如果您有任何问题,我们最后也会有问答环节。所以请随时提出。
所以有两种基本的自监督目标。目标基本上是说,我们有一些目标,我们正在努力做得越来越好,而有两件事:掩码语言建模和下一句预测。所以让我们通过一个例子来看看这是什么样子。这些模型通过预测文本中其他单词内的掩码单词来学习语言。例如,如果我有一个句子,“这本书太迷人了,我一夜之间就读完了。”我们大多数人都能用一些合理的词来填补它,比如“我一夜之间就读完了”,或者“我整晚都读完了”,或者类似的东西,对吧?我们可以根据上下文填补一些可能缺失的东西。比如,“我需要为今晚的食谱买些______。”“我需要记住为明天的办公室聚会买些______。”对于明天的办公室聚会来说,可能是任何东西。但这本身就为模型提供了一个任务。它实际上是在预测这个单词可能是什么。模型在这里接收一个句子,例如,“狗吃了零食当晚餐。”我们可能会掩盖“零食”这个词,然后我们要求模型预测那个词是什么。可能是鸡肉,可能是牛肉,可能是狗粮。然后我们对不同的缺失单词重复这个过程。最后,我们试图填补那个单词可能是什么。所以这就是我们之前所说的掩码语言建模的本质,这是第一部分。非常简单,它只是取出单词,然后要求模型读取那个单词可能是什么。
下一个是下一句预测。所以,如果您考虑的不是单词级别,而是句子级别。想象一下这里有两个文本,您不必全部阅读。一个是关于贵宾犬的,另一个是关于澳大利亚牧羊犬的。然后您从每个文本中提取一个句子或一对句子,或者第一个句子、第二个句子,以及第二个文本的最后两个句子。然后您将它们放在一起。模型接收两个句子,并输出一个句子是否跟随另一个句子。浅蓝色句子是否按顺序跟随深蓝色句子?如果是,则为“是”。然后您也提供不跟随的例子,如果是,则为“否”。这是一个二元结果,要么是“是”,要么是“否”。模型经过训练,能够很好地区分句子应该在哪里。这里的想法是,这里有更多的上下文,我们需要了解整个段落的内容。如果您突然谈论贵宾犬,然后突然介绍澳大利亚牧羊犬,那可能不是来自同一个段落。总的来说,我们得到了这个想法,您通过两个抽象级别进入这个领域。第一个是掩码语言建模,这是自下而上的。您对句子如何工作有非常好的细粒度理解。然后,当我们在 ChatGPT 中生成单词和句子时,这很大程度上是这种能力来源。但您也学习了整个段落是如何工作的,以及整个论文的整体语义意义是如何工作的。这是下一句预测,它只是说明您在主题上,您知道您正在生成相关材料,这是高层次的。
好的,在我们开始微调大型语言模型之前,关键思想是它们是如何训练的?因为微调本质上是说,我们在更小的规模上进行额外的训练。它们只是在大量语料库上经过长时间的训练。所以 GPT-3,它是 ChatGPT 的早期前身之一,使用了大约一千个 GPU。这些是 A100 GPU,请注意,它们是最先进的 GPU,训练了大约一个月。所以想象一下,您有一个巨大的仓库,里面有一千个 GPU,它们全天候运行 30 天,这就是训练这个我们在这里看到的混合数据所花费的时间。而且很多时候,我们实际上不知道训练这些模型需要多长时间。例如,GPT-2 在撰写论文时,模型还没有达到全部容量。在撰写论文时,它仍在训练中。所以这是其中一个主题,这需要很长时间,而且没有人确切知道何时能获得最佳损失。您可以尝试制定缩放定律,我们可以制定一套预测等等。但这是,如果我们为大型语言模型添加第三个大型组成部分,那就是训练这些东西所需的大量 GPU 和成本。所以希望这能稍微说明一下为什么微调更可取,因为您真的不想自己训练大型语言模型。所以这不是我们将在深度学习课程中涵盖的内容,我们不会让您支付一千个 GPU 的费用。但也许对于普通人来说,我和您来说,我们能够进行微调。
好的,我将把时间交给 Eric 来讲解下一部分。
好的,再次重申,如果任何人有任何问题,您也不必等到最后。您可以将其发布到问答环节,在我说话时,Kevin 也可以异步回答一些问题,或者我们可以在最后回答。
好的。所以当我们谈论微调时,实际上涉及几种策略,我们将逐一介绍。它们有一个连续体。首先,我们可以更新模型的全部权重。这些模型有数十亿个权重。所以,最严格意义上的微调是,我们允许所有权重都被更新,我们进行端到端训练。这可能很困难。所以还有其他策略,比如只冻结大部分权重,只训练模型的最后部分。而且已被证明在成本低得多的情况下,性能几乎一样好。还有其他策略,比如您可以使用大型语言模型来生成嵌入,然后在上面训练一个更小的模型。最后,您还可以只看那些不涉及训练权重的事情,比如上下文学习或提示。
请转到下一张幻灯片。
所以我们在这里根据时间线进行了布局,从最容易到最难。这是为了让您考虑涉及的权衡。所以这里有一些不错的图表,可以展示当您考虑微调时,通常是在我有一个大型语言模型或我想使用一个大型语言模型,然后我想将其改编到一个比大型语言模型最初训练的领域更具体的领域。例如,医疗保健。我想部署大型语言模型来处理一些事情,比如自动处理一些患者记录,这样我就可以从中提取信息。所以当我们思考这些事情时,存在一种权衡。所以我们在这里谈论第一种,基于特征的方法。这对应于我们使用大型语言模型生成一些嵌入。所以嵌入,我们可以将其视为一种机器语言,对我们来说真的无法解释,但它只是一个权重向量,我们可以将其用作一个更小的分类器的输入,然后教这个分类器使用这些嵌入并执行一些任务。然后,当我们向右移动时,我们可以说,我们不必训练所有权重,更新所有权重。也许大部分权重都很好,我们将只训练模型的最后部分。而且我们知道神经网络是如何工作的,有一种瓶颈方法。所以模型结束时,我们最终得到更高层次的语义学习表示。所以只使用最后那些是有用的。所以我们实际上只训练了一小部分权重。而且根据经验,这表明在性能方面,很多时候实际上能让我们取得大部分进展。然后一直到最后,我们可以说,也许这还不够好。也许我有计算资源,我可以训练所有模型。但这只是为了给您一个概念,当您考虑这一点时,存在一些权衡。
下一张幻灯片。
所以这里只是为每种方法提供了一些启发式优缺点。从左边开始,完全微调是最昂贵的。我们给出一个较低的界限,即十万美元,这是人们报告过的。您可能在这里获得最佳结果。但就您的设置而言,它确实需要多个 GPU,而且在思考系统工程方面确实有很多开销。我如何部署一个分布式程序?我想跨多个 GPU 分布,因为单个模型无法装入一个 GPU。所以这确实需要更多的开销。但当我们向右移动时,我们再次看到,也许最后一层微调。它仍然需要大量的计算,也许是几百美元或更多。但它训练得更快,而且很多时候能让我们取得大部分进展。我们将在深度学习课程中做的就是实际进行第三种选择,即在嵌入上进行训练。所以大型语言模型再次生成这种机器代码,机器语言。然后我们可以训练一个像神经网络分类器这样的东西来处理一些我们关心的任务。这可以装入一个 GPU。所以想想如果您使用 Google Colab。而且关于提示工程的讨论很多。这不需要技术能力,您不必学习代码。但它实际上只是编码您想要的内容,并在提示本身中指定它。而且这里也有缺点。弄清楚什么是最好的提示可能很棘手。但它确实是最容易获得的。
下一张幻灯片。
所以我们只是为每种方法提供一些建议。所以如果您正在考虑实际微调这些权重,无论是训练整个 Transformer 模型还是只冻结大部分 Transformer 模型并训练最后几层,这里有一些需要考虑的事情。所以 OpenAI,也就是 ChatGPT 和 GPT-3 或 4 背后的公司,他们有很棒的 API。所以首先,他们提供了一个微调 API。所以这里涉及的是,您给它一个输入文件,比如一个 JSON 文件,其中包含提示及其参考生成文本的对。您希望这个提示的理想响应是什么。所以您可以给它很多这样的数据对,然后将其输入到 API 中,他们实际上会在后端为您训练并保存一个微调模型。这里可能有一些需要考虑的事情,比如它可能有多慢,或者成本。可能在 API 可用性方面存在一些瓶颈。所以我会考虑这些。还有其他开源工具,比如 Hugging Face 提供。所以 Hugging Face,您可以将其视为机器学习模型的 GitHub。那里有很多开源资源。所以其中一些是 AutoTrain,它为您做了很多后端工作。它指定您想要的模型以及您要为此投入多少资源。您可以上传一个包含您的训练数据的 CSV 文件,它将自动运行很多这些。还有一个 Transformers 模块,它更底层一些。所以您将使用 PyTorch。但它是一个高级 API,因为您可以指定您想使用的模型,您想使用的 GPU。所以如果您熟悉使用 Python 和 PyTorch,这可能是一个不错的工具。然后最后,在最低级别,如果您说“嘿,我想亲自动手”,仍然有很多很好的开源模型。例如 Llama,来自 Meta。Alpaca 是 Stanford 在 Llama 上微调的模型。所以这些都是您可以下载到本地环境的模型。如果您有 GPU,您可以加载它,然后进行微调。而且这两者都有 GitHub 资源,它们会确切地告诉您要运行哪些命令。所以这只是给您一个关于如果您想自己进行微调的简单介绍。这里有几个选择。
好的,我在这里暂停一下,看看是否能回答一两个问题。
Andrew 问:您能否评论一下哪些模型 API 实际上提供了模型供微调?我认为有些模型只提供推理 API,某种微调 API。所以我想这可能指的是 OpenAI 的微调 API。这是一个好问题。所以我想这取决于他们提供什么。目前还不清楚他们是否提供了最新的模型。我的印象是,它适用于 3.5。所以也许他们已经将其作为您可以指定的选项开放了。至于其他开源模型,您确实需要获得某种权限。通常有一些许可涉及。我见过,如果您用于研究目的,它是免费的。但如果是商业用途,则有一些许可涉及。所以我会对此进行调查。
还有另一个问题:如果您选择微调一个已经微调过的模型会怎样?是的,您也可以这样做。所以,是的,再次,通常人们会选择一个只是预训练过的模型。您会想到 Kevin 谈到的,比如掩码或句子预测。它不是专门为问答而训练的。然后为其微调。但您也可以微调一个已经为此目的微调过的模型。然后,关于 LLM 的准确性,我们可以稍后讨论。这是一个非常有趣的问题。再次,有点像鸡生蛋的问题,关于我们如何定义我们的目标。
是的,那是一方面。就您实际上想要更新权重而言,还有另一方面的提示工程领域。对许多人来说,这更像是一门艺术而不是科学。目前,这方面付出了很多努力,因为正是因为您不需要更新权重。每次您需要触及模型的权重时,您都必须进入一些非常棘手的事情,比如您如何将所有模型的权重加载到您的 GPU 中。这非常昂贵。另一种选择是,因为大型语言模型可以接受提示,而且这些提示的最大尺寸越来越大,您实际上可以将一些训练数据编码到您的提示本身中。这就是所谓的上下文学习。例如,如果我要求 ChatGPT 解决一些数学问题,我可以在我的提示中提供问题和答案的示例,然后要求它解决一个新问题。根据经验,这可以显著提高模型的性能。其中一个子集称为思维链提示。这是将问题分解为多个中间任务。如果您描述,您想解决这个数学问题,请执行步骤一、步骤二、步骤三,然后得出答案。这是一种在不更新权重的情况下引导或教会模型得出正确解决方案的方法。所以您可以通过适当的提示工程来获得与微调模型相当的性能。而且这方面有很多资源。它已经成为一种模因。有些人创建了这些指南,说您错误地使用 ChatGPT,这里有 10 种正确使用它的方法。所以您的体验可能会有所不同。这更多的是直觉,而不是理论推导,尽管这方面也有很好的理论工作正在进行。再次,我们将分享这些幻灯片,并欢迎您点击这些链接。我们嵌入了许多我们认为可能对您有帮助的链接。也许我们可以再回答几个问题,然后再继续。
让我们看看。平均生成非英语语言模型的成本是多少?我们可以使用 Amazon、Google Cloud 服务器吗?是的,这是一个好问题。大多数大型语言模型都针对英语进行了优化。并不是说它们没有用其他语言进行训练。通常它们会,因为互联网包含许多不同的语言。所以如果我们谈论微调,那真的取决于您训练数据集的大小。人们发现,实际上只需要很少的数据,模型就能在某些任务上表现良好。所以我们不是在考虑数十亿个 token,可能更多的是在数百万个 token 的规模,比如数千个 token 或数千个训练示例可能就足以让它开始在某些任务上表现良好。而且 Amazon 和 Google Cloud 拥有非常复杂的分布式训练平台来完成这种训练。所以是的,我绝对会考虑使用其中一些,以及我们之前提到的一些,甚至 PyTorch 也有自己的分布式训练库。
最后,您能分享这些资源吗?所以,我们将发送这些幻灯片。我们还在问答环节和网络研讨会聊天中有大量问题。所以 Robert 问:您能谈谈与构建提示相关的上下文窗口吗?大型语言模型使用自注意力机制。这意味着随着我的上下文窗口大小的增长,它实际上是以二次速率增长的。所以如果我将上下文窗口加倍,内存大小的二次关系就会增长。所以这是构建提示的限制因素。是的,这是您可以在提示中放入多少训练示例的固有局限性。我相信 GPT-4 的上下文窗口可以扩展到 32,000 个 token,这被认为是 32,000 个 token。所以您可以将其视为大约不到 30,000 个单词。而且有很多研究正在进行,试图降低上下文窗口的成本。我认为在几年内,我们将看到明显更大的上下文窗口,因为在这些模型的底层实现方面,有很多优化正在进行。
让我们看看我们做得怎么样。也许我们可以再回答几个问题,剩下的我们留到最后。所以 Sir Johnny,我们也可以用提示进行微调吗?是的,我们可以将其视为一种不更新权重的微调形式。所以是的,我会认为这是一种微调。Chris 问:我正在尝试理解微调一个不可用的 OpenAI 模型。希望这能回答您的问题。微调时,您是在分叉一个现有模型吗?是的,您是在获取现有的模型权重,然后您在自己的端更新这些模型权重。没错。我认为分叉是一个很好的思考方式。
那么像 LoRA 这样的性能方法呢?是否可以使用多个 LoRA,这样我们就可以互相获得?稍后我们将讨论这些参数的技术细节。微调以减少信息检索是否更好?我认为这个问题还没有一个确凿的答案。我认为人们正在同时探索两者。我个人非常喜欢使用信息检索的想法。所以稍微介绍一下背景。我们需要模型自己学习和嵌入所有这些信息到它的权重中吗?这似乎有点效率低下。我们能否训练一个更轻量级的 LLM 来查询数据库并查找现有信息,比如 SQL 或只是文档?我认为这将是我的看法,关于这些 LLM 的未来是什么。是的,我认为仅仅将信息嵌入到模型权重中确实存在很多低效率,这往往更昂贵。
所以 Johnny,通过提示,权重不改变,那么模型是如何学习的呢?是的,这确实是人们称 Transformer 为通用计算机的原因。这是一个非常奇特的思考方式。模型编码提示的方式是,它学习每个单词或每个 token 与其他每个 token 之间的关系。在这样做时,它是在推理时调整权重,对吧?所以人们将 Transformer 称为通用计算机,这有一些相似之处。但在这种情况下,我们不需要更新权重,因为在自注意力机制中,它正在生成新的权重。显然,这种学习不会在一次推理后持续。模型不会根据您每次给它新提示的信息进行更新。这就像从零开始。但它确实,它说明了自注意力和 Transformer 的模型架构,它能够学习,就像在您的提示的上下文中一样。
好的,这些都是非常好的问题。我们这里有一个部分,我想提供一下研究人员在考虑 LLM 时所关注的广泛主题。我将介绍一个,我们将介绍另一个。是的,其中一件事是,关于“赢家通吃”还是开源,仍然存在公开辩论。我认为这是我们遇到的最有趣的事情之一。存在这种权衡,以及我们作为客户在使用 LLM 时所做的隐含的交易。到目前为止的交易是,像 OpenAI 这样的公司能够投入数亿甚至数十亿美元的资源进行训练,最重要的是,弄清楚如何让公众接受这个模型。这需要大量的工作来弄清楚哪些提示是可以或不可以问的,包括数据。有一派人认为,这最好在拥有有限决策者的公司内部完成,这些决策者能够做出关于什么合适或不合适的选择。所以,萨姆·奥特曼有一个高调的说法,他去与不同的监管机构交谈,与国会谈论监管人工智能,甚至说这些人可以开发,那些人不能开发人工智能。这就是目前的一个世界。另一个世界是,许多研究人员认为,人工智能掌握在少数人手中可能不是最好的、最合乎道德的推出方式。例如,Meta 的人可能认为,最好将软件开源,让大众决定 LLM 的最佳发展方向。所以现在,这就是为什么我们陷入了这种奇怪的世界,有时您可以微调模型,但您无法访问它。有时您可以直接获取模型本身,随意处理它,它就放在您的电脑上。所以我们相信,这将对普通人产生巨大影响,取决于哪条道路向前发展,以及会发生什么。
让 Eric 来讲解这个。
所以,举几个例子,这显然不是全面的。但 Kevin 和我工作的实验室,我们在这个领域做了一些研究。其中一个风险是,随着 GPT 模型(如 ChatGPT)变得越来越普遍,人们会用它来生成文本,也许会冒充自己的作品,或者只是用它来提高写作风格。因此,已经开发出了工具,检测器,来说明这段文本是来自 GPT 还是由人类编写的。它们已经出现了。如果您以前用过 Turnitin 进行课程作业,它会扫描您的文本以进行潜在的抄agiarism。所以 Turnitin 现在也有一个 GPT 检测器。所以,其中一项工作是关于母语者与非母语者写作的。我们发现 GPT 检测器模型在这种情况下实际上并不好。它倾向于偏向非母语者,因为它在大多数情况下将其归类为 AI 生成的,而其他母语者或母语英语写作的例子则不是。这是有问题的。发生这种情况的原因是,大多数这些检测器实际上使用了一个代理来代表它认为的 AI 生成内容。它基本上看生成语言的多样性。因为 GPT 总是寻找每个 token 的最大概率,它倾向于遵循可重复的模式。这些词必须相当可预测,在语言多样性方面不够多样化。因此,结果是非母语者可能会受到惩罚。所以这是需要谨慎的事情。这是一个有效的问题,一个有效的担忧。我们不希望有人将 GPT 写作冒充为人类写作。但使用不够成熟的检测器来试图弄清楚哪些是或不是,可能同样有问题。
这是我们实验室一些朋友的另一项工作。到目前为止,我们一直在谈论像 ChatGPT 这样的文本到文本的 LLM。LLM 也用于 Stable Diffusion 这样的模型,它是文本到图像的。它实际上使用了许多类似的骨干。模型反映了它们所训练的数据的分布。所以无论现实世界中存在什么偏见,模型都会学会反映它们。而这只是我们使用的优化方案的性质。所以一方面,这并不奇怪。但另一方面,这是一个有效的问题。如果我们使用这些模型,例如用于创意目的,用于教学目的,那么我们能够说,首先,这些模型继续反映出哪些偏见?以及我们如何根据我们拥有的价值观来纠正它们?这方面有很多很好的工作正在进行。并不是说这是一个无法解决的问题。但这确实与使这些 AI 模型与我们关心的价值观保持一致有关。所以我们发现,大多数这些扩散模型确实显示出超出预期的偏见。所以这里显示了像 Midjourney、DALL-E 2、Stable Diffusion 这样的几个模型。如果我们要求生成一张外科医生的照片,它会生成一种类型的外科医生,一种类型的面孔。所以这些是需要牢记的事情。这些是行业中人们开始认识到并开始想出解决方案的问题。希望你们中的一些人也能想出解决方案。是的,所以这是需要牢记的事情。
好的,太棒了。是的,这就是讲座的结束。我们将再停留几分钟,回答任何其他问题。我们只是想提醒您,这只是许多技术组件的冰山一角。所以,如果您觉得您渴望更具体的内容,比如您实际上如何建模、微调并继续进行?请随时访问我们的深度学习基础课程。对于那些已经是 Corise 的订阅者来说。其次,请随时在 LinkedIn 上与我们联系。我很乐意与您讨论任何其他问题,或者作为这个社区的通用资源。是的,我们将回答一些问题。
Robert 问了一个问题:我对 LLM 如何改变网络的发展有什么看法?这是一个很好的问题。我认为这是每个人都可以给出答案的事情。在我们实验室,我们已经讨论过几次了。有几个主题。首先是这个想法,随着 AI 生成内容的数量增加,内容的数量多样性可能会减少。所以这可能导致一种反馈循环。但这真的取决于规模和时间。所以如果我们看内容产生的规模和训练,那是相当大的。所以问题是,这将如何影响实际的模型本身?第二件事我认为可能更令人担忧的是,当您的训练集是整个互联网时,很难评估 LLM 的工作效果。您如何评估它是否无偏见,或者它是否泛化良好?您可能也从同一信息来源中提取信息。而机器学习从业者,这是我们一直关心的事情。
在网络研讨会聊天中,Richard 问:我想做 AI 研究,先决条件是什么?这是一个不断发展的领域。当 Eric 和我于 2016 年进入研究领域时,我们处于一个需要更多数学知识、编码背景,并且在许多传统数学和统计领域都很强的地位。如今,我认为仅仅是能够编写代码并能够跟上趋势等能力更为重要。但这取决于研究的类型,也取决于实验室的类型。如果您愿意,我很乐意与您进一步讨论。但总的来说,我认为这只是能够启动许多不同的项目并对提问感兴趣的能力。
所以 Pewter,我想您之前问了一个问题,我决定稍后回答,关于像 LoRA 这样的方法。对于不熟悉的人来说,LoRA 是一种使模型更稀疏的方法。它代表低秩近似。我见过它被用于优化方案。例如,我们提到了 Hugging Face,他们有 AutoTrain 方法。您可以使用的参数之一是在微调期间引入正则化。所以甚至还有超参数可以优化,关于如何在此模型中引入这种低秩和稀疏性。所以请查看该链接。
Stanley 问:可以使用 LLM 来生成给定乐器的音乐吗?这非常迷人。我很想看到更多关于音乐生成的工作。LLM 擅长序列建模。当然,音乐可以被视为一个序列,对吧?因为有模式,有规律性。我有一个限制是,音乐通常采样率很高。所以我们考虑每秒大约 40,000 或 60,000 个样本的高保真音频。所以您需要每秒有那么多 token。所以我认为一个限制是计算上,您需要生成更多数据。而且,我们的耳朵非常敏锐,能够捕捉到轻微的错误或听起来不好的地方。我们实际上对这一点非常敏感。因此,尽管在音乐方面有很多工作,但我认为它目前有点滞后,因为与视觉相比,我们是宽容的。我们可以模糊事物,使其看起来大致良好。如果您看到 Stable Diffusion 模型有六根手指,我们会觉得没关系。但如果您听到一些即使有点不对劲的声音,我们就会更加敏感。但我认为未来几年在音乐方面会有很多非常有趣的研究。是的,我还想指出,本周,Meta 发布了一个名为 MusicGen 的东西,我相信这就是名字。所以如果您对此感兴趣,他们做了一些相当不错的工作,您输入文本,它输出音乐。
所以 Chris 问:对于没有 ML 背景的软件工程师来说,早期创业公司有哪些机会?老实说,我不太了解早期创业公司。我身处学术界。我认为一个好的方法是看看像 Andreessen Horowitz 或 Sequoia Capital 这样的热门风险投资公司,看看他们投资的合伙公司,看看他们的网站资料,看看他们的资历。是的,对于那些对 AI 广泛感兴趣但没有明确背景的人来说,需求正在增加。
您使用的第一个模型是什么?这是一个很好的问题。第一个模型可能是卷积神经网络。这大概是在 2015 年或 2016 年。所以模型小得多。而且人们实际上关心的是层数、每层节点数、使用的激活函数。Kevin 和我花了无数个小时来优化每一个。幸运的是,现在已经有了很多研究,我们不必担心这些了。但是的,那是美好的时光。
是的,Andrew 也是 Corise 的讲师。他负责斯坦福的课程,基本上是生成音频和处理语音。我认为他是一个很好的资源。我喜欢他的课程。是的,他提到能够用音乐家的声音和乐谱生成音乐方面有新的工作。是的,我想提一下 Andrew。他是这个领域的专家之一。很高兴看到他的课程中有哪些内容。
Poland 说,有很多关注点在于微调光谱的两端。那么嵌入呢?我认为这是我们作为研究人员总是喜欢拥有一个原则性的观点来理解的事情。为什么嵌入效果不好?部分原因是,目前的嵌入仍然处于这种状态,它既不是,也不是。所以嵌入会给你一种难以理解的抽象级别,然后是你想要的确切的东西。所以这仍然是需要随着时间发展和成熟的东西。不幸的是,这有点像我们目前所处的状况。
是的,Stanley,如果第一天不可用,您能赶上吗?绝对可以。我知道第一天是 Juneteenth,这正好是我们的课程第一天和全国性假日。我们将做出很好的安排,您肯定可以赶上。您可以在接下来的那个星期或那个星期一之后的星期三赶上。
好的,Eric,您想接最后一个问题吗?我认为我们还有,让我们看看。
所以 Chris 问:对于那些不一定有 ML 背景的软件工程师来说,有哪些角色?也就是说,在没有博士学位或研究背景的情况下,进入这个领域有什么必要条件?如果您几年前问这个问题,我认为答案会有些不同。我认为在很短的时间内,对于像 Kevin 所说的,没有“传统”ML 背景的人来说,已经有了更多的工作机会。首先,因为模型越来越大,我认为对于熟悉 DevOps 的人来说,需求很大。我如何启动大量资源,以及如何管理训练模型、微调模型,甚至部署大型语言模型?这是一个巨大的需求。我认为这方面没有多少人有专业知识。所以,如果您来自具有这种经验的软件工程背景,我认为这在 LLM 的能力方面非常有价值。因为您传统上认为的从理论方法开始并试图调试机器学习模型的问题,由于它们变得如此之大,我们与模型交互的方式在很大程度上是,如果您现在正在提示。所以即使是思考构建和逆向工程什么样的提示集是好的,我认为这对公司来说非常有价值。然后,学习如何集成可用的 API 或如何利用这些小型语言模型。我认为这些都是没有传统 ML 背景的人真正进入 ML 的非常直接的方式。我敢肯定还有其他我遗漏的事情,但这只是一个初步的介绍。
Shreya,对文本到语音模型有什么建议吗?只是为了配音。我不知道任何现成的。我知道有相反的模型,比如语音到文本。但我不知道任何我会推荐的工具。也许 Andrew 会有更多想法。
当然有一些可用的 AI 选项。前几天我试用了一个,它可以接收一个声音并尝试学习您自己声音的生成模型。至于开源模型,我不确定。但我认为这些公司如今已经能够提供一些非常好的产品。所以我会在接下来的幻灯片中包含它。我记不起那个公司的名字,我支付了 7.99 美元来访问它。我会回来告诉您。是的,如果有人知道任何信息,并想在聊天中发布,那将很有帮助。谢谢。
是的,谢谢 Andrew。您的课程有助于找到一份生成 LLM 的工作,并为客户需求使用它们来从文本中检索信息。要做到这一点,实际上是学习如何利用 API。我们确实涵盖了如何使用 OpenAI 等 API。所以,如果您正在寻找类似“我如何从 LLM 生成一些东西,使用它,并将其集成到编程流程中?”我们确实涵盖了这一点。所以我们将在第四周有一个模块,它实际上是非常实用的。所以是的,它将涵盖如何思考设计权衡等基础知识。
还有其他问题吗?我认为我们可能可以再多回答一个,因为我们已经超时一点了。Wes,谢谢您发布 11Labs。这就是我查看过的公司的名字。就是这样。再次,我很乐意继续对话。请随时在 LinkedIn 上添加我们,或者如果您在 Slack 上,请发送消息。我们从这个领域的其他人那里学到了很多,同时我们也教授这些课程。这是一个非常激动人心的时代,一个非常激动人心的领域。是的,谢谢,谢谢您的加入,并谈论 LLM。谢谢。
是的,我希望,谢谢。是的,希望很快在课程中或以其他方式再次见到大家。是的,Andrew 也在 Slack 上。如果您想上这门课,座位仍然开放。所以您可以随时在 Corise 上注册深度学习基础课程。我们很快就会见到您。