happy_llm学习07—Decoder-Only PLM

Decoder-Only 模型架构是当前大型语言模型(LLM)的基石之一。这类模型通过Decoder 堆叠构建,专注于生成任务,例如文本生成、机器翻译等。GPT 系列模型作为这一架构的代表,引领了大规模预训练语言模型的发展潮流。

1 GPT

GPT,即 Generative Pre-Training Language Model。

在 2018 年左右,自然语言处理领域出现了两个具有划时代意义的预训练语言模型:

模型发布者架构特点代表任务
BERTGoogleEncoder-Only双向注意力,擅长理解分类、问答等理解任务
GPT-1/2OpenAIDecoder-Only单向因果建模,擅长生成文本生成、翻译等生成任务

发布之初,GPT在性能上略低于BERT,此后OpenAI 团队坚定地选择了不断扩大预训练数据、增加模型参数、优化架构设计、强调少样本 / 零样本迁移能力(不依赖 fine-tuning,而是通过 prompt 来引导模型完成任务),终于,2020 年,GPT-3 的发布彻底改变了人们对语言模型的认知,开启了 LLM 新时代。

(1) 模型架构——Decoder Only

与BERT采用Encoder堆叠不同,GPT采用Decoder堆叠构造模型。天生更加适合文本生成任务。

GPT 输入处理流程:

Tokenizer 分词

输入文本通过 tokenizer(如 BPE 或 SentencePiece)进行分词,每个 token 被映射为一个整数 ID,构成 input_ids 序列。

Embedding 层

input_ids 经过嵌入层(Embedding Layer),将每个词 ID 映射为一个向量表示(即词向量)。这些词向量通常具有固定的维度 dmodeldmodel​,例如 768(GPT-2)或更大(GPT-3)。

Positional Embedding(位置编码)

GPT-1 沿用了Transformer中使用的位置编码方式:Sinusoidal 位置编码,通过三角函数进行绝对位置编码。(通过函数生成位置信息,不参与训练)

GPT-2 开始改用 可学习的位置编码,以适应更复杂的任务和长序列建模。

GPT 解码器层流程图示

Input: hidden_states = Embedding + Positional Embedding

For each decoder layer:
    1. LayerNorm(hidden_states)
    2. Masked Self-Attention(LayerNorm_output)
    3. Residual Connection: hidden_states + Attention_output
    4. LayerNorm(residual_output)
    5. Feed-Forward Network (MLP)
    6. Residual Connection: residual_output + MLP_output

GPT 与 BERT 的核心区别总结

方面GPTBERT
模型类型Decoder-OnlyEncoder-Only
注意力机制单向因果注意力(只能看前面)双向自注意力(前后都看)
任务目标因果语言建模(Causal LM)掩码语言建模(MLM)
位置编码Sinusoidal / LearnableLearnable
LayerNorm 位置Pre-LN(在残差连接之前)Post-LN(在残差连接之后)
应用方向文本生成为主自然语言理解为主
(2)预训练任务——CLM

因果语言模型,Casual Language Model,简称 CLM。

是一种基于序列历史信息预测下一个 token 的语言模型。它通过建模联合概率分布来生成文本,具体方式是将联合概率分解为条件概率的形式:

每一个 token ​的出现只依赖于它前面的所有 token,此乃“因果”。过去的所有token影响当前token的预测。

CLM 的工作机制如下:

  1. 输入一个 token 序列
  2. 模型根据这个前缀预测下一个最可能的
  3. 将预测出的新的token加入序列中,继续预测下一个 token
  4. 重复步骤 2~3,直到达到最大长度或遇到结束符(如 <EOS>

这种逐步生成的方式被称为 自回归(Autoregressive)生成

与 N-gram 模型的比较:

特性N-gram 语言模型因果语言模型(CLM)
历史依赖固定长度(如前 n-1 个 token)动态长度(所有前面 token)
上下文感知能力局部依赖,上下文有限全局依赖,可建模长距离依赖
模型复杂度简单,参数少复杂,尤其是基于神经网络时
实现方式统计频率表 / 插值平滑RNN / Transformer / CNN 等
生成能力有限,易生成重复或无意义内容

强大,尤其在大规模模型中

很显然,相比BERT的MLM、NSP,CLM是更直接更符合人类书写习惯的预训练任务,并且同样可以在海量无监督数据上进行大规模的预训练。

CLM输入输出举例:

input: 我喜欢拉布
output: 我喜欢拉布拉

input: 我喜欢拉布拉
output:我喜欢拉布拉多
(3)GPT 系列模型的发展

GPT-1(2018年)

  • OpenAI发布了首个基于Transformer架构的生成式预训练模型GPT-1。
  • 它通过大规模未标注数据进行预训练,然后在特定任务上进行微调,以增强语言理解和生成能力。

GPT-2(2019年)

  • GPT-2拥有更多的参数和更大的数据集,其最大版本有15亿个参数。
  • 引入了零样本学习的概念,即无需额外训练就能执行各种NLP下游任务。

GPT-3(2020年)

  • GPT-3大幅扩展了规模,最大版本包含1750亿个参数。
  • 提出了上下文学习(In Context Learning, ICL)方法,使用提示(Prompt)来适应不同的下游任务,实现了少样本或零样本学习。
  • 推出了OpenAI API,标志着商业运营阶段的开始。

ChatGPT(2022年)

  • 基于GPT-3.5,并采用了人类反馈强化学习(Human Feedback Reinforcement Learning),以更好地对齐人类需求。
  • 两个月内全球活跃用户数突破1亿。

GPT-4(2023年)

  • 展现了更强的理解与推理能力,能够处理图像等多模态数据。
  • 在许多专业和学术测试中表现出超过常人的能力,并接近通用人工智能(AGI)的能力。

2 LLaMA

LLaMA模型是由Meta(前Facebook)开发的一系列大型预训练语言模型,采用了与GPT系列相似的纯解码器架构,这意味着它不包含编码器部分,而是专注于自回归语言建模任务,即根据前面的文本预测下一个单词或标记。

LLaMA模型的发展历程

LLaMA-1 系列

  • Meta于2023年2月发布了LLaMA-1,包括7B、13B、30B和65B四个参数量版本。
  • 这些模型在超过1T token的语料上进行了预训练,其中最大的65B参数模型在2,048张A100 80G GPU上训练了近21天。
  • LLaMA-1因其开源性和优异性能迅速成为开源社区中最受欢迎的大模型之一。

LLaMA-2 系列

  • 2023年7月,Meta发布了LLaMA-2,包含7B、13B、34B和70B四个参数量版本,除了34B模型外,其他均已开源。
  • LLaMA-2将预训练的语料扩充到了2T token,并将模型的上下文长度从2,048翻倍到了4,096。
  • 引入了分组查询注意力机制(Grouped-Query Attention, GQA)等技术。

LLaMA-3 系列

  • 2024年4月,Meta发布了LLaMA-3,包括8B和70B两个参数量版本,同时透露400B的LLaMA-3还在训练中。
  • LLaMA-3支持8K长文本,并采用了编码效率更高的tokenizer,词表大小为128K。
  • 使用了超过15T token的预训练语料,是LLaMA-2的7倍多。

3 GLM

GLM 系列模型是由智谱开发的主流中文 LLM 之一。

为什么叫GLM?

来自其提出的 GLM(General Language Model,通用语言模型)任务,这也是 GLM 的名字由来。GLM 是一种结合了自编码思想和自回归思想的预训练方法。所谓自编码思想,其实也就是 MLM 的任务学习思路,在输入文本中随机删除连续的 tokens,要求模型学习被删除的 tokens;所谓自回归思想,其实就是传统的 CLM 任务学习思路,也就是要求模型按顺序重建连续 tokens。

 GLM 通过优化一个自回归空白填充任务来实现 MLM 与 CLM 思想的结合。其核心思想是,对于一个输入序列,会类似于 MLM 一样进行随机的掩码,但遮蔽的不是和 MLM 一样的单个 token,而是每次遮蔽一连串 token;模型在学习时,既需要使用遮蔽部分的上下文预测遮蔽部分,在遮蔽部分内部又需要以 CLM 的方式完成被遮蔽的 tokens 的预测。例如,输入和输出可能是:

输入:I <MASK> because you <MASK>
输出:<MASK> - love you; <MASK> - are a wonderful person

GLM(Generalized Language Model)最初是由清华大学计算机科学与技术系知识工程组(KEG)团队提出的一种新型通用语言模型架构。它在设计上融合了传统的 Causal Language Modeling (CLM)Masked Language Modeling (MLM) 的思想,旨在构建一个既能胜任自然语言理解(NLU),又能在自然语言生成(NLG)任务中表现优异的统一预训练语言模型。

GLM 的核心创新点包括:

1. 统一建模目标:结合 CLM 与 MLM

  • 传统 CLM(如 GPT):通过自回归方式预测下一个词,适合生成任务。
  • 传统 MLM(如 BERT):通过遮蔽部分词语并预测它们,适合理解任务。

GLM 在此基础上引入了一种新的预训练任务:

Prefix + Blank Infilling:即给定一个上下文前缀(prefix),模型需要填充句子中间被遮盖的部分(blank)。这种任务形式既保留了 MLM 的双向理解能力,也保持了 CLM 的生成特性。

2. 灵活的输入掩码机制

GLM 使用一种随机选择文本片段进行遮蔽的方式,并允许对多个“空白”位置进行预测,从而增强模型的多任务适应能力。

3. 支持多种下游任务的统一框架

由于其设计兼顾理解和生成,GLM 可以直接用于:

  • 分类任务(如文本分类、问答)
  • 生成任务(如摘要、对话、翻译)
总结

GLM 是一种具有创新性的统一语言模型架构,它的出现打破了 NLU 和 NLG 之间的界限,提供了一个更加通用的语言模型范式。后续基于 GLM 架构开发的模型,也在持续推动着中文大模型的发展。

资料参考:

https://github.com/datawhalechina/happy-llm/blob/main/docs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值