ChatGLM学习

2023-11-11

  • GLM paper:https://arxiv.org/pdf/2103.10360.pdf
  • chatglm 130B:https://arxiv.org/pdf/2210.02414.pdf

前置知识补充

双流自注意力

Two-stream self-attention mechanism(双流自注意机制)是一种用于自然语言处理任务的注意力机制。它是基于自注意力机制(self-attention)的扩展,通过引入两个独立的注意力流来处理不同类型的信息。

  • 在传统的自注意力机制中,输入序列中的每个位置都会计算一个注意力权重,用于对其他位置的信息进行加权聚合。而在双流自注意力机制中,会引入两个注意力流,分别用于处理不同类型的信息。

  • 双流自注意力,一个注意力流用于处理位置信息(position-based),另一个注意力流用于处理内容信息(content-based)。位置信息可以帮助模型捕捉序列中的顺序和结构,而内容信息可以帮助模型理解不同位置的语义关联

    • 具体来说,双流自注意力机制会为每个注意力流维护一个独立的注意力矩阵,用于计算注意力权重。然后,通过将两个注意力流的输出进行加权融合,得到最终的注意力表示。
    • 通过引入两个注意力流,双流自注意力机制可以更好地捕捉不同类型信息之间的关系,提高模型在语义理解和推理任务中的性能。它在机器翻译、文本分类、问答系统等任务中都有应用,并取得了一定的效果提升。

Transformer修改

层归一化是一种归一化技术,用于在网络的每一层对输入进行归一化处理。它可以帮助网络更好地处理梯度消失和梯度爆炸问题,提高模型的训练效果和泛化能力。

残差链接是一种跳跃连接技术,通过将输入直接添加到网络的输出中,使得网络可以学习残差信息。这有助于网络更好地传递梯度和学习深层特征,提高模型的训练效果和收敛速度。

在一般情况下,层归一化应该在残差链接之前应用。这是因为层归一化对输入进行归一化处理,而残差链接需要将输入直接添加到网络的输出中。如果将残差链接放在层归一化之前,会导致输入的归一化被破坏,从而影响模型的训练和性能。


关键术语

MLM:条件独立性假设,预测每个mask的时候是并行的,没有考虑mask之间的关系
Mask:一个单词一个mask,mask可以知道长度信息
Span:几个单词(或者更多个)一起mask掉,span不知道长度信息

把标签映射成词语,进行分类:

  • 标成mask,放在最后一个位置,X和Y可以形成一个流畅的语句,接近于自然语言

GLM130B

1)架构选择
通用语言模型GLM
组件改进:旋转位置编码、DeepNorm、GeGLU
2)工程实现
并行策略:数据、张量、流水线3D并行
多平台高效适配
3)训练策略改进
梯度爆炸的问题,采用了嵌入层梯度缩减策略
解决注意力数值溢出问题,采用了FP32的softmax计算策略,训练稳定性有提升

GLM是一种基于Transformer的语言模型,它以自回归空白填充为训练目标。

对于一个文本序列 x = [ x 1 , ⋅ ⋅ ⋅ , x n ] x=[x1, · · · ,xn] x=[x1,⋅⋅⋅,xn],从其中采样文本span{s1,· · ·,sm},其中每个si表示连续令牌的跨度,并用单个掩码替换si,要求模型对它们进行自回归恢复。

与GPT类模型不同的是,它在不Mask的位置使用双向注意力,因此它混合了两种Mask,以支持理解和生成:

[MASK]:句子中的短空白,长度加总到输入的某一部分

[MASK]根据泊松分布 (λ=3)对输入中标识符进行短跨度的采样,主要服务对文本的理解能力目标

  • 将长度相加达到输入的一定部分的句子中的短空白填充。

[gMASK]:随机长度的长空白,加在提供前缀上下文的句子末尾

掩盖一个长的跨度,从其位置到整个文本的结束,主要服务对文本的生成目标能力目标。

  • 在提供前缀上下文的句子末尾填充随机长度的长空白。

在这里插入图片描述


关于LN:
pre-LN(数百亿,混合多模态也不稳定),post-LN(容易发散),SandWish-LN 都在GLM上表现不稳定,所以采用了DeepNorm
D e e p L a y e r ( x ) = L a y e r N o r m ( α ∗ x + N e t w o r k ( x ) ) DeepLayer(x) = LayerNorm(\alpha*x + Network(x)) DeepLayer(x)=LayerNorm(αx+Network(x))

关于编码:
1)当序列长度增长时,RoPE的实现速度更快。
2)RoPE对双向注意力更友好,在下游微调实验中效果更好

关于mask:

  • 【mask】30% 的training token,占总输入的15%
  • 对于其他70%的标记,每个序列的前缀被保留为上下文,并使用[gMASK]来屏蔽其余部分。

FFN改成GLU:
GLM-130B中改进transformer结构中的前馈网络(FFN),用GLU(在PaLM中采用)取代它,实验效果表明选择带有GeLU激活的GLU训练更稳定.(对比了另一个新提出的门控单元GAU)

  • GeGLU需要三个投影矩阵;为了保持相同数量的参数,与只利用两个矩阵的FFN相比,我们将其隐藏状态减少到2/3

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ChatGLM学习 的相关文章

  • 我的va_start和va_end学习

    va start和va end定义 1 va start和va end是两个宏 2 在c语言中 当我们无法列出传递函数的所有形参类型和数目时 可以用省略号指定参数表 相关知识 1 va list ap 是定义一个字符指针ap 2 va st
  • 做对这 10 点,让你的 Redis 性能更上一层楼

    阅读本文大约需要 19 分钟 Hello 大家好 我是虎珀 今天跟大家分享 提升 Redis 性能的 10 个手段 Redis 作为内存数据库 虽说已经足够快了 但是 做对这 10 点 可以让你的 Redis 性能更上一层楼 注 本文源码基
  • 线程同步(一)

    上篇文章讲述了什么是线程 以及在Linux系统下线程的相关操作 线程 Linux系统实现 小梁今天敲代码了吗的博客 CSDN博客 本文将继续讲述线程的相关知识 线程同步 目录 1 线程同步的概念 2 线程不同步可能会发生什么 3 线程同步方
  • 计算机毕业设计选题推荐 40个高质量计算机毕设项目分享【源码+论文】(三)

    文章目录 前言 题目1 基于SSM的汽车租赁系统 br 题目2 基于SSM的在线药品超市购物系统 br 题目3 基于SSM的在线药品超市购物系统 br 题目4 基于SSM的疫情防控物业管理系统 br 题目5 基于SSM的在线音乐网站设计与实
  • 小程序打开另一个小程序、分享另一个小程序、分享后返回上一个小程序

    小程序是无法直接分享另一个小程序的链接给微信好友的 它只能分享自身的链接 但是我们可以通过另一种方法去实现这个功能 首先 我们在自己的小程序里面打开要分享的另一个小程序 然后 我们可以在打开的小程序里面分享它的链接给微信好友 最后 跳转回我

随机推荐

  • 关于烂代码的那些事(中)

    作者 秦迪 发布时间 2015 08 13 22 36 阅读 10350 次 推荐 32 原文链接 收藏 1 摘要 这是烂代码系列的第二篇 在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣 在发布了关于烂代码的那些事 上 之后
  • 【面试官】深入了解session和cookie的区别

    目录 一 什么是session和cookie 1 什么是session 2 cookie的组成 二 session和cookie工作流程 1 session的工作原理 2 cookie的工作流程 三 session和cookie的区别 一
  • Ubuntu下安装Anaconda

    使用python做文本处理最讨厌遇到的问题就是编码错误的问题 在linux环境下开发能较好的避开这个问题 Anaconda整合了常用的python科学计算包 避免再去安装各种包的麻烦 1 到官网http continuum io downl
  • oracle 存储过程中调用truncate命令。

    数据库版本 SQL gt select from v version BANNER Oracle Database 10g Enterprise Edition Release 10 1 0 2 0 ProdPL SQL Release 1
  • AirBuddy让您优雅的在 Mac 上使用 AirPods

    AirBuddy 是macOS系统上将iOS上的AirPods体验带到了Mac上 使用AirBuddy 您可以打开Mac旁边的AirPods外壳并立即查看状态 就像在iPhone或iPad上一样 Airbuddy for mac是一款功能高
  • 分享网页版免费聊天机器人

    GPT是一种基于深度学习技术的自然语言处理模型 全称为Generative Pre trained Transformer 它由团队开发 旨在利用神经网络生成人类能够理解的自然语言文本 分享网址 https shdily com 效果颜演示
  • vs2010 中使用 log4net

    vs2010 中使用 log4net 环境 vs2010 framework4 0 log4net 1 2 10 0 framework 2 0 参考 http www cnblogs com llhhll archive 2011 03
  • iOS端抓包工具-stream

    内容项 1 stream安装使用 2 stream功能解析 构建请求 host设置 抓包模式 stream安装使用 1 app store 搜索stream 点击下载 2 下载完成后进入app 点击 开始抓包 允许添加VPN配置 下载安装C
  • Python-单例模式详解与实现

    目录 单例模式 new 装饰器 元类 import 单例模式 这种类型的设计模式属于创建型模式 它提供了一种创建对象的最佳方式 这种模式涉及到一个单一的类 该类负责创建自己的对象 同时确保只有单个对象被创建 这个类提供了一种访问其唯一的对象
  • 电商交易数据分析-Tableau

    1 这是一份关于某电脑平台2016年的交易数据 通过分析这份数据 我们可以知道这一整年的销售情况 数据解读 id ID order id 订单ID user id 用户ID productId 产品ID cityId 城市的ID price
  • Ubuntu常用命令-基础

    Ubuntu 操作系统是基于 Linux 内核的开源操作系统 其命令行界面提供了大量的命令来管理系统和执行各种任务 以下是一些 Ubuntu 操作系统中常用的命令 cd 用于切换当前工作目录 例如 cd path to directory
  • cat EOF的追加与覆盖

    一 覆盖 bin bash cat lt lt EOF gt root test txt Hello My site is www 361way com My site is www 91it org Test for cat and EO
  • 张五常《思考方法》

    思考的方法 上 据说熊彼德 J A Schumpeter 曾在课堂上批评牛顿 指责这个如假包换的物理学天才只顾闭门思想 没有将他思考推理的方法公开而留诸后世 这批评有点道理 但牛顿在物理学上的丰功伟绩 是他在逃避瘟疫的两年中想出来的 其后就
  • Spring初识

    文章目录 Spring框架 一 Spring简介 一 Spring的介绍及需要的依赖 二 Spring的优点 二 Spring的组成及拓展 一 什么是Spring Boot 二 什么是Spring Cloud 三 IOC 控制反转 一 IO
  • vue 使用MD5加密

    概念 MD5是一种信息摘要算法 对称加密 一种被广泛使用的密码散列函数 可以产生出一个128位 16字节 的散列值 用来确保信息传输完整一致性 它可以计算任意长度的输入字符串 得到固定长度的输出 而且这个算法是不可逆的 即使得到了加密的密文
  • tomcat的webapps下没项目的问题

    这几天在在写代码的时候一直都存在一个问题 就是把项目发布到comcat后在webapps下找不到项目 而work下面却有临时文件 浏览器也能正常访问 百度后网上的答案大都是 找到servers location 选择第二个 User tom
  • 压缩感知算法_深度学习压缩感知(DCS)历史最全资源汇总分享

    压缩感知 Compressed sensing 也被称为压缩采样 Compressive sampling 稀疏采样 Sparse sampling 压缩传感 它作为一个新的采样理论 它通过开发信号的稀疏特性 在远小于Nyquist 采样率
  • 解决 python execjs._exceptions.ProgramError

    return self eval identifier apply this args format identifier identifier args args File usr local lib python3 7 site pac
  • Redis7之发布订阅(七)最好别用

    7 1 介绍 是一种消息通信模式 发送者 PUBLISH 发送消息 订阅者 SUBSCRIBE 接收消息 可以实现进程间的消息传递 Redis可以实现消息中间件MQ的功能 通过发布订阅实现消息的引导和分流 功能 Redis客户端可以订阅任意
  • ChatGLM学习

    GLM paper https arxiv org pdf 2103 10360 pdf chatglm 130B https arxiv org pdf 2210 02414 pdf 前置知识补充 双流自注意力 Two stream se