【大模型基础_毛玉仁】2.5 基于 Decoder-only 架构的大语言模型 -- GPT和LLaMa模型介绍

news2025/3/17 18:56:32

更多内容: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-12018.061.17约 5GB
GPT-22019.021.24 / 3.55 / 7.74 / 1540GB
GPT-32020.051.25 / 3.5 / 7.62 / 13 / 27 / 67 / 130 / 17501TB
ChatGPT2022.11未知未知
GPT-42023.03未知未知
GPT-4o2024.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-112768121.17
GPT-2 Small12768121.24
GPT-2 Medium241024163.55
GPT-2 Large361280207.74
GPT-2 XL4816003615
GPT-3 Small12768121.25
GPT-3 Medium241024163.5
GPT-3 Large241536167.62
GPT-3 XL2420482413
GPT-3 2.7B3225603227
GPT-3 6.7B3240963267
GPT-3 13B40512040130
GPT-3 175B9612288961750

.

(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模型,无需本地部署,标志着一种新的服务模式LLMaaSLLM 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-12023.0267/130/325/652约 5TB
LLAMA-22023.0770/130/340/700约 7TB
LLAMA-32024.0480/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-12018.061.17约 5GB
GPT-22019.021.24 / 3.55 / 7.74 / 1540GB
GPT-32020.051.25 / 3.5 / 7.62 / 13 / 27 / 67 / 130 / 17501TB
ChatGPT2022.11未知未知
GPT-42023.03未知未知
GPT-4o2024.05未知未知
LLAMA-12023.0267 / 130 / 325 / 652约 5TB
LLAMA-22023.0770 / 130 / 340 / 700约 7TB
LLAMA-32024.0480 / 700约 50TB

.


其他参考:【大模型基础_毛玉仁】系列文章


声明:资源可能存在第三方来源,若有侵权请联系删除!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2316769.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何解决ChatGPTplus/pro o1/o3模型无法识别图片或者文件,限制次数?

你是否遇到ChatGPTplus无法识别图片、或者无法识别文件,甚至回答很简短,o1不思考,GPT-4o不能联网、分析图片和处理文件!感觉非常敷衍。本文教你如何确定自己的账号是否被降智;教你如何降智的原因;教你解决降…

go的gmp

参考链接:https://www.bilibili.com/video/BV19r4y1w7Nx Golang的GMP调度模型(协程调度器)是其并发编程的核心。GMP代表Goroutine、Machine和Processor三个关键组成部分。Goroutine是Go语言中的轻量级线程,Machine是操作系统的线程,Processor…

Vue开发者工具(VueDevtools)下载与安装

一、这里采用极简插件 网址:chrome.zzzmh.cn/index#/inde… 输入 vue.js.devtools并访问 点击推荐下载 下载到本地解压缩 然后把这个文件移动到谷歌插件里面,开启开发者模式 点击详情,开启一些权限 写的一个demo,如果有vue代码的话,就会…

【Linux】https 协议

目录 一、https 协议 二、加密和解密 (一)为什么需要加密与解密 (二)加密和解密的过程 (二)常见的加密方式 1、对称加密 2、非对称加密 3、数据摘要 4、数字签名 三、https 的加密方式 &#xff…

新手村:数据预处理-特征缩放

新手村:数据预处理-特征缩放 特征缩放(Feature Scaling)是数据预处理中的一个重要步骤,特别是在应用某些机器学习算法时。特征缩放可以使不同尺度的特征具有相同的量级,从而提高模型训练的效率和性能。常见的特征缩放方…

Xinference大模型配置介绍并通过git-lfs、hf-mirror安装

文章目录 一、Xinference开机服务systemd二、语言(LLM)模型2.1 配置介绍2.2 DeepSeek-R1-Distill-Qwen-32B(大杯)工具下载git-lfs(可以绕过Hugging Face) 2.3 DeepSeek-R1-Distill-Qwen-32B-Q4_K_M-GGUF&am…

0x04.若依框架微服务开发(含AI模块运行)

微服务本地开发硬件资源有限,所以会将核心微服务组件先部署在服务器上比如:mysql,redis,注册中心Nacos,网关Gateway,认证中心Auth和upms模块以及低代码生成模块。 mysql、redis部署前篇已讲,这…

判断是不是二叉搜索树(C++)

目录 1 问题描述 1.1 示例1 1.2 示例2 2 解题思路 3 代码实现 4 代码解析 4.1 中序遍历函数 inorder 4.2 主函数 isValidBST 初始化及中序遍历调用 4.3 检查数组中元素是否严格递增 4.4 返回验证结果 5 总结 1 问题描述 给定一个二叉树根节点,请你判断…

Linux--gdb/cgdb

ok,我们今天学习gdb的安装和使用 调试器-gdb/cgdb使用 VS、VScode编写的代码一般都是release格式的,gdb 的格式一般是debug 换成debug模式命令 :-g gdb会记录最新的一条命令,直接回车就是默认执行该命令 一个调试周期下,断点…

超精密工件小孔几何尺寸测量:自动化解决方案

下载链接:(最新版本)超精密工件小孔几何尺寸测量:自动化解决方案python脚本代码,可直接运行,内包含测试数据,亲测好用资源-CSDN文库 在现代制造业中,超精密工件的质量控制至关重要&a…

Blender-MCP服务源码1-项目解读

Blender-MCP服务源码 有个大佬做了一个Blender-MCP源码,第一次提交代码是【2025年3月7号】今天是【2025年月15日】也就是刚过去一周的时间,所以想从0开始学习这个代码,了解一下大佬们的开发思路 1-核心知识点 1)第一版&#xff1…

小程序配置

注册小程序账号和安装开发工具 参考文档:注册小程序账号和安装开发工具https://blog.csdn.net/aystl_gss/article/details/127878658 HBuilder新建项目 填写项目名称,选择UNI-APP,修改路径,点击创建 manifest.json 配置 需要分别…

基于Python的selenium入门超详细教程(第1章)--WebDriver API篇

学习路线 自动化测试介绍及学习路线-CSDN博客 ​自动化测试之Web自动化(基于pythonselenium)-CSDN博客 参照博文:selenium入门超详细教程——网页自动化操作-CSDN博客 目录 前言 一、WebDriver API介绍 1.1 什么是WebDriver? 1.2 工…

每日Attention学习26——Dynamic Weighted Feature Fusion

模块出处 [ACM MM 23] [link] [code] Efficient Parallel Multi-Scale Detail and Semantic Encoding Network for Lightweight Semantic Segmentation 模块名称 Dynamic Weighted Feature Fusion (DWFF) 模块作用 双级特征融合 模块结构 模块思想 我们提出了 DWFF 策略&am…

接上一篇,C++中,如何设计等价于Qt的信号与槽机制。

看下面例子: class FileManager : public QObject {Q_OBJECTpublic:FileManager(QObject* parent nullptr) : QObject(parent) {}void changeFileName(const QString& newName) {fileName newName;emit fileNameChanged(fileName);}signals:void fileNameChan…

安装baselines出现的环境配置问题

该错误通常是由于环境配置问题、依赖包缺失、权限不足等原因导致 1. 更新相关工具 pip install --upgrade pip setuptools 2. 检查并安装依赖 conda install setuptools pip wheel 出现新问题: 3.尝试使用 Conda 安装 conda install mpi4py 再尝试安装 baseli…

perl的package中“Subroutine new redefined”问题

我在一个脚本run_PMseq.V8.pl调用了一些.pm文件 $perl -c run_PMseq.V8.pl Subroutine new redefined at /mnt/lustre/user/wubin/01.Program/Scripts/01.script/GeneLab/PMSeq/package_V3/Add_mismatch.pm line 25. Subroutine generate_shell redefined at /mnt/lustre/use…

英语学习(GitHub学到的分享)

【英语语法:https://github.com/hzpt-inet-club/english-note】 【离谱的英语学习指南:https://github.com/byoungd/English-level-up-tips/tree/master】 【很喜欢文中的一句话:如果我轻轻松松的学习,生活的幸福指数会提高很多…

【eNSP实战】三层交换机使用ACL实现网络安全

拓图 要求: vlan1可以访问Internetvlan2和vlan3不能访问Internet和vlan1vlan2和vlan3之间可以互相访问PC配置如图所示,这里不展示 LSW1接口vlan配置 vlan batch 10 20 30 # interface Vlanif1ip address 192.168.40.2 255.255.255.0 # interface Vla…

Javascript BOM,DOM 知识简介

JSON 一种数据交换格式,作为数据载体,传输数据, Json比xml 更简单,可读性更高.js的对象和Json可以相互转换. //json定义格式: var varName{"key1":value1,"key2":value2};value的数据类型为数字,字符串(在双引号中),布尔值,数组(在方括号中),对象(在花括…