当前位置: 首页 > news >正文

ChatGLM学习

  • 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可以形成一个流畅的语句,接近于自然语言

GLM

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

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

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

[MASK]:句子中的短空白,长度加总到输入的某一部分
[gMASK]:随机长度的长空白,加在提供前缀上下文的句子末尾


GLM130B

1)架构选择

通用语言模型GLM

组件改进:旋转位置编码、DeepNorm、GeGLU

2)工程实现

并行策略:数据、张量、流水线3D并行

多平台高效适配

3)训练策略改进

梯度爆炸的问题,采用了嵌入层梯度缩减策略

解决注意力数值溢出问题,采用了FP32的softmax计算策略,训练稳定性有提升


http://www.lryc.cn/news/158166.html

相关文章:

  • Flink之Watermark
  • 二轮平衡小车3:PID速度环
  • C语言之练习题
  • 没钱,没人,没经验?传统制造型企业如何用无代码实现转型
  • CentOS ARM 部署 kubernetes v1.24.6
  • LeetCode 725. Split Linked List in Parts【链表】中等
  • 云计算中的负载均衡技术,确保资源的平衡分配
  • 探索 SOCKS5 代理在跨境电商中的网络安全应用
  • 全网独家:编译CentOS6.10系统的openssl-1.1.1多版本并存的rpm安装包
  • 【go】异步任务解决方案Asynq实战
  • 掌握 Android 自动化测试框架 UiAutomator UiAutomator2
  • c#抽象类(abstract)
  • 语义分割实践思考记录(个人备忘录)
  • Zebec Protocol 成非洲利比亚展会合作伙伴,并将向第三世界国家布局
  • 随机流-RandomAccessFile
  • 单例和静态类
  • PMP-项目风险管理的重要性
  • 学习的心得
  • Python网络爬虫中这七个li标签下面的属性值,不是固定的,怎样才能拿到他们的值呢?...
  • 白鲸开源 DataOps 平台加速数据分析和大模型构建
  • (其他) 剑指 Offer 65. 不用加减乘除做加法 ——【Leetcode每日一题】
  • RestTemplate 的用法
  • postgresql-使用plpgsql批量插入用户测试数据
  • 通过Siri打造智能爬虫助手:捕获与解析结构化数据
  • 【电源专题】典型设备的接地设计
  • LeetCode-216-组合总和Ⅱ
  • [技术杂谈]几款常用的安装包制作工具
  • 旋转屏幕显示方向-rk3568
  • 07 Linux补充|秋招刷题|9月6日
  • 【JavaGuide学习笔记】Day.1