更多内容:XiaoJ的知识星球
目录
- 2.5 基于 Decoder-only 架构的大语言模型
- 2.5.1 Decoder-only 架构
- 2.5.2 GPT 系列语言模型
- 1)初出茅庐:GPT-1 模型
- 2)小有所成:GPT-2 模型
- 3)崭露头角:GPT-3 模型
- 4)蓄势待发:InstructGPT 等模型
- 5)一鸣惊人:ChatGPT 以及 GPT-4 等模型
- 2.5.3 LLAMA 系列语言模型
- 1)LLaMA1 模型
- 2)LLaMA2 模型
- 3)LLaMA3 模型
- 4)LLaMA 衍生模型
.
2.5 基于 Decoder-only 架构的大语言模型
在开放式(Open-Ended)生成任务中,通常输入序列较为简单,甚至没有具体明确的输入,因此维持一个完整的编码器来处理这些输入并不是必要的。
对于这种任务,Encoder-Decoder 架构可能显得过于复杂且缺乏灵活性。在这种背景下,Decoder-only 架构表现得更为优异。
本节将对 Decoder-only 架构及其代表性模型进行介绍。
.
2.5.1 Decoder-only 架构
1)自回归方法:逐字生成文本,不仅保持了长文本的连贯性和内在一致性,而且在缺乏明确输入或者复杂输入的情况下,能够更自然、流畅地生成文本。
2)去除了编码器部分:使得模型更加轻量化,从而加快了训练和推理的速度。
.
GPT 系列是起步最早的 Decoder-only 架构,在性能上也成为了时代的标杆。但从第三代开始,GPT 系列逐渐走向了闭源。
而 LLaMA 系列虽然起步较晚, 但凭借着同样出色的性能以及始终坚持的开源道路,也在 Decoder-only 架构领域占据了一席之地。
接下来将对这两种系列的模型进行介绍。
.
2.5.2 GPT 系列语言模型
GPT(Generative Pre-trained Transformer):
-
GPT系列模型基于 Decoder-only 架构的大语言模型。
-
其演进历程可以划分为五个阶段,如下表所示。
表 2.3: GPT 系列模型参数和语料大小表。
模型 | 发布时间 | 参数量(亿) | 语料规模 |
---|---|---|---|
GPT-1 | 2018.06 | 1.17 | 约 5GB |
GPT-2 | 2019.02 | 1.24 / 3.55 / 7.74 / 15 | 40GB |
GPT-3 | 2020.05 | 1.25 / 3.5 / 7.62 / 13 / 27 / 67 / 130 / 1750 | 1TB |
ChatGPT | 2022.11 | 未知 | 未知 |
GPT-4 | 2023.03 | 未知 | 未知 |
GPT-4o | 2024.05 | 未知 | 未知 |
GPT 系列模型参数规模与预训练语料规模呈现出激增的趋势。自 ChatGPT 版本起,GPT 系列模型转向了闭源模式,其具体的参数量和预训练数据集的详细信息已不再公开。
.
1)初出茅庐:GPT-1 模型
但当时所用的 RNN 模型无法很好解决长距离依赖问题,Transformer 的出现为这一问题提供了新的解决方案了。
GPT-1 开创了 Decoder-only 架构下,通过下一词预测解决无监督文本生成的先河,为自然语言处理领域带来了革命性的影响。
.
(1) GPT-1 模型结构
在模型架构方面,GPT-1 使用了 Transformer 架构中的 Decoder 部分:
-
省略了 Encoder 部分以及交叉注意力模块。
-
12 个解码块堆叠而成,每个解码块包含一个带掩码的自注意力模块和一个全连接前馈模块。
下图对比了 BERT-Base 以及 GPT-1 的模型结构。从图中可以看出:
-
GPT-1 在结构上与 BERT-Base 高度类似;
-
本质区别:BERT-Base 中的自注意力模块是双向的自注意力机制,而 GPT-1 中的自注意力模块则是带有掩码的单向自注意力机制。
图 2.13: BERT-Base 和 GPT-1 模型。
.
(2) GPT-1 预训练方法
GPT-1 使用小说数据集 BookCorpus 来进行预训练。
在预训练方法上,GPT-1 采用下一词预测任务。以自回归的方法不断完成下一词预测任务,模型可以有效地完成文本生成任务,如图所示。
图 2.14: GPT-1 语言建模预训练任务
这不仅提高了模型的泛化能力,而且减少了 对标注数据的依赖,为自然语言处理领域带来了新的研究方向和应用前景。
.
(3) GPT-1 下游任务
GPT-1模型预训练后有潜力但任务泛化受限,通常需有监督微调提升下游任务表现,微调用特定任务标注数据优化模型参数,输入输出为文本序列,需构建适配应用场景的微调策略。
-
文本分类:GPT-1 能够接收一段文本作为输入,并根据预定义的类别标签,如情感倾向(积极、消极或其他),对文本进行分类。这在情感分析、主题分类等场景中非常有用。
-
文本相似度评估:当需要衡量两段文本之间的相似性时,GPT-1 能够分析并量化它们的内容和语义相似度。这项功能在比较文档、搜索结果优化和推荐系统中尤为重要。
-
多项选择题解答:GPT-1 还可以处理多项选择问题。模型能够理解问题文本和选项内容,从给定的选项中识别并输出最合适的答案。
.
2)小有所成:GPT-2 模型
相较于 GPT-1,GPT-2 在模型规模和预训练样本的质量上都进行了显著的提升,显著增强了模型的任务泛化能力。
.
(1) GPT-2 模型结构
GPT-2 模型延续了 GPT-1 的 Decoder-only 架构,并在此基础上进一步加大了参数数量。GPT-2 一共发布了四个版本,分别是 GPT-2 Small、GPT-2 Medium、GPT-2 Large 以及 GPT-2 XL。
GPT-2 Small在模型规模上接近GPT-1及BERT-Base,GPT-2 Medium在模型规模上接近BERT-Large。
(2) GPT-2 预训练方法
在预训练中,GPT-2 继续采用下一词预测任务,但进一步提升了预训练数据的数量和质量。
通过使用 WebText 数据集进行预训练,GPT-2 的语言理解能力得到了显著增强,接触到了更多样化的语言使用场景,还学习到了更复杂的语言 表达方式。
.
(3) GPT-2 下游任务
GPT-2 的任务泛化能力得到了改善,在某些任务上可以不进行微调,直接进行零样本学习。这种能力大大增加了 GPT-2 在处理下游任务时的灵活性,降低了下游任务适配所需的成本。这为 Decoder-only 架构博得了更多关注。
.
3)崭露头角:GPT-3 模型
与前两代模型相比,GPT-3 在模型规模和预训练语料上进一步提升,并涌现出了优良的上下文学习(In-Context Learning, ICL)能力。
在上下文学习能力的加持下,GPT-3 可以在不进行微调的情况下,仅通过任务描述或少量示例即可完成多 样化的下游任务。
.
(1) GPT-3 模型架构
GPT-3在架构上继承并扩展前两代,增加解码块数量、隐藏层维度和自注意力头数量,参数量最高达1750亿,能捕获更细微复杂的语言模式,提升文本生成能力,且设计了多个不同参数规模版本以满足不同场景需求。
表 2.4: GPT-1 至 GPT-3 模型具体参数表。
模型版本 | 解码块数量 | 隐藏层维度 | 自注意力头数量 | 总参数量(亿) |
---|---|---|---|---|
GPT-1 | 12 | 768 | 12 | 1.17 |
GPT-2 Small | 12 | 768 | 12 | 1.24 |
GPT-2 Medium | 24 | 1024 | 16 | 3.55 |
GPT-2 Large | 36 | 1280 | 20 | 7.74 |
GPT-2 XL | 48 | 1600 | 36 | 15 |
GPT-3 Small | 12 | 768 | 12 | 1.25 |
GPT-3 Medium | 24 | 1024 | 16 | 3.5 |
GPT-3 Large | 24 | 1536 | 16 | 7.62 |
GPT-3 XL | 24 | 2048 | 24 | 13 |
GPT-3 2.7B | 32 | 2560 | 32 | 27 |
GPT-3 6.7B | 32 | 4096 | 32 | 67 |
GPT-3 13B | 40 | 5120 | 40 | 130 |
GPT-3 175B | 96 | 12288 | 96 | 1750 |
.
(2) GPT-3 预训练方法
延续了前两代的预训练方法,GPT-3 继续采用下一词预测作为预训练任务。
使用了更大规模和更多样化的互联网文本数据集,以确保数据的质量和多样性。基于这些数据,GPT-3 学习到了更加丰富和多元的语言知识和世界知识。
.
(3) GPT-3 下游任务
GPT-3 模型涌现出了良好的上下文学习能力,使其可以在无需微调的情况下,仅通过在输入文本中明确任务描述和提供少量示例,便能够执行多种下游任务。
上下文学习能力极大地增强了 GPT-3 的任务泛化能力,使其能够快速适应不同的应用场景。GPT-3 开始在文本生成、问答系统、语言翻译等众多自然语言处理任务中崭露头角。
.
4)蓄势待发:InstructGPT 等模型
在 GPT-3 的基础上,OpenAI 进一步推出了一系列衍生模型。这些模型在 GPT-3 网络结构之上通过特定的训练方法,各个“身怀绝技”。
其中,最具启发意义的是 InstructGPT,其也是 ChatGPT 的前身。它通过引入了人类反馈强化学习(Reinforcement Learning from Human Feedback, RLHF), 显著提升了模型对用户指令的响应能力。
人类反馈强化学习通过三个步骤提升模型输出质量:
-
(1)有监督微调:用“问题-人类回答”对微调大语言模型;
-
(2)训练奖励模型:生成多个候选输出,人工评估排名,训练奖励模型打分;
-
(3)强化学习微调:用奖励模型评分,通过强化学习调整模型参数,提升高质量输出概率。
图 2.15: 人类反馈强化学习(RLHF)过程
RLHF计算成本高,因奖励模型训练复杂且需多模型联合训练。
为解决此问题,2023年斯坦福大学提出直接偏好优化(Direct Preference Optimization, DPO)算法,直接利用人类偏好数据训练模型,省略构建奖励模型和应用强化学习步骤,简化流程,提高训练效率和模型稳定性,虽在处理复杂偏好时略逊于RLHF,但计算优势使其广泛应用。
.
5)一鸣惊人:ChatGPT 以及 GPT-4 等模型
ChatGPT(Chat Generative Pretrained Transformer):
以强大的对话能力展示了令人惊讶的智能,一度引发其是否可以通过“图灵测试”的讨论。
用户可以通过OpenAI提供的网页端或API轻松使用预训练后的ChatGPT模型,无需本地部署,标志着一种新的服务模式LLMaaS(LLM as a Service)的出现。
GPT-4:
2023年3月,OpenAI发布了GPT-4,它在理解复杂语境、捕捉语言细微差别、生成连贯文本等方面优于ChatGPT,还能更有效地处理数学问题和编程挑战,并且支持图文双模态,可在图像描述和视觉问答等领域应用。
GPT-4o:
2024年5月,OpenAI又推出了GPT-4o,它在GPT-4的基础上进一步提升了响应速度,降低了延迟,并增强了多模态处理能力和多语言支持能力。GPT-4o在客户支持、内容创作和数据分析等领域表现出色,标志着AIGC应用的成熟度不断提高。
.
2.5.3 LLAMA 系列语言模型
LLaMA(Large Language Model Meta AI)
-
LLaMA 借鉴了 GPT 系列的设计理念,同时在技术细节上进行了创新和优化。
-
LLaMA 与 GPT 区别:GPT升级主线聚焦于模型规模与预训练语料的同步提升,而 LLaMA 则在模型规模上保持相对稳定,更专注于提升预训练数据的规模。
当前,Meta AI 共推出三个版本的 LLaMA 模型。
表 2.5: LLaMA 系列模型参数和语料大小表
模型 | 发布时间 | 参数量(亿) | 语料规模 |
---|---|---|---|
LLAMA-1 | 2023.02 | 67/130/325/652 | 约 5TB |
LLAMA-2 | 2023.07 | 70/130/340/700 | 约 7TB |
LLAMA-3 | 2024.04 | 80/700 | 约 50TB |
.
1)LLaMA1 模型
LLaMA1是Meta AI于2023年2月推出的大语言模型,遵循“小模型 + 大数据”理念,利用大规模优质数据训练较小模型,以实现更快推理速度,适应计算资源有限场景。
.
(1)预训练数据:
LLaMA1的预训练数据来源广泛,包括Common Crawl、C4、Github、Wikipedia、Books、ArXiv和StackExchange等数据集。这些数据集涵盖了多种领域和类型。
(2)模型架构:
在模型架构方面,LLaMA1 采用了与 GPT 系列同样的网络架构。但是,其在 Transformer 原始词嵌入模块、注意力模块和全连接前馈模块上进行了优化。
-
词嵌入模块上:参考 GPTNeo 模型,使用旋转位置编码(Rotary Positional Embeddings, RoPE)增强了模型对序列顺序的理解。
-
注意力模块上:参考 PaLM 模型,将 Transformer 的 RELU 激活函数改为 SwiGLU 激活函数。这种激活函数的改进显著提高了模型的性能。
-
全连接前馈模块上:LLaMA1 借鉴 GPT-3 中的 Pre-Norm 层正则化策略,将正则化应用于自注意力和前馈网络的输入。
在注意力模块和全连接前馈模块上的改进,如图下所示。
图 2.16: LLaMA 解码块架构与标准 Transformer 解码器架构对比
.
2)LLaMA2 模型
秉承 “小模型 + 大数据”的设计理念,LLaMA2 在 LLaMA1 的基础上进一步优化和扩充 了训练数据
.
(1)预训练阶段
在预训练阶段之后,LLaMA2 采纳了人类反馈强化学习的方法,进一 步提升了模型的性能。
-
首先,使用大规模且公开的指令微调数据集对模型进行有监督的微调。
-
然后,训练 RLHF 奖励模型,并基于近似策略优化(Proximal Policy Optimization, PPO)以及拒绝采样(Rejection Sampling)进行强化学习对模型进行更新。
.
(2)模型架构上:
在模型架构上,LLaMA2 继承了 LLaMA1 的架构。LLaMA2推出了四个版本的模型:LLaMA2-7B、LLaMA2-13B、LLaMA2-34B、LLaMA2-70B。
其中,LLaMA2-34B和LLaMA2-70B引入了分组查询注意力(Grouped Query Attention, GQA)机制,键(key)以及值(value)不再与查询(query)一一对应,而是让一组查询共享相同的键和值,有效降低了内存占用和模型总参数量,从而提升了计算效率。
.
3)LLaMA3 模型
(1)预训练阶段
LLaMA3在训练数据规模、多语言支持、模型性能及训练策略上均有提升。其预训练语料达50TB,是LLaMA2的7倍,含丰富代码数据及超5%的涵盖30多种语言的非英文数据,提升了逻辑推理与跨语言处理能力。LLaMA3延续了LLaMA2的人类反馈强化学习策略,性能全面超越前代,如80亿参数版性能超LLaMA2的700亿参数版,700亿参数版在多项任务上超越GPT-4模型。
.
(2)模型架构上:
在模型架构上,LLaMA3 与前一代 LLaMA2 几乎完全相同,只是在分词(tokenizer)阶段字典长度扩大了三倍,极大提升了推理效率。
.
4)LLaMA 衍生模型
下面对三类主流的 LLaMA 衍生模型进行简要介绍。
(1)性能改进类模型:一些研究者专注于通过微调继续提升 LLaMA 模型性能。
-
Alpaca:基于 GPT-3.5 生成的指令遵循样例数据对 LLaMA1 进行微调, 以较小的模型规模实现了与 GPT-3.5 相媲美的性能。
-
Vicuna:利用 ShareGPT 平台上累积的日常对话数据微调 LLaMA1 模型,进一步提升了它的对话能力。
-
Guanaco:通过在微调 LLaMA1 的过程中引 入 QLoRA 技术,显著降低了微调的时间成本。
(2)垂域任务类模型:大量研究者们针对特定领域对 LLaMA 进行微调。
-
CodeLLaMA:在 LLaMA2 的基础上,利用大量公开代码数据进行微调,使其能更好地适应自动化代码生成、错误检测、以及代码优化等任务。
-
LawGPT:通过 30 万条法律问答对 LLaMA1 模型进行指令微调,显著增强了其对法律内容的处理能力。
-
GOAT:通过 Python 脚本生成的数学题库对 LLaMA1 模型进行微调,提高其解决各类数学题的准确率。
-
Cornucopia:利用金融问答数据进行微调,增强了金融问答的效果。
(3)多模态任务类模型:研究者们将 LLaMA 模型扩展到多模态任务上。
-
LLaVA:在 Vicuna 的基础上利用 CLIP 提取图像特征并利用一个线性投影层实现图片和文本之间的对齐。
-
MiniGPT4:在 Vicuna 的基础上使用 VIT-G/14 以及 Q-Former 作为图像编码器,并同样使用线性投影层来实现图片和文本之间的对齐,展现了多模态任务处理能力。
.
Decoder-only 架构的大语言模型小结:
基于Decoder-only架构的大语言模型,因卓越的生成能力,引领了生成式人工智能的发展。
表2.8显示,GPT和LLaMA系列模型的参数数量及预训练语料规模增长迅速。随着算力和数据资源的进一步丰富,这类模型将展现更强大的性能。
表 2.8: GPT 系列和 LLaMA 系列模型参数和语料大小表。
模型 | 发布时间 | 参数量(亿) | 语料规模 |
---|---|---|---|
GPT-1 | 2018.06 | 1.17 | 约 5GB |
GPT-2 | 2019.02 | 1.24 / 3.55 / 7.74 / 15 | 40GB |
GPT-3 | 2020.05 | 1.25 / 3.5 / 7.62 / 13 / 27 / 67 / 130 / 1750 | 1TB |
ChatGPT | 2022.11 | 未知 | 未知 |
GPT-4 | 2023.03 | 未知 | 未知 |
GPT-4o | 2024.05 | 未知 | 未知 |
LLAMA-1 | 2023.02 | 67 / 130 / 325 / 652 | 约 5TB |
LLAMA-2 | 2023.07 | 70 / 130 / 340 / 700 | 约 7TB |
LLAMA-3 | 2024.04 | 80 / 700 | 约 50TB |
.
其他参考:【大模型基础_毛玉仁】系列文章
声明:资源可能存在第三方来源,若有侵权请联系删除!