交互式科普论文:一文看懂生成式大语言模型

文摘   2024-10-19 13:26   浙江  

引言目前,生成式模型在多个领域中得到了广泛应用,包括计算机视觉、自然语言处理、语音合成等。生成式模型如变分自编码器(VAEs)、生成对抗网络(GANs)、生成预训练变换器(GPTs)以及扩散模型等,主要侧重于捕捉训练数据本身的概率分布利用深度神经网络学习复杂的表示,并生成高质量的样本数据。特别地,生成式大型语言模型(LLM)在人工智能领域引发了一场巨大的变革,尤其在文本生成和人机交互方面表现特别突出。生成式大模型通过预训练、微调,以及人类反馈的强化学习机制的不断进化(比如 Chat GPT),显著提升了对话质量和内容生成能力。特别是GPT-4及其后续的多模态模型不仅能处理文本,还能创作图像和视频,极大拓宽了大模型在各个领域的应用范围。

随着LLM技术的快速发展,人们对LLM的理解和应用需求也在不断日益增加。为此,西湖大学可信及通用人工智能实验室联合广东外语外贸大学、上海海事大学在《IEEE COMPUTATIONAL INTELLIGENCE MAGAZINE》期刊上发表了首篇关于生成式LLM的交互式科普论文。这篇论文不仅有助于传播LLM的相关科普知识,还通过交互方式让大家深入解释其潜力与挑战。让我们一起来看看吧!

原文链接:https://ieeexplore.ieee.org/document/10709782/interactive

1 研究背景

在过去几年中,多种不同的生成式大型语言模型(LLMs)踊跃出现,其起点是Vaswani等人在2017年提出的Transformer模型。OpenAI在2018年基于Transformer架构推出了GPT,并引入了生成式预训练的概念。在GPT的基础上,后续的模型如GPT-2和GPT-3进一步扩大了模型规模和容量,并在各种学习任务中取得了领先的性能。为了进一步增强语言理解和生成能力,OpenAI推出了GPT-3.5版本的ChatGPT,这是一款重要的LLM。ChatGPT被设计为GPT的扩展版本,专门针对对话交互进行了优化,允许用户与该语言模型进行互动对话。最近,OpenAI创建了一种大型多模态模型,称为GPT-4,以拓展深度学习的应用范围。GPT-4能够处理图像和文本输入。尽管在许多现实场景中其表现仍然落后于人类,但在各种专业和学术基准测试中,GPT-4展示了接近人类水平的性能。此外,多模态语言模型GPT-4o可以处理文本、图像、视频和音频,适用于各种复杂的多模态任务。最近推出的一种先进的AI模型OpenAI O1,还可专为企业级应用设计,能够通过API集成提供定制化的解决方案。

在深度学习的推动下生成式AI取得了显著进展,LLMs已从最初专注于文本处理扩展到现在可以处理多模态数据,如图像、视频和音频等。图1展示了各种版本的生成式预训练变换器(GPT)和其他一些大语言模型(LLMs)的发展时间线。

图1:各种主要版本的GPT和其他一些大型语言模型的开发时间线

在正式引入生成式大型语言模型(LLMs)之前,我们先来探讨基于GPT预训练的模型架构(如图2所示)。该架构包括一个输入层、12个变换器(Transformer)块和一个输出层的归一化处理。在GPT中,每个Transformer块只是Transformer模型的解码器部分,包含掩码多头注意力机制、前馈层和两个归一化层。通过下面的沉浸式动画演示,您可以更详细地了解GPT模型的每个组成部分,并观察它们如何协同工作。

图2 基于GPT预训练的模型架构

在GPT中,输入序列通过词嵌入和位置编码转换为固定大小的向量表示。图3展示了将词嵌入用于表示输入和输出序列中单词的可视化过程。

图3:从文本到向量的词嵌入

词嵌入使用技术如独热编码、Word2Vec[2]、GloVe[3]或FastText[4],将单词转换为稠密向量,捕捉语义信息。相似语义或上下文的单词将拥有相似的向量表示,帮助模型理解词语之间的关系。在GPT模型中,输入序列通过词嵌入和位置编码转换为固定大小的向量表示。位置编码确保模型能够理解输入序列中单词的顺序,其计算公式如下:

其中, pos 是单词在序列中的位置, 是位置编码内的维度索引, 是模型嵌入的维度。通过向量加法将词嵌入与位置编码结合,得到的结果表示捕获了语义和位置信息,使模型能够有效地处理和理解输入文本。

为了嵌入输入句子 ,其中是句子的长度,是词向量的维度。我们使用三个不同的权重矩阵进行线性变换, 以获得,可以写作:

表示不同的注意力头。多头自注意力的整个计算过程可以表示为:

其中,mask表示掩蔽注意力矩阵,是一个上三角矩阵掩码。为了更好地理解掩蔽多头注意力,本文首先介绍了图3中的掩蔽自注意力机制,随后讨论了更复杂的掩蔽多头注意力机制。“matmul“表示矩阵乘法操作。

图4:批量归一化和层归一化之间的区别

然后,应用层归一化来稳定训练过程并提高模型的泛化能力。如图4所示,与批归一化不同,层归一化在每个批次的样本中对特征维度上的值进行归一化。在层归一化中,对于样本的第个特征,首先计算均值和方差,然后通过以下公式进行层归一化:

在批归一化中,对于第个输入样本,首先计算小批次的均值和方差,其中是小批次中的样本数 量。然后,批归一化可以表示为:

其中是为了数值稳定性的小常数,是用于缩放和偏移的可学习参数。

批归一化适用于批处理场景,如卷积神经网络,而层归一化更适合变换器模型,特别是在批量较小的情况下。GPT模型通过前馈神经网络和残差连接来捕捉复杂模式,缓解梯度消失问题。多个变换器块独立工作,一个块的输出作为下一个块的输入,最后通过softmax层预测下一个词的概率,逐步生成完整句子。训练时,模型通过最小化负对数似然值进行优化。

2 生成式LLMs——ChatGPT的训练方法

尽管存在许多种类的生成式大型语言模型(LLMs),且不同LLMs之间的训练过程还有不少差异。为简单起见,本工作仅以最流行的生成式LLM-ChatGPT为例,来说明LLMs的训练过程。训练ChatGPT的三个主要组成部分:预训练、监督式微调和结合人类反馈的强化学习。

①预训练:一种训练过程,其中模型在大规模语料库上进行训练。该模型采用了Transformer架构,这是一种使用自注意力机制来处理和生成文本的深度神经网络模型。此架构使模型能够有效捕捉长距离依赖关系和上下文信息。

②监督式微调:一种监督训练过程,涉及在预训练的大型语言模型基础上,使用标注的示例对特定任务或数据集进行进一步训练。

③带有人类反馈的强化学习:一种交互式的强化学习过程,能够结合人类的专业知识来引导模型的行为。

此外,以确保ChatGPT生成适合于任务上下文相关的内容,还会涉及到相关的提示工程(如图5所示)。

   ![](https://files.mdnice.com/user/77914/b8c6fff5-b95f-432c-9d01-cf1d08b45455.png)

图5:大型语言模型(LLMs)的主要组成部分包括预训练、监督式微调和带有人类反馈的强化学习。此外,提示工程(prompt engineering)允许用户利用LLMs的强大功能来完成下游任务。(这里的“Trm”代表的是带有Transformer模型解码器的Transformer模块,这些累积的层构成了GPT的模型架构。)

2.1 预训练阶段

预训练阶段是构建LLMs的基础,通过大量未标注数据学习语言理解和生成技能。ChatGPT的预训练类似于GPT模型,目标是通过下一个词的预测任务来调整模型参数,以最大化对实际词的概率分配。公式如下:

在上述公式中,表示语言模型的训练损失函数,表示模型参数,表示句子的长度,表示给定从的已观测变量历史后预测下一个词的概率,这些在语言模型中被称为“标记”。该函数的任务是预测下一个标记,并调整LLM的参数以最大化分配给实际下一个标记的概率。图6说明了GPT预训练范式中预测下一个词的过程,其中概率值是为了说明而手动设计的。

图6:在GPT预训练范式下预测下一个单词的过程说明

在历史列中得到初始输入后,你可以看到动画中模型的相应初始状态,然后依次展示下一个词预测过程。在第一次迭代开始时,历史中的代表序列的开始。给定一个句子中的一个词(例如,“Let”),语言模型会输出其词汇表中所有单词(例如,“us”,“me”或“with”)的概率分布,表明每个单词接下来出现的可能性。然后选择概率最高的词作为下一个词(例如,“us”),即这一轮预测的输出是“us”,它将继续被输入到历史句子中进行下一轮预测。具体来说,下一轮的输入是“Let us”,然后计算单词概率,并选择概率最大的词“study”作为这一轮的预测。类似地,给定下一轮的输入“Let us study”,模型将输出“ChatGPT”。这个过程一直持续到出现标记,代表序列的结束。以上内容说明了 GPT 预训练的主要思想:模型通过观察上下文来预测句子中下一个词的概率,这个过程是无监督的,不需要标注数据。模型通过大量非结构化文本的训练,学习词语、句子和段落之间的复杂依赖关系。在预测过程中,大多数词的概率接近于0,因此只展示概率较大的词候选。

2.2 监督微调

监督微调是利用带标签的任务数据集对预训练模型进行训练,以提升其在特定任务上的表现。具体来说,假设预训练模型的参数为,并且有一个特定任务和对应的数据集。微调的目标是通过调整预训练模型的参数,使其在该特定任务上的损失函数最小化。优化过程中可以使用随机梯度下降(SGD)等优化技术。微调后的优化参数记作

 

图7:GPT在不同文本相关任务上的微调说明

如图7所示,在情感分析的文本分类任务中,GPT通过对语言可接受性语料库(CoLA)和斯坦福情感树库(SST-2)进行微调,目标是判断句子是积极还是消极的。样本被处理为特定输入格式,如“s这部电影真棒!e”,并输入预训练的GPT进行监督学习,se分别是开始和结束标记。其他下游任务可以通过左键点击每个框来查看。在那里,你可以看到不同任务的输入和输出,包括特定的数据源,即GPT模型在相应下游任务上训练的数据集。其他任务如文本蕴含任务中,模型预测前提(“猫坐在垫子上”)和假设(“猫在室内”)之间的关系;在相似性任务中,模型计算两个句子的相似性(如“阳光灿烂”和“天气晴朗阳光明媚”);在多项选择任务中,模型从选项(如“巴黎”,“伦敦”,“柏林”)中选择正确答案(如“巴黎”)。这些任务都可以视为分类任务。因此,在分类、蕴含和多项选择任务中使用交叉熵损失函数:

其中,是类别数量,是类别的真实标签 (如果类别是正确类别则为 1,否则为 0),而是类别的预测概率。在相似性任务中,模型预测的是两个输入的相似度得分,常用的损失函数是均方误差(MSE):

其中,是样本数量,是第个样本的真实相似度得分,是第个样本的预测相似度得分。

微调GPT模型需要大量资源,但在监督任务中表现出色,还有多种技术可提升模型在不同任务中的表现。图8是对大型语言模型(LLMs)的四种经典微调技术的说明。

图8:LLM四种经典微调技术的说明

前缀调整(图8(a))[5]通过训练前缀向量,以较低计算成本优化文本生成任务的表现,并能适应不同任务而无需修改模型结构。

提示调整(图8(b))[6]通过训练提示标记来提升任务表现,适用于分类和生成任务,具有高参数效率并能通过调整提示标记适应不同任务。

基于提示的调整系列技术(图8(c))[7],[8]通过优化嵌入的提示,增强模型在多语言和深度上下文理解任务中的表现,使其能够高效适应各种任务。

LoRA(低秩适应)及其变种(图8(d))[9]通过引入低秩适应和参数高效的优化技术来减少微调的计算成本,同时保持或提升模型性能,适用于资源有限的高性能任务。

2.3 强化学习结合人类反馈

由于难以手动构建对话质量的奖励函数,开发者在监督微调后使用强化学习,通过人类反馈进一步优化ChatGPT的输出。在这一训练过程中,用户首先与当前模型进行对话,然后根据自己的偏好对响应进行排名,这将被用来使用强化学习训练模型。图9展示了互动的过程。

图9:使用人工反馈的强化学习示意图。

对于给定的输入,模型输出多个响应,然后由人类对这些响应进行排名,并基于强化学习对模型进行训练。在多次输入给定的对话提示后,获得多个响应,从中抽取一组输出,并在绿色框中显示。每个输出的全部内容可以通过移动到选项所在区域来显示,然后可以拉动条形的高度表达对每个响应的偏好程度,对这些答案进行排名。随后,排名响应被用来训练一个单独的奖励模型,以将这些信息蒸馏到一个标量奖励中,从而实现比纯监督设置更具交互性的训练。在训练奖励模型时,使用的损失函数是一种成对排序损失[10],其公式如下:

其中每个输入提示个输出完成或答案,每次选择两个答案进行比较。假设是一对答案,其中的排名高于,意味着是更好的答案而是较差的一个。它们的奖励标量输出分别表示为,其中表示奖励函数的参数。是包含所有答案对的排序数据集,是sigmoid函数。策略模型是使用不同的对话历史(状态)进行训练的,并且从奖励模型中接收相应的数值奖励,用于训练 ChatGPT 的强化学习算法是近端策略优化(PPO)[11]。使用PPO的主要目标是使大语言模型(LLM)改进其响应,从而在与环境的交互中最大化其累积奖励。

在上述方程中,表示正在学习的当前模型,其参数初始化为第一步中训练的SFT(监督式微调)模型。方程中的第一项是给定提示下输出的奖励分数。这一项旨在更新参数,使模型的输出更接近人类的期望。第二项是一个正则化项,表示为KL散度,确保当前训练的模型与SFT模型保持一致。正则化项可以防止基于奖励模型的过度优化,并避免模型偏离太远。是一个超参数,用于平衡奖励和策略变化的权重。这两个项的总和构成了PPO(近端策略优化)模型。最后一项,称为PPO-ptx,被包括在内是为了防止模型过度拟合当前的排序任务,从而导致忘记之前预训练中学到的知识。在这里,指的是预训练数据集,意味着从这个数据集中采样并包含在训练中,而是一个超参数,用于平衡两个期望项的权重。使用基于奖励模型的PPO进行的训练包括多个迭代。在每次迭代中,更新的策略被用来收集额外的响应以进行偏好排名。随后,训练一个新的奖励模型,并通过另一轮PPO更新进一步细化策略。这个迭代过程,包括生成替代响应、使用奖励模型评估它们,并通过PPO更新策略模型,因此帮助ChatGPT微调其行为并提高其在交互式对话中的性能。图中说明了总共四次迭代。在每次迭代中,四个选项被排名,排名最低的选项被替换。每个被替换的选项的背景色相应变化,而图中箭头颜色的变化代表模型转移。

总之,监督式提示学习和来自人类反馈的强化学习能显著提高模型性能,特别是在与人类价值观的一致性方面。

2.4 提示工程

Prompt工程通过设计和优化提示,影响LLMs的输出,确保生成连贯且符合上下文的内容。优化提示有许多技术和策略。下面,我们讨论五种基本的提示方法,包括零样本提示、少次学习、思维链(Chain-of-Thought,简称CoT)、自我一致性抽样和检索增强生成(Retrieval Augmented Generation,简称RAG)。

①零样本提示:使LLMs无需特定任务提示即可执行任务,利用其训练中获得的知识生成相关且准确的响应。

②少样本提示:通过少量示例帮助语言模型快速学习并适应新任务。

③上下文提示:在提示中包含对话背景和当前任务或查询,以帮助模型更好地理解。

④链式思维(CoT prompting)提示:通过一系列关联提示引导模型进行连贯推理,捕捉更动态的对话过程。

⑤自一致性采样(Self-Consistency Sampling):通过模型自身生成的内容引导后续响应,增强响应的可靠性和连贯性。

⑥检索增强生成提示(RAG prompting):通过明确的问题、上下文和指令,确保提示的相关性和清晰性,来有效引导模型生成响应。

如图10所示,展示了一些提示工程的简要示例。在绿色对话框中,给出了模型输入和模型输出的几个示例。在橙色对话框中,展示了五种不同提示的示例,不仅有原始问题,还提供了一系列完整的问答示例。图中使用了不同的提示来引导大型语言模型(LLM)为各种问题输出所需的结果。当输入与人工构建的提示相结合时,输出结果能够更完整地满足提问者的需求。(注:在该示例中,我们没有用零样本学习提示为模型提供示例,因为通过比较从原始输入和基于提示的输入中获得的输出,我们发现其他几个示例能更好地引导大型语言模型生成符合任务要求的答案,零样本学习提示建议在不同的提示工程技术中提供演示或示例)。

 图10:提示工程技术的说明

从上图我们可以发现,通过少-零样本提示,结合少样本、上下文、链式思维、自一致性和RAG提示,LLMs能更好地完成复杂任务,精心设计的提示对于实际应用至关重要。

3 基于LLMs(ChatGPT and DALL.E)的儿童绘本生成

在图11中,我们将分别给出使用ChatGPT和DALL.E生成内容的两个示例。这两个示例将结合在一起,介绍一个针对不同用户文本输入的图画书。我们可以看到,ChatGPT根据用户输入生成故事文本,展示了对角色和情境的良好理解,而DALL.E则基于这些文本生成合理的图像。ChatGPT 用于生成对话和叙述,DALL.E 根据文本生成图像。尽管 DALL.E 可以根据 ChatGPT 生成的文本描述生成合理的图像,但仍然需要少次提示工程来创造更加一致的图像,这在我们的示例中也得到了实施。

图11:基于LLM生成儿童绘本实例

ChatGPT 和 DALL.E 通过不同的数据集进行预训练和微调,分别侧重于文本生成和图像生成。ChatGPT 采用 RLHF 提升性能,而 DALL.E 未明确使用该方法。更重要的是,使用生成式模型时需关注伦理问题,确保安全和准确的内容生成。

4. 总结

本文主要从生成模型的角度对大型语言模型(LLMs)进行了说明,包括预训练、监督微调和基于人类反馈的强化学习,并简要描述了在工业应用中提示工程技术的应用,重点讨论了生成式LLMs(如ChatGPT和DALL·E)如何改变了AI生成内容的方式。

然而,我们必须认识到生成模型的局限性以及与生成性LLMs相关的潜在伦理问题。生成不正确或不适当的响应的情况突显了负责任使用、自动化验证和对LLMs进行法律监管的必要性。为了解决这些问题,我们可以加强用户识别能力、实施过滤机制、建立用户反馈系统、引入伦理审查等措施,这些综合措施旨在提高生成内容的质量和可信度。因此,对于减少偏见、确保公平性以及增强用户安全性的研究需求非常迫切。

参考文献

[1]X. Yan, Y. Xiao and Y. Jin, "Generative Large Language Models Explained [AI-eXplained]," in IEEE Computational Intelligence Magazine, vol. 19, pp. 45-46, Nov. 2024,

[2]T. Mikolov, K. Chen, G. Corrado, and J. Dean, “Efficient estimation of word representations in vector space,” arXiv preprint arXiv:1301.3781, 2013.

[3]J. Pennington, R. Socher, and C. D. Manning, “Glove: Global vectors for word representation,” In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2014, pp. 1532–1543.

[4]A. Joulin, E. Grave, P. Bojanowski, and T. Mikolov, “Bag of tricks for efficient text classification,” In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistic, 2017, pp. 427-431.

[5]X. L. Li and P. Liang, “Prefix-tuning: Optimizing continuous prompts for generation,” Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics.pp 4582-4597, 2021

[6]B. Lester, R. Al-Rfou, and N. Constant, “The power of scale for parameter-efficient prompt tuning,”Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing, pp. 3045–3059, 2021.

[7]X. Liu, Y. Zheng, Z. Du, M. Ding, Y. Qian, Z. Yang, and J. Tang, “Gpt understands, too,” AI Open, 2023.

[8]X. Liu, K. Ji, Y. Fu, W. L. Tam, Z. Du, Z. Yang, and J. Tang, “P-tuning v2: Prompt tuning can be comparable to fine-tuning universally across scales and tasks,” arXiv preprint arXiv:2110.07602, 2021.

[9]E. J. Hu, Y. Shen, P. Wallis, Z. Allen-Zhu, Y. Li, S. Wang, L. Wang, and W. Chen, “LoRA: Low-rank adaptation of large language models,” in International Conference on Learning Representations, 2022. [Online]. Available: https: //openreview.net/forum?id=nZeVKeeFYf9

[10]L. Ouyang, J. Wu, X. Jiang, D. Almeida, C. Wainwright, P. Mishkin, C. Zhang, S. Agarwal, K. Slama, A. Ray, et al., “Training language models to follow instructions with human feedback,” Advances in neural information processing systems, 2022, vol. 35, pp. 27730-27744

[11]J. Schulman, F. Wolski, P. Dhariwal, A. Radford, and O. Klimov, “Proximal policy optimization algorithms,” arXiv preprint arXiv:1707.06347, 2017


                                                 End  


初稿|林雪莹 颜学明

复审|颜学明

终审|金耀初



可信及通用人工智能实验室
金耀初实验室(可信及通用人工智能实验室)由欧洲科学院院士、IEEE Fellow,西湖大学人工智能讲席教授金耀初领导成立。实验室致力于应用驱动的可信人工智能研究,以及采用演化发育方法探索实现通用人工智能的新途径。
 最新文章