论文信息
name_en: PaLM: Scaling Language Modeling with Pathways
name_ch: PaLM:使用Pathways的扩展语言建模
paper_addr: http://arxiv.org/abs/2204.02311
doi: 10.48550/arXiv.2204.02311
date_read: 2023-03-17
date_publish: 2022-10-05
tags: [‘深度学习’,‘自然语言处理’]
author: Aakanksha Chowdhery
citation: 524
读后感
论文主要介绍了Google的超大模型PaLM,它在多数任务上都超过了SOTA,其主因是使用模型使用了大量参数和数据训练,作者认为当模型大到一定程度后,其性能也能飞跃,而PathWay技术是其大规模训练的基础。
和其它模型相比,PaLM更关注逻辑推理相关的任务,这也为后面的PaLM-E机器人行为规划奠定了基础。
摘要
文中提出了 Pathways Language Model (PaLM),使用6144 个TPU v4芯片训练,模型540 B参数,780 B高质量token,密集激活,Transformer 语言模型。在推理任务上表现很好,文中提出:扩展到巨大模型后,性能急剧提高(Pathways是Jeff Dean与2021年提出的一种谷歌通用AI架构,可高效利用硬件)。
1. 介绍
一般大模型的优势主要来自以下:
(1) 缩放模型的深度和宽度;
(2) 增加训练模型的token数量;
(3) 对来自更多不同来源的更干净的数据集进行训练;
(4) 通过稀疏激活模块在不增加计算成本的情况下增加模型容量。
本文的主要工作包括:
- 使用Pathway有效地训练大模型,高效利用硬件
- 随着更大的模型规范,模型效果不断改善
- 在理解、推理等困难任务上展示了突破性能力
- 模型从62B变成540B后,模型效果出现跨越式(非连续)地进步
- 测试了英文及其它语言(其它语言语料的<22%)
- 在偏见和毒性测试中发现大模型相对毒性更高,且毒性与提示文本设计有关
2. 模型结构
PaLM与GPT-3模型一样,只使用Decoder结构。优化技术如下:
- SwiGLU激活函数
组合了Swish和GeLU两种激活函数。 - 平行层
将串行变为平行操作(由于MLP 和注意力输入矩阵乘法可以融合),提速15%,且实验证明不影响模型效果。
y = x + M L P ( L a y e r N o r m ( x + A t t e n t i o n ( L a y e r N o r m ( x ) ) ) y = x + MLP(LayerNorm(x + Attention(LayerNorm(x))) y=x+MLP(LayerNorm(x+Attention(LayerNorm(x)))
变为:
y = x + M L P ( L a y e r N o r m ( x ) ) + A t t e n t i o n ( L a y e r N o r m ( x ) ) y = x + MLP(LayerNorm(x)) + Attention(LayerNorm(x)) y=x+MLP(LayerNorm(x))+Attention(LayerNorm(x)) - 多Query注意力
标准的多头注意力在自回归解码期间在加速器硬件上的效率很低,因为键/值张量在示例之间不共享。文中模型让key/value映射被每个头共享,而Query相互独立,该方法提升了解码器的自回归时间。 - RoPE嵌入
RoPE:rotary position embedding旋转位置嵌入,是一种相对位置嵌入,它不同于绝对位置嵌入和一般的相对位置嵌入,它对长序列效果更好。 - 共享输入输出嵌入
输入和输出共享同一个嵌入矩阵,从而减少了模型的参数数量,提高了模型的效率。 - 无Biases
网络层不使用biases,可以增加大模型的训练稳定性。 - 词表
使用SentencePiece(通过统计方法,将频繁出现的字符串作为词,然后形成词库进行切分),使切分的粒度会更大一些。使用256K的token表,词表以外的文本被切分成utf-8字符。
模型规模超参数
3. 训练数据
780 B 高质量的 token 。数据基于训练 LaMDA和GLaM的数据,除了自然语言,还包含多种编程语言的源代码。根据文件之间的 Levenshtein 距离删除重复项。
4. 训练基础设施
使用 PathWay 方法训练模型,在两个TPU v4 Pods上训练,在每个Pod中包含由3072个TPU v4芯片链接的768个主机。允许在不使用任何pipeline并行的情况下高效的在6144个芯片上训练。
pipeline方式有更多的相互等待时间,而pathway复杂度更高。每个TPU v4 Pod都包含模型参数的完全拷贝。
详见:Pathway原理。
相比之前模型,PaLM在由于对模型、编译器和并行策略进行了多项优化,实现了非常高的 MFU,对应的硬件FLOPs利用率也更高。
5. 训练设置
此节介绍了权重初始值,优化器,超参数,损失函数,序列长度,Batch大小,Dropout比例等细节。
6. 评测
论文在:英文NLP任务,BIG_bench,推理,代码任务,翻译,多语言生成方面对PaLM进行了评测。
6.1 英文NLP任务
PaLM在1-shot设置下,在29个任务中的24取得了SOTA;在few-shot设置下,在29个任务中的28个取得了SOTA。分为自然语言理解和自然语言推理,平均分如下:
MMLU评测结果如下:
6.2 BIG-bench任务
BIG-bench包括 150 多个任务,涵盖各种语言建模任务,包括逻辑推理、翻译、问答、数学等。除了模型之间的对比,还对比了人类的平均水平和最佳水平。
PaLM 540B 5-shot 在 58 项常见任务中的 44 项上优于之前的 SOTA,
需要注意的是其中有一些推理相关的项目,效果如图-5所示:
可以看到,有几项接近了人类的最佳水平,也可以看到,当模型从62B变为540B时,模型效果有了跨越式的提升。
另外,PaLM540B在多数评测中高于人类的平均水平,有35%低于人类平均。
6.3 推理
推理任务分为两类:
- 算术推理:通常涉及小学水平的自然语言数学问题,需要多步逻辑推理。其难点是将自然语言转化为数学方程式。
- 常识推理:需要很强的世界知识的问答任务,而不是简单的事实问答。
这种问题一般需要输出答案和推理过程。具体调优方法是使用思维链提示学习,提示学习时只使用了8-shot样本。从表-10中可以看到不同方式对结果的影响。
还进行了其它的推理评测,结果是推理链提示和大模型都明显提升了模型的推理能力。
6.4 代码任务
代码任务一般包括:根据文本描述写代码,把一种语言的代码翻译成另一种,以及代码修复。训练和精调时都包含一些代码数据,使得模型具有编码能力。PaLM 540B 有一定的代码能力,PaLM-Coder则是在代码上微调的模型。微调能够显著的改善PaLM在代码任务上的效果。
6.5 翻译
评测主要关注三类问题:
- 以英语为中心的语言对:PaLM优于所有基线,有些甚至优于监督基线。
- 直接语言对(在不涉及英语的情况下直接翻译),PaLM仅在法语-德语上匹配监督表现。
- 资源极少的语言对(如哈萨克-英语翻译),能够在德语-法语和哈萨克语-英语上给出很强的表现。
6.6 多语言生成
实验分别测试了1-shot和Finetuning的结果,第一组评测是将数据转换成文本,第二组评测以总结文本为主,可以看到,PaLM在1-shot中表现优于其它模型,PaLM模型越大,提升效果越明显;finetuning使各模型效果都有提升。
6.7 多语言问答
可以看到PaLM精调后效果有明显提升,效果不如T5,可能是由于mT5 和 ByT5 接受的非英语文本训练分别是 PaLM 的 6 倍和 1.5 倍。
6.8 分析
随着给模型提供更多示例,性能会提高。
7,8略
9. 探索解释
使用思维链提示调优模型,提高多步推理任务中的预测准确性,可以用于模型解释。
解释包含以下场景:
- 了解模型是否出于“正确的原因”而产生正确的答案,而不是仅仅进行表面层面的统计推断,具有重大的科学意义。
- 解释可能会显示给系统的最终用户,以增加或减少他们对给定预测的信心。
- 在许多情况下(例如,解释一个笑话),解释本身就是期望的输出。
此部分列举了解释的两种场景:解释笑话,逻辑推理。对于每项任务,都编写了 2-shot 示例来演示所需的输出样式,作为例子提示模型。具体见图-19。
笑话示例:
输入:我打算在 4 月 6 日飞去探望我的家人。我妈妈说:“太好了,那天晚上你继父的诗歌朗诵会!”所以现在我要在 4 月 7 日飞来。
模型输出:这个笑话是说话者的母亲试图让他们去他们继父的诗歌朗诵会,但说话者不想去,所以他们将航班改到诗歌朗读后的第二天。
推理示例:
输入:迈克尔在法国那个非常有名的博物馆里看它最著名的画作。然而,创作这幅画的艺术家恰恰让迈克尔想起了他小时候最喜欢的卡通人物。卡通人物平时手里拿的东西是哪个国家的?
模型输出:卢浮宫最著名的画作是蒙娜丽莎。制作蒙娜丽莎的艺术家是达芬奇。 Leonardo da Vinci 也是卡通忍者神龟中主角的名字。列奥纳多·达·芬奇来自意大利。列奥纳多·达·芬奇平时手里拿着的东西是武士刀。武士刀的原产国是日本。答案是“日本”。
参考
https://zhuanlan.zhihu.com/p/602060627