NLP预训练模型超大规模探索

总共从四方面来进行比较。

第一个方面,高层次方法(自监督的预训练方法)对比,总共三种方式。

  1. 语言模型式,就是 GPT-2 那种方式,从左到右预测;
  2. BERT-style 式,就是像 BERT 一样将一部分给破坏掉,然后还原出来;
  3. Deshuffling (顺序还原)式,就是将文本打乱,然后还原出来。

其中发现 Bert-style 最好,进入下一轮。

第二方面,对文本一部分进行破坏时的策略,也分三种方法。

  1. Mask 法,如现在大多模型的做法,将被破坏 token 换成特殊符如 [M];
  2. replace span(小段替换)法,可以把它当作是把上面 Mask 法中相邻 [M] 都合成了一个特殊符,每一小段替换一个特殊符,提高计算效率;
  3. Drop 法,没有替换操作,直接随机丢弃一些字符。

此轮获胜的是 Replace Span 法,类似做法如 SpanBERT 也证明了有效性。

当当当,进入下一轮。

第三方面,到底该对文本百分之多少进行破坏 呢,挑了 4 个值,10%,15%,25%,50%,最后发现 BERT 的 15% 就很 ok了。这时不得不感叹 BERT 作者 Devlin 这个技术老司机直觉的厉害。

接着进入更细节,第四方面,因为 Replace Span 需要决定对大概多长的小段进行破坏 ,于是对不同长度进行探索,2,3,5,10 这四个值,最后发现 3 结果最好。

终于获得了完整的 T5 模型,还有它的训练方法。

  • Transformer Encoder-Decoder 模型;
  • BERT-style 式的破坏方法;
  • Replace Span 的破坏策略;
  • 15 %的破坏比;
  • 3 的破坏时小段长度。

到此基本上 T5 预训练就大致说完了,之后是些细碎探索。

Datasets

接着作者们拿着 C4 数据集做了各种实验,比如说从里面分出各种类型的数据集,单独训练 T5 模型,之后看在下游任务的表现,发现一些情况领域内的预训练数据可以增强下游任务(想当然的)。而 C4 完整数据集因为数据太多太杂,可能反而不如这种领域内较少数据集。

还有从 C4 中抽出不同量数据做实验,发现数据少时,模型会记住数据所以之后表现会比较差(这个也是想当然)。

Training:Multi-Task Learning

作者们之后又针对 MTDNN 给 T5 做了一系列类似训练,在一堆监督和非监督数据上进行预训练。

结果发现,只要混合训练比例调得OK,和前面说的非监督预训练性能差不多

Scaling:bigger is better?

接着又做了当放大模型某方面规模的相关实验,分别是增大模型,增大数据,还有在一定资源限制下的集成。

结论是,当这些因素放大时对性能都有提高,但其中大模型是最必要的

Models

最后就是结合上面所有实验结果,训练了不同规模几个模型,由小到大:

  • Small,Encoder 和 Decoder 都只有 6 层,隐维度 512,8 头;
  • Base,相当于 Encoder 和 Decoder 都用 BERT-base;
  • Large,Encoder 和 Decoder 都用 BERT-large 设置,除了层数只用 12 层;
  • 3B(Billion)和11B,层数都用 24 层,不同的是其中头数量和前向层的维度。

11B 的模型最后在 GLUE,SuperGLUE,SQuAD,还有 CNN/DM 上取得了 SOTA,而 WMT 则没有。看了性能表之后,我猜想之所以会有 3B 和 11B 模型出现,主要是为了刷榜。看表就能发现

比如说 GLUE,到 3B 时效果还并不是 SOTA,大概和 RoBERTa 评分差不多都是 88.5,而把模型加到 11B 才打破 ALBERT 的记录。然后其他实验结果也都差不多,3B 时还都不是 SOTA,而是靠 11B 硬拉上去的。除了 WMT 翻译任务,可能感觉差距太大,要拿 SOTA 代价过大,所以就没有再往上提。根据这几个模型的对比,可以发现即使是容量提到 11B,性能提升的间隔还是没有变缓因此我认为再往上加容量还是有提升空间

相关推荐
无心水18 小时前
【分布式利器:腾讯TSF】10、TSF故障排查与架构评审实战:Java架构师从救火到防火的生产哲学
java·人工智能·分布式·架构·限流·分布式利器·腾讯tsf
小鸡吃米…1 天前
机器学习 - K - 中心聚类
人工智能·机器学习·聚类
好奇龙猫1 天前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)1 天前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan1 天前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维1 天前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS1 天前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd1 天前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
水如烟1 天前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能
Carl_奕然1 天前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析