LLM-大模型演化分支树、GPT派发展阶段及训练流程图、Infini-Transformer说明

本文主要是介绍LLM-大模型演化分支树、GPT派发展阶段及训练流程图、Infini-Transformer说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大模型是怎么演进的?

  • Encoder Only: 对应粉色分支,即BERT派,典型模型: BERT
    • 自编码模型(Autoencoder Model):通过重建句子来进行预训练,通常用于理解任务,如文本分类和阅读理解
    • 模型像一个善于分析故事的专家,输入一段文本,能拆解的头头是道,本质上是把高维数据压缩到低维空间,
  • Decoder Only: 对应蓝色分支,GPT派, 典型模型: GPT4, LLaMA
    • 自回归模型(Autoregressive Model):通过预测序列中的下一个词来进行预训练,通常用于文本生成任务
    • 模型像一个会讲故事的专家,给点提示,就能流畅的接着自说自话
  • Encoder-Decoder: 对应绿色分支,T5派, 典型模型: T5, ChatGLM
    • 序列到序列模型(Sequence to Sequence Model):结合了编码器和解码器,通常用于机器翻译和文本摘要等任务
    • 模型像一个“完型填空专家”,是因为它特别擅长处理这种类型的任务。通过将各种NLP任务统一转换为填空问题,T5派能够利用其强大的语言理解和生成能力来预测缺失的文本。这种方法简化了不同任务之间的差异,使得同一个模型可以灵活地应用于多种不同的NLP任务,并且通常能够在多个任务上取得很好的性能
      在这里插入图片描述

GPT派发展阶段

  • GOOGLE 的Gopher验证了通过扩大模型规模,有效处理复杂任务的可行性
  • Chinchilla模型 验证了增加数据比增加模型参数更有效
  • LLaMA模型:用不到1/10的参数,实现了堪比GPT系列模型的性能,成为当下最流行的开源大模型
    在这里插入图片描述

大模型训练流程图

  • 第一步 预训练是鸿沟,算力占全部的99%以上,【LLaMA 模型开源后,为众多以LLaMA 为基础模型的其它模型节约的成本】
  • 数据集: LLaMA 2采用互联网公开数据集,经2万亿token, 每个单词约1.3个token,相当于1.5万亿个单词,约55亿页书,
  • 算法:LLaMA 及其子孙模型在传统的解码器架构上,进行了多个改进,
    • 输入数据使用了均方层规一化函数 RMSNorm,大大提升了训练的稳定性
      在这里插入图片描述
    • 激活函数用swiGLU替换了ReLU,提升了非线性的表征能力
    • 不再使用位置嵌入,而是在网络每层增加了旋转嵌入RoPE,速度更快,效果更好
  • 奖励建模和强化学习都是基于人类反馈强化学习RLHF【Reinforcement Learning from Human Feedback】
    • 先训一个二元分类器,给出奖励,判断人类的偏好,
    • 然后再训一个强大学习算法,最大化奖励,并据此进一步微调模型,
  • SFT Model【Supervised Fine-Tuning Model】

在这里插入图片描述

Infini-Transformer架构

4月10日,为解决大模型(LLMs)在处理超长输入序列时遇到的内存限制问题, Google发布下一代Transformer模型Infini-Transformer
详见论文:Leave No Context Behind: Efficient Infinite Context Transformers with Infini-attention

在这里插入图片描述
Infini-Transformer是一种为了扩展基于Transformer的大型语言模型(LLMs)以处理无限长输入而设计的高效方法。其核心技术是Infini-attention,这是一种新的注意力机制,它通过将压缩记忆(compressive memory)整合到传统的注意力机制中,从而实现了对长序列数据的有效处理。

Infini-Attention机制

Infini-attention机制包含以下几个关键组件:

  1. 局部注意力(Local Attention):在每个输入段(segment)内,Infini-Transformer计算标准的因果点积注意力(causal dot-product attention)。这种局部注意力确保了在处理每个段时,模型仅关注当前段内的token。
  2. 压缩记忆(Compressive Memory):Infini-attention通过重用点积注意力计算中的关键(key)、值(value)和查询(query)状态,将它们存储在压缩记忆中。这种记忆允许模型在处理后续序列时,通过查询状态从记忆中检索值,从而保持对之前上下文的长期记忆。
  3. 长期线性注意力(Long-term Linear Attention):Infini-attention引入了一种线性注意力机制,它使用关联矩阵(associative matrix)来存储和检索信息。这种机制使得模型能够在保持固定数量参数的同时,处理任意长度的序列。

长期上下文建模

Infini-Transformer通过以下步骤实现长期上下文建模:

  1. 记忆检索(Memory Retrieval):在处理新的输入段时,Infini-attention使用当前的查询状态从压缩记忆中检索与之前上下文相关的信息。
  2. 记忆更新(Memory Update):随着新信息的加入,压缩记忆会被更新以反映最新的上下文信息。这个过程涉及到将新的键值对与记忆矩阵相结合,同时保持记忆的压缩性质。
  3. 上下文注入(Context Injection):Infini-attention通过学习门控标量(gating scalar)β来平衡局部注意力状态和从记忆中检索到的内容,将它们融合到最终的上下文表示中。

实验结果

在长上下文语言建模、1M长度的密钥上下文块检索和500K长度的书籍摘要任务中,Infini-Transformer展示了其有效性。实验结果表明,Infini-Transformer在长上下文任务上的性能超过了基线模型,并且在内存大小方面实现了114倍的压缩比。

总结

Infini-Transformer通过引入Infini-attention机制,使得Transformer LLMs能够有效地处理无限长的输入序列,同时保持有界的内存占用和计算资源。这种方法通过在单个Transformer块中结合局部注意力和长期线性注意力机制,实现了对长距离依赖关系的高效建模。Infini-Transformer的提出,为长序列数据的处理提供了一种新的解决方案,具有重要的理论和实践意义。

这篇关于LLM-大模型演化分支树、GPT派发展阶段及训练流程图、Infini-Transformer说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903077

相关文章

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的