来自清华的ChatGPT?GLM-130B详解

原文:来自清华的ChatGPT?GLM-130B详解 - 知乎

本文会分析一下来自清华的ChatGPT,这篇论文的价值很大,为什么这么将?因为他开源了所有代码,包括模型,baseline。确实是一个不错的里程碑。

GLM-130B: AN OPEN BILINGUAL PRE-TRAINED MODEL | ICLR 2023

开源:

GitHub - THUDM/GLM-130B: GLM-130B: An Open Bilingual Pre-Trained Model (ICLR 2023)

提出的背景

首先我们来看看,这篇论文提出的背景是什么?首先是GPT3的能力很强悍,但是没有公开,属于技术瓶颈,并且目前的语言模型实在是太大了,没有几百张卡A100以上,真的非常难训练。本次介绍了GLM-130B的训练过程,包括其设计选择、效率和稳定性的训练策略以及工程努力。在广泛的流行英语测试中,GLM-130B模型的性能显著优于GPT-3175B,而在OPT-175B和BLOOM-176B中没有观察到性能优势。在相关测试中,它也始终显著优于最大的中文模型ERNIE TITAN 3.0 260B。最后,我们利用GLM-130B独特的缩放特性来实现INT4量化,无需量化感知训练,几乎没有性能损失,使其成为100B缩放模型中的首批。小模型多任务已经变成了一种潮流。

GLM-130B与其他100B级LLM和PaLM 540B之间的比较。(SSL:自我监督学习;MIP:多任务指令预训练;(A)PE:(绝对)位置编码;FFN:前馈网络)

模型设计

机器学习模型的体系结构定义了其归纳偏差。然而,人们已经意识到,探索LLM的各种架构设计在计算上是负担不起的。下面介绍并解释GLM-130B独特的设计。

GLM底座

本文的模型是基于之前提出的GLM(General Language Model)模型,并且对此做出了具体的改进。GLM使用单个Transformer,并对架构进行了修改:

(1)重新安排了Layer Norm 和 残差连接的顺序,这对于大规模语言模型来说至关重要,以避免数字错误;

(2) 我们使用单个线性层来进行输出Token预测;

(3) 我们用GeLU取代ReLU激活功能。

模型的基本机构变动不大,而GeLU目前在很多paper上都展现了不错的效果。

2D-Position Encoding

另外作者提出了2D-Position Encoding,本身不复杂,在普通的基础上,叠加了一个在mask span中间的位置而已,原文是inter and intra position encoding。可以详见下图来理解一下。

2D Position Encoding

Mask机制变化

和之前的方法相比,Mask包含两种,第一种是上图的x3,随机mask掉的token,而x5 x6是另外mask的,是以span来进行的,span的宽度是随机变化的,而且这个span需要位于文本的最后。既然Mask掉之后,接下来变化的就是Serf Attention了。那么具体来说,是如何形成图片中的Mask呢?实际上我们来观察一下输入GLM的部分,序列由[x1, x2, M, x4, M, S, x5, x6, S, x3]来表示,其中M代表了此处是Mask掉的,用于提示计算机这里有坑要预测,而S的含义是开始,就是开始一个Mask的部分。所以总的来说输入被堆叠成为X(corrupt) + Span 的形式,这种形式非常方便做最终的预测。对应于公式中的条件部分,就是我们的输入X(corrupt) + Span,输出就是之后的序列。

公式:预训练目标函数

Self Attention的变化

Self Attention机制介绍

首先需要注意的是颜色,蓝色代表普通query,黄色是mask2,绿色是mask1,也即是要预测的单词。乍一看这个图片很难懂,应该以行的方向来看,就和普通的语言模型大差不差了。以图中的红色框为代表,将会根据前面的彩色部分,预测出将来的灰色部分,而这部分是利用Query = [x1, x2, M, x4, M, S] 和 key = [x1, x2, M, x4, M, S, ×, ×, ×, ×],其中×代表了要预测的部分,也即是attention不做处理的部分,把他们输入成为-inf将会被attention识别为0的权重。

Layer Normalization

Layer Norm 也是对应的做了修改,在训练的过程当中,作者发现了训练时非常不稳定的。作者使用了Deep Layer Norm机制,公式为:

公式:Deep Layer Norm

其中N为网络的层数,层数越多a越小,并且Layer Norm里面利用了类似残差的机制,经过Network和原输入加在一起,组织过拟合的发生。那么具体来说,这个Layer Norm起到了多大的作用呢?下图的b告诉了我们答案:

图:梯度下降示意图

图a是在说经常会失败,作者罗列了三十种情况,图b中黄色曲线可以看到非常稳定的下降。

预训练设置

Mask设置

回想一下,GLM-130B在此任务中同时使用[MASK]和[gMASK](文中讲的两种Mask方式)。具体而言,[MASK]用于屏蔽30%的训练token中的连续跨度,用于空白填充。跨度长度遵循泊松分布(λ=3),加起来最多为输入的15%。对于其他70%的token,每个序列的前缀保留为上下文,[gMASK]用于屏蔽其余部分。屏蔽长度从均匀分布中采样。

预培训数据包括1.2T Pile英语语料库、1.0T中文五道语料库和250G中文语料库,我们从网上抓取,这些语料库形成了中英文内容的均衡组合。

多任务预训练学习

我们在GLM-130B的预训练中包括各种指令提示数据集,包括语言理解、生成和信息提取。与最近利用多任务提示微调以改进零样本任务转移的工作相比,多任务学习的token仅占5%,并且设置在预训练阶段,以防止破坏LLM的其他一般能力,例如无条件自由生成。具体而言,我们包括74个来自的提示数据集。

训练稳定性

在实际的训练当中,作者总共使用了96个A100(8*40G)训练了两个月得到了最终的模型。

混合精度

我们遵循混合精度(也即将单精度和双精度的数据一起训练)策略的常见实践,即用于向前和向后的FP16和用于优化器状态和主权重的FP32,以减少GPU内存使用并提高训练效率。与OPT-175B和BLOOM-176B类似,GLM-130B的训练面临着由于这种选择而导致的频繁的损失爆炸,随着训练的进行,这种损失爆炸往往变得越来越频繁。与精度相关的爆炸通常没有明确的原因:有些会自行恢复;其他则预示着梯度标准突然飙升,最终出现峰值甚至NaN损失。

其中FP32为32位Float精度,FP16为16位Float精度。混合精度是一种近几年的算法,为了缩小GPU内存,并且不影响训练的准确性。

OPT-175B试图通过手动跳过数据和调整超参数来修复;BLOOM-176B是通过嵌入规范技术实现的。我们花了几个月的时间对峰值进行实证调查,并意识到当扩大规模时会出现一些问题:

首先,如果使用Pre-LN,Transformer层中参数值在更深的层中可能非常大。GLM-130B中通过使用基于DeepNorm的Post LN来解决这一问题,这使得参数的尺度总是有界的。

其次,随着模型的扩大,注意力得分变得如此之大,以至于超过了FP16的范围。在LLM中有几个选项可以克服这个问题。在CogView中,PB-Relax被提议在注意力计算中删除偏差项并扣除极值以避免该问题,不幸的是,这无助于避免GLM-130B中的不收敛。在BLOOM-176B中,由于其在A100上的值范围很广,因此使用BF16格式而不是FP16。然而,在我们的实验中,BF16比FP16多消耗约15%的运行时GPU内存,因为它在梯度累积中转换 FP32 ,更重要的是,它在其他GPU平台(例如,NVIDIA Tesla V100)上不受支持,限制了生成的LLM的可访问性。BLOOM-176B的另一个选择是使用BF16应用嵌入范数,但牺牲了对模型性能的显著惩罚。

嵌入层渐变收缩(EGS)

我们的经验搜索表明,梯度范数可以作为训练崩溃的信息指标。具体来说,我们发现训练崩溃通常滞后于梯度范数的“尖峰”几个训练步骤。这种尖峰通常是由嵌入层的异常梯度引起的,因为我们观察到,在GLM-130B的早期训练中,其梯度范数通常比其他层的梯度范数大几个数量级。此外,在早期训练中,它往往会大幅波动。视觉模型通过冻结Embedding层来处理该问题。不幸的是,我们不能冻结语言模型中嵌入层的训练。

所以作者提出了一种简单的方案,这种方法能够抑制Embedding层的更新,从而达到抑制梯度爆炸的结果。具体来说,如果α是收缩因子,则该策略可以通过word_embedding=word_embetting*α+word_embending.detach()*(1-α)轻松实现。根据经验,设置α=0.1有助于消除可能遇到的大多数梯度爆炸,速度损失可以忽略不计。

GLM-130B INFERENCE ON RTX 2080 TI

如上所述,130B的型号大小是为在单个A100(40G×8)服务器上运行完整的GLM-130B型号而确定的,而不是OPT-175B和BLOOM-176B所需的高端A100(80G×8)。为了加速GLM-130B推理,我们还利 FasterTransformer在C++中实现了GLM-130B。与BLOOM-176B在Huggingface中的PyTorch实现相比,GLM-130B在同一台A100服务器上的解码推理速度快7-8.4倍。这确实是能解决很多中小企业的燃眉之急。

INT4 Quantization for RTX 3090s/2080s

我们设法达到GLM-130B的INT4权重量化,而现有的成功迄今仅达到INT8水平。在内存方面,与INT8相比,INT4版本有助于将所需GPU内存的一半额外节省到70GB,从而允许GLM130B在4×RTX 3090 Ti(24G)或8×RTX 2080 Ti(11G)上进行推理。性能方面,下图中表明,在完全没有后期训练的情况下,INT4版本GLM-130B几乎没有性能下降,因此在通用基准测试上保持了优于GPT-3的优势。

左图:量化GLM-130B在几个基准测试中的表现;右图:INT4量化GLM-130B的推理速度(编码和解码)

从图中可以看出,通过INT4的量化手段,结果并没有太大影响,反而是推理速度变快了。

结果讨论

Zero-Shot评判

事实上,“Zero shot”似乎有争议性的解释,但在社会上没有达成共识。Zero-shot的深层次含义就是“在测试时,在零样本学习环境中,目标是将测试图像分配给一个看不见的类标签”,其中涉及到看不见类标签是一个关键。因此,我们推导了选择GLM-130B的零样本数据集的标准。

英语:1)对于具有固定标签的任务(例如,自然语言推理):不应对此类任务中的数据集进行评估;2) 对于没有固定标签的任务(例如,QA、主题分类):只应考虑与MIP中的数据集有明显域转移的数据集。

中文:所有数据集都可以进行评估,因为存在零样本跨语言迁移。

语言建模测试

本次作者总共在两个测试集上测试,其一是LAMBADA,其二是Pile。第一个数据集是测试最后一个单词语言建模能力的数据集。Zero-shot的设置下,GLM-130B利用双向注意力的准确度为80.2,创下了LAMBADA的新纪录。

Pile测试集包括一系列用于语言建模的基准测试。平均而言,与GPT-3和Jurassic1相比,GLM130B在其18个共享测试集上的加权BPB表现最佳,后者的结果直接采用后者,表明其强大的语言能力。

Pile测试结果

大规模多任务语言理解 MASSIVE MULTITASK LANGUAGE UNDERSTANDING (MMLU)

在下图中查看了大约300B的token后,GLM-130B在MMLU上的few-shot(5 shot)性能接近GPT-3(43.9)。随着训练的进行,它继续向上移动,当训练结束时(即,总共学习400B个token),达到44.8的准确性。这与之前一篇论文中的结果一致,即大多数现有的LLM远未得到充分的学习。

MMLU上的GLM-130B(57个任务)以及训练步骤

中文语言理解评测

根据中文NLP基准 CLUE 和 FewCLUE 评估了GLM-130B的中文零样本性能。需要注意的是,我们在MIP中不包括任何中文下游任务。到目前为止,作者已经完成了对两个基准的部分测试,包括7个CLUE和5个FewCLUE数据集。作者将GLM-130B与现有最大的汉语单语语言模型260B ERNIE Titan 3.0进行了比较。我们按照其设置在开发数据集上报告零样本结果。GLM-130B在12项任务中始终优于ERNIE Titan 3.0。有趣的是,GLM-130B在两个抽象MRC数据集(DRCD和CMRC2018)上的表现至少比ERNIE好260%,这可能是由于GLM-130B的预训练目标与抽象MRC的形式自然产生共鸣。

GLM-130B和ERNIE Titan 3.0 260B在零样本CLUE和FewCLUE上进行评估

结论

作者在文章最后指出,失败中学到了很多的东西,而以下的lesson就是作者学习到的内容。总的来说,本文的贡献在于利用小GPU集群训练和推理。并且推理速度提升7-8倍,而且GPU的使用也比以往的显著要低,虽然最终的结果并不是SOTA,但是同比GPT3已经有了不少亮点之处,是一篇学术和工业界结合的非常紧密。

lesson列举

编辑于 2023-04-20 17:14・IP 属地北京

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一种平价的chatgpt实现方案,基于清华的 ChatGLM-6B + LoRA 进行finetune.(aigc大模型风口,校招找工作必备)

** 清华大学的chatglm-6b开源模型对话能力虽然能基本满足对话需求,但是针对专业领域和垂直领域回答显得智商捉急,这个时候就需要进行微调来提升效果,但是但是同学们显卡的显存更捉急,这时候一种新的微调方式诞生了,现在…

chatgpt相关关键字

听了一堂chatgpt的课程,真假参半,但积累了一些关键词。不知道这些关键字会在什么时候起到作用,先记录下来作为灵感积累 1 自然进化的过程,是人选择工具,也是工具选择人 2 Copliot-自动编程,感觉适用于独立新…

你会接受3.5万,但很讨厌的工作吗?网友评论亮了

大家好,我是快乐打工人小饴 周四周四,无所事事 不如来“八卦”一些轻松的话题 看看程序员们近期都在关注什么吧 你心目中Top3的公司有哪些? 网友神回复:强盛集团! 对于职场人来说,选择一家适合自己的公…

“我的人生可以分成两部分:有电脑之前和有电脑之后。”

最近,ChatGPT的出现让AI成为当下乃至未来的强大风口 而这个传奇的缔造者——山姆奥特曼(Sam Altman) 也在一夜之间成为全球最火爆的“顶流”。 “我的人生可以分成两部分:有电脑之前和有电脑之后。” 从8岁起,他就迷…

解放生产力,社媒运营人还能这样玩转ChatGPT?

相信大家这段时间都被ChatGPT刷屏了吧,东哥我也不例外!基本上一打开社媒平台都是在讨论ChatGPT,那社媒运营人应该如何使用ChatGPT呢?东哥今天就跟大家唠唠。 利用ChatGPT写广告标语、广告文案 运营人常常为广告标语、广告文案等想到头秃&…

中创AI|政治、工作、娱乐,ChatGPT正逐步影响我们的社会生产生活!

“作为政策官员,我们所做的一切,无论是编写会议记录还是批准预算文件,只是为了调动资源来解决一个常见问题。一旦我们从这个角度看待自己,ChatGPT就会成为推动者,而不是破坏者。” ——新加坡政府官员 ChatGPT可被广…

AI,正在疯狂污染中文互联网

污染中文互联网,AI成了“罪魁祸首”之一。 事情是这样的。 最近大家不是都热衷于向AI咨询嘛,有位网友就问了Bing这么一个问题: 象鼻山是否有缆车? Bing也是有问必答,给出了看似挺靠谱的答案: 在给出肯定的答…

基于Android的二维码识别系统的研究 与实现

XXXX 本科生毕业设计(论文) 学院(系): XX 专 业: XX 学 生: XX 指导教师: XX XX 完成日期 年 月 XXX本科生毕业设计(论文) 基于Android的二维码识别系统的研究 与实现 Research and Implementation of QRco…

开源布道师适兕访谈录

「 没有人会理解一个中年男人为什么会在四十岁这个压力最大的年纪,放弃稳定的技术主管生活,去坚持做“开源布道”这件看起来没有名,也没有利,甚至前路漫漫的事情。」 李建盛,1982年生,在临近35岁危机做出了…

LitCTF 2023 WriteUp(部分)

Index 前言题目Web我Flag呢? Pwn只需要nc一下~口算题卡题目分析EXP: 狠狠的溢出涅~题目分析EXP: ezlogin题目分析EXP: Reverse世界上最棒的程序员 ez_XOREXP: CryptoHex?Hex!(初级)梦想是红色的原来你也玩原神 Misc签到!(初级)Wha…

云计算、大数据、人工智能、物联网、虚拟现实技术、区块链技术(新一代信息技术)学习这一篇够了!

目录 云计算 一、云计算的基本概念 二、云计算的分类 (一) IaaS (二) SaaS (三) PaaS 三、云环境的分类、云计算的四种部署模式 (一)公有云 (二)私有云 (三)社区云 (四)混合云 四、云计算的特点 (一)虚拟化技术 (二)动态可扩展 (三)按需部署 (四)灵活性高 (五…

ChatGPT3.5使用体验

MySQL 中的索引 前言 上篇文章聊完了 MySQL 中的锁,这里接着来看下 MySQL 中的索引。 一般当我们数据库中的某些查询比较慢的时候,正常情况下,一顿分析下来,大多数我们会考虑对这个查询加个索引,那么索引是如何工作…

使用腾讯云直播开发直播功能

前言: 最近公司开发app直播功能,我是后端,使用java开发,经过考虑选择使用腾讯的云直播功能,主要是考虑到腾讯在这方面可以说是很有实力的了。然后就是选择产品的问题,腾讯提供了几种直播的解决方案&#x…

破案了,c知道就是套壳chatgpt

不过也是好事儿,国内不用魔法也可以用gpt了,比一些公司硬要自己开发二流产品强多了

【报告】Chatgpt合集报告(8篇):引领AI新浪潮,开启AI新纪元(24H限时下载)

ChatGPT 注册用户突破1亿,成为史上成长最快的消费者应用。2022年11月底,由OpenAI 开发的人工智能对话聊天机器人ChatGPT推出,并迅速在社交媒体上走红,5 天注册用户数就超过100万,两个月后,注册用户突破1亿。…

卧槽,ChatGPT 太强了吧!

机器之心报道 机器之心编辑部 关于 AI 的问题,可以直接问 AI。 OpenAI 新上线的 ChatGPT 可谓是火爆出圈,这个对话模型可以回答后续问题,承认错误,挑战不正确的前提,还能帮你修改代码中的 bug…… 只要和它聊上几句&am…

visual chatgpt:talking,drawing and editing with visual foundation models

微软-多模态ChatGPT来了:Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models - 知乎摘要ChatGPT吸引了各个领域的兴趣,因其提供了一个跨领域的具有卓越会话能力和推理能力的语言界面。然而,由于ChatGPT是一个语言模…

美的智家、海尔智家,吹响新一轮AI竞赛号角

ChatGPT大行其道,各行各业迫不及待披上了AI大模型的“盔甲”,有的企业自研AI大模型,有的企业牵手头部科技企业,寻求智能产品价值的最大化,智能家电行业也不例外。 在国内,百度AI大模型文心一言一经推出就吸…

京东“百亿补贴”提前20小时上线,电商价格战开打; iPhone 15 Pro玻璃面板泄露;凹语言 0.5.0发布|极客头条

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

【GPT-4】立即停止训练比 GPT-4 更强的模型,至少六个月!马斯克、图灵奖得主等数千 AI 专家紧急呼吁

毋庸置疑,ChatGPT、GPT-4 引领了 AI 新时代的到来,但这种让很多环节都可以实现自动化流程的工具也让人颇为恐慌。 据路透社报道,包括图灵奖得主 Yoshua Bengio、伯克利计算机科学教授 Stuart Russell、特斯拉 CEO 埃隆马斯克、苹果联合创始人 Steve Wozniak 等在内的数千名…