深度学习的发展与人工智能模型应用探讨

释放双眼,带上耳机,听听看~!
探讨深度学习和人工智能模型应用的文章,包括生成模型和大型语言模型在非结构化数据处理方面的巨大发展,并分析人工智能在媒体和行业中的关注度及影响。

在过去的十年里,深度学习已经经历了巨大的发展,能够处理和生成文本、图像和视频等非结构化数据。这些先进的人工智能模型,包括大型语言模型(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之前,标记器(更确切地说,是其字典)通常适用于整个训练数据集,然后被冻结。重要的是要注意,标记器不会生成任意整数。相反,它们会输出在特定范围内的整数,从 到 ,其中 表示标记器的词汇量大小。

定义: 标记(Token):标记是字符序列的一个实例,通常形成一个单词、标点符号或数字。标记用作构建文本序列的基本元素。 标记化(Tokenization):这指的是将文本分割成标记的过程。标记器会在空格和标点符号处进行分割,将文本分解为单独的标记。 示例: 考虑以下文本: “The quick brown fox jumps over the lazy dog!” 这将被分割成以下标记: [“The”, “quick”, “brown”, “fox”, “jumps”, “over”, “the”, “lazy”, “dog”, “!”] 每个单词都是一个独立的标记,标点符号也是。

有很多按照不同原理工作的标记器,但在模型中常用的标记器类型包括字节对编码(Byte-Pair Encoding,BPE)、WordPiece 和 SentencePiece。例如,LLaMa 2 的 BPE 标记器将数字拆分为单个数字,并使用字节来分解未知的 UTF-8 字符。总的词汇量为 32K 个标记。

需要指出的是,LLM 只能基于不超过其上下文窗口的标记序列生成输出。这个上下文窗口指的是LLM 可以使用的标记序列的最大长度。LLM 的典型上下文窗口大小可以在约 1,000 到 10,000 个标记之间变化。

接下来,至少简要讨论一下这些架构的规模,以及为什么这些模型如此庞大。

规模化

正如我们在图1.5中所见,随着时间的推移,语言模型变得越来越庞大。这对机器学习的长期趋势是一致的,即随着计算资源变得更便宜,模型变得越来越大,从而实现更高的性能。在OpenAI的研究人员Kaplan等人于2020年发表的一篇论文中(《神经语言模型的规模定律,2020》),他们讨论了规模定律和参数选择。

有趣的是,他们比较了许多不同的架构选择,其中包括显示出变压器在迷惑度方面优于LSTM的事实,这在很大程度上是由于更好地利用长上下文。而循环网络在不到100个令牌后就停滞不前,变压器在整个上下文中都有所改善。因此,变压器不仅在训练和推理速度上更快,而且在查看相关上下文时也能提供更好的性能。

此外,他们发现性能与以下因素之间存在幂律关系:数据集大小、模型大小(参数数量)和训练所需的计算资源量。这意味着要通过某个因素提高性能,必须将这些元素中的一个按照该因素的幂进行扩大;然而,为了实现最佳性能,必须同时调整这三个因素,以避免瓶颈。

DeepMind的研究人员(《大型语言模型训练的计算优化经验分析;Hoffmann等人,2022》)分析了LLMs的训练计算和数据集大小,并得出结论称,LLMs在计算预算和数据集大小方面被低估,这是规模定律所建议的。

他们预测,如果大型模型变得更小且训练时间更长,它们将表现更好,并事实上通过将具有2800亿参数的Gopher模型与70亿参数的Chinchilla模型进行比较,验证了他们的预测。

然而,最近,微软研究团队挑战了这些结论并出人意料地发现(《只需教科书;Gunaseka和同事,2023年6月》),在高质量数据集上训练的小型网络(350M参数)可以提供非常有竞争力的性能。我们将在第6章《使用生成式AI开发软件》中再次讨论这个模型,并在第10章《生成模型的未来》中讨论规模的影响。

观察LLMs的模型大小是否以与过去相同的速度增长将是很有启发性的。这是一个重要的问题,因为它决定了LLMs的发展是否将牢牢掌握在大型组织的手中。可能存在在某个大小上性能饱和的情况,只有通过改变方法才能克服。然而,我们可能会看到新的规模定律将性能与数据质量联系起来。

在预训练之后,一个重要的步骤是如何通过微调或提示为特定任务准备模型。让我们看看这个任务调节是什么!

任务调节(Conditioning)

任务调节(Conditioning)LLMs 指的是使模型适应特定任务。这包括微调和提示:

  • 微调涉及通过监督学习在特定任务上修改预训练的语言模型。例如,为了使模型更适用于与人类进行对话,模型将在以自然语言指令形式制定的任务示例上进行训练(指令微调)。在微调中,通常使用来自人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)再次训练预训练的模型,使其更加有帮助和无害。
  • 提示技术向生成模型提供以文本形式呈现的问题。有许多不同的提示技术,从简单的问题到详细的说明不等。提示可以包括类似问题及其解决方案的示例。零样本提示不包含示例,而少样本提示包括与相关问题和解决方案的小量示例。

这些调节方法不断发展,变得越来越有效,适用于各种应用。在第8章《定制LLMs及其输出》中将进一步探讨提示工程和调节方法。

如何尝试这些模型?

您可以通过OpenAI的网站或其API访问其模型。如果您想在您的笔记本上尝试其他LLM,开源LLM是一个很好的起点。这里有各种各样的选择!

您可以通过Hugging Face或其他提供商访问这些模型,正如我们将在第3章《开始使用LangChain》中看到的那样。您甚至可以下载这些开源模型,进行微调,或完全训练它们。我们将在第8章《定制LLM及其输出》中微调一个模型。

生成式AI广泛用于生成虚拟或增强现实中的3D图像、头像、视频、图表和插图,用于视频游戏图形设计、标志创建、图像编辑或增强。这里最流行的模型类别是文本驱动的图像合成,特别是文本到图像的生成。正如本书所述,我们将重点关注LLM,因为它们具有最广泛的实际应用,但我们也将研究图像模型,有时它们也非常有用。

在下一节中,我们将回顾文本驱动图像生成的最新方法。我将强调该领域迄今取得的进展,但也讨论现有的挑战和潜在的未来方向。

文本到图像模型是什么?

文本到图像模型是一种强大的生成人工智能,可以根据文本描述创建逼真的图像。它们在创意产业和设计中有各种用途,用于生成广告、产品原型、时尚图像和视觉效果。主要的应用包括:

  1. 文本条件的图像生成:根据文本提示创建原始图像,例如“一幅猫在花海中的画作”。这用于艺术、设计、原型制作和视觉效果。
  2. 图像修复:根据周围环境的上下文填充图像中缺失或损坏的部分。这可以恢复受损的图像(去噪、去雾和去模糊),或编辑掉不需要的元素。
  3. 图像到图像的转换:将输入图像转换为通过文本指定的不同风格或域,例如“使这张照片看起来像莫奈的画”。
  4. 图像识别:可以使用大型基础模型来识别图像,包括对场景进行分类,还可以进行对象检测,例如检测面部。

类似Midjourney、DALL-E 2和Stable Diffusion的模型通过在大量图像文本对的数据集上训练深度神经网络生成创意和逼真的图像。关键技术是扩散模型,它从随机噪声开始,并通过反复去噪步骤逐渐将其精炼为图像。

Stable Diffusion和DALL-E 2等热门模型使用文本编码器将输入文本映射到嵌入空间。这个文本嵌入被馈送到一系列条件扩散模型中,这些模型在连续的阶段中去噪和精炼潜在图像。最终模型的输出是与文本描述对齐的高分辨率图像。

使用两个主要类别的模型:生成对抗网络(GANs)和扩散模型。GAN模型如StyleGAN或GANPaint Studio可以生成高度逼真的图像,但训练不稳定且计算成本高昂。它们包括两个在类似游戏的设置中相互竞争的网络 – 生成器,从文本嵌入和噪声中生成新图像,以及鉴别器,估计新数据为真实数据的概率。随着这两个网络的竞争,GANs在生成逼真图像和其他类型的数据方面变得更加优秀。

GANs的训练设置如下图所示(摘自《使用生成对抗网络进行文本生成的调查》G de Rosa和J P. Papa,2022; arxiv.org/pdf/2212.11…:
深度学习的发展与人工智能模型应用探讨

扩散模型已经成为广泛用于各种生成任务的一种受欢迎和有前途的模型,包括文本到图像的合成。这些模型相对于以前的方法(如GANs)具有优势,可以降低计算成本并减少序列误差的累积。扩散模型通过类似物理学中的扩散过程的方式运作。它们通过在图像中添加噪声的前向扩散过程,直到图像变得不典型且带有噪点。这个过程类似于一滴墨水落入一杯水中并逐渐扩散的过程。

生成图像模型的独特之处在于反向扩散过程,模型试图从嘈杂且无意义的图像中恢复原始图像。通过迭代地应用去噪转换,模型生成与给定文本输入对齐的分辨率逐渐增加的图像。最终输出是根据文本输入进行修改的图像。一个示例是Imagen文本到图像模型(由Google Research于2022年5月发布的“具有深度语言理解的照片级文本到图像扩散模型”),该模型包含了从仅文本语料库中预训练的LLMs提取的冻结文本嵌入。文本编码器首先将输入文本映射到一系列嵌入中。一系列条件扩散模型将文本嵌入作为输入并生成图像。

这个去噪过程在这个图中展示(来源:用户Benlisquare通过Wikimedia Commons):
深度学习的发展与人工智能模型应用探讨

在图1.8中,只展示了40步生成过程中的一些步骤。您可以逐步看到图像生成的过程,包括使用去噪扩散隐式模型(DDIM)采样方法的U-Net去噪过程,该方法重复去除高斯噪声,然后将去噪输出解码为像素空间。

通过扩散模型,您可以看到在仅对模型的初始设置进行最小更改的情况下或者如本例中使用数值求解器和采样器时产生了多种多样的结果。尽管它们有时会产生引人注目的结果,但不稳定性和不一致性是更广泛应用这些模型的一个重要挑战。

Stable Diffusion是由慕尼黑大学(LMU Munich)的CompVis小组开发的(Blattmann等人在2022年发布的“使用潜在扩散模型进行高分辨率图像合成”)。与先前(基于像素的)扩散模型相比,Stable Diffusion模型显著降低了训练成本和采样时间。该模型可以在配备了适度GPU(例如GeForce 40系列)的消费级硬件上运行。通过在消费级GPU上从文本生成高保真图像,Stable Diffusion模型实现了对该技术的民主化访问。此外,该模型的源代码甚至权重都已根据CreativeML OpenRAIL-M许可证发布,该许可证不对重用、分发、商业化和自适应施加限制。

值得注意的是,Stable Diffusion引入了潜在(低维)空间表示中的操作,以捕获图像的基本属性,以提高计算效率。VAE提供潜在空间压缩(在论文中称为感知压缩),而U-Net执行迭代去噪。

Stable Diffusion通过以下几个明确的步骤从文本提示中生成图像:

  1. 它首先在潜在空间中生成一个随机张量(随机图像),这充当我们初始图像的噪声。
  2. 噪声预测器(U-Net)接收潜在嘈杂图像和提供的文本提示,并预测噪声。
  3. 然后,模型从潜在图像中减去潜在噪声。
  4. 步骤2和步骤3在一组采样步骤中重复,例如40次,如图中所示。
  5. 最后,VAE的解码器组件将潜在图像转换回像素空间,提供最终输出图像。

VAE是一种将数据编码成学到的较小表示(编码)的模型。然后可以使用这些表示生成类似于训练数据的新数据(解码)。首先对这个VAE进行训练。

U-Net是一种常见的卷积神经网络(CNN),具有对称的编码器-解码器结构。通常用于图像分割任务,但在Stable Diffusion的背景下,它可以帮助引入和去除图像中的噪声。U-Net以噪声图像(种子)作为输入,并通过一系列卷积层处理它,以提取特征并学习语义表示。

这些卷积层通常组织在一个收缩路径中,通过减小空间维度同时增加通道数。一旦收缩路径到达U-Net的瓶颈部分,它就会通过对称的扩展路径进行扩展。在扩展路径中,应用转置卷积(也称为上采样或反卷积),逐步上采样空间维度同时减少通道数。

为了在潜在空间本身(潜在扩散模型)中训练图像生成模型,使用损失函数来评估生成图像的质量。常用的损失函数之一是均方误差(MSE)损失,它量化生成图像与目标图像之间的差异。模型被优化以最小化此损失,鼓励它生成与期望输出紧密相似的图像。

这一训练是在LAION-5B数据集上进行的,该数据集包含数十亿的图像-文本对,来源于Common Crawl数据,包括来自Pinterest、WordPress、Blogspot、Flickr和DeviantArt等来源的数十亿的图像-文本对。

以下图片展示了使用扩散生成的文本到图像的生成过程(来源:Ramesh等人,《带有CLIP潜在因子的分层文本条件图像生成》,2022年;arxiv.org/abs/2204.06…

深度学习的发展与人工智能模型应用探讨

总体而言,诸如Stable Diffusion和Midjourney之类的图像生成模型将文本提示处理成生成的图像,利用正向和反向扩散过程的概念,并在更低维度的潜在空间中进行操作以提高效率。但在文本到图像的用例中,模型的调整是如何进行的呢?

调整过程允许这些模型受到特定的输入文本提示或输入类型(如深度图或轮廓)的影响,以更精准地创建相关图像。然后,这些嵌入被文本变换器处理,并被馈送给噪声预测器,引导其生成与文本提示一致的图像。

本书的范围无法为所有模态的生成AI模型提供全面的调查。然而,让我们大致了解一下这些模型在其他领域能够做些什么。

总结

随着计算能力的提升,深度神经网络、变换器、生成对抗网络和变分自动编码器等模型比以往的模型更有效地建模真实世界数据的复杂性,推动了使用AI算法实现的可能性的边界。在本章中,我们探讨了深度学习和人工智能以及生成模型(如LLMs和GPTs)的最近历史,以及支撑它们的理论思想,特别是Transformer架构。我们还解释了图像生成模型的基本概念,如Stable Diffusion模型,并最终讨论了超越文本和图像的应用,例如声音和视频。

下一章将探讨生成模型的工具,特别是LLMs,使用LangChain框架,重点关注该工具的基本原理、实施和在利用和扩展LLMs能力方面的使用。

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

深度浅出AIGC(二):稳定扩散模型原理及应用

2023-12-26 13:41:00

AI教程

亚马逊云科技ElastiCache Serverless产品体验及应用实践

2023-12-28 13:47:00

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索