如何训练一个更好的语言模型

来着:无数据不智能

本文涉及以下内容

  • 什么样的模型更适合zero-shot?

  • 效果和模型形状有没有关系

  • 到底需要多少数据训川练

  • 批次大小设置为多少好

  • 学习率多大合适

  • 参数量、数据量、训川练时长和Ioss什么关系

什么样的模型更适合zero-shot?

对于模型架构,不同的论文有不同的分发,不同的名称。我们不必纠结于称谓,在这里我们延续BigScience的概念来讨论,即:

  1. 架构:自回归、非自回归、编码器-解码器

  2. 目标:全语言模型、前缀语言模型、掩码语言模型

  3. 适配器:不添加适配器、将自回归模型用于掩码目标训练的适配器、将掩码为目标的模型转化为纯语言模型目标

  4. 是否经过多任务微调

  5. 评估数据集:EAI-Eval、T0-Eval

87d774aa9638b6bf519a81eece4473cf.png


BigScience有两项重要的结论,但这两项结论是在控制预训练的预算的基础上的,而非控制参数量。如此实验编码器-解码器用了11B参数量,而纯解码器却是4.8B。

  1. 如果不经过多任务微调,自回归模型最好,掩码语言模型跟随机结果一样。

  2. 如果经过多任务微调,编码器-解码器掩码模型最好【这参数量都翻倍了,很难说不是参数量加倍导致的】。换个角度想,在多任务微调之后,自回归全语言模型在参数量不到编码器-解码器掩码模型一半,计算量还少10%的情况下,效果还能差不多。

8f437b04e05f2a88b443dc40adb031fb.png


来自科学空间的对比实验【https://spaces.ac.cn/archives/9529】更是印证了这一点:

在同等参数量、同等推理成本下,Decoder-only架构很可能是最优选择。

效果和模型形状有没有关系

在openAI的实验中,通过控制参数量,分别调整模型形状的三个指标前馈维度比、宽高比、注意力头维度,实验表明,模型形状对性能的依赖非常轻微。

e8e41d0c98bc9f2ed4755573e7d19438.png


单独研究层数,排除嵌入层的影响,除了一层这种极端情况之外,同样参数下,不同的层数倾向于收敛于同样的损失。

afb183cc0220d7bcb53914aafc2169d9.png


到底需要多少数据训练

在GPT-3中参数数据比约为1:1.7,而Chinchilla是为1:20。然而GPT-3参数量是Chinchilla的2.5倍,下游任务却大范围地输给了Chinchilla。再看LLaMA就更离谱了约为1:77,只有13B参数量很多任务就超越了GPT-3。这是不是和咱公众号名字很符合:【无数据不智能】,海量高质量数据才是王道。

Model Parameters Training Tokens
LaMDA (2022) 137 Billion 168 Billion
GPT-3 (2020) 175 Billion 300 Billion
Jurassic (2021) 178 Billion 300 Billion
Gopher (2021) 280 Billion 300 Billion
MT-NLG 530B (2022) 530 Billion 270 Billion
Chinchilla(202) 70 Billion 1.4 Trillion
LLaMA(202) 13 Billion 1.0 Trillion

批次大小设置为多少好

8332ad4630e25cc8f01a9f3374cb7a72.png

【Scaling Laws for Neural Language Models】实验中表明batch size和模型大小无关,只和想达到的loss有关(幂次关系),同时也受到噪声数据的影响。

学习率多大合适

95eab07241fafd8fd97f978a3f38a8c5.png

  1. 只要学习率不是太小,衰减不是太快,性能对学习率的依赖性并不强。

  2. 较大的模型需要较小的学习率来防止发散,而较小的模型可以容忍较大的学习率。

  3. 经验法则:LR(N) ≈ 0.003239 − 0.0001395log(N),N:模型参数量

参数量、数据量、训练时长和loss什么关系

fd6a7d6bc620ed290febc68702379662.png

参数量、数据量、训练时长和loss都存在幂指数关系

引用

  1. Scaling Laws for Neural Language Models

  2. LLaMA: Open and Efficient Foundation Language Models

  3. https://spaces.ac.cn/archives/9529

  4. Training Compute-Optimal Large Language Models

  5. What Language Model to Train if You Have One Million GPU Hours?

  6. What Language Model Architecture and Pretraining Objective Work Best for Zero-Shot Generalization?

后台回复:入群,加入NLP交流大群~

猜你喜欢

转载自blog.csdn.net/qq_27590277/article/details/130612953