10.GLM

news2025/1/12 6:53:47

智谱AI GLM 大模型家族

最强基座模型 GLM-130B

请添加图片描述

GLM (General Language Model Pretraining with Autoregressive Blank Infilling)

基于自回归空白填充的通用语言模型(GLM)。GLM通过增加二维位置编码并允许以任意顺序预测跨度来改进空白填充预训练,这在NLU任务中实现了超越BERT和T5的性能提升。与此同时,GLM可以通过变化空白的数量和长度来预训练不同类型的任务。在跨NLU、有条件和无条件生成的广泛任务中,GLM在相同模型大小和数据条件下优于BERT、T5和GPT。

请添加图片描述

GLM 预训练原理解读 – 1

(a) 原始文本为[x1, x2, x3, x4, x5, x6]。随机采样了两个跨度(spans)[x3]和[x5, x6]。

(b) 在Part A中,用[MASK]标记[M]替换采样的跨度,并在Part B中对跨度进行洗牌(shuffle)。

© GLM 自回归地生成 Part B。每个跨度前添加[START]标记作为输入,并在后面附加[END]标记作为输出。二维位置编码表示跨度间和跨度内的位置。

(d) 自注意力掩码:灰色区域被遮蔽。Part A标记 (蓝色) 可以内部互相关注,有助于模型捕捉文本内部的上下文信息,但不能关注B。Part B标记(黄色和绿色)可以关注A和B中前文,这种设置允许模型以自回归的方式生成文本,同时考虑到已经生成的上下文。

请添加图片描述

上图分为三部分,分别为:1. 输入的文本构成; 2. 模型的输入和模型输出; 3.模型的注意力mask掩码矩阵。

  1. 我们首先看第一部分,从上图可以看到,输入 � 被分为两部分:PartA是文本 x_corrupt,而PartB是被mask掩码片段原本的token。掩码片段的长度服从泊松分布。
  2. 接下来,我们再来看第二部分.在第二部分中PartA和PartB拼接在一起,并且PartB中的Mask片段使用[s] token 来与其他片段和PartA进行分开。然后,glm的位置编码为二维位置编码。在postion 1中,PartA的位置编码为从0递增,PartB的位置编码为掩码 s_i 在 x_corrupt 中原本的位置编码。在Postion 2中, x_corrupt 的位置全为0,PartB中的每个 s_i 片段内位置自增。假设 x=[x_1,x_2,x_3,x_4,x_5,x_6],其中 和x_3和x_5,x_6 为掩码片段,记为 和s_n和s_m 。因为 s_n 来自片段3, s_m 来自片段5,所以它们的potion 1的位置编码分别为3和5.而 s_n 的potion 2位置编码为[1], s_m的位置编码为[1,2].
  3. glm通过改变它的注意力掩码,从而实现encoder-decoder架构。在glm注意力掩码里, x_corrupt为全注意力掩码,既当前tokn既可以关注之前token,能关注到之后的token。所以, x_corrupt 之间是双向注意力,换个角度想, x_corrupt是输入到一个encoder里。而在掩码片段中,它们之间的注意力掩码为对角线,既掩码片段之间是单向注意力机制,所以掩码片段的部分输入到decoder里。总的来说,PartA中的词彼此可见;PartB中的词单向可见;PartB可见PartA;PartA不可见PartB.在预训练的时候,每个token生成的输入都是在它之前的文本。

假设 x=[x_1,x_2,x_3,x_4,x_5,x_6] ,其中 和x_3和x_5,x_6 为掩码片段。在预测 x_5 的时候,输入到模型中的是[x_1,x_2,S],其中 和x_1和x_2 是全注意力掩码,S为单向注意力掩码。接下来,要预测 x_6 的时候,即使模型上一个预测出来的token的不是 x_5 ,但是输入到模型中的还是 [x_1,x_2,S,x_5] ,实现了一种教师机制,从而保证预训练的时候,输入到模型的文本是正确的。

GLM 预训练原理解读 - 2

GLM 使用的短跨度(λ = 3)掩码的训练,适用于自然语言理解(NLU)任务。

为了在一个模型中同时支持文本生成,作者提出了一个多任务预训练方法(以第二目标共同优化文本生成任务):

  1. 文档级:从均匀分布中采样,其长度为原始标记的50%到100%。该目标针对长文本生成。
  2. 句子级:采样严格保证必须是完整的句子,总采样覆盖原始标记的15%。该目标针对seq2seq任务
  3. 这两个新目标与原始目标定义相同,唯一的区别是跨度的数量和长度。
    请添加图片描述

GLM 预训练超参数设置

请添加图片描述

GLM-130B**:开源双语大语言模型(ICLR 2023)**

请添加图片描述

实验结果
请添加图片描述

GLM-130B 预训练过程的挑战

训练崩溃和不稳定性包括以下几个方面:

  1. 损失尖峰:训练过程中可能出现损失函数突然大幅上升的情况,这可能是由于梯度爆炸、不恰当的学习率设置或模型架构问题导致的。
  2. 梯度不稳定:大型模型可能会遇到梯度不稳定的问题,导致训练过程波动性大,难以敛。
  3. 内存溢出:由于模型规模巨大,可能会出现内存溢出或其他资源限制问题,这会导致训练过程中断。
  4. 硬件限制:大型模型训练可能受到硬件资源的限制,如GPU内存不足,需要采用复杂的并行化策略。

请添加图片描述

GLM-130B 量化后精度损失较少

请添加图片描述

GLM-130B 部署硬件资源需求

  • 建议使用A100(40G * 8)服务器
  • 所有GLM-130B评估结果(约30个任务)可以在大约半天的时间内轻松地使用单个A100服务器进行复现。
  • 通过INT8 / INT4量化,在具有4 * RTX3090(24G)的单个服务器上可以进行高效推理,详见GLM-130B的量化说明。
  • 结合量化和权重卸载技术,甚至可以在GPU内存更小的服务器上进行GLM-130B推理,请参阅低资源推理以获取详细信息。

联网检索能力 WebGLM

WebGLM: An Efficient Web-enhanced Question Answering System (KDD 2023)

WebGLM旨在利用100亿参数的通用语言模型(GLM)提供高效且具有成本效益的网络增强问答系统。它旨在通过将网络搜索和检索功能整合到预训练的语言模型中,改善实际应用部署。

  • LLM增强型检索器:提高相关网络内容的检索能力,以更准确地回答问题。
  • 引导式生成器:利用GLM的能力生成类似人类的问题回答,提供精炼的答案。
  • 人类偏好感知评分器:通过优先考虑人类偏好来评估生成回答的质量,确保系统产生有用吸引人的内容

请添加图片描述

初探多模态 VisualGLM-6B

请添加图片描述

多模态预训练模型 CogVLM

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

代码生成模型 CodeGeex2

请添加图片描述

请添加图片描述

请添加图片描述

增强对话能力 ChatGLM

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

GLM4

在这里插入图片描述

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

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

相关文章

BigDecimal的这四个大坑,你都知道吗?

BigDecimal是Java中的一个类,提供了更精确的数字运算,在金融场景中经常使用到。在使用BigDecimal的时候一定要注意,否则可能会付出惨重的代价。 第一:初始化的坑 BigDecimal a new BigDecimal(0.01); BigDecimal b new BigDec…

【源码】【Spring+SpringMVC+MyBatis】电子商城网上购物平台的设计与开发

学生成绩管理系统 系统功能开发环境开发技术前端技术后端技术 系统展示登录界面注册界面系统首页商品详情页下单界面付款界面购物车界面 源码获取↓↓↓↓: 源码可在后台私信联系博主或文末添加博主微信获取帮助 系统功能 登录、注册模块:如果用户第一次…

【智能算法应用】基于粒子群算法的多尺度Retinex图像去雾方法

目录 1.算法原理2.粒子群算法的多尺度Retinex图像去雾方法3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】粒子群算法(PSO)原理及实现 多尺度Retinex算法 在Retinex算法中,雾化图像的形成可以总结为入射光和反射光的乘积: I ( x…

用 Python 撸一个 Web 服务器-第1章:Web 开发简介

前言 Web 开发技术一直在高速发展,各种新奇概念与框架层出不穷,尤其在 Web 前端领域,几年前还是 jQuery 的天下,而如今在 Vue、React 等框架面前也显得廉颇老矣。 不过,虽然各种框架技术日新月异,但 Web …

2024 年十大关键渗透测试发现:您需要了解的内容

编辑信息技术 (IT) 专业人员在坏人之前发现公司弱点的最有效方法之一就是渗透测试。通过模拟现实世界的网络攻击,渗透测试(有时称为 pentests)可以提供有关组织安全状况的宝贵见解,揭示可能导致数据泄露或其他安全事件的弱点。 自…

zerotier自建moon方法

简介 使用zerotier已经有一段时间了,现在偶尔会出现服务器连接不上的情况。我就想自己建个moon来试试。记录一下过程,用作备忘录。 准备工作 准备一个有公网IP的云主机。我用的是“三丰云”,速度很快同时提供"免费虚拟主机"和“免费…

docker 部署nginx多级子域名(三级四级...)映射不同web项目,访问不同路径地址

一、背景 只有一台服务器,一个顶级域名,现在需要根据不同子域名访问不同web项目,比如 # 管理后台 cms.biacu.com# 客户端h5 h5.biacu.com# 四级域名 h5.s.biacu.com同时,不同web项目放在不同位置 二、 1、在云服务器上&#x…

u-boot(三) - 编译

一,u-boot编译过程总结 编译时的Makefile log: //链接得到ELF格式的u-boot arm-buildroot-linux-gnueabihf-ld.bfd -pie --gc-sections -Bstatic -Ttext 0x87800000 -o u-boot -T u-boot.lds arch/arm/cpu/armv7/start.o --start-group arch/arm/c…

雷军出手,光储充一体化赛道可太行了

雷军出手,特斯拉、宁德时代、奥能电源持续加码,光储充一体化赛道可太行了 近几年,各地光储充一体化项目遍地开花,正式投入运营的新闻接连不断。被视为全球能源转型重要驱动力的光储充一体化,已成为各大企业竞相入局的新…

放弃Venn-Upset-花瓣图,拥抱二分网络

写在前面 让点随机排布在一个区域,保证点之间不重叠,并且将点的图层放到最上层,保证节点最清晰,然后边可以进行透明化,更加突出节点的位置。这里我新构建了布局函数 PolyRdmNotdCirG 来做这个随机排布。调用的是packcircles包的算…

现代X86汇编-C和ASM混合编程举例

端午假期安装好了vs c2022,并写了个简单的汇编代码,证明MASM真的可以运行。今天需要搞一个实实在在的C和ASM混合编程的例子,因为用纯汇编的求伯君写WPS的时代一去不复返了。个别关键函数用汇编,充分发挥CPU的特色功能,偶尔还是需要…

论文阅读:H-ViT,一种用于医学图像配准的层级化ViT

来自CVPR的一篇文章,https://openaccess.thecvf.com/content/CVPR2024/papers/Ghahremani_H-ViT_A_Hierarchical_Vision_Transformer_for_Deformable_Image_Registration_CVPR_2024_paper.pdf 用CNNTransformer混合模型做图像配准。可变形图像配准是一种在相同视场…

计算机体系结构重点学习

从外部I/O与上层应用交互的整体软硬件过程 上层应用发出I/O请求:上层应用程序,如一个文本编辑器、网络浏览器或者任何软件应用,需要读取或写入数据时,会通过调用操作系统提供的API(如文件操作API、网络操作API等&…

CATIA P3 V5-6R 中文版软件下载安装 达索CATIA三维设计软件获取

CATIA的建模和装配能力堪称业界翘楚。其强大的建模工具能够轻松应对各种复杂的几何形状和结构,帮助设计师们快速构建出精准的产品模型。同时,装配模块则能够实现零部件的快速装配,大大提高了设计效率。 在分析和仿真方面,CATIA同样…

基于python多光谱遥感数据处理、图像分类、定量评估及机器学习

原文链接:基于python多光谱遥感数据处理、图像分类、定量评估及机器学习 普通数码相机记录了红、绿、蓝三种波长的光,多光谱成像技术除了记录这三种波长光之外,还可以记录其他波长(例如:近红外、热红外等)光…

【技术】MySQL 8.4 免安装版配置

MySQL 8.4 免安装版配置 官网下载压缩包解压文件创建配置文件初始化数据库安装MySQL服务链接数据库修改密码 官网下载压缩包 从MySQL官网下载压缩包,官网:https://www.mysql.com/ 头部菜单点击【DOWNLOADS】,跳转到下载页面。在页面底部点击…

如何通过逆向分析法挖掘真实需求?

逆向分析法从现有问题或现象出发,反向追溯其根本原因,以揭示隐藏需求和潜在问题。此方法有助于深入理解用户的真实需求,提高需求分析质量和效率,优化用户体验,提高用户满意度和忠诚度。如果缺乏逆行分析法,…

4.1 Python 字符串类型常用操作及内置方法

0. 序列类型 序列是一种数据存储方式, 用来存储一系列的数据. 在内存中, 序列使用连续的内存空间用来存放多个值.序列类型的变量存储序列对象的地址, 而不是直接存在值的地址. 序列对象保存索引和对象的绑定关系.s ABCDprint(id(s), type(s), s) # _ 2050757126000 &…

电商开发者必读:微店商品详情API接口全解析

微店作为一个流行的电商平台,提供了丰富的API接口供开发者使用。详细介绍商品详情API接口的使用方法,帮助开发者快速获取商品信息,实现商品信息的自动化展示和管理。 1. 接口简介 微店商品详情API接口允许开发者通过商品ID获取商品的详细信…

三星公布尖端芯片进展 | 百能云芯

三星电子在本周三举办的年度晶圆制造盛会上,揭开了未来多项技术革新的神秘面纱,并宣布其晶圆制造业务将整合全球领先的记忆芯片、晶圆制造及封装服务,为AI芯片客户提供一站式服务,以加速其生产进程。 三星强调,客户仅需…