【论文阅读笔记】GLM-130B: AN OPEN BILINGUAL PRE-TRAINEDMODEL

news2024/11/26 23:26:18

Glm-130b:开放式双语预训练模型

摘要


我们介绍了GLM-130B,一个具有1300亿个参数的双语(英语和汉语)预训练语言模型。这是一个至少与GPT-3(达芬奇)一样好的100b规模模型的开源尝试,并揭示了如何成功地对这种规模的模型进行预训练。在这一过程中,我们面临着许多意想不到的技术和工程挑战,特别是在损失峰值和分歧方面。在本文中,我们介绍了GLM-130B的训练过程,包括它的设计选择,效率和稳定性的训练策略,以及工程努力。由此产生的GLM-130B模型在广泛的流行英语基准测试中提供了明显优于GPT-3 175B(达芬奇)的性能优势,而在OPT-175B和布鲁姆- 176b中没有观察到这种性能优势。在相关基准测试中,它也始终显著优于最大的中文模型ERNIE TITAN 3.0 260b。最后,我们利用GLM-130B的独特缩放特性,在没有后训练的情况下达到INT4量化,几乎没有性能损失,使其成为100b尺度模型中的第一个,更重要的是,允许其对4×RTX 3090 (24G)或8×RTX 2080 Ti (11G) gpu进行有效推理,这是使用100b尺度模型所需的最经济实惠的gpu。GLM-130B模型权重是公开访问的,其代码、训练日志、相关工具包和经验教训都是在https://github.com/THUDM/GLM-130B/上开源的。

1 INTRODUCTION

大型语言模型(llm),特别是那些参数超过1000亿个(100B)的模型(Brown et al, 2020;Thoppilan et al, 2022;Rae等,2021;Chowdhery等人,2022;Wang等人,2021)提出了有吸引力的缩放定律(Wei等人,2022b),其中突然出现了zero-shot和few-shot能力。其中,具有175B个参数的GPT-3 (Brown et al, 2020)开创了100b尺度llm的研究,在各种基准测试中,使用32个标记样例产生的性能明显优于完全监督的BERT-Large模型。然而,GPT-3(以及许多其他封闭的100b级规模的GPT-3)模型本身以及如何训练它,到目前为止对公众都是不透明的。培养出如此规模的高质量LLM,并将模型和培训过程分享给大家,具有至关重要的价值。


因此,我们的目标是预先训练一个开放和高度精确的100b级模型,并考虑到道德问题。在我们的尝试过程中,我们已经意识到,与训练10b规模的模型相比,在预训练效率、稳定性和收敛性方面,以这种规模预训练密集的LLM会带来许多意想不到的技术和工程挑战。在训练OPT-175B (Zhang et al ., 2022)和BLOOM176B (Scao et al ., 2022)中也同时发现了类似的困难,进一步证明了GPT-3作为先驱研究的重要性。

在这项工作中,我们从工程努力、模型设计选择、效率和稳定性的训练策略以及可负担推理的量化方面介绍了100b规模模型glm - 130b的预训练。由于人们普遍认识到,经验地列举训练100b级llm的所有可能设计在计算上是负担不起的,我们不仅介绍了训练GLM-130B的成功部分,还介绍了许多失败的选择和经验教训。


特别是训练的稳定性是如此规模的训练模式能否成功的决定性因素。与OPT-175B中手动调整学习率和BLOOM-176B中牺牲性能使用嵌入范数等做法不同,我们对各种选项进行了实验,发现嵌入梯度收缩策略可以显著稳定GLM-130B的训练。


具体来说,GLM-130B是一个双语(英语和中文)双向密集模型,具有1300亿个参数,在2022年5月6日至7月3日期间,在96个NVIDIA DGX-A100 (8×40G) GPU节点的集群上预训练了超过4000亿个令牌。我们没有使用gpt风格的架构,而是采用通用语言模型(General Language Model, GLM)算法(Du et al, 2022)来利用其双向注意力优势和自回归的空白填充目标。表1总结了GLM-130B、GPT-3与另外两个开源成果——opt - 175b和BLOOM-176B,以及PaLM 540B (Chowdhery et al, 2022)——一个4倍大的模型的比较,作为参考。


总之,概念上的独特性和工程上的努力使GLM-130B在广泛的基准测试(总共112个任务)中表现出超过GPT-3水平的性能,并且在许多情况下也优于PaLM 540B,而在OPT-175B和BLOOM-176B中尚未观察到优于GPT-3的性能(参见图1左)。对于零弹性能,GLM-130B在LAMBADA上优于GPT-3 175B(+5.0%)、OPT-175B(+6.5%)和BLOOM-176B (+13.0%) (Paperno et al, 2016),在Big-bench-lite上优于GPT-3 3 (Srivastava et al, 2022)。对于5发MMLU (Hendrycks et al, 2021)任务,它优于GPT-3 175B(+0.9%)和BLOOM-176B(+12.7%)。作为中文的双语 LLMs,它在7个zero-shot CLUE (Xu et al ., 2020)数据集(+24.26%)和5个zero-shot FewCLUE (Xu et al ., 2021)数据集(+12.75%)上的结果明显优于中文最大的 LLMs ERNIE TITAN 3.0 260B (Wang et al ., 2021)。重要的是,如图1所示,作为开放模型的GLM-130B与100b级模型相比,其偏置和生成毒性明显更小。


最后,我们设计了GLM-130B,使尽可能多的人能够进行100b规模的 LLMs研究。首先,决定130B的大小,而不是使用175B+参数作为OPT和BLOOM,因为这样的大小支持在单个A100 (8×40G)服务器上进行推理。其次,为了进一步降低对GPU的要求,我们将GLM-130B量化为不经过后训练的INT4精度,而OPT和BLOOM只能达到INT8精度。由于GLM架构的独特特性,GLM- 130b的INT4量化带来的性能下降可以忽略不计,例如,在LAMBADA上下降-0.74%,在MMLU上甚至下降+0.05%,使其仍然优于未压缩的GPT-3。这使得GLM130B在4×RTX 3090 (24G)或8×RTX 2080 Ti (11G)服务器上的快速推理性能得到保证,这是迄今为止使用100b级llm所需的最经济实惠的GPU。

图3:GLM-130B训练中不同layernorm的试验。结果表明,DeepNorm是最稳定的,因为它具有较小的梯度范数,并且在早期训练中不会出现峰值。

2 THE DESIGN CHOICES OF GLM-130B

机器学习模型的架构定义了它的归纳偏差。然而,人们已经意识到,探索llm的各种架构设计在计算上是负担不起的。介绍和解释GLM-130B独特的设计选择。

2.1 GLM-130B’S ARCHITECTURE

GLM作为主干。最近的 100B-scale LLMs,如GPT-3、PaLM、OPT和BLOOM,都遵循传统的gpt风格(Radford等人,2019)的解码器自回归语言建模架构。在GLM-130B中,我们尝试探索双向glm -通用语言模型(Du et al, 2022)作为其主干的潜力。

GLM是一种基于变换的语言模型,利用自回归填充空白作为其训练目标。简而言之,对于文本序列x = [x1,···,xn],从中采样文本跨度{s1,···,sm},其中每个si表示一个连续标记[si,1,···,si,li]的跨度,并用单个掩码标记替换(即损坏)以形成xcorrupt。要求模型自回归地恢复它们。为了允许损坏跨度之间的交互,它们对彼此的可见性是由它们顺序的随机抽样排列决定的。

GLM在未屏蔽(即未损坏)上下文上的双向注意将GLM- 130b与使用单向注意的GPT-style LLMs区分开来。为了支持理解和生成,它混合了两个corruption目标,每个目标都由一个特殊的mask token表示:

•[MASK]:句子中的短空格,其长度加起来相当于输入的某一部分。
•[gMASK]:在提供前缀上下文的句子末尾随机长度的长空白。

从概念上讲,具有双向注意的空白填充目标能够比gpt风格的模型更有效地理解上下文:当使用[MASK]时,GLM-130B表现为BERT (Devlin等人,2019)和T5 (rafael等人,2020);当使用[gMASK]时,GLM-130B的行为与PrefixLM相似(Liu et al, 2018;Dong et al, 2019)。

根据经验,GLM-130B在zero-shot LAMBADA上提供了创纪录的80.2%的精度,优于GPT-3和PaLM 540B(图2)。通过设置注意罩,GLM-130B的单向改型可与GPT-3和OPT-175B相媲美。我们的观察结果与现有研究结果一致(Liu et al ., 2018;Dong et al, 2019)。

图2:相似规模的GLM-130B和LLMs 在zero-shot LAMBADA语言建模。Du等人(2022)提供了GLM双向注意的详细信息。

Layer Normalization层规范化(LN, Ba等人(2016))。训练不稳定性对LLMs是一个主要挑战(Zhang et al ., 2022;Scao等,2022;Chowdhery等人,2022)(参见附录中的图10,用于训练几个100b尺度模型中的崩溃)。选择合适的LNs,可以稳定训练LLMs。我们对现有的实践进行了实验,例如Pre-LN (Xiong et al, 2020);

我们的研究后来集中在Post-LN上,因为它在初步实验中具有良好的下游结果,尽管它不能稳定GLM-130B。幸运的是,用新提出的DeepNorm (Wang et al ., 2022b)初始化后ln的一次尝试产生了很好的训练稳定性。具体而言,给定GLM-130B的层数N,我们采用DeepNorm(x) = LayerNorm(α·x + Network(x)),其中α = (2N) 1 2,并对ffn, v_proj和out_proj应用缩放因子为(2N)−1 2的Xavier法线初始化。此外,所有偏置项初始化为零。从图3可以看出,这对GLM-130B的训练稳定性有明显的好处。

Positional Encoding and FFNs位置编码和ffn。我们在训练稳定性和下游性能方面对位置编码(PE)和FFN改进的不同选项进行了实证测试(详见附录B.3)。对于GLM-130B中的pe,我们采用旋转位置编码(RoPE, Su等人(2021))而不是ALiBi (Press等人,2021)。为了改善Transformer中的ffn,我们选择GLU和GeLU (Hendrycks & Gimpel, 2016)激活作为替代品。

2.2 GLM-130B’S PRE-TRAINING SETUP

受到近期作品的启发(Aribandi et al, 2022;魏等,2022a;Sanh et al, 2022), GLM- 130b预训练目标不仅包括自监督GLM自回归空白填充,还包括对一小部分token的多任务学习。预计这将有助于提高其下游零次学习性能。

零次学习 Zero-shot定义:学习一个新类的的视觉分类器,这个新类没有提供任何的图像数据,仅仅给出了这个类的word embedding。zero-shot基本概念
 首先通过一个例子来引入zero-shot的概念。假设我们已知驴子和马的形态特征,又已知老虎和鬣狗都是又相间条纹的动物,熊猫和企鹅是黑白相间的动物,再次的基础上,我们定义斑马是黑白条纹相间的马科动物。不看任何斑马的照片,仅仅凭借推理,在动物园一众动物中,我们也能够找到斑马。
 上述例子中包含了一个推理过程,就是利用过去的知识(已知动物的描述),在脑海中推理出新对象的具体形态,从而能对新对象进行辨认。(如下图所示)ZSL就是希望能够模仿人类的这个推理过程,使得计算机具有识别新事物的能力。
原文链接:https://blog.csdn.net/gary101818/article/details/129108491

Self-Supervised Blank Infilling (95% tokens).自我监督空白填充(95%tokens)。回想一下,GLM-130B在此任务中同时使用[MASK]和[gMASK]。每个训练序列一次独立地应用其中一个。


具体来说,[MASK]用于屏蔽30%的训练序列中的连续跨度进行空白填充。跨度的长度遵循泊松分布(λ = 3),加起来是输入的15%。


对于其他70%的序列,每个序列的前缀被保留为上下文,并使用[gMASK]来掩盖其余部分。掩码长度从均匀分布中采样。

预训练数据包括1.2T Pile (train split) (Gao et al ., 2020) English, 1.0T Chinese wuaoorpora (Yuan et al ., 2021),以及我们从网络上抓取的250G Chinese语料库(包括在线论坛、百科全书、QA),形成了中英文内容的均衡构成。

Multi-Task Instruction Pre-Training (MIP, 5% tokens).多任务指令预训练(MIP, 5%tokens)。T5 (rafael et al, 2020)和ExT5 (Aribandi et al, 2022)表明,预训练中的多任务学习可能比微调更有帮助,因此我们建议在GLM-130B的预训练中包含各种指令提示数据集,包括语言理解、生成和信息提取。


与最近的作品相比(Wei et al ., 2022a;Sanh等人,2022)利用多任务提示微调来改善zero-shot任务转移,MIP仅占5%的tokens,并且在预训练阶段设置,以防止破坏llms的其他一般能力,例如无条件自由生成。


具体来说,我们包括74个提示数据集,来自(Sanh等,2022;Wang et al ., 2022a),列于附录C和表12。建议GLM-130B用户避免根据第5节中说明的标准在这些数据集上评估其 zero-shot和 zero-shot能力。

2.3 PLATFORM-AWARE PARALLEL STRATEGIES AND MODEL CONFIGURATIONS

2.3平台感知并行策略和模型配置

GLM-130B在96个DGX-A100 GPU (8×40G)服务器集群上进行训练,为期60天。

目标是通过尽可能多的代币,正如最近的一项研究(Hoffmann et al, 2022)表明的那样,大多数现有的LLMs在很大程度上训练不足。

The 3D Parallel Strategy.三维并行策略。数据并行性(Valiant, 1990)和张量模型并行性(Shoeybi等人,2019)是训练十亿尺度模型的实际实践(Wang & Komatsuzaki, 2021;Du et al, 2022)。为了进一步解决由于在节点间应用张量并行而导致的巨大GPU内存需求和GPU整体利用率下降的问题,我们使用40G而不是80G a100来训练GLM-130B,我们将管道模型并行与其他两种策略结合起来,形成了一种3D并行策略。

管道并行性将模型划分为每个并行组的顺序阶段,为了进一步减少管道引入的气泡(bubbles),我们利用DeepSpeed (Rasley等人,2020)的PipeDream-Flush (Narayanan等人,2021)实现以相对较大的全局批大小(4,224)训练GLM-130B,以减少时间和GPU内存浪费。通过数值和实证检验,我们采用了4路张量并行和8路管道并行(详见附录B.4)。根据(Chowdhery等人,2022)的计算,我们报告了由于重新物化,硬件FLOPs利用率(HFU)为43.3%,模型FLOPs利用率(MFU)为32.5%。

GLM-130B Configurations。我们的目标是使我们的100B-scale LLM能够以FP16精度运行单个DGX-A100 (40G)节点。基于我们从GPT-3中采用的12288隐藏状态维,得到的模型尺寸必须不超过130B个参数,即GLM-130B。为了最大限度地提高GPU利用率,我们根据平台及其相应的并行策略配置模型。为了避免由于两端额外嵌入单词而导致中间阶段内存利用率不足,我们通过从中移除一层来平衡管道分区,使GLM-130B中的9×8-2=70个transformer层。


在对集群的60天访问期间,我们成功地训练了GLM-130B 4000亿个令牌(中文和英文各约2000亿个),每个样本的固定序列长度为2048。


对于[gMASK]训练目标,我们使用2,048个令牌的上下文窗口。对于[MASK]和多任务目标,我们使用512个上下文窗口并将四个样本连接在一起以满足2,048个序列长度。在第一个2.5%的样本中,我们将批量大小从192预热到4224。我们使用AdamW (Loshchilov & Hutter, 2019)作为优化器,将β1和β2设置为0.9和0.95,权重衰减值为0.1。在前0.5%的样本中,我们将学习率从10−7预热到8 × 10−5,然后通过10×cosine schedule 将其衰减。我们使用0.1的(dropout rate)和使用1.0的clipping value的clip gradients(参见表11的完整配置)。

3 THE TRAINING STABILITY OF GLM-130B

glm-130b的训练稳定性

训练稳定性是GLM-130B质量的决定性因素,它也在很大程度上受到其通过tokens数量的影响(Hoffmann et al, 2022)。因此,考虑到计算使用约束,必须在浮点(FP)格式的效率和稳定性之间进行权衡:低精度FP格式(例如16位精度- fp16)提高了计算效率,但容易出overflow and underflow errors,导致训练崩溃。

Mixed-Precision。我们遵循混合精度(micicikevicius等人,2018)策略(Apex O2)的常见做法,即FP16用于向前和向后,FP32用于优化器状态和主权重,以减少GPU内存使用并提高训练效率。与OPT-175B和BLOOM-176B类似(参见附录图10),GLM-130B的训练也会因为这种选择而面临频繁的损耗峰值,并且随着训练的进行,损耗峰值会越来越频繁。与精度相关的峰值往往没有明确的原因:有些会自行恢复;另一些则预示着梯度标准突然飙升,最终出现峰值甚至NaN损失。OPT-175B试图通过手动跳过数据和调整超参数来修复;BLOOM176B通过嵌入规范技术做到了这一点(Dettmers等人,2021)。我们花了几个月的时间对峰值进行实证调查,并意识到当transformers规模扩大时出现了一些问题:

首先,如果使用Pre-LN,transformer主支路的值尺度在较深的层中可能非常大。这在GLM130B中通过使用基于DeepNorm的Post-LN(参见第2.1节)来解决,这使得值尺度始终是有界的

其次,随着模型的扩大,注意力得分变得如此之大,以至于超过了FP16的范围。在LLMs中,有几个选项可以克服这个问题。在CogView (Ding et al, 2021)中,提出了PB-Relax来去除偏差项并在注意力计算中扣除极值以避免该问题,不幸的是,这并不能帮助避免GLM-130B中的解收敛。在BLOOM-176B中,使用BF16格式代替FP16,因为它在NVIDIA Ampere gpu(即A100)上的值范围很广。然而,在我们的实验中,由于它在梯度积累中转换为FP32, BF16消耗的运行时GPU内存比FP16多15%,更重要的是它不支持其他GPU平台(例如NVIDIA Tesla V100),限制了生成的LLMs的可访问性。BLOOM-176B的另一个选择是将嵌入范数应用于BF16,但牺牲了对模型性能的重大惩罚,因为他们注意到嵌入范数会损害模型的zero-shot学习(Cf.章节4.3 in (Scao et al, 2022))。

Embedding Layer Gradient Shrink 嵌入层梯度收缩(EGS)。我们的实证研究表明,梯度范数可以作为训练崩溃的信息指标。具体地说,我们发现训练崩溃通常落后于梯度范数的“峰值”几个训练步骤。这种尖峰通常是由嵌入层的异常梯度引起的,因为我们观察到,在GLM-130B的早期训练中,其梯度范数往往比其他层的梯度范数大几个数量级(Cf。图4 (a))。此外,在早期训练中,它往往波动很大。在视觉模型(Chen et al, 2021)中,通过冻结patch投影层来处理这个问题。不幸的是,我们不能冻结语言模型中嵌入层的训练。

最后,我们发现嵌入层上的梯度收缩可以克服损失峰值,从而稳定GLM-130B的训练。它首先用于多模态变压器CogView (Ding et al, 2021)。设α为收缩因子,该策略可以通过word_embedding = word_embedding∗α+word_embedding.detach()∗(1−α)来实现。根据经验,图4 (b)表明,设置α = 0.1可以消除我们可能遇到的大多数峰值,延迟可以忽略不计。


事实上,最后的GLM-130B训练运行只经历了三次后期损失偏离情况,尽管由于硬件故障多次失败。对于三个意想不到的峰值,进一步缩小嵌入梯度仍然可以帮助稳定GLM-130B训练。有关详细信息,请参阅代码库中的训练笔记和Tensorboard日志。

4 GLM-130B INFERENCE ON RTX 2080 TI

GLM-130B的主要目标之一是降低访问 100B-scale LLMs的硬件要求,同时不存在效率和有效性方面的缺点。


如前所述,130B的模型大小是为在单个A100 (40G×8)服务器上运行完整的GLM-130B模型而确定的,而不是OPT-175B和BLOOM-176B所需的高端A100 (80G×8)机器。为了加速GLM-130B推理,我们还利用FasterTransformer (Timonin et al, 2022)在c++中实现GLM-130B。与Huggingface中BLOOM-176B的PyTorch实现相比,在同一台A100服务器上,GLM-130B的解码推理速度快了7-8.4倍。(详情见附录B.5)。


RTX 3090 /2080的INT4量化。为了进一步支持普及的gpu,我们尝试在保持性能优势的同时尽可能压缩GLM-130B,特别是通过量化(Zafrir等人,2019;沈等,2020;Tao等人,2022),它为生成语言模型引入了很少的任务不可知性能下降。

通常,实践是将模型权重和激活量化到INT8。然而,我们在附录B.6中的分析表明,t LLMs’ 的激活可能包含极端的异常值。同时,还发现了OPT-175B和BLOOM-176B中的突发性异常值(Dettmers等人,2022),这些异常值仅影响约0.1%的特征维度,因此可以通过矩阵乘法分解对这些异常维度进行求解。不同的是,在GLM-130B的激活中存在大约30%的异常值,这使得上述技术的效率低得多。因此,我们决定专注于模型权重的量化(即,主要是线性层),同时保持FP16的激活精度。量化模型在运行时动态转换为FP16精度,引入了较小的计算开销,但大大减少了用于存储模型权重的GPU内存使用。

图5:(左)注意力密度和w2的权重分布;(右)GLM-130B的INT4权重量化标度律。

令人兴奋的是,我们成功地达到了GLM-130B的INT4权重量化,而现有的成功迄今只达到了INT8。内存方面,与INT8相比,INT4版本有助于额外节省所需GPU内存的一半至70GB,从而允许GLM-130B在4 × RTX 3090 Ti (24G)或8 × RTX 2080 Ti (11G)上进行推理。在性能方面,表2表明,在没有任何训练的情况下,int4版本的GLM-130B几乎没有性能下降,因此在普通基准测试中保持了比GPT-3更好的性能优势。

表2:左:量化的GLM-130B在几个基准上的性能;右图:INT4用FasterTransformer量化GLM-130B的推理速度(编码和解码)。

GLM’s INT4 Weight Quantization Scaling Law.   GLM的INT4权值量化标度律。我们研究了图5中所示的这种独特的INT4权重量化缩放规律的潜在机制。我们在图5中绘制了权重值分布,结果证明它直接影响量化质量。具体来说,一个分布更广的线性层需要用更大的箱子进行量化,这会导致更大的精度损失。


因此,广泛分布的注意力密集矩阵和w2矩阵解释了GPT-style BLOOM的INT4量化失败。相反,与类似大小的gpt相比,GLM的分布往往要窄得多,并且INT4和FP16版本之间的差距随着GLM模型尺寸的扩大而进一步缩小(详见附录中的图15)。

5 THE RESULTS

我们按照LLMs(如GPT-3和PaLM)的常用设置来评估GLM-130B的英语1。作为中英文双语LLM, GLM-130B也以中文为基准进行评估。


GLM-130B Zero-Shot学习范围的探讨。由于GLM-130B已与MIP训练,在这里我们澄清其Zero-Shot评估的范围。事实上,“zero-shot”的解释似乎存在争议,在社会上没有达成共识。我们遵循了一项有影响力的相关调查(Xian等人,2018),该调查称“在测试时,在Zero-Shot学习环境中,目标是将测试图像分配给看不见的类标签”,其中涉及看不见的类标签是关键。因此,我们推导出选择GLM-130B的Zero-Shot(和few-shot)数据集的标准:

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

•中文:所有数据集都可以评估,因为存在zero-shot跨语言迁移。
过滤测试数据集。遵循先前的做法(Brown et al, 2020;Rae et al .2021)和我们的上述标准,我们过滤并避免报告潜在污染数据集的评估结果。对于LAMBADA和CLUE,我们发现在13-gram的设置下重叠最小。Pile、MMLU和BIG-bench要么held-out,要么晚于语料库的爬取。 Pile,
MMLU, and BIG-bench are either held-out or released later than the crawling of corpora.

5.1 LANGUAGE MODELING

LAMBADA (Paperno et al ., 2016)是一个测试最后一个单词语言建模能力的数据集。先前图2所示的结果表明,GLM-130B在双向关注的情况下实现了80.2的zero-shot精度,在LAMBADA上创造了新的记录。

Pile测试集(Gao et al ., 2020)包括一系列语言建模的基准。平均而言,与GPT-3和Jurassic1 (Lieber et al, 2021)相比,GLM130B在其18个共享测试集上的加权BPB表现最好,后者的结果直接采用后者,显示其强大的语言能力(详见附录C.4)。

表3:GLM-130B在Pile评价上的平均BPB(18个子数据集)

图6:沿着训练步骤在MMLU(57个任务)上的GLM-130B。

图7:跨尺度的BIG-bench-lite评估(24个任务)

表4:BIGbench-lite的详细信息(24个任务)。

5.2 MASSIVE MULTITASK LANGUAGE UNDERSTANDING (MMLU)

大规模多任务语言理解(mmlu)

MMLU (Hendrycks等人,2021)是一个多样化的基准,包括57个选择题回答任务,涉及从高中水平到专家水平的人类知识。它是在Pile爬取之后发布的,是LLMs几次学习的理想试验台。GPT-3结果采用MMLU, BLOOM-176B测试使用与GLM-130B相同的提示符(详见附录C.6和表15)。


在图6中查看了大约300B个tokens后,GLM-130B在MMLU上的few-shot (5-shot) p性能接近GPT-3(43.9)。随着训练的进行,它继续向上移动,当训练必须结束时达到44.8的准确率(即总共查看400B个tokens)。这与观察结果(Hoffmann et al, 2022)一致,即大多数现有LLMs远未得到充分训练。

5.3 BEYOND THE IMITATION GAME BENCHMARK (BIG-BENCH)​​​​​​​

5.3超越模仿游戏基准(BIG-BENCH)

BIG-bench (Srivastava et al, 2022)对涉及模型推理、知识和常识能力的挑战性任务进行基准测试。考虑到llm评估它的150个任务非常耗时,我们暂时报告了big -bench寿命——一个官方的24个任务子集合。从图7和表4可以看出,在zero-shot设置中,GLM-130B优于GPT-3 175B,甚至优于PaLM 540B(比GPT-3 175B大4倍)。这可能是由于GLM-130B的双向上下文注意和MIP,这已被证明可以改善看不见的任务中的zero-shot结果(Wei等人,2022a;Sanh et al, 2022)。随着shot的增加,GLM-130B的性能不断提高,保持了其优于GPT-3的性能(各型号和任务的详细信息参见附录C.5和表14)。


限制和讨论。在上述实验中,我们观察到GLM-130B随着少弹样本数量的增加,其性能的增长(13.31 ~ 15.12)不如GPT-3(4.35 ~ 13.18)显著。下面是我们对这一现象的直观理解。


首先,GLM-130B的双向特性可能导致较强的zero-shot性能(如zero-shot语言建模所示),从而比单向LLMs更接近相似规模(即 100B-scale)模型的few-shot“上限”。其次,这也可能归因于现有MIP范式的缺失(Wei et al ., 2022a;Sanh et al ., 2022),它只涉及训练中的zero-shot预测,并且可能会偏向GLM-130B,以获得更强的zero-shot学习,但相对较弱的上下文few-shot性能。为了纠正偏差,我们提出的一个潜在解决方案是使用带有不同上下文样本的MIP,而不仅仅是零样本。


最后,尽管与GPT-3几乎相同的GPT架构,PaLM 540B在使用少量上下文学习的情况下的相对增长要比GPT-3显著得多。我们推测,这种性能增长的进一步加速是PaLM高质量和多样化的私人收集的培训语料库的来源。通过将我们的经验与(Hoffmann et al, 2022)的见解相结合,我们意识到应该进一步投入更好的架构、更好的数据和更多的算力FLOPS。

5.4 CHINESE LANGUAGE UNDERSTANDING EVALUATION (CLUE)

我们评估了GLM-130B在既定的中国自然语言处理基准CLUE (Xu et al ., 2020)和FewCLUE (Xu et al ., 2021)上的中国zero-shot性能。请注意,我们在MIP中不包括任何中国下游任务。到目前为止,我们已经完成了两个基准的部分测试,包括7个CLUE和5个FewCLUE数据集(详见附录C.7)。我们将GLM-130B与现有最大的中文单语语言模型260B ERNIE Titan 3.0 (Wang et al, 2021)进行了比较。我们遵循它的设置来报告开发数据集上的zero-shot结果。GLM-130B在12个任务中始终优于ERNIE Titan 3.0(参见图8)。有趣的是,GLM-130B在两个抽象MRC数据集(DRCD和CMRC2018)上的表现至少比ERNIE好260%,这可能是由于GLM-130B的预训练目标自然地与抽象MRC的形式产生共鸣。

Figure 8: GLM-130B and ERNIE Titan 3.0 260B evaluated on zero-shot CLUE and FewCLUE.

图8:GLM-130B和ERNIE Titan 3.0 260B在zero-shot CLUE和FewCLUE上的评估。

6 RELATED WORK

在本节中,我们回顾了GLM-130B在预训练 LLMs的预训练、迁移和推理方面的相关工作(Qiu et al ., 2020;Bommasani et al, 2021)。


训练。香草语言建模指的是仅解码器的自回归模型(例如,GPT (Radford等人,2018)),但它也识别文本上任何形式的自我监督目标。


最近,基于变压器的语言模型(Vaswani等人,2017)呈现出一种迷人的缩放规律:随着模型的扩展,新能力(Wei等人,2022b)从1.5B (Radford等人,2019),10b尺度的语言模型(rafael等人,2020;Shoeybi等人,2019;Black等人,2022),到100Bscale GPT-3 (Brown等人,2020)。后来,尽管有许多百万级的 LLMs(Lieber et al, 2021;Thoppilan et al, 2022;Rae等,2021;Smith等人,2022;Chowdhery等人,2022;Wu等,2021;Zeng等,2021;Wang et al ., 2021)的中英文版本,它们不向公众开放,或者只能通过有限的api访问。 LLMs之间的紧密关系严重阻碍了其发展。GLM-130B的努力,以及最近的ElutherAI, OPT-175B (Zhang等人,2022)和BLOOM-176B (Scao等人,2022),旨在为我们的社区提供高质量的开源 LLMs。


转移。虽然微调实际上是迁移学习的一种方式,但由于 LLMs的规模巨大,对 LLMs的评估一直集中在提示和情境学习上(Brown等人,2020;Liu et al ., 2021a)。然而,最近的一些尝试是关于语言模型的参数有效学习(Houlsby等人,2019)和提示调谐(即p调谐,Li & Liang (2021);Liu等(2021b);Lester et al (2021);Liu et al(2022))。目前我们暂不关注这些,将把它们在GLM-130B上的综合测试留到以后的研究中。


推理。如今,大多数公众可访问的 LLMs都通过有限的api提供服务。在这项工作中,我们努力的一个重要部分是LLMs的高效和快速推理。相关工作可能包括蒸馏(Sanh等人,2019;Jiao等,2020;Wang et al, 2020),量化(Zafrir et al, 2019;沈等,2020;Tao et al ., 2022)和修剪(Michel et al ., 2019;Fan et al, 2019)。最近的研究(Dettmers等人,2022)表明,由于异常维数的特殊分布,OPT-175B和BLOOM-176B等LLMs可以量化为8位。在这项工作中,我们展示了GLM的INT4权重量化缩放定律,该定律允许GLM- 130b在最少4×RTX 3090 (24G) gpu或8×RTX 2080 Ti (11G) gpu上进行推理。

7 CONCLUSION AND LESSONS

我们介绍GLM-130B,一种双语预训练语言模型,旨在促进开放和包容的法学硕士研究。GLM-130B的技术和工程事业为LLMs的架构、预训练目标、训练稳定性和效率以及可负担的推理提供了见解。总之,它有助于GLM-130B在112项任务的语言表现和偏见和毒性基准的道德结果方面的高质量。我们成功和失败的经验都被浓缩成 100B-scale LLMs 训练的经验教训,附在附录B.10中。

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

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

相关文章

arcgis图上添加发光效果!

看完本文, 你可以不借助外部图片素材, 让你的图纸符号表达出你想要的光! 我们以之前的某个项目图纸为例,来介绍下让符号发光的技术! 第一步—底图整理 准备好栅格影像底图、行政边界的矢量数据,确保“数据合适、位置正确、边界吻合”。 确定好图纸的大小、出图比例、投…

食品企业数字孪生可视化管理平台,实现智慧轻工业高质量发展

如今,数字技术正在打破传统食品产业的边界,随着食品加工产业链不断进化为智慧体,数字孪生技术已经成了食品行业数字进阶的重要抓手。食品加工数字孪生工厂,通过应用数字孪生技术,将食品加工工厂的自动化生产线全过程进…

浏览器哪家强——PC端篇

今天的分享将围绕一个大家再熟悉不过的名称展开——浏览器。 根据百科给出的解释:浏览器是用来检索、展示以及传递Web信息资源的应用程序。通俗的说,浏览器就是一种阅读工具,类似记事本、word、wps,只不过后者阅读的是文本文档&am…

Linux0.11内核源码解析-malloc

malloc介绍 Linux内核版本0.11中的malloc.c文件实现了内存分配的功能。在这个版本的Linux内核中,malloc.c文件包含了内核级别的内存分配函数,用于分配和释放内核中的内存。这些函数可以帮助内核管理可用的内存,并允许内核动态地分配和释放内…

ajax-axios发送 get请求 或者 发送post请求带有请求体参数

/* axios v0.21.1 | (c) 2020 by Matt Zabriskie */ !function(e,t){"object"typeof exports&&"object"typeof module?module.exportst():"function"typeof define&&define.amd?define([],t):"object"typeof export…

记一次大数据事故@用了很久的虚拟机环境突然不能联网了

记一次大数据事故用了很久的虚拟机环境突然不能联网了 背景 今天打开自己电脑上的虚拟机环境打算练习一下flink,结果发现vmware里虚拟机能正常开机,也能正常进图os,但是就是不能ping通主机,主机也不能ping通虚拟机 探查 1、…

绝缘检测原理和绝缘电阻计算方法

文章目录 简介绝缘检测功能绝缘检测原理绝缘电阻检测的常用方法不平衡电桥法 绝缘电阻绝缘电阻的计算 绝缘检测开启或关闭为什么根据 V1 < V2 或 V1 ≥ V2 判断是上桥臂并入电阻还是下桥臂并入电阻 简介 绝缘检测是判断动力(正、负)总线与外…

Maven本地配置获取nexus私服的依赖

场景 Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包: Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包_nexus maven-releases 允许deploy-CSDN博客 在上面讲的是…

【6】c++11新特性(稳定性和兼容性)—>Lambda表达式

基本用法 lambda表达式是c最重要也是最常用的特性之一,这是现代编程语言的一个特点,lambda表达式有如下的一些优点: (1)声明式的编成风格:就地匿名定义目标函数活着函数对象,不需要额外写一个命…

Ubuntu20.04安装CUDA、cuDNN、tensorflow2可行流程(症状:tensorflow2在RTX3090上运行卡住)

最近发现我之前在2080ti上运行好好的代码,结果在3090上运行会卡住很久,而且模型预测结果完全乱掉,于是被迫研究了一天怎么在Ubuntu20.04安装CUDA、cuDNN、tensorflow2。 1.安装CUDA(包括CUDA驱动和CUDA toolkit,注意此…

【MySQL】MySQL的安装与配置环境变量(使其在控制台上使用)

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《MySQL》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力)打造&a…

删除文件要谨慎!如何在Linux中删除目录或文件

删除目录和文件是任何操作系统中最基本但最重要的功能之一。在Linux中,如果运行的是窗口环境,则可以使用文件管理器应用程序查找和删除文件。也许你是通过SSH远程登录的,或者你的Linux计算机没有安装GUI,或者你想对你要删除的内容有更多的控制权。与Linux中的任何东西一样,…

【微服务 Spring Cloud Alibaba】- Nacos 服务注册中心

目录 1. 什么是注册中心? 1.2 注册中心的作用 2. SpringBoot 整合 Nacos 实现服务注册中心 2.1 将服务注册到 Nacos 2.2 实现消费者 3. 服务列表各个参数的含义、作用以及应用场景 1. 什么是注册中心? 注册中心是微服务架构中的一个重要组件&…

NoSQL数据库以及架构介绍

文章目录 一. 什么是NoSQL?二. NoSQL分类三. NoSQL与关系数据库有什么区别四. NoSQL主要优势和缺点五. NoSQL体系框架 其它相关推荐: 系统架构之微服务架构 系统架构设计之微内核架构 鸿蒙操作系统架构 架构设计之大数据架构(Lambda架构、Kap…

Selenium学习(Java + Edge)

Selenium /səˈliːniəm/ 1. 简介 ​ Selenium是一个用于Web应用程序自动化测试工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE、Mozilla Firefox、Safari、Google Chrome、Opera、Edge等。 ​ 适用于自动化测试&#x…

Linux期末复习——文件I/O编程

Linux系统调用以及用户编程接口 三者关系 系统调用、API以及系统命令之间关系: 什么是文件描述符? 是一个非负整数,索引值 打开或者创建一个文件的时候,内核会向进程返回一个文件描述符 读写文件时,会向函数传递一个文…

ModuleNotFoundError: No module named ‘paddle.fluid.incubate.fleet‘

在使用rocketqa的时候可能会遇到下面的问题: 问题: 解决方法: 这完全是paddlepaddle的问题。 在rocketqa/utils/optimization.py出现下面的语句,这个时候直接把出错的注释掉就可以,因为它完全没有用到。(…

Win10奇怪的部分文字乱码问题

1.打开Windows设置的时间和语言 2.打开区域下方的的其他日期、时间和区域设置 3.点击更改日期、时间或数字格式。切换到管理 4.点击更改系统区域设置,取消Beta版:使用Unicode UTF-8提供全球语言支持。 按提示重启电脑即可。

Windows电脑怎么下载桌面便签小工具?

Windows电脑是日常办公中常用的工具,电脑上可以安装许多软件来辅助日常办公,其中桌面便签工具可以为大家记录很多日常办公中的各项工作计划,而且便签软件通常可以悬挂于电脑桌面显示,方便大家一边工作一边查看备忘记录。 谈及Win…

探索网络攻击:ARP断网、ARP欺骗和DNS欺骗实验解析

目录 前言 一、ARP概述 1.1 什么是ARP 1.2 ARP协议的基本功能 1.3 ARP缓存表 1.4 ARP常用命令 二、ARP断网实验 三、ARP欺骗实验 3.1 内网截获图片 3.2 HTTP账户密码获取 四、DNS欺骗实验 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识&…