关注我们.

人工智能

GLM-130B:开放式双语预训练模型

mm

GLM-130B框架是一个双语预训练大语言模型,拥有超过130亿个参数,能够生成英文和中文的文本输​​出。 GLM-130B框架是一次尝试开源超过100B参数规模的语言模型,并讨论如何预训练如此大规模的框架,因为目前训练如此大规模的模型常常令人不安存在分歧和损失峰值等问题。 

在本文中,我们将讨论 GLM-130B 框架,该框架试图设计一种方法来有效地预训练具有数千亿参数的大型语言模型。 我们将更深入地研究 GLM-130B 框架的工作和架构,以及培训过程和设计选择,这不仅有助于提高效率,而且有助于提高稳定性。 为测试 GLM-130B 框架在各种英语基准上的工作情况而进行的初步实验表明,GLM-130B 模型的性能优于当前最先进的技术 GPT-3框架 大幅提高。 那么让我们开始探索 GLM-130B 框架如何提供如此一致、准确和稳定的结果。 

GLM-130B 框架简介

能够在少样本和零样本设置中运行的大型语言模型,特别是那些具有超过 100 亿个参数的大型语言模型,呈现出有吸引力的缩放定律,其中,GPT-3 框架是性能最好的框架之一,它比它的前身是 BERT 框架。 然而,尽管 GPT-3 框架很受欢迎,应用也很广泛,但训练过程以及在某些方面,GPT-3 框架本身对公众来说并不透明。 此外,根据经验枚举超过 100B 参数的 LLM 训练的所有可能设计在计算上是无法承受的,这使得为大规模 LLM 框架提出预训练方法变得更加重要。 

上述观点使得分享像GPT-3这样的高质量大型LLM框架的工作和培训过程具有至关重要的价值,并且考虑到道德问题, GLM-130B 框架是一种预训练具有超过 100B 参数的准确开源 LLM 的尝试。 在尝试过程中,GLM-130B开发团队观察到,预训练大规模LLM框架往往伴随着预训练稳定性、效率和收敛性方面的一系列工程和技术挑战。 

更具体地说,GLM-130B 是一个双向、双语密集框架,由超过 130B 个参数组成,在近两个月的时间内在 400 个 NVIDIA DGX-A96 GPU 节点的集群上预训练了超过 100B 个令牌。 此外,GLM-130B 框架没有选择 GPT 式架构,而是使用 GLM 或通用语言模型算法,试图利用其自回归空白填充目标和双向注意力优势。 下表比较了GLM-130B框架与其他超过100B参数的型号,包括 GPT、BLOOM-176B 和 OPT-175B。 

GLM-130B 框架中涉及的工程和开发概念优于几乎所有大型 LLM 框架,包括 GPT-3 和 PaLM 540B,在很多情况下以及各种基准测试中具有超过 500B 的参数。 下图将 GLM-130B 框架与超过 100B+ 参数的模型的性能进行了比较,可以看出,GLM-130B 框架的生成毒性和偏差明显低于其对应框架。 

最后,GLM-130B 的设计方式允许尽可能多的开发人员对具有超过 100B 参数的框架进行研究,GLM-130B 框架有两种方式实现这一目标。 首先,GLM-175B 框架没有使用 BLOOM 和 OPT 等超过 130B 的参数,而是使用 130B 的参数,因为模型的大小即使在单独的 A100 服务器上也支持干扰。 其次,与其他LLM框架相比,运行GLM-130B框架的GPU要求更低,GLM-130B框架通过将原始框架量化为INT4精度来实现这一点。 GLM-4B 框架使用的 INT130 量化增强了性能,同时保持了可忽略不计的性能下降。 

GLM-130B:架构

机器学习模型的归纳偏差是由其架构描述的,当开发人员无法探索各种架构设计时,这并不奇怪。 大型语言模型 考虑到计算的承受能力和可行性。 话虽如此,我们来看看GLM-130B的架构。 

PaLM、GPT 等大型 LLM 框架具有超过 100B 的参数,它们建立在传统的仅解码器 GPT 风格的自回归语言建模架构之上。 另一方面,GLM-130B 框架探索了使用 双向通用语言模型 或者 GLM,一种基于 Transformer 的语言模型,旨在利用自回归填空作为训练目标,作为其基础。 简而言之,对于给定的文本序列,GLM 框架会对文本范围进行采样,然后将其替换为单个掩码标记。 

通用语言模型对未损坏或未屏蔽上下文的双向关注是将 GLM-130B 框架与使用单向方法的 GPT 风格方法区分开来的。 此外,为了支持数据的生成和理解,GLM 框架合并了两种损坏策略,每种策略都用特殊且唯一的掩码标记表示。 

  • [面具] : [MASK] 是一种在句子中使用短空格的腐败策略,其长度加起来达到输入的一定百分比。 
  • [掩码] :[gMASK] 是一种损坏策略,它在带有前缀上下文的句子末尾使用随机长度的空白。 

GLM 框架采用的方法使得该框架在零样本 LAMBADA 语言建模上记录了超过 80% 的准确度分数,并且优于 PaLM 540B 和 GPT-3 框架。 

层标准化

开发人员在训练LLM框架时面临的主要挑战之一是训练不稳定,使用适当的LN(Layer Normalization)可能有助于LLM的训练。 GLM-130B 框架由于其在下游任务上的性能而使用 Post-LN 方法。 

FFN 和位置编码

前馈神经网络或 FFN 和位置编码是 GLM-130B 框架采用的两种方法,用于引入高端下游性能和训练稳定性。 

预训练设置

GLM-130B框架的预训练目标不仅包括少量token的多任务学习,还包括自回归填空的自监督GLM,期望这种方法能够帮助GLM -130B 框架中的下游任务。 话虽如此,GLM-130B 框架的预训练设置如下所示。 

自监督填空

如前所述,GLM-130B 框架使用两种损坏策略,即 [MASK] 和 [gMASK],其中一种策略独立应用于每个单独的训练序列,一次一个。 为了填充空白,[MASK] 策略屏蔽了训练序列中 30% 的连续跨度,其中跨度的长度最多可达输入的 15%,并遵循泊松分布。 对于剩下的 70% 的序列,每个序列的前缀都保留为上下文,[gMASK] 策略有助于屏蔽其余的序列,然后使用均匀分布对屏蔽的长度进行采样。 

多任务指令预训练

研究表明,采用多任务学习方法对模型进行预训练可以提供比微调更好的结果,从而改善零样本设置中的任务转移。 随后,GLM-130B 框架建议在预训练期间使用一系列指令提示数据集,包括语言生成、理解和信息提取。 

与其他利用多任务提示微调的零样本任务转移方法相比,GLM-130B 框架遵循的多任务指令预训练方法仅占总代币的 5%,并且它是在预训练阶段设置的,旨在防止破坏 LLM 框架的其他能力,或者换句话说, 无条件自由生成

3D平行策略

有两种事实上的做法可以训练具有数十亿参数的大规模模型, 张量模型并行性 数据并行性。 为了尽量减少 GPU 利用率并处理巨大的 GPU 需求,GLM-130B 框架实现了 3D 并行策略,该策略将管道模型并行策略与张量模型并行策略和数据并行策略相结合。 

GLM-130B:训练稳定性

训练稳定性是决定LLM质量的一个重要因素,训练稳定性很大程度上取决于其通过的token数量。 此外,考虑到计算限制,在浮点格式的稳定性和效率之间建立权衡至关重要。 例如,低精度浮点格式可以提高计算效率,但由于它们容易出现下溢和上溢错误,因此通常会导致训练崩溃。 

混合精度

为了提高训练精度并减少内存使用,GLM-130B 框架遵循使用混合精度的常见做法,即前向和后向使用 FP16,主权重和优化器状态使用 FP32。 就像其他流行的LLM框架包括BLOOM-176B和OPT-175B一样,使用混合精度策略的GLM-130B框架的训练阶段面临频繁的损失尖峰,并且随着模型的继续训练,这些尖峰损失的频率往往会增加。 此外,开发人员在扩大变压器规模时面临着一些重大问题。 

首先,使用 Pre-LN 时,变压器主分支的值规模在较深层可能会很大,而在 GLM-130B 框架中,通过使用基于 DeepNorm 的 Pre-LN 来解决,这确保了值规模始终是有限的。 其次,随着模型规模的扩大,注意力分数会增长到超出 FP16 范围的程度。 

嵌入层梯度收缩或 EGS

研究 GLM-130B 框架的开发人员发现,梯度范数可以作为训练崩溃的信息指标,并且训练崩溃通常滞后于梯度范数的峰值。 造成这些尖峰的原因是嵌入层的梯度异常,开发人员观察到,与其他层的梯度范数相比,嵌入层的梯度范数要大几个数量级,并且在嵌入层的梯度范数期间也往往会出现剧烈波动。框架的早期培训。 视觉模型 也面临这个问题,通过冻结面片投影层来解决。 然而,与语言模型中相同的方法不能应用于法学硕士,你不能冻结投影层。 

GLM-130B:结果和性能

为了评估 GLM-130B 在英语任务上的性能,它实现了与常见的 LLM 框架(包括 PaLM 和 GPT-3)相同的设置,并且由于 GLM-130B 是双语框架,因此还针对多个中文基准进行了评估。 GLM-130B 框架的性能将通过多个基准进行衡量,包括 语言建模、MMLU(大规模多任务语言理解)、BIG-Bench(或超越模仿游戏基准)以及 CLUE(中文语言理解评估)。 所以让我们开始吧。 

语言建模

GLM-130B 框架上的语言建模基准测试在两个数据集上执行:LAMBADA 和 Pile。 

LAMBADA数据集用于测试法学硕士的最后词建模能力,GLM-130B框架在双语环境下获得了80.2的零样本准确率分数,并在LAMBADA数据集上创下了新的基准记录。 

另一方面,Pile 是一个测试集,包含一系列语言模型基准测试。 平均而言,与 GPT-3 和 Jurassic-1 相比,GLM-130B 框架在 18 个共享测试集上的加权 BPB 方面表现最佳。 结果展示了GLM-130B框架强大的语言能力,结果如下表所示。 

MMLU 或大规模多任务语言理解

MMLU 或大规模多任务语言理解 是一个多样化的基准,包含 50 多个涉及人类智力和知识的多项选择题回答任务,从高中到专家级别,在 Pile 测试集爬取后发布,因此是一个理想的基准test-best 评估法学硕士的几次学习能力。 

可以看出,在几个镜头设置(5个镜头)中,在查看接近130B的令牌后,GLM-3B框架的性能接近GPT-300模型的性能。 随着训练的进一步进行,性能不断提升,当训练结束时,框架在查看总共 44.8B 个令牌后,准确度得分为 400。 

BIG-Bench 或超越模仿游戏基准

BIG-长凳或 超越模仿游戏基准具有挑战性的任务测试模型的知识、推理和常识能力。 如下图所示,在零样本设置中,GLM-130B 框架优于 PaLM 540B 和 GPT-3 175B 框架,这可能是因为 MIP 和双向上下文注意力提高了 GLM-130B 在未见过的任务中的性能。零射击设置。 此外,随着镜头数量的增加,GLM-130B框架的性能也随之提高,始终优于GPT-3框架。 

CLUE 或汉语理解评估

GLM-130B 的中文零样本性能在包括 CLUE 和 FewCLUE 在内的既定 NLP 基准任务上进行评估,并与现有最大的中文模型 260B ERNIE Titan 3.0 进行比较。 可以看出,GLM-130B 框架在 260 个不同的任务中不断优于 3.0B ERNIE Titan 12 框架,并且在两个抽象 MRC 数据集上的性能比 ERNIE 框架好近 260%。 

结语

在这篇文章中,我们讨论了 GLM-130B,一种双语预训练大语言模型,旨在促进包容性的法学硕士研究。 架构、工程和技术工作旨在让人工智能社区更好地了解LLM框架的架构、训练效率和稳定性、预训练目标以及可承受的干扰。 

“职业工程师,心灵作家”。 Kunal 是一位技术作家,对人工智能和机器学习有着深厚的热爱和理解,致力于通过他引人入胜且信息丰富的文档来简化这些领域的复杂概念。