当前位置: 首页 > 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计算策略,训练稳定性有提升


相关文章:

ChatGLM学习

GLM paper:https://arxiv.org/pdf/2103.10360.pdfchatglm 130B:https://arxiv.org/pdf/2210.02414.pdf 前置知识补充 双流自注意力 Two-stream self-attention mechanism(双流自注意机制)是一种用于自然语言处理任务的注意力机制…...

Flink之Watermark

1.乱序问题 流处理从事件产生,到流经source,再到operator,中间是有一个过程和时间的,虽然大部分情况下,流到operator的数据都是按照事件产生的时间顺序来的,但是也不排除由于网络、分布式等原因&#xff0…...

二轮平衡小车3:PID速度环

使用芯片:STM32 F103 C8T6 今日继续我的二路平衡小车开发之路,今日编写的是二轮平衡小车的PID速度环,我准备了纸飞机串口助手软件来辅助测试调节PID。 本文主要贴代码,之前的文章都有原理,代码中相应初始化驱动部分也…...

C语言之练习题

欢迎来到我的世界 希望这篇文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 ! 目录 前言编程题第一题:珠玑妙算第二题:寻找奇数第三题:寻找峰值第四题:数对 总结 前言 这是暑假题目的收尾文章&am…...

没钱,没人,没经验?传统制造型企业如何用无代码实现转型

2023年,国家市场监督管理总局发布了三项重要标准,包括《工业互联网平台选型要求》、《工业互联网平台微服务参考框架》和《工业互联网平台开放应用编程接口功能要求》。这些标准的发布对于完善工业互联网平台标准体系,提升多样化工业互联网平…...

CentOS ARM 部署 kubernetes v1.24.6

1.背景 之前安装的kubernetes版本为v1.19.0 树莓派使用(CentOS7.9 armv71 Kubernetes1.19.0), 由于版本过低,一些HPA相关的功能支持不是特别好,因此需要将版本升级,本次会将版本升级为v1.24.6. 2. 如何upgrade 2.1. 优雅升级 kubeadm自带…...

LeetCode 725. Split Linked List in Parts【链表】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...

云计算中的负载均衡技术,确保资源的平衡分配

文章目录 1. 硬件负载均衡器2. 软件负载均衡器3. DNS负载均衡4. 内容分发网络(CDN) 🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:云计算 ✨文章内…...

探索 SOCKS5 代理在跨境电商中的网络安全应用

随着全球化的发展,跨境电商成为了商业界的一颗新星,为企业提供了无限的发展机遇。然而,随之而来的是网络安全的挑战,特别是在处理国际网络流量时。在这篇文章中,我们将探讨如何利用 SOCKS5 代理和代理 IP 技术来加强跨…...

全网独家:编译CentOS6.10系统的openssl-1.1.1多版本并存的rpm安装包

CentOS6.10系统原生的openssl版本太老,1.0.1e,不能满足一些新版本应用软件的要求,但是它又被wget、mysql-libs、python-2.6.6、yum等一众系统包所依赖,不能再做升级。故需考虑在不影响系统原生openssl的情况下,安装较新…...

【go】异步任务解决方案Asynq实战

文章目录 一.Asynq介绍二.所需工具三.代码示例四.Reference 一.Asynq介绍 Asynq 是一个 Go 库,一个高效的分布式任务队列。 Asynq 工作原理: 客户端(生产者)将任务放入队列服务器(消费者)从队列中拉出任…...

掌握 Android 自动化测试框架 UiAutomator UiAutomator2

掌握 Android 自动化测试框架 UiAutomator & UiAutomator2 一、UiAutomator 简介二、UiAutomator2 的诞生三、UiAutomator2 的应用实践总结你是否曾经在进行 Android 应用开发时,对于如何进行全面、有效的自动化测试感到困惑?你是否想要更高效地进行 UI 测试,而不是一遍…...

c#抽象类(abstract)

概述: C#中的抽象类是一种特殊类型的类,它不能被实例化,只能被继承。抽象类用于提供一个共享的基类,其中定义了一些方法和属性的签名,但没有具体的实现。这些方法和属性可以在派生类中进行实现。 使用抽象类的主要目…...

语义分割实践思考记录(个人备忘录)

一、任务管理器、NVDIA的GPU利用率显示[1][2] 若需要在任务管理器中查看基于Pytorch框架的GPU利用率,那么,我们需要将监控面板监测内容调整为cuda。图一(左)即为英伟达命令行工具面板。 图一 英伟达GPU使用率监控 二、基于混淆矩阵…...

Zebec Protocol 成非洲利比亚展会合作伙伴,并将向第三世界国家布局

在 9 月 6 日,The Digital Asset Summit ’23(利比亚大会)在尼日利亚首度阿布贾的 NAF 会议中心举办,该会议对 Web3 领域在非洲地区的发展进行了探索,旨在推动非洲地区区块链产业的进一步发展,据悉该会议室…...

随机流-RandomAccessFile

RandomAccessFile RandomAccessFile 基本操作案例 RandomAccessFile 基本操作 案例 import java.io.*;public class TestMain09 {public static void main(String[] args) throws Exception {insert("D:\\home\\product\\aa.txt",2,"ni");}public static…...

单例和静态类

C#中的单例(Singleton)和静态类(Static Class)是两种不同的设计模式,它们各自有不同的用途和特点。 单例模式是一种设计模式,它确保一个类只有一个实例,并提供全局访问点。通常,单例…...

PMP-项目风险管理的重要性

一、什么是项目风险管理 项目风险管理旨在识别和管理未被其他项目管理过程所管理的风险。如果不妥善管理,这些风险有可能导致项目偏离计划,无法达成既定的项目目标。因此,项目风险管理的有效性直接关乎项目成功与否。 每个项目都在两个层面…...

学习的心得

文章目录 第一节课心得**学会了敲写数学公式** 第一节课心得 老师讲得非常好,我们下载了xmind,如何制作思维导图 学会了敲写数学公式 ∫ 10 20 ( x 2 − 3 x 2 ) d x \displaystyle\int_{10}^{20}(x^2-3x2)dx ∫1020​(x2−3x2)dx...

Python网络爬虫中这七个li标签下面的属性值,不是固定的,怎样才能拿到他们的值呢?...

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。 大家好,我…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...

Monorepo架构: Nx Cloud 扩展能力与缓存加速

借助 Nx Cloud 实现项目协同与加速构建 1 ) 缓存工作原理分析 在了解了本地缓存和远程缓存之后,我们来探究缓存是如何工作的。以计算文件的哈希串为例,若后续运行任务时文件哈希串未变,系统会直接使用对应的输出和制品文件。 2 …...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...

JavaScript性能优化实战大纲

性能优化的核心目标 降低页面加载时间,减少内存占用,提高代码执行效率,确保流畅的用户体验。 代码层面的优化 减少全局变量使用,避免内存泄漏 // 不好的实践 var globalVar I am global;// 好的实践 (function() {var localV…...

上位机知识篇---Flask框架实现Web服务

本文将简单介绍Web 服务与前端显示部分,它们基于Flask 框架和HTML/CSS/JavaScript实现,主要负责将实时视频流和检测结果通过网页展示,并提供交互式状态监控。以下是详细技术解析: 一、Flask Web 服务架构 1. 核心路由设计 app.…...

第四讲:类和对象(下)

1. 再探构造函数 • 之前我们实现构造函数时,初始化成员变量主要使⽤函数体内赋值,构造函数初始化还有⼀种⽅ 式,就是初始化列表,初始化列表的使⽤⽅式是以⼀个冒号开始,接着是⼀个以逗号分隔的数据成 员列表&#xff…...