【大模型】chatglm系列模型基础

news2024/11/25 10:56:21

前言:2022年11月,斯坦福大学大模型中心对全球30个主流大模型进行了全方位的评测2,GLM-130B 是亚洲唯一入选的大模型。GLM-130B 在准确性和恶意性指标上与 GPT-3 175B持平。chatglm1,2,3代在模型架构上基本一样,本文主要讲解模型结构。

目录

  • 1. 大模型基础知识
    • 1.1 主流预训练模型架构
    • 1.2 文本生成评价指标
      • 1.2.1 BLUE(Bilingual Evaluation Understudy)
      • 1.2.2 ROUGE
    • 1.3 Prefix Decoder-only
  • 2. GLM
    • 2.1 整体架构
    • 2.2 预训练目标
    • 2.3 自编码器
  • 参考文献

1. 大模型基础知识

1.1 主流预训练模型架构

在这里插入图片描述
√是擅长,—是可以做,x是做不了。自编码是利用的上下文信息(双向注意力机制),自回归是从左到右的生成信息(单向注意力机制)。

1.2 文本生成评价指标

1.2.1 BLUE(Bilingual Evaluation Understudy)

  • 应用:主要用于翻译系统,对比机器翻译输出与参考翻译之间的相似度。
  • 原理:主要是对比n-gram,采用不同长度的n-gram加权和的方式计算得分,每一个n-gram得分包含精确匹配率(Precision)修改程度惩罚(Brevity Penalty)
    • 精确匹配率(Precision):衡量生成翻译中的n-gram有多少出现在参考翻译中。精确匹配率的计算方法为:将生成翻译中的n-gram与参考翻译中的n-gram进行比较,统计匹配的数量。
    • 修改程度惩罚(Brevity Penalty):为了惩罚生成翻译比参考翻译更短的情况,BLEU引入了修改程度惩罚项。它通过计算机器翻译与参考翻译之间的长度差异来调整BLEU的得分。
  • 计算公式 s c o r e = B r e v i t y P e n a l t y ∗ ( ∑ ( P r e c i s i o n i ) / N ) {score = Brevity Penalty*(\sum(Precision_i)/N)} score=BrevityPenalty((Precisioni)/N),N表示不同长度的n-gram数量。

1.2.2 ROUGE

  • 应用:评估自动摘要系统生成的摘要质量的指标。主要目的是衡量自动摘要结果与参考摘要之间的相似程度,从而判断生成的摘要是否包含了关键信息并保持了原文的主旨
  • 原理:
    • 召回率(Recall):以相应的n-gram单位(例如单词或短语)为基准,计算生成摘要中有多少个n-gram出现在参考摘要中,并将其总数作为分子,参考摘要中所有的n-gram总数作为分母。
    • 精确率(Precision):以相应的n-gram单位为基准,计算生成摘要中有多少个n-gram出现在参考摘要中,并将其总数作为分子,生成摘要中所有的n-gram总数作为分母。
    • F1值:综合考虑召回率和精确率,计算出一个综合指标,即F1值。F1值是召回率和精确率的调和平均。
  • 分类
    • ROUGE-N:衡量n-gram(通常是单词)的重叠率。其中,ROUGE-1表示单个词的重叠,ROUGE-2表示相邻两个词的重叠,以此类推。ROUGE-N主要用于评估生成摘要中与参考摘要中重要短语的重合度,判断摘要的概括能力。
    • ROUGE-L:基于最长公共子序列(Longest Common Subsequence)计算两个摘要之间的相似度。它不仅考虑了重叠的单词和短语,还考虑了它们的顺序关系。ROUGE-L适用于评估生成摘要中保持参考摘要结构和重要信息的能力。
    • ROUGE-S:用于评估生成和参考摘要之间连续子序列的重叠程度。它通过计算包含Skip-bigram的共同片段数来衡量。ROUGE-S在考虑长距离依赖和多样性方面比较有效。
  • 案例
    原文:“AI机器人能够通过深度学习技术从海量数据中学习,并利用自然语言处理技术生成准确流畅的摘要。”
    摘要生成:“AI机器人通过深度学习和自然语言处理技术生成摘要。”
    参考摘要:“AI机器人通过深度学习技术从大量数据中学习,并生成准确流畅的摘要。”
    计算:通过ROUGE-1来衡量召回率,我们可以计算出生成摘要与参考摘要的重叠词数为7,参考摘要中共有8个单词,因此ROUGE-1的召回率为7/8,精确率为7/7,F1值为1。这说明生成的摘要完全覆盖了参考摘要中的所有单词,质量较高。

1.3 Prefix Decoder-only

  • Prefix LM
    不同于标准的encoder-decoder模型,prefix LM中编码器会解码器共用一个transformer。Prefix LM在Encoder部分采用Auto Encoding (AE-自编码)模式,即前缀序列中任意两个token都相互可见,而Decoder部分采用Auto Regressive (AR-自回归)模式,即待生成的token可以看到Encoder侧所有token(包括上下文)和Decoder侧已经生成的token,但不能看未来尚未产生的token。
    在这里插入图片描述
  • Casual LM
    只涉及到Encoder-Decoder中的Decoder部分,采用Auto Regressive模式。
    在这里插入图片描述
  • decoder only
    生成式架构。Decoder-Only 架构还有一个重要特点是可以进行无监督预训练。在预训练阶段,模型通过大量的无标注数据学习语言的统计模式和语义信息。OpenAI的GPT系列(如GPT-4)是Decoder-Only架构的经典例子。

2. GLM

2.1 整体架构

在这里插入图片描述
核心思想:GLM 通过添加二维位置编码和允许任意顺序预测空白区域,改进了空白填充预训练。随机mask一些词语(自编码),按照一定的顺序预测mask的词语(自回归),并且GLM打乱了空白区域的预测顺序

二维位置编码:第一个维度对span在原文本中的位置进行编码,第二个维度对token在span中的位置进行编码。

注意力矩阵:在步骤(d)中,Part A采用自编码的形式,但是只能看到A自己的K,V,而对于B,按照自回归的顺序看K,V

2.2 预训练目标

制定了三种针对自回归的预训练目标:

  • token-level objective 单词级
  • sentence-level objective 句子级
  • document-level objective 文档级

2.3 自编码器

相较于transformer的编码器,做了如下改进:

  • 调整了LN和残差连接的顺序
  • 对于token的预测输出用的是单个的线性层
  • 将激活函数由ReLU调整为了GeLUs

参考文献

[1]GLM: General Language Model Pretraining with Autoregressive Blank Infifilling
[2]文本生成评估指标:ROUGE、BLEU详谈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2086717.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day-43 有效的数独

思路 暴力解法:1.判断每行是否有重复的数字;2.判断每列是否有重复的数字;3.判断每一个以粗实线分隔的 3x3 宫内是否有重复的数字 解题过程 如果以上三种情况都不存在重复的数字,则返回true Code class Solution {public boolean isValidSu…

4G手机智能遥控开关

什么是4G手机智能遥控开关 4G手机智能遥控开关作为现代智能家居与工业自动化的重要组成部分,提供了便捷、高效的远程控制方案。它利用4G通信技术,允许用户随时随地通过智能手机或其他移动设备控制电器设备的开关状态,适用于家庭、办公、工业等…

读《Visual Whole-Body for Loco-Manipulation》①train

这个新项目比那些强化学习入门项目好配置多了。。。 不过需要搞个wandb账号,一开始运行时需要api key args Namespace(checkpoint-1,colsNone,compute_device_id0,debugFalse,experiment_nameNone,exptidSOME_YOUR_DESCRIPTION_debug,flat_terrainFalse,flexFalse…

认知杂谈43

今天分享 有人说的一段争议性的话 I I 年轻:潜力如海,挑战重重,绝非轻易挥霍的资本 I 咱都觉得年轻好像一张白纸,能在上面画出精彩人生呢。可实际上,年轻可不是啥简单的好事儿,它更像是个宝库&#xff0…

以太坊恐慌!支出不透明,不喜欢DeFi?创始人V神亮资辟谣!个人净资产90%为ETH!

以太坊(Ethereum)作为区块链领域的佼佼者,一直吸引着全球投资者和开发者的目光。然而,近期围绕以太坊基金会(Ethereum Foundation)及其创始人V神(Vitalik Buterin)的一系列争议&…

Word文档被锁定无法编辑怎么办?一键快速移除Word编辑限制

有没有遇到这种情况?打开Word文档后,准备对Word软件进行文档的编辑时,发现文档有部分内容无法进行编辑了,不知道怎么回事,其实这是因为无法编辑区域被锁定了,所以无法进行编辑,那么应该怎么解除…

Kotlin 泛型小知识: `<T>`, `<out T>`, `<in T>` 的区别

引言 我们是不是常常在 Kotlin 的代码中看到一些奇怪的符号&#xff0c;比如 <out T> 或者 <T>&#xff1f;如果我们对这些泛型&#xff08;Generics&#xff09;符号还不太了解&#xff0c;没关系&#xff01;今天我们就来聊一聊它们的区别&#xff0c;以及如何在…

c语言(二叉树)

第4章 二叉树和BST 树与二叉树 基本概念 树是一种非线性结构&#xff0c;其严格的数学定义是&#xff1a;如果一组数据中除了第一个节点&#xff08;第一个节点称为根节点&#xff0c;没有直接前驱节点&#xff09;之外&#xff0c;其余任意节点有且仅有一个直接前驱&#xff…

macos 10.15 catalina xcode 下载和安装

在macos 10.15 catalina系统中, 由于系统已经不再支持,所以我们无法通过应用商店来安装xcode, 需要手动下载指定版本的 xcode 版本才能安装, catalina 支持的最新xcode版本为 Xcode v12.4 (12D4e) , 其他的新版本是无法安装在Catalina系统中的. Xcode_12.4.xip下载地址 注意,下…

安装虚拟机(VMware)教程

VMware-虚拟机使用 一、VMware 介绍二、VMware 下载三、VMware 安装1.第一步&#xff0c;点击安装的*.exe文件&#xff0c;出现以下画面2.第二步&#xff0c;点击下一步&#xff0c;到选择安装的路径&#xff0c;默认安装和自定义安装3.第三步&#xff0c;点击安装&#xff0c;…

postgresql底层Driver驱动包数据库是怎么连接,怎么发送数据,怎么设置超时

##一、建立连接 ##connectionFactory.openConnectionImpl ##底层也没什么神秘的&#xff0c;就是使用的socket通讯 ##连接&#xff0c;打开流 ##socket.connect ##获取到读写流 ##二、数据库连接池创建Connection连接 ##三、发送相关sql数据 ##发数据 ##发送查询 ##sendParse(q…

nefu暑假acm集训1 构造矩阵 个人模板+例题汇总

前言&#xff1a; 以下都是nefu暑假集训的训练题&#xff0c;我在此把我的模板和写的一些练习题汇总一下并分享出来&#xff0c;希望在能满足我复习的情况下能帮助到你。 正文&#xff1a; 模板&#xff1a; #include<bits/stdc.h> using namespace std; typedef long…

手机三网状态实时查询分享

我们演示如何使用Python对接手机号在网状态API接口 以下是详细的接口文档&#xff1a;https://www.tanshuapi.com/market/detail-123 首先&#xff0c;您需要注册并获取API密钥。假设您已经拥有API密钥&#xff0c;接下来是具体的实现步骤。 编写Python代码 以下是一个Python…

如何使用Gogs搭建自己的git服务器

最近偶然发现一款轻量级的git服务器&#xff0c;以前一直用的svn server&#xff0c;最近想搞个git服务器&#xff0c; 用gitlab资源占用太多了&#xff0c;gogs是一款轻量级git服务器&#xff0c;非常适合个人使用。 项目地址&#xff1a;GitHub - gogs/gogs: Gogs is a painl…

隔离电源不能与其他电源共地吗

隔离电源通常设计用于在电气系统中提供安全隔离&#xff0c;以避免不同部分之间的电流回路和潜在的电气干扰。隔离电源的一个关键特点是其输出端与输入端之间没有直接的电气连接&#xff0c;而是通过变压器、光电耦合器或其他隔离手段实现。 关于隔离电源与其他电源共地的问题&…

神神叨叨的OpenAI和神神叨叨的草莓

其实现在的OpenAI挺烦人的&#xff0c;和之前Ilya在的时候就不太一样了&#xff0c;Schulman也走了, 尤其Schulman走了是真的可惜&#xff0c;因为他是整个后训练&#xff0c;包括微调尤其是RLHF的真正操盘手 Altman发草莓然后又没下文&#xff0c;挺败好感的&#xff0c;大家…

Ubuntu安装交叉编译工具链(gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu)

1&#xff1a; 首先把压缩包解压出来 2&#xff1a; 我是把文件名字进行了修改&#xff0c;这个看个人需求。终端输入&#xff1a; sudo vim .bashrc在文件最末尾输入&#xff1a; export PATH$PATH:/home/the/aarch64-linux-gnu/bin export LD_LIBRARY_PATH$LD_LIBRARY_PAT…

合合信息acge模型获C-MTEB第一,文本向量化迎来新突破

前言&#xff1a; 在当今时代&#xff0c;大型语言模型以其惊人的发展速度和广泛的应用前景&#xff0c;正成为全球科技界的瞩目焦点。这些模型的强大能力&#xff0c;源自于背后默默支撑它们的Embedding技术——一种将语言转化为机器可理解的数值向量的关键技术。随着大型语言…

05:创建逻辑软件元件库

1.创建逻辑软件元件库 点击 “编辑电参数” 1.1常规设置 1.2PCB封装 1.3门 1.4管脚 1.5检查元件 点击确定 1.6点击保存 2.处理重叠问题 2.1查看处理后的显示

【Linux】:用户缓冲区

1.前言&#xff08;引出现象&#xff09; 我们看一段代码&#xff0c; 我们运行这段代码&#xff0c; 再次运行&#xff0c;并将打印结果重定向到文件log.txt中&#xff0c; 结果除了系统调用write的输出&#xff0c;其余输出都多打印一次。这是为什么呢&#xff1f;我们先…