LLM主要类别架构(二)

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
简介: **LLM主要类别概览:**1. **自回归模型 (AR)** - 如GPT,特点是Decoder-Only,利用上下文信息预测单词,适合自然语言生成任务。2. **自编码模型 (AE)** - 以BERT为代表,利用上下文的双向信息进行预训练,擅长自然语言理解任务。3. **序列到序列模型 (Seq2Seq)** - 包含编码器和解码器,用于序列转换任务,如机器翻译。GPT是Decoder-Only模型,预训练包括两阶段:- **无监督预训练**:预测序列中缺失的单词。- **有监督微调**:根据下游任务调整模型,如分类、问答等。

LLM主要类别架构(一)+https://developer.aliyun.com/article/1544832?spm=a2c6h.13148508.setting.15.22454f0e4mZEBN



3 自回归模型


自回归模型 (Autoregressive model,AR) ,代表作GPT,其特点为:Decoder-Only,基本原理:从左往右学习的模型,只能利用上文或者下文的信息,比如:AR模型从一系列time steps中学习,并将上一步的结果作为回归模型的输入,以预测下一个time step的值。AR模型通常用于生成式任务,在长文本的生成能力很强,比如自然语言生成NLG领域的任务:摘要、翻译或抽象问答。


3.1 代表模型 GPT


2018年6月, OpenAI公司发表了论文“Improving Language Understanding by Generative Pre-training”《用生成式预训练提高模型的语言理解力》, 推出了具有1.17亿个参数的GPT(Generative Pre-training , 生成式预训练)模型.


与BERT最大的区别在于GPT采用了传统的语言模型方法进行预训练, 即使用单词的上文来预测单词, 而BERT是采用了双向上下文的信息共同来预测单词.正是因为训练方法上的区别, 使得GPT更擅长处理自然语言生成任务(NLG), 而BERT更擅长处理自然语言理解任务(NLU).


3.1.1 GPT模型架构


  • GPT采用的是单向Transformer模型, 例如给定一个句子[u1, u2, …, un], GPT在预测单词ui的时候只会利用[u1, u2, …, u(i-1)]的信息, 而BERT会同时利用上下文的信息[u1, u2, …, u(i-1), u(i+1), …, un]
  • 作为两大模型的直接对比, BERT采用了Transformer的Encoder模块, 而GPT采用了Transformer的Decoder模块. 并且GPT的Decoder Block和经典Transformer Decoder Block还有所不同
  • 经典的Transformer Decoder Block包含3个子层, 分别是Masked Multi-Head Attention层, encoder-decoder attention层, 以及Feed Forward层. 但是在GPT中取消了第二个encoder-decoder attention子层, 只保留Masked Multi-Head Attention层, 和Feed Forward层.
  • 注意: 对比于经典的Transformer架构, 解码器模块采用了6个Decoder Block; GPT的架构中采用了12个Decoder Block


3.1.2 GPT训练过程


GPT的训练包括两阶段过程: 预训练 + 微调


  • 第一阶段: 无监督的预训练语言模型.
  • 第二阶段: 有监督的下游任务fine-tunning.


3.1.2.1 无监督的预训练语言模型


  • 给定句子U = [u1, u2, …, un], GPT训练语言模型时的目标是最大化下面的似然函数:


image.png


上述公式具体来说是要预测每个词ui的概率,这个概率是基于它前面 ui-k 到 ui−1 个词,以及模型 Θ。这里的 k 表示上文的窗口大小,理论上来讲 k 取的越大,模型所能获取的上文信息越充足,模型的能力越强。

GPT是一个单向语言模型,模型对输入U 进行特征嵌入得到 transformer 第一层的输h0,再经过多层 transformer 特征编码,使用最后一层的输出即可得到当前预测的概率分布,计算过程如下:


h0=UWe+Wp


其中Wp是单词的位置编码, We是单词本身的word embedding. Wp的形状是[max_seq_len, embedding_dim], We的形状是[vocab_size, embedding_dim].


得到输入张量h0后, 要将h0传入GPT的Decoder Block中, 依次得到ht:

h t =transformer_block(h l−1 )     l∈[1,t]


最后通过得到的ht来预测下一个单词:


P(u)=softmax(h tW eT )


3.1.2.2 有监督的下游任务fine-tunning

GPT经过预训练后, 会针对具体的下游任务对模型进行微调. 微调采用的是有监督学习, 训练样本包括单词序列[x1, x2, …, xn]和label y. GPT微调的目标任务是根据单词序列[x1, x2, …, xn]预测标签y.



P(yx1,,xm)=softmax(hlmWy)



其中W y表示预测输出的矩阵参数, 微调任务的目标是最大化下面的函数:


image.png


  • 综合两个阶段的目标任务函数, 可知GPT的最终优化函数为:


L3=L2+λL1



3.1.2.3 整体训练过程架构图


根据下游任务适配的过程分两步: 1、根据任务定义不同输入, 2、对不同任务增加不同的分类层.


  • 分类任务(Classification): 将起始和终止token加入到原始序列两端, 输入transformer中得到特征向量, 最后经过一个全连接得到预测的概率分布;
  • 文本蕴涵(Entailment): 将前提(premise)和假设(hypothesis)通过分隔符(Delimiter)隔开, 两端加上起始和终止token. 再依次通过transformer和全连接得到预测结果;
  • 文本相似度(Similarity): 输入的两个句子, 正向和反向各拼接一次, 然后分别输入给transformer, 得到的特征向量拼接后再送给全连接得到预测结果;
  • 问答和常识推理(Multiple-Choice): 将 N个选项的问题抽象化为N个二分类问题, 即每个选项分别和内容进行拼接, 然后各送入transformer和全连接中, 最后选择置信度最高的作为预测结果


总的来说,都是通过在序列前后添加 Start 和 Extract 特殊标识符来表示开始和结束,序列之间添加必要的 Delim 标识符来表示分隔,当然实际使用时不会直接用 “Start/Extract/Delim” 这几个词,而是使用某些特殊符号。基于不同下游任务构造的输入序列,使用预训练的 GPT 模型进行特征编码,然后使用序列最后一个 token 的特征向量进行预测。


不论下游任务的输入序列怎么变,最后的预测层怎么变,中间的特征抽取模块都是不变的,具有很好的迁移能力。


3.1.3 GPT数据集


GPT使用了BooksCorpus数据集, 文本大小约 5 GB,包含 7400w+ 的句子。这个数据集由 7000 本独立的、不同风格类型的书籍组成, 选择该部分数据集的原因:


  • 书籍文本包含大量高质量长句,保证模型学习长距离信息依赖。
  • 这些书籍因为没有发布, 所以很难在下游数据集上见到, 更能验证模型的泛化能力.


3.1.4 GPT模型的特点


模型的一些关键参数为:


参数 取值
transformer 层数 12
特征维度 768
transformer head 数 12
总参数量 1.17 亿


3.2 AR模型总结


优点:


  • AR模型擅长生成式NLP任务。AR模型使用注意力机制,预测下一个token,因此自然适用于文本生成。此外,AR模型可以简单地将训练目标设置为预测语料库中的下一个token,因此生成数据相对容易。


缺点:


  • AR模型只能用于前向或者后向建模,不能同时使用双向的上下文信息,不能完全捕捉token的内在联系。


4 序列到序列


序列到序列模型(Sequence to Sequence Model)同时使用编码器和解码器。它将每个task视作序列到序列的转换/生成(比如,文本到文本,文本到图像或者图像到文本的多模态任务)。对于文本分类任务来说,编码器将文本作为输入,解码器生成文本标签。Encoder-decoder模型通常用于需要内容理解和生成的任务,比如机器翻译。


4.1. 代表模型T5


T5 由谷歌的 Raffel 等人于 2020年7月提出,相关论文为“Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer”. 该模型的目的为构建任务统一框架:将所有NLP任务都视为文本转换任务。


比如英德翻译,只需将训练数据集的输入部分前加上“translate English to German(给我从英语翻译成德语)” 就行。假设需要翻译"That is good",那么先转换成 “translate English to German:That is good.” 输入模型,之后就可以直接输出德语翻译 “Das ist gut.”。 对于需要输出连续值的 STS-B(文本语义相似度任务), 也是直接输出文本。


通过这样的方式就能将 NLP 任务都转换成 Text-to-Text 形式,也就可以用同样的模型,同样的损失函数,同样的训练过程,同样的解码过程来完成所有 NLP 任务。


4.1.1 T5模型架构


T5模型结构与原始的Transformer基本一致,除了做了以下几点改动:


  • 作者采用了一种简化版的Layer Normalization,去除了Layer Norm 的bias;将Layer Norm放在残差连接外面。
  • 位置编码:T5使用了一种简化版的相对位置编码,即每个位置编码都是一个标量,被加到 logits 上用于计算注意力权重。各层共享位置编码,但是在同一层内,不同的注意力头的位置编码都是独立学习的。一定数量的位置Embedding,每一个对应一个可能的 key-query 位置差。作者学习了32个Embedding,至多适用于长度为128的位置差,超过位置差的位置编码都使用相同的Embedding。


4.1.2 T5 训练过程


自监督预训练:采用类似于BERT模型的MLM预训练任务。


多任务预训练:除了使用大规模数据进行无监督预训练,T5模型还可以利用不同任务的标注数据进行有监督的多任务预训练,例如SQuAD问答和机器翻译等任务。


4.1.3 T5数据集


作者对公开爬取的网页数据集Common Crawl进行了过滤,去掉一些重复的、低质量的,看着像代码的文本等,并且最后只保留英文文本,得到数据集C4: the Colossal Clean Crawled Corpus。


4.1.4 T5模型的特点


模型的一些关键参数为:


参数 取值
transformer 层数 24
特征维度 768
transformer head 数 12
总参数量 2.2 亿


4.2. encoder-decoder模型总结


优点:


  • T5模型可以处理多种NLP任务,并且可以通过微调来适应不同的应用场景,具有良好的可扩展性;相比其他语言生成模型(如GPT-2、GPT3等),T5模型的参数数量相对较少,训练速度更快,且可以在相对较小的数据集上进行训练。


缺点:


  • 由于T5模型使用了大量的Transformer结构,在训练时需要大量的计算资源和时间; 模型的可解释性不足。


5 目前大模型主流模型架构-Decoder-only


LLM之所以主要都用Decoder-only架构,除了训练效率和工程实现上的优势外,在理论上是因为Encoder的双向注意力会存在低秩问题,这可能会削弱模型表达能力,就生成任务而言,引入双向注意力并无实质好处。而Encoder-Decoder架构之所以能够在某些场景下表现更好,大概只是因为它多了一倍参数。所以,在同等参数量、同等推理成本下,Decoder-only架构就是最优选择了。


💯小结

  • LLM的主要类别架构:自回归模型、自编码模型和序列到序列模型。
  • 不同类型架构的代表模型:BERT、GPT、T5等相关模型。




相关文章
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
LLM主要类别架构(一)
**LLM主要类别包括自编码模型(如BERT,专注内容理解),自回归模型,和序列到序列的encoder-decoder模型。BERT是预训练的双向编码器,使用Transformer架构,通过Masked LM和Next Sentence Prediction任务学习上下文表示。其特点包括:使用Transformer层、12层深度、768维特徵、12个注意力头和约1.15亿总参数。BERT在多项NLP任务中刷新纪录,适用于分类和理解任务,但不适合生成任务。**
|
1月前
|
自然语言处理
LLM上下文窗口突破200万!无需架构变化+复杂微调,轻松扩展8倍
【5月更文挑战第12天】LongRoPE研究突破LLM上下文窗口限制,无需架构变更和复杂微调,实现8倍扩展至2048万个token。该方法利用位置嵌入非均匀性,通过高效搜索和优化初始化,适用于处理长文本任务,对模型性能影响小。但可能需要较多计算资源,且2048万的长度是否足够所有任务尚待探讨。[论文链接](https://arxiv.org/abs/2402.13753)
33 1
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【大模型】比较和对比 LLM 架构
【5月更文挑战第6天】【大模型】比较和对比 LLM 架构
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
Mamba 作者谈 LLM 未来架构
Mamba 作者谈 LLM 未来架构
56 0
|
29天前
|
物联网 测试技术 API
LLM 大模型学习必知必会系列(九):Agent微调最佳实践,用消费级显卡训练属于自己的Agent!
LLM 大模型学习必知必会系列(九):Agent微调最佳实践,用消费级显卡训练属于自己的Agent!
LLM 大模型学习必知必会系列(九):Agent微调最佳实践,用消费级显卡训练属于自己的Agent!
|
13天前
|
存储 人工智能 安全
使用‘消除’技术绕过LLM的安全机制,不用训练就可以创建自己的nsfw模型
本文探讨了一种名为“abliteration”的技术,该技术能够在不重新训练大型语言模型(LLM)的情况下移除其内置的安全审查机制。通常,LLM在接收到潜在有害输入时会拒绝执行,但这一安全特性牺牲了模型的灵活性。通过对模型残差流的分析,研究人员发现可以识别并消除导致拒绝行为的特定方向,从而允许模型响应所有类型的提示。
253 1
|
5天前
|
人工智能 自然语言处理 算法
LLM主流开源代表模型(二)
随着ChatGPT迅速火爆,引发了大模型的时代变革,国内外各大公司也快速跟进生成式AI市场,近百款大模型发布及应用。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
LLM主流开源代表模型(一)
随着ChatGPT迅速火爆,引发了大模型的时代变革,国内外各大公司也快速跟进生成式AI市场,近百款大模型发布及应用。
|
27天前
|
人工智能 物联网 API
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
|
27天前
|
机器学习/深度学习 缓存 算法
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]

热门文章

最新文章