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

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.mzph.cn/news/127766.shtml

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

相关文章

inquirer.js——交互式命令行用户界面

一、什么是inquirer.js 1、inquirer.js是一个开源的交互式命令行用户界面(CLI)库,可以让你轻松地与用户进行交互,获取用户输入并做出相应的处理。它的主要功能是提供了一系列常用的命令行交互界面组件,例如input、con…

单目标应用:进化场优化算法(Evolutionary Field Optimization,EFO)求解微电网优化MATLAB

一、微网系统运行优化模型 微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 二、进化场优化算法EFO 进化场优化算法(Evolutionary Field Optimization,EFO)由Baris Baykant Alagoz等人于2022年提出&…

系统架构设计之云原生架构

云原生架构 一. 云原生技术介绍二. 传统架构模式 VS 云原生架构模式三. 云原生架构反模式四. 云原生架构设计原则 其它相关推荐: 软考系统架构之案例篇(架构设计相关概念) 系统架构之微服务架构 系统架构设计之微内核架构 鸿蒙操作系统架构 所属专栏:系统…

家政APP开发服务同城预约维修接单管理系统软件小程序

家政服务小程序是一个基于移动端的家政服务平台,为用户提供方便快捷的家政服务。以下是小程序的主要功能: 1. 家政服务内容展示:商家可以在小程序中展示各种家政服务项目,如清洁、保洁、保姆、月嫂、钟点工等。用户可以浏览服务信…

Ansible中的变量及加密

目录 一、变量的设定 二、变量的使用方式 1、在playbook中直接定义变量 2、在文件中定义变量 3、设定主机变量和清单变量 4、目录设定变量 5、用命令覆盖变量 6、使用数组设定变量 7、注册变量 8、事实变量 9、魔法变量 三、JINJA2模板 四、加密控制 1、创建加…

Qt 插件开发详解

1.简介 Qt插件是一种扩展机制,用于将应用程序的功能模块化,并且可以在运行时动态加载和卸载。Qt框架为插件提供了一套标准的接口和管理机制,使得插件的使用和集成变得简单和灵活,通过插件机制,可以将应用程序的功能划…

Maven Repository使用

1.Maven Repository网站 https://mvnrepository.com/https://mvnrepository.com/ 2.查询需要的依赖 3.参考例子 <!-- https://mvnrepository.com/artifact/org.freeswitch.esl.client/org.freeswitch.esl.client --> <dependency> <groupId>org.freesw…

【k8s】资源管理命令-陈述式

一、资源管理介绍 1、资源管理概念 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过操作资源来管理kubernetes。 //kubernetes的本质就是一个集群系统&#xff0c;用户可以在集群中部署各种服务&#xff0c;起始就是在kubernetes集群中运行一个个…

科技驱动教育!将名师智慧资产固定在系统中

文章目录 每日一句正能量前言未来教育教育趋势一、在线教育&#xff1a;打破时间和空间的限制二、混合式学习&#xff1a;结合线上和线下的优势三、项目式学习&#xff1a;以问题为导向&#xff0c;以项目为载体 科技驱动教育模式在线教育人工智能教育虚拟现实/增强现实教育游戏…

React事件处理

目录 前言 1. 添加事件处理函数 2. 传递参数 使用箭头函数 使用bind方法 3. 阻止默认行为和冒泡 阻止默认行为 阻止事件冒泡 4. 最佳实践 前言 React是一个流行的JavaScript库&#xff0c;用于构建用户界面。在React中&#xff0c;事件处理是非常重要的一部分&#xf…

“深入理解Nginx的负载均衡与动静分离“

目录 引言一、Nginx简介1. Nginx的基本概念2. Nginx的特点3. Nginx的安装配置 二、Nginx搭载负载均衡三、前端项目打包四、Nginx部署前后端分离项目&#xff0c;同时实现负载均衡和动静分离总结 引言 在现代互联网应用中&#xff0c;高性能和可扩展性是至关重要的。Nginx作为一…

吴恩达《机器学习》2-2->2-4:代价函数

一、代价函数的概念 代价函数是在监督学习中用于评估模型的性能和帮助选择最佳模型参数的重要工具。它表示了模型的预测输出与实际目标值之间的差距&#xff0c;即建模误差。代价函数的目标是找到使建模误差最小化的模型参数。 二、代价函数的理解 训练集数据&#xff1a;假设我…

操作系统 (1)

进程的概念 进程同步/进程互斥 进程互斥的软件实现 进程互斥的硬件实现 信号量机制 生产者消费者问题 以下wei8最终情况,不可调换位置,否则会发生死锁 预防死锁 避免死锁

警惕!当心AI诈骗!

本文参照材料有&#xff1a; 鄂尔多斯新闻公众号、澎湃新闻网、搜孤新闻、腾讯网等 AI换脸诈骗实例&#xff08;就发生在近期&#xff09; 事例一&#xff1a; 近期 “AI换脸”新型诈骗频发和你视频对话的可能不是本人&#xff01; 近日&#xff0c;东胜市民李女士遭遇了冒充…

Linux shell编程学习笔记18:while循环语句

上回我们研究和探讨了Linux shell编程中for 循环语句&#xff0c;与在C/C中一样&#xff0c;for 循环语句Linux shell编程中有很多灵活的用法。今天我们来研究和探讨while循环语句。 一、数字条件循环 我们继续以for循环语句中的例子&#xff0c;计算 从1到10与2的乘积 并输出…

浅述青犀AI算法人体攀爬行为检测的应用场景及解决方案

人体攀爬行为检测是指利用计算机视觉技术对人类攀爬物体的行为进行识别和分析。该技术主要依靠图像和视频数据进行分析&#xff0c;通过识别人类身体的各个部位&#xff0c;以及其在攀爬过程中的动作和姿态&#xff0c;实现对攀爬行为的检测和跟踪。该技术的场景应用比较广泛&a…

(2)STM32单片机上位机

使用VX小程序开发上位机&#xff0c; 样式如何创建&#xff1f; 在你所在页面 开辟空间 使用 view 在view 中 输入class 就是样式&#xff0c;在编辑样式的时候&#xff0c;如何寻找哪一块的样式 就是通过这个class寻找的 按钮使用switch

算法训练 第五周

一、多数元素 本题给了我们一个数组&#xff0c;要求我们找出这个数组中出现次数大于这个数组元素总量一半的那个元素&#xff0c;也可以理解为找出数组中出现次数最多的那个元素&#xff0c;本题的解决方法有很多&#xff0c;在此我们主要讨论三种解决思路。 1.Hash表 我们可…

Scala基本数据类型和运算符

1.数据类型 1.1 类型支持 Scala 拥有下表所示的数据类型&#xff0c;其中 Byte、Short、Int、Long 和 Char 类型统称为整数类型&#xff0c;整数类型加上 Float 和 Double 统称为数值类型。Scala 数值类型的取值范围和 Java 对应类型的取值范围相同。 数据类型 描述 Byte 8 …

百度竞价排名推广对比自然排名哪一个更具优势-华媒舍

在搜索引擎结论网页页面&#xff08;SERP&#xff09;中&#xff0c;我们经常会看到一些网站链接及其广告栏。这种连接一般分为两种类型&#xff1a;百度竞价推广排名推广与自然排名。究竟哪个更有优势&#xff1f;本文将对这几种排名形式进行科谱详细介绍。 什么叫百度竞价推广…