[从0开始AIGC][LLM]:LLM中Encoder-Only or Decoder-Only?为什么主流LLM是 ...

打印 上一主题 下一主题

主题 1957|帖子 1957|积分 5871

LLM中Encoder-Only or Decoder-Only & 为什么主流LLM是Decoder-Only?


  
1. 什么是Encoder-only、Decoder-Only

大模型(Large Language Model,LLM),现在一般指百亿参数以上的语言模型,重要面向文本生成任务。而"encoder-only"和"decoder-only"是两种不同的架构,它们都基于Transformer模型,但在处理惩罚输入和生成输出的方式上有所不同。

在 Transformer 模型中,编码器(Encoder)负责理解和提取输入文本中的相关信息。这个过程通常涉及随处理惩罚文本的序列化形式,比方单词或字符,并且用自留意力机制(Self-Attention)来理解文本中的上下文关系编码器的输出是输入文本的连续表示,通常称为嵌入(Embedding)。这种嵌入包罗了编码器从文本中提取的全部有用信息,并以一种可以被模型处理惩罚的格式(通常是高维向量)表示。然后将编码的效果传递给解码器。解码器(Decoder)的任务是根据从编码器吸收到的嵌入来生成翻译后的文本(目标语言)。解码器也使用自留意力机制(添加attn mask),以及编码器-解码器留意力机制,来生成翻译的文本。
[Encoder-only]:


  • Encoder-only模型,如BERT,重要用于理解和提取输入文本中的相关信息。这个过程通常涉及随处理惩罚文本的序列化形式,比方单词或字符,并且用自留意力机制(Self-Attention)来理解文本中的上下文关系。
  • BERT只使用了Transformer模型中的编码器部分,由于它重要用于处理惩罚单向输入数据。BERT的预训练目标是通过掩饰部分输入来预测其他部分,即完形填空,或者预测两个句子之间的关系,这些任务并不涉及到生成输出序列的自回归任务,因此不需要解码器。
   自回归指输出的内容是根据已生成的token做上下文理解后一个token一个token输出的。
  [Decoder-only]:


  • Decoder-only模型重要是为了预测下一个输出的内容/token是什么,并把之前输出的内容/token作为上下文学习。
  • 在Transformer模型的解码器中,自留意力机制允许每个位置的输出都依赖于输入序列中全部位置的信息。然而,当生成输出序列时,我们希望位置i的输出只依赖于位置i之前的已知输出,而不依赖于位置i之后的输出。为了实现这一点,Decoder使用了一种“掩码”技能(attn_mask),阻止模型关注位置i之后的位置。
[Encoder-Decoder]:


  • 这种架构的LLM通常充分使用了上面2种范例的优势,采用新的技能和架构调解来优化表现。这种重要用于NLP,即理解输入的内容NLU,又能处理惩罚并生成内容NLG,尤其擅长处理输入和输出序列之间存在复杂映射关系的任务,以及捕捉两个序列中元素之间关系至关重要的任务。
  • T5、BART
总的来说,encoder-only范例的更擅长做分类,理解场景;encoder-decoder范例的擅长输出强烈依赖输入的,好比翻译和文本总结,而其他范例的就用decoder-only,如各种Q&A。

2. 为什么当前主流的LLM都是Decoder-only的架构

引用自:苏神:https://kexue.fm/archives/9529
跟小尺度模型(10亿或以内量级)的“百花齐放”不同,现在LLM的一个现状是Decoder-only架构的研究居多,像OpenAI不停坚持Decoder-only的GPT系列就不说了,即便是Google如许的并非全部押注在Decoder-only的公司,也确实投入了不少的精力去研究Decoder-only的模型,如PaLM就是其中之一。那么,为什么Decoder-only架构会成为LLM的主流选择呢?
一般的NLP任务都是根据给定的输入来预测输出,完全无条件的随机生成是很少的,换句话说,任何NLP任务都可以分解为“输入”跟“输出”两部分,我们可以把处理惩罚“输入”的模型叫做Encoder,生成“输出”的模型叫做Decoder,那么全部任务都可以从“Encoder-Decoder”的视角来理解,而不同模型之间的差距在于Encoder、Decoder的留意力模式以及是否共享参数:
   共享参数:
  

  • 在GPT模型中,"共享参数"重要是指输入层和输出层的参数是共享的。
  • 在GPT模型中,输入和输出都是词汇表中的单词,因此它们可以共享同一个词嵌入矩阵
  Encoder留意力Decoder留意力是否共享参数GPT单向单向是UniLM双向单向是T5双向单向否 这里的GPT就是Decoder-only的代表作;UniLM则是跟GPT相似的Decoder架构,但它是混合的留意力模式;T5则是Encoder-Decoder架构的代表作,重要是Google比较感兴趣。
双向混合单向(正向)单向(反向) Google在T5和UL2两篇论文中做了较为充分的对比实行,效果均表现出了Encoder-Decoder架构相比于Decoder-only的优势,但由于从LLM的角度看这两篇论文的模型尺度都还不算大,以及多数的LLM确实都是在做Decoder-only的,所以这个优势能否延续到更大尺度的LLM以及这个优势本身的缘由,依然都还没有答案。
从上表可以看出,其实GPT跟UniLM相比才算是严格控制变量的,如果GPT直接跟T5相比,那实际上产生了两个变量:输入部分的留意力改为双向以及参数翻了一倍。而之所以会将它们三个一起对比,是由于它们的推理成本大致是相同的。
相比GPT,既然T5有两个变量,那么我们就无法确定刚才说的Encoder-Decoder架构的优势,究竟是输入部分改为双向留意力导致的,还是参数翻倍导致的。为此,笔者在10亿参数规模的模型上做了GPT和UniLM的对比实行,效果显示对于同样输入输出举行从零训练(Loss都是只对输出部分算,唯一的区别就是输入部分的留意力模式不同),UniLM相比GPT并无任何优势,甚至某些任务更差
假设这个结论具有代表性,那么我们就可以开端得到结论:
   输入部分的留意力改为双向不会带来收益,Encoder-Decoder架构的优势很大概只是源于参数翻倍。
  换句话说,在同等参数量、同等推理成本下,Decoder-only架构很大概是最优选择。当然,要充分验证这个猜测,还需要补做一些实行,好比Encoder和Decoder依然不共享参数,但Encoder也改为单向留意力,或者改为下一节介绍的正反向混合留意力,然后再对比通例的Encoder-Decoder架构。但笔者的算力有限,这些实行就留给有兴趣的读者了。
低秩问题

突破瓶颈,打造更强大的Transformer - 科学空间|Scientific Spaces
为什么**“输入部分的留意力改为双向不会带来收益”呢?明显输入部分不需要考虑自回归生成,直觉上应该完备的留意力矩阵更好呀?笔者猜测,这很大概是由于双向留意力的低秩问题**带来的效果下降。
Attention矩阵一般是由一个低秩分解的矩阵加softmax而来,详细来说是一个                                    n                         ×                         d                              n×d                  n×d 的矩阵与                                    d                         ×                         n                              d×n                  d×n 的矩阵相乘后再加softmax(在NLP问题中                                   n                         ≫                         d                              n≫d                  n≫d),这种形式的Attention的矩阵由于低秩问题而带来表达能力的下降,详细分析可以参考《Attention is Not All You Need: Pure Attention Loses Rank Doubly Exponentially with Depth》。而Decoder-only架构的Attention矩阵是一个下三角阵,留意三角阵的行列式等于它对角线元素之积,由于softmax的存在,对角线一定都是正数,所以它的行列式一定是正数,即Decoder-only架构的Attention矩阵一定是满秩的!满秩意味着理论上有更强的表达能力,也就是说,Decoder-only架构的Attention矩阵在理论上具有更强的表达能力,改为双向留意力反而会变得不足。
另有个间接支持这一观点的现象,那就是线性Attention在语言模型任务上(单向留意力)与标准Attention的差距,小于它在MLM任务上(双向留意力)与标准Attention的差距,也就是说,线性Attention在双向留意力任务上的效果相对更差。这是由于线性Attention在做语言模型任务时,它的Attention矩阵跟标准Attention一样都是满秩的下三角阵;在做MLM任务时,线性Attention矩阵的秩比标准Attention矩阵更低(线性Attention是                                   n                         ×                         d                              n×d                  n×d 的矩阵与                                    d                         ×                         n                              d×n                  d×n 的矩阵的秩不凌驾d,标准Attention是n×d的矩阵与d×n的矩阵相乘后加softmax,softmax会有一定的升秩作用,参考《Transformer升级之路:3、从Performer到线性Attention》中的“低秩问题”一节及批评区)。
反过来,这个结论能不能用来改进像BERT如许的双向留意力模型呢?思绪并不难想,好比在Multi-Head Attention中,一半Head的Attention矩阵截断为下三角阵(正向留意力),另一半Head的Attention矩阵截断为上三角阵(反向留意力);又或者说奇数层的Attention矩阵截断为下三角阵(正向留意力),偶数层的Attention矩阵截断为上三角阵(反向留意力)。这两种设计都可以既保持模型团体交互的双向性(而不是像GPT一样,前一个token无法跟后一个token交互),又融合单向留意力的满秩长处。
笔者也简朴做了对比实行,发现正反向混合的留意力在MLM任务上是比像BERT如许的全双向留意力模型效果稍微要好点的:

全双向留意力与正反向混合留意力的训练曲线比较
好消息是看得出略有优势,间接支持了前面的猜测;坏消息是这实行的只是一个base版本(1亿参数)的模型,更大模型的效果尚未清楚。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

北冰洋以北

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表