使用LangChain的生成式AI——什么是生成式AI

在过去的十年里,深度学习已经经历了巨大的发展,能够处理和生成文本、图像和视频等非结构化数据。这些先进的人工智能模型,包括大型语言模型(LLMs),在各个行业都变得非常受欢迎。目前,围绕着人工智能(AI)在媒体和行业中有很大的关注,有充分的理由认为,随着这些进展,人工智能将对企业、社会和个人产生广泛而重大的影响。这是由多种因素推动的,包括技术的进步、知名应用以及在多个行业中产生变革性影响的潜力。

在本章中,我们将探讨生成模型及其应用。我们将概述支持这些模型产生新颖内容的技术概念和训练方法。虽然我们不会深入研究声音或视频的生成模型,但我们的目标是传达关于神经网络、大型数据集和计算规模如何使生成模型在文本和图像生成方面具有新能力的高层次理解。我们的目标是揭开这些模型产生在各个领域生成极为类似人类的内容的基础魔法的神秘面纱。通过这个基础,读者将更好地准备好考虑这项迅速发展的技术所带来的机遇和挑战。

我们将按照以下结构进行探讨:

  1. 介绍生成式人工智能
  2. 理解大型语言模型
  3. 什么是文本到图像模型?
  4. 人工智能在其他领域能做些什么?

让我们从最基础的术语开始!

生成式AI介绍

在媒体上,对人工智能相关突破及其潜在影响进行了大量报道。这些突破涵盖了自然语言处理(NLP)和计算机视觉的进展,以及像GPT-4这样复杂语言模型的开发。特别是,生成模型因其生成文本、图像和其他创意内容的能力而受到了广泛关注,这些内容通常难以与人类生成的内容区分开来。这些模型还提供广泛的功能,包括语义搜索、内容操作和分类。这使得通过自动化实现成本节约,并使人类能够在前所未有的水平上发挥其创造力。

捕捉不同领域任务性能的基准测试一直是推动这些模型发展的主要因素。以下图表受到LessWrong上Stephen McAleese的一篇名为《GPT-4 Predictions》的博文的启发,展示了在"Massive Multitask Language Understanding(MMLU)"基准测试中,大型语言模型(LLMs)的改进情况。该基准测试旨在量化在基本数学、美国历史、计算机科学、法律等领域的知识和问题解决能力。

在这个基准测试中,你可以看到近年来这些模型取得了显著的进展。特别值得注意的是,它突出了由OpenAI通过公共用户界面提供的模型的进展,尤其是在不同版本之间的改进,从GPT-2到GPT-3,再到GPT-3.5和GPT-4,尽管结果应该带有一定的保留,因为它们是自我报告的,并且是通过5-shot或零-shot的条件获得的。零-shot表示模型通过问题提示进行回答,而在5-shot设置中,模型还额外提供了5个问题-答案示例。根据《Measuring Massive Multitask Language Understanding(Hendrycks等人,2023修订版)》,这些额外的示例可能天真地占据了性能的约20%。

这些模型和它们的训练之间存在一些差异,可以解释性能的提升,例如规模、指导调整、对注意机制的微调以及不同的训练数据。首先且最重要的是,参数数量的巨大扩展,从15亿(GPT-2)到1750亿(GPT-3)再到1万亿以上(GPT-4),使得模型能够学习更复杂的模式;然而,2022年初的另一个重大变化是基于人类指导的模型的后训练微调,通过提供演示和反馈来教导模型如何执行任务。

在各种基准测试中,一些模型最近开始表现得比平均人类评分员更好,但通常仍未达到人类专家的水平。这些人工工程的成就令人印象深刻;然而,值得注意的是这些模型的性能取决于领域;大多数模型在小学数学问题的GSM8K基准测试上仍然表现不佳。

生成预训练变压器(GPT)模型,如OpenAI的GPT-4,是在大型语言模型(LLMs)领域取得的人工智能进展的典范。ChatGPT已经被广泛采用,显示出比以前的模型更大的改进的聊天机器人能力。这些基于AI的聊天机器人可以实时生成类似人类的响应,作为对客户的反馈,并可以应用于从软件开发到写诗和商务沟通等各种用例。

随着OpenAI等公司的GPT等AI模型的不断改进,它们可能会成为需要多样知识和技能的团队中不可或缺的资产。例如,GPT-4可以被认为是一个全能者,辛勤工作而无需索取报酬(除了订阅或API费用),在数学和统计学、宏观经济学、生物学和法律等学科提供胜任的协助(该模型在统一法学考试中表现出色)。随着这些AI模型变得更加熟练和易于访问,它们有可能在塑造未来工作和学习的过程中发挥重要作用。

通过使知识更易获取和适应,这些模型有可能实现公平竞争,并为各行各业的人们创造新的机遇。尽管在取得进展方面存在差异,但这些模型在需要更高层次推理和理解的领域显示出潜力,具体取决于涉及任务的复杂性。

至于生成模型中的图像,它们在协助创建视觉内容方面推动了界限,并在计算机视觉任务中表现出色,包括目标检测、分割、字幕等等。

让我们稍微澄清一下术语,并更详细地解释生成模型、人工智能、深度学习和机器学习的含义。

生成式模型是什么?

在流行媒体中,提到这些新模型时经常使用术语"人工智能"。在理论和应用研究领域,人们经常开玩笑说AI只是ML的花哨说法,或者说AI就是穿着西装的ML,正如这张图片所示:

值得更清晰地区分以下术语:生成模型、人工智能、机器学习、深度学习和语言模型:

  • 人工智能(AI)是计算机科学的一个广泛领域,专注于创建能够推理、学习和自主行动的智能代理。
  • 机器学习(ML)是AI的一个子集,专注于开发能够从数据中学习的算法。
  • 深度学习(DL)使用具有多层的深度神经网络作为ML算法从数据中学习复杂模式的机制。
  • 生成模型是一种ML模型,可以根据从输入数据中学到的模式生成新数据。
  • 语言模型(LMs)是用于预测自然语言序列中单词的统计模型。一些语言模型利用深度学习,并在大规模数据集上进行训练,形成大型语言模型(LLMs)。

以下的类图说明了LLMs如何将神经网络的深度学习技术与语言建模的序列目标结合在一起,规模非常大:

生成模型是一种强大的人工智能,能够生成类似于训练数据的新数据。生成式AI模型已经取得了长足的进步,利用数据中的模式,能够从零开始生成新的示例。这些模型可以处理不同的数据形式,并在各种领域中使用,包括文本、图像、音乐和视频。

关键的区别在于生成模型合成新数据,而不仅仅是进行预测或决策。这使得应用程序能够生成文本、图像、音乐和视频等内容。

一些语言模型是生成式的,而另一些则不是。生成模型有助于在真实数据稀缺或受限的情况下生成合成数据,从而降低标注成本并提高训练效率。微软研究采用这种方法(Textbooks Are All You Need,2023年6月)来训练他们的phi-1模型,其中他们使用GPT-3.5创建合成的Python教材和练习。

有许多类型的生成模型,涉及各种领域的不同数据形式。它们包括:

  • Text-to-text:从输入文本生成文本的模型,如对话代理。示例:LLaMa 2、GPT-4、Claude 和 PaLM 2。
  • Text-to-image:从文本标题生成图像的模型。示例:DALL-E 2、Stable Diffusion 和 Imagen。
  • Text-to-audio:从文本生成音频剪辑和音乐的模型。示例:Jukebox、AudioLM 和 MusicGen。
  • Text-to-video:从文本描述生成视频内容的模型。示例:Phenaki 和 Emu Video。
  • Text-to-speech:从输入文本合成语音音频的模型。示例:WaveNet 和 Tacotron。
  • Speech-to-text:将语音转录为文本的模型(也称为自动语音识别ASR)。示例:Whisper 和 SpeechGPT。
  • Image-to-text:从图像生成图像标题的模型。示例:CLIP 和 DALL-E 3。
  • Image-to-image:此类型的模型应用于数据增强,如超分辨率、风格迁移和修补。
  • Text-to-code:从文本生成编程代码的模型。示例:Stable Diffusion 和 DALL-E 3。
  • Video-to-audio:分析视频并生成匹配音频的模型。示例:Soundify。

还有许多模态组合需要考虑;这只是我遇到的一些。此外,我们可以考虑文本的子类,例如从文本生成数学表达式的文本到数学,一些模型(如ChatGPT和Claude)在这方面表现出色,或者文本到代码,这是从文本生成编程代码的模型,例如AlphaCode或Codex。一些模型专门用于科学文本,如Minerva或Galactica,或者算法发现,如AlphaTensor。

一些模型使用多模态输入或输出。演示了多模态输入中生成能力的模型的示例是OpenAI于2023年9月发布的GPT-4V模型(GPT-4 with vision),该模型接受文本和图像,并具有比以前版本更好的光学字符识别(OCR)以从图像中读取文本。图像可以被翻译成描述性词汇,然后应用现有的文本过滤器。这有助于减轻生成无约束图像标题的风险。

正如列表所示,文本是一个常见的输入形式,可以转换为各种输出,如图像、音频和视频。输出也可以在文本内或在相同的模态内进行转换。LLMs推动了文本相关领域的快速进展。这些模型通过自监督学习在大规模数据集上进行训练,通过不同的模态和领域实现了多样化的能力。LLM类别是本书的主要关注点;然而,我们有时也会关注其他模型,尤其是文本到图像。这些模型通常使用Transformer架构进行训练,通过自监督学习。

这一迅速的进展展示了生成AI在各个领域的潜力。在行业内,对AI的能力以及其对业务运营的潜在影响存在着越来越强烈的兴奋感。但是,需要解决一些关键挑战,如数据可用性、计算需求、数据偏见、评估难题、潜在的滥用以及其他社会影响,我们将在第10章"生成模型的未来"中讨论这些挑战。让我们深入探讨一下这一进展,并提出为什么现在的问题。

为什么现在?

2022年生成式AI在公众视野中的成功可以归因于几个相互关联的推动因素。生成模型的发展和成功依赖于改进的算法、计算能力和硬件设计的显著进步、大规模标记数据集的可用性以及积极而合作的研究社区,这些社区帮助演进了一套工具和技术。

开发更复杂的数学和计算方法在推动生成模型的发展中发挥了至关重要的作用。上世纪80年代,由Geoffrey Hinton、David Rumelhart和Ronald Williams引入的反向传播算法就是一个例子。它为有效训练多层神经网络提供了一种方法。

在21世纪初,随着研究人员开发出更复杂的体系结构,神经网络开始重新流行。然而,深度学习(DL)的出现,一种具有大量层次的神经网络,标志着这些模型性能和能力的重大转折。有趣的是,尽管DL的概念已存在一段时间,但生成模型的发展和扩展与硬件的显著进步密切相关,特别是图形处理单元(GPU),这在推动该领域取得了重大进展。

正如前面提到的,更便宜和更强大的硬件的可用性是发展更深层模型的关键因素之一。这是因为DL模型需要大量计算能力进行训练和运行。这涉及到处理能力、内存和磁盘空间的各个方面。这张图显示了不同媒介的计算存储成本随时间的变化,例如磁盘、固态、闪存和内存,以美元每TB的价格表示(根据Max Roser、Hannah Ritchie和Edouard Mathieu的Our World in Data的数据调整;ourworldindata.org/grapher/his...

过去,训练深度学习(DL)模型的成本是难以承受的,但随着硬件成本的降低,现在有可能在更大的数据集上训练更大的模型。模型大小是决定模型能够多好地逼近(以困惑度为度量)训练数据集的因素之一。

这一朝向更大模型的趋势始于2009年,当时NVIDIA催化了通常被称为深度学习的"大爆炸"。GPU特别适用于训练深度学习神经网络所需的矩阵/向量计算,因此通过几个数量级显著提高了这些系统的速度和效率,将运行时间从几周缩短到几天。特别是NVIDIA的CUDA平台,它允许直接编程GPU,使研究人员和开发人员更容易进行对复杂生成模型的实验和部署,促进了在视觉、语音识别以及更近期的大语言模型(LLMs)方面的突破。许多LLM的论文描述了使用NVIDIA A100进行训练。

在2010年代,几种类型的生成模型开始受到关注。自动编码器是一种神经网络,可以学习将数据从输入层压缩到表示,然后进行重构,为更先进的模型如变分自动编码器(VAEs)奠定了基础,这种模型最早在2013年提出。与传统的自动编码器不同,VAEs使用变分推理来学习数据的分布,也被称为输入数据的潜在空间。在同一时间左右,GANs由Ian Goodfellow等人在2014年提出。

在过去的十年里,深度学习中使用的基础算法取得了显著进展,如更好的优化方法、更复杂的模型体系结构和改进的正则化技术。2017年引入的Transformer模型建立在这一进展的基础上,实现了像GPT-3这样的大规模模型的创建。Transformer依赖于注意力机制,使生成模型的性能再次飞跃。这些模型,如Google的BERT和OpenAI的GPT系列,可以生成高度连贯和上下文相关的文本。

迁移学习技术的发展也是重要的。这些技术允许在一个任务上预训练的模型在另一个相似的任务上进行微调,这使得训练大型生成模型更加高效和实际。此外,生成模型的崛起部分归因于专门设计用于处理这些人工神经网络的软件库和工具(如TensorFlow、PyTorch和Keras),简化了构建、训练和部署它们的过程。

除了更便宜和更强大的硬件的可用性之外,大规模标记数据集的可用性也是生成模型发展的关键因素。这是因为深度学习模型,特别是生成模型,需要大量文本数据进行有效训练。互联网上数据的爆炸性增长,尤其是在过去的十年里,为这些模型蓬勃发展创造了适宜的环境。随着互联网的普及,收集大规模文本、图像和其他数据集变得更加容易。

这使得在过去是不可能的情况下,现在可以在更大的数据集上训练生成模型。为了进一步推动生成模型的发展,研究界一直在开发基准和其他挑战,如上文提到的MMLU和ImageNet用于图像分类,并已经开始为生成模型做同样的工作。

总的来说,生成式建模是一个引人入胜且迅速发展的领域。它有可能彻底改变我们与计算机互动和创造原创内容的方式。我很期待看到这个领域的未来将会如何发展。

理解LLMs

文本生成模型,比如OpenAI的GPT-4,能够以不同语言和格式生成连贯、语法正确的文本。这些模型在内容创作和自然语言处理(NLP)等领域具有实际应用,其最终目标是创建能够理解和生成自然语言文本的算法。

语言建模的目标是基于先前的词、字符,甚至是句子,来预测下一个词、字符,甚至是句子。在这个意义上,语言建模作为一种将语言的规则和结构编码成机器可以理解的方式。大型语言模型(LLMs)通过语法、语法和语义方面捕捉了人类语言的结构。这些模型构成了更大的NLP任务的基础,如内容创作、翻译、摘要、机器翻译以及文本编辑任务,如拼写更正。

在核心层面,语言建模,更广泛地说是NLP,严重依赖于表示学习的质量。生成式语言模型对其训练文本的信息进行编码,并根据这些学习生成新的文本,从而承担了文本生成的任务。

最近,大型语言模型(LLMs)已经在诸如论文生成、代码开发、翻译和理解基因序列等任务中找到了应用。更广泛地说,语言模型的应用涉及多个领域,例如:

  • 问答:人工智能聊天机器人和虚拟助手可以提供个性化和高效的帮助,缩短客户支持的响应时间,从而提升客户体验。这些系统可以在特定上下文中使用,如餐厅预订和订票。
  • 自动摘要:语言模型可以创建文章、研究论文和其他内容的简洁摘要,使用户能够迅速消化和理解信息。
  • 情感分析:通过分析文本中的意见和情感,语言模型可以帮助企业更有效地了解客户反馈和意见。
  • 主题建模:LLMs可以在文档语料库中发现抽象主题和主题。它识别单词集群和潜在的语义结构。
  • 语义搜索:LLMs可以专注于理解单个文档中的含义。它使用自然语言处理解释单词和概念,以提高搜索的相关性。
  • 机器翻译:语言模型可以将文本从一种语言翻译成另一种语言,支持企业进行全球扩张。新的生成模型在性能上可以与商业产品(例如Google翻译)媲美。

尽管取得了显著的成就,语言模型在处理复杂的数学或逻辑推理任务时仍然面临局限性。目前尚不确定不断增加语言模型规模是否会不可避免地导致新的推理能力。此外,LLMs以在上下文中返回最可能的答案而闻名,这有时可能导致虚构的信息,被称为幻觉。这既是一个特性也是一个缺陷,因为它突显了它们的创造潜力。我们将在第5章《构建类似ChatGPT的聊天机器人》中讨论幻觉,但现在让我们更详细地讨论LLMs的技术背景。

什么是GPT?

LLMs是深度神经网络,擅长理解和生成人类语言。当前一代LLMs,如ChatGPT,采用了变压器模型的深度神经网络架构,并通过在大量文本数据上进行无监督学习进行预训练,使模型能够学习语言模式和结构。这些模型迅速演变,创造了多才多艺的基础人工智能模型,适用于各种下游任务和模态,最终推动了各种应用和行业的创新。

最新一代LLMs(如ChatGPT)作为对话接口(聊天机器人)的显著优势在于它们能够生成连贯和上下文适当的响应,即使在开放性对话中也是如此。通过基于前面的单词反复生成下一个单词,模型生成流畅而连贯的文本,通常难以与人类生成的文本区分开来。然而,正如OpenAI在免责声明中所表达的,"ChatGPT有时会写出听起来可信但不正确或荒谬的答案",这被称为幻觉,仅是围绕LLMs的一项关注。

变压器是一种深度学习体系结构,由谷歌和多伦多大学的研究人员在2017年首次引入(在一篇名为《Attention Is All You Need》的文章中,作者是Vaswani等人),它包括自注意和前馈神经网络,使其能够有效捕捉句子中的单词关系。注意机制使模型能够专注于输入序列的各个部分。

另一方面,生成式预训练变压器(GPTs)是由OpenAI的研究人员在2018年与他们的首个同名GPT模型GPT-1一同引入的。预训练过程涉及预测文本序列中的下一个单词,增强了模型在输出质量上对语言的理解。在预训练之后,模型可以针对特定的语言处理任务进行微调,如情感分析、语言翻译或聊天。这种无监督和监督学习的组合使GPT模型在各种自然语言处理任务中表现更好,并减轻了培训LLMs所面临的挑战。

LLMs的训练语料库规模急剧增加。由OpenAI于2018年推出的GPT-1是在包含985百万个单词的BookCorpus上进行训练的。BERT在同一年发布,是在包括BookCorpus和英语维基百科在内的综合语料库上进行训练的,总共有33亿个单词。现在,LLMs的训练语料库已经达到了数万亿个标记。

这张图说明了LLMs的增长趋势:

数据点的大小表示训练成本,以petaFLOPs和petaFLOP/s-days为单位。petaFLOP/s天是一个吞吐量单位,每天执行10的15次操作。在计算中,基于GPU利用效率,训练操作被估算为加法和乘法操作的近似数量。

对于一些模型,特别是专有和闭源模型,这些信息是未知的 - 在这些情况下,我放置了一个十字。例如,对于XLNet,论文没有提供关于flops计算的信息; 但是,训练是在512个TPU v3芯片上进行的,历时2.5天。

GPT模型的发展取得了显著进展,OpenAI的GPT-n系列在创建基础人工智能模型方面走在了前列。GPT模型还可以处理文本以外的输入和输出模态,正如GPT-4在处理文本的同时处理图像输入的能力所示。此外,它们还为扩散和并行解码等文本到图像技术提供了基础,从而为能够处理图像的系统开发提供了支持

GPT-3是在3000亿个标记上训练的,具有1750亿个参数,这是深度学习模型中前所未有的规模。尽管GPT-4是该系列中最新的模型,但由于竞争和安全方面的考虑,其规模和训练细节尚未公布。然而,不同的估计表明它的参数数量在2000亿到5000亿之间。OpenAI的首席执行官Sam Altman表示,训练GPT-4的成本超过1亿美元。

ChatGPT是一种对话模型,由OpenAI于2022年11月发布。基于之前的GPT模型(特别是GPT-3),并经过对话优化,它利用由人生成的角色扮演对话和人类标注者演示所需模型行为的数据集的组合。该模型表现出色,具有广泛的知识保留和在多轮对话中进行精确的上下文跟踪等优秀能力。

另一个重大的进展出现在2023年3月,即GPT-4。GPT-4在各种评估任务上表现出卓越的性能,并在训练期间通过六个月的迭代对齐显着提高了对恶意或挑衅性查询的回避能力。

OpenAI对技术细节一直保持沉默;但是,有关信息流传出,GPT-4具有约1.8万亿个参数,是GPT-3规模的10倍以上。此外,OpenAI通过利用其模型内包含的16个专家的混合专家(MoE)模型,每个专家约有1110亿个参数,成功地保持了合理的成本。

显然,GPT-4的训练数据包括约13万亿个标记。但是,这些标记并非唯一,因为它们在每个纪元中都计算了数据的重复呈现。对于基于文本的数据,进行了2个时代的训练,而对于基于代码的数据,进行了4个时代的训练。对于微调,数据集包含数百万行的指令微调数据。另一个传言,同样需要保持谨慎态度,是OpenAI可能正在GPT-4的推断中应用推测性解码,其思想是一个较小的模型(Oracle模型)可能正在预测大模型的响应,并且这些预测的响应可以通过输入到较大的模型中来加速解码,从而跳过标记。这是一种风险策略,因为根据Oracle响应的置信度阈值的不同,质量可能会下降。

GPT-4还有一个多模态版本,其中包含一个独立的视觉编码器,经过训练用于处理图像和文本数据,使模型能够阅读网页并转录图像和视频中的内容。

正如图1.5所示,除了OpenAI的模型之外,还有许多其他模型,其中一些可以作为OpenAI闭源模型的替代品,我们将在后面进行查看。

其他的LLMs

除了OpenAI的GPT模型之外,其他显著的基础模型还包括Google DeepMind的PaLM 2,这是Google的聊天机器人Bard背后的模型。尽管GPT-4在大多数性能基准上处于领先地位,但这些和其他模型在某些任务上展现出可比较的性能,并促进了基于生成变压器的语言模型的进步。

PaLM 2于2023年5月发布,其培训重点是提高多语言和推理能力,同时更具计算效率。通过在不同计算规模上进行评估,作者(Anil等人;PaLM 2技术报告)估计了训练数据大小和参数的最佳缩放。PaLM 2较小,展现出更快、更高效的推断,可实现更广泛的部署和更快的响应时间,以实现更自然的交互节奏。

在不同模型大小之间进行广泛基准测试表明,与其前身PaLM相比,PaLM 2在下游任务(包括多语言常识和数学推理、编码以及自然语言生成)方面的质量有了显著提高。

PaLM 2还在各种专业语言水平考试中进行了测试。使用的考试包括中文(HSK 7-9写作和HSK 7-9总体)、日文(J-Test A-C总体)、意大利文(PLIDA C2写作和PLIDA C2总体)、法文(TCF总体)和西班牙文(DELE C2写作和DELE C2总体)。在这些考试中,这些考试旨在测试C2级水平,根据CEFR(欧洲语言参考框架)的标准,PaLM 2取得了大多数高分。

Meta AI在2023年2月和7月分别发布的LLaMa和LLaMa 2系列模型,最多具有70B参数,通过使社区能够在其基础上构建,从而引发了开源LLM的寒武纪爆发。LLaMa触发了诸如Vicuna、Koala、RedPajama、MPT、Alpaca和Gorilla等模型的创建。LLaMa 2自最近发布以来,已经启发了几个非常有竞争力的编码模型,如WizardCoder。

LLaMa 2是LLaMa 1的升级版本,使用了一组新的公开可用数据进行训练。预培训语料库的大小增加了40%(2万亿个数据标记),模型的上下文长度翻了一番,并采用了分组查询注意力。

LLaMa 2的不同参数大小变体(7B、13B、34B和70B)已发布。虽然LLaMa发布了一个非商业许可证,但LLaMa 2对于研究和商业用途对一般公众是开放的。

Claude和Claude 2是由Anthropic创建的AI助手。评估表明,于2023年7月发布的Claude 2是市场上最好的GPT-4竞争对手之一。与以人类反馈为基础的以前版本相比,它在帮助性、诚实性和缺乏刻板印象偏见方面有所改进。它还在GRE和MBE等标准测试中表现出色。关键的模型改进包括上下文大小扩展到200K标记,远远超过大多数可用模型,以及商业或开源。它还在编码、摘要和长篇文档理解等用例上表现更好。

Anthropic创建的模型卡较为详细,显示Claude 2在某些方面仍存在问题,如混淆、偏见、事实错误和潜在滥用的限制,这是所有LLM共有的问题。Anthropic正在通过数据过滤、去偏和安全干预等技术来解决这些问题。

由于高计算需求,LLM的发展一直受到少数参与者的限制。在接下来的部分中,我们将探讨这些组织是谁。

主要参与者

培训大规模数据集上的大量参数需要显著的计算能力以及熟练的数据科学和数据工程团队。Meta的LLaMa 2模型,拥有高达700亿参数的规模,是在1.4万亿标记上进行训练的,而PaLM 2据报道包含3400亿参数,虽然比之前的LLM要小,但培训数据规模至少覆盖了100种语言。现代LLM的培训成本可能在1000万至1亿美元以上,用于计算成本。

只有少数公司,如图1.5中所示的那些,才能成功地培训和部署非常大的模型。像微软和谷歌这样的大公司已经投资于初创公司和合作伙伴关系,以支持这些模型的开发。一些大学,如KAUST、卡内基梅隆大学、南洋理工大学和特拉维夫大学,也为这些模型的开发做出了贡献。有些项目是通过公司和大学之间的合作开发的,就像Stable Diffusion、Soundify和DreamFusion这样的项目。

有很多公司和组织在开发生成式人工智能,包括大型语言模型(LLMs),它们以不同的条件发布,以下是其中一些:

  • OpenAI发布了GPT-2的开源版本;然而,随后的模型都是闭源的,但可以通过他们的网站或API进行公开使用。
  • 谷歌(包括谷歌的DeepMind部门)开发了许多LLM,从BERT开始,最近包括Chinchilla、Gopher、PaLM和PaLM2。他们先前在开源许可下发布了一些模型的代码和权重(参数),尽管最近他们在开发中更加保密。
  • Anthropic在其网站上为公众提供了Claude和Claude 2模型。API处于私人测试阶段。模型本身是闭源的。
  • Meta发布了像RoBERTa、BART和LLaMa 2这样的模型,包括模型参数(尽管通常是在非商业许可下)和用于设置和训练模型的源代码。
  • 微软开发了像Turing-NLG和Megatron-Turing NLG这样的模型,但更注重将OpenAI模型集成到产品中,而不是发布自己的模型。phi-1的培训代码和参数已发布供研究使用。
  • Stability AI,Stable Diffusion背后的公司,以非商业许可发布了模型权重。
  • 法国人工智能初创公司Mistral发布了其免费使用、开放许可的7B模型,表现优越,生成自私有数据集,旨在支持开放的生成式人工智能社区,并提供商业产品。
  • EleutherAI是一群研究人员开发GPT-Neo和GPT-J等开放访问模型的民间团体,完全开源并面向公众提供。
  • Aleph Alpha、阿里巴巴和百度提供API访问或将其模型集成到产品中,而不是发布参数或培训代码。
  • 还有一些值得注意的机构,如由阿布扎比政府资助的研究机构Technology Innovation Institute(TII),他们为研究和商业用途开源了Falcon LLM。

生成式人工智能模型参数的估计复杂性表明,没有足够计算能力和专业知识的小型公司或组织可能难以成功部署这些模型;然而,最近在LLaMa模型发布后,我们看到了一些小型公司在编码能力等方面取得了显著突破。

在下一节中,我们将回顾深度学习和生成模型近年来所取得的进展,这些进展导致了它们目前表现出的能力爆发以及这些模型所受到的关注。

让我们深入了解这些LLM在底层是如何工作的?GPT模型是如何工作的?

GPT模型是如何工作的?

生成式预训练已经存在一段时间,采用了马尔科夫模型或其他技术。然而,诸如BERT和GPT之类的语言模型得以实现,要归功于变压器深度神经网络架构(Vaswani等人,《注意力机制就是你所需要的》,2017年),这对自然语言处理(NLP)产生了深远影响。为了避免递归以实现并行计算,变压器架构在不同的变体中不断推动着NLP和生成式人工智能领域的可能性边界。

变压器在NLP中推动了前所未有的进展,尤其是在翻译和语言理解方面。神经机器翻译(NMT)是机器翻译的主流方法,它利用深度学习来捕捉句子中的远距离依赖关系。基于变压器的模型胜过了先前的方法,比如使用循环神经网络,特别是长短时记忆(LSTM)网络。

变压器模型架构具有编码器-解码器结构,其中编码器将输入序列映射到一系列隐藏状态,解码器将隐藏状态映射到输出序列。隐藏状态表示不仅考虑单词的固有含义(它们的语义值),还考虑它们在序列中的上下文。

编码器由相同的层组成,每个层都有两个子层。输入嵌入经过一个注意机制,第二个子层是一个完全连接的前馈网络。每个子层后面都跟着一个残差连接和层归一化。每个子层的输出是输入和子层输出的和,然后进行归一化。

解码器使用这些编码信息,逐项生成输出序列,利用先前生成的项目的上下文。它还具有相同的模块,与编码器一样有两个子层。

此外,解码器还有一个第三个子层,对编码器堆栈的输出执行多头注意力(MHA)。解码器还使用残差连接和层归一化。解码器中的自注意力子层被修改,以防止位置关注后续位置。此掩码与输出嵌入被偏移一个位置相结合,确保位置i的预测只能依赖于位置小于i的已知输出。这在这里的图示中标明(来源:Yuening Jia,Wikimedia Commons):

成功的变压器架构的一些关键特性包括:

  • 位置编码:由于变压器不是按顺序处理单词,而是同时处理所有单词,它缺乏有关单词顺序的概念。为了弥补这一点,使用位置编码将有关单词在序列中的位置的信息注入模型。这些编码被添加到表示每个单词的输入嵌入中,从而使模型能够考虑序列中单词的顺序。
  • 层归一化:为了稳定网络的学习,变压器使用一种称为层归一化的技术。该技术通过跨特征维度对模型的输入进行归一化(而不是批量维度,如批量归一化中的那样),从而提高学习的整体速度和稳定性。
  • 多头注意力:变压器不是一次应用注意力,而是同时多次应用注意力,从而提高模型对不同类型信息的关注能力,从而捕捉到更丰富的特征组合。 变压器成功的一个关键原因是其在长序列上保持性能的能力优于其他模型,例如循环神经网络。

注意力机制背后的基本思想是基于当前位置与所有其他位置之间的相似性来计算与每个位置相关联的值的加权和(通常称为值或内容向量)。这个加权和被称为上下文向量,然后被用作模型后续层的输入,使模型能够在解码过程中有选择地关注输入的相关部分。

为了增强注意力机制的表达能力,通常将其扩展到包括多个所谓的头,其中每个头都有自己的查询、键和值向量集,允许模型捕捉输入表示的各个方面。然后将来自每个头的各个上下文向量连接或以某种方式组合以形成最终的输出。

早期的注意力机制与序列长度(上下文大小)的平方成比例,使其在具有长序列的情况下不适用。已经尝试了不同的机制来缓解这一问题。许多LLMs使用某种形式的多查询注意力(MQA),包括OpenAI的GPT系列模型、Falcon、SantaCoder和StarCoder。

MQA是MHA的扩展,其中注意力计算被复制多次。MQA提高了语言模型在各种语言任务中的性能和效率。通过从某些计算中删除头维度并优化内存使用,MQA相对于没有MQA的基线模型在推理任务中可以实现11倍的吞吐量和30%的更低延迟。

LLaMa 2和其他一些模型使用了分组查询注意力(GQA),这是在自回归解码中使用的一种做法,用于缓存序列中先前标记的关键(K)和值(V)对,加速注意力计算。然而,随着上下文窗口或批量大小的增加,与MHA模型中KV缓存大小相关的内存成本也会显著增加。为了解决这个问题,可以在多个头之间共享键和值的投影,而不会对性能造成太大的降级。

还提出了许多其他方法来获得效率提升,例如稀疏、低秩的自注意力和潜在的瓶颈,仅举几例。其他工作尝试将序列扩展到固定输入大小之外;诸如transformer-XL之类的架构重新引入了递归,通过存储已编码句子的隐藏状态来利用它们在下一个句子的编码中。

这些架构特性的组合使GPT模型能够成功处理涉及理解和生成人类语言以及其他领域的文本的任务。绝大多数LLMs都是变压器,正如我们将在本章的不同部分中遇到的许多其他最先进的模型,包括处理图像、声音和3D对象的模型。如其名,GPT的一个特点在于预训练。让我们看看这些LLMs是如何训练的!

预训练

变压器的训练分为两个阶段,使用无监督的预训练和判别性的任务特定微调的组合。在预训练期间的目标是学习一个适用于广泛任务的通用表示。

无监督的预训练可以遵循不同的目标。在掩蔽语言建模(MLM)中,由Devlin等人在《BERT:预训练深度双向变压器用于语言理解》(2019)中引入,输入被掩蔽,模型试图基于非掩蔽部分提供的上下文来预测缺失的标记。例如,如果输入句子是"The cat [MASK] over the wall",则模型理想情况下会学会预测掩蔽为"jumped"。

在这种情况下,训练目标是通过损失函数最小化预测和被掩蔽标记之间的差异。然后,模型的参数根据这些比较进行迭代更新。

负对数似然(NLL)和困惑度(PPL)是用于训练和评估语言模型的重要指标。NLL是用于ML算法的损失函数,旨在最大化正确预测的概率。较低的NLL表明网络已成功地从训练集中学到了模式,因此它将准确地预测训练样本的标签。重要的是要提到,NLL是在正数间隔内约束的值。

另一方面,PPL是NLL的指数,提供了更直观的方法来理解模型的性能。较小的PPL值表明训练良好的网络可以进行准确的预测,而较高的值则表明学习性能较差。直观地说,我们可以说低困惑度意味着模型对下一个单词的出现不太惊讶。因此,在预训练中的目标是最小化困惑度,这意味着模型的预测更符合实际结果。

在比较不同语言模型时,困惑度通常被用作各种任务的基准指标。它提供了关于语言模型性能的一种想法,其中较低的困惑度表示模型更确定其预测。因此,相对于困惑度较高的其他模型,困惑度较低的模型将被认为性能更好。

训练LLM的第一步是标记化。这个过程涉及构建一个词汇表,将标记映射到唯一的数值表示,以便它们可以被模型处理,鉴于LLMs是需要数值输入和输出的数学函数。

标记化

对文本进行标记化意味着将其分割为标记(单词或子词),然后通过查找表将这些标记转换为对应的整数列表。

在训练LLM之前,标记器(更确切地说,是其字典)通常适用于整个训练数据集,然后被冻结。重要的是要注意,标记器不会生成任意整数。相反,它们会输出在特定范围内的整数,从 到 ,其中 表示标记器的词汇量大小。

相关推荐
真忒修斯之船2 小时前
大模型分布式训练并行技术(三)流水线并行
面试·llm·aigc
SpikeKing2 小时前
LLM - 使用 LLaMA-Factory 微调大模型 环境配置与训练推理 教程 (1)
人工智能·llm·大语言模型·llama·环境配置·llamafactory·训练框架
光芒再现dev4 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
数据智能老司机1 天前
LLM工程师手册——监督微调
深度学习·架构·llm
知来者逆1 天前
使用 GPT-4V 全面评估泛化情绪识别 (GER)
人工智能·gpt·语言模型·自然语言处理·gpt-4v
github_czy1 天前
使用GPT-SoVITS训练语音模型
人工智能·gpt
AI_小站1 天前
LLM——10个大型语言模型(LLM)常见面试题以及答案解析
人工智能·程序人生·语言模型·自然语言处理·大模型·llm·大模型面试
Yeats_Liao1 天前
昇思大模型平台打卡体验活动:基于MindSpore实现GPT1影评分类
gpt·分类·数据挖掘
龙的爹23331 天前
论文 | Evaluating the Robustness of Discrete Prompts
人工智能·gpt·自然语言处理·nlp·prompt·agi
waiting不是违停1 天前
LangChain Ollama实战文献检索助手(二)少样本提示FewShotPromptTemplate示例选择器
langchain·llm·ollama