预训练环节的差异来自哪些方面?

预训练环节的差异来自哪些方面?

最佳答案 匿名用户编辑于2024/01/26 13:41

预训练环节的主要差异来自 1)训练数据集,包括数据集规模、语料比例;2)知识图谱的引入;3)参数 规模;4)训练策略的优化。

1.训练数据集

训练数据集规模提升能够提升模型预测的精度以及稳定性。在《Pattern Recognition and Machine Learning》 3.2 节中,作者讨论了随着数据集规模提升对模型预测精度和稳定性等指标的影响。在数据量固定的情况下,模 型精度和稳定性之间存在取舍,一个增加另一个就会减少。在数据量增加的情况下,这两项之和可以进一步减 小,但是噪音项是无法消除的。另一方面,训练数据集规模的提升也会导致训练时长、成本的提升,这会影响 最终服务的成本。

但值得注意的是,数据重复会对模型性能产生显著负向影响。Google 和 Upenn 团队在《Deduplicating Training Data Makes Language Models Better》提到,基于去重后数据集训练的模型性能有所提升。而 Anthropic 团队在 《Scaling Laws and Interpretability of Learning from Repeated Data》具体研究了重复数据对模型性能的量化影响, 其中 1)10%的数据重复可能会导致模型效果 50%的恶化,即 2x 参数规模的模型在 10%数据重复下性能弱于 1x参数规模的模型性能12。2)这种现象可能是模型采取记忆的方式降低损失函数,

训练数据集的多样性有助于提升模型性能。ERNIE 团队在 ERNIE 1.0 时注意到引入不同种类的语料能够提 升模型预测的准确率。OpenAI 团队在 GPT-3 论文中也引入大规模且多种类的训练数据。总体而言,语料多样性 越充分,高质量语料占比越高,对模型的预测准确度有帮助。

代码训练语料也可能对 CoT 能力产生较大影响。根据 Mirac Suzgun(2022)等人的研究14,基于代码和文 本数据训练的 Codex 模型在基于提示遵循任务指令、探索算法规律方面表现优于 InstructGPT 和 PaLM。更进一 步,学界/业界希望分析出具体哪一因素导致 CoT 能力产生(主要区分 fine-tuned/代码训练),因而进行对比研 究。Jason Wei 在第一版论文(https://arxiv.org/pdf/2201.11903v1.pdf)提到,GPT-3 text-davinci-001 在 GSM8K 测 试集上表现的推理能力较弱,而 text-davinci-001 是完全基于文本训练的模型。在论文第五版中 GPT-3 text-davinci002/Codex code-davinci-002 在 GSM8K 测试集上表现明显提升。而 Percy Liang 等研究15总结基于代码训练的模 型在推理能力方面强于非代码训练的模型,其测试集中平均推理能力 Codex cushman v1 位列(9/30),Codex davinci v2(1/30)。因此推理能力来自代码训练的可能性更大,代码训练对提升推理能力有明显帮助。

更进一步的佐证是 Zero-Shot Prompting。根据 Takeshi Kojima 等人的研究16,通过加入“Let’s think step by step”提示,模型的表现有显著提升。且根据《Scaling Instruction-Finetuned Language Models》,Finetune 计算量 仅占预训练的很小比例,因此更大可能逻辑推理能力是预训练模型本身具备的,CoT Prompt 激活了这类能力。

此外,训练数据集的规模也对模型性能提升有所帮助。DeepMind 团队 2022 年 3 月的研究指出17,现有的 大语言模型主要聚焦参数规模的扩张,但在训练数据集规模的扩大上存在不足,而实验表明数据集大小与参数 规模同步(不意味着同比例)扩张能够进一步提升模型性能,为大模型优化效率提供一个新的思路。

2.知识图谱

将知识图谱引入大语言模型存在几种形式:1)生成“主体、关系、客体(subject entity,relation,object entity)”的文本知识库,并应用于标准的任务训练中;2)在句子层面抽取/生成与知识图谱形式对应的数据, 应用于任务训练中(ERNIE、KELM18、SKILL19等)。这些形式目前存在生成成本过高(规模化难度大),且 并非所有知识都能转化为“主体、关系、客体”形式,因而可能存在信息遗漏等问题。 ERNIE 1.0 模型相比 BERT 最大的变化就是引入知识图谱,从而提升预测准确度。2019 年 4 月 ERNIE 团 队提出基于 BERT 的改进掩码策略,1)在单词级别随机生成掩码并引导模型预测(basic-level masking),2) 词组级别(phrase-level masking)、实体级别(entity-level masking)随机生成掩码并引导模型预测。例如:哈 利波特是 J.K.罗琳写的小说。单独预测哈[MASK]波特或者 J.K.[MASK]琳情况下,模型无法学到哈利波特和 J.K.罗琳的关系。如果把哈利波特直接 MASK 掉的话,那模型可以根据作者,就预测到小说这个实体,实现知 识的学习。

Google 与 EPFL 团队将知识图谱引入 T5 模型也取得了明显的效果提升。相比 ERNIE 团队及 Google (KELM)此前的工作,SKILL 的改进主要是引入 Wikipedia 等知识图谱库直接用于训练,而无需将原始数据 处理、对齐成知识图谱库的形式。引入知识图谱后,T5 模型在问答等测试集上表现有所提升。

引入知识图谱在性能方面的提升是以推理速度为代价的。根据吉林大学等团队研究,尽管 KG-BERT、 StAR 在引入知识图谱后模型在一些测试集的表现有所提升,这种提升是同一量级内的,但模型的推理速度则 较传统的 RotatE 慢了百倍至千倍的水平,这可能会成为知识图谱在 LLM 领域应用的瓶颈之一。

3.参数规模

不受其他因素制约的情况下,参数规模提升会驱动模型性能稳步提升。OpenAI 在《Scaling Laws for Neural Language Models》提到,当模型参数规模、训练数据集规模、计算资源投入提升时,大模型的性能会平稳地提 高。为实现最佳性能,这三个因素需要以特定比例同步提升。实证表明模型综合性能与每个因素都存在一个幂 律关系。

“涌现”可能是度量选择的结果。斯坦福大学团队在《Are Emergent Abilities of Large Language Models a Mirage?》对大模型涌现现象提出思考,过往模型能力非线性的提升被称为涌现,而这种现象背后可能是打分 函数的非线性导致的。研究团队重构打分函数并基于 GPT 系列模型进行测试,结果显示涌现现象消失。

4.训练策略的优化

训练效率优化主要来自内存和硬件/算法的优化,而计算效率优化还包括数据筛选、加速器优化、初始策 略优化、稀疏训练、大批量训练等。

4.1 加速优化器

Adam 在 Transformer 架构模型上优于 SGD with momentum,且坐标剪裁(CClip)优于全局剪裁(GClip)。 MIT 和 Google 研究团队在《Why Adam beats SGD for attention models》提到 SGD with momentum 在多数任务上 表现好于自适应方法,但在注意力机制模型(如 BERT)Adam 收敛速度、稳定性好于 SGD with momentum。而 研究团队指出,SGD 表现不佳的原因主要是 BERT 模型规模通常更大,且呈现厚尾分布,而 ImageNet 的随机 梯度分布更接近高斯分布。BERT 模型随机梯度的厚尾分布导致,一些随机梯度大于平均值从而致使 SGD 的过 度更新,因而 SGD 不稳定,最终收敛效果不如 Adam。此外,团队提出 ACClip,收敛速度和稳定性优于 Adam。

Google 团队提出 Lion 优化器,效果、效率均优于 Adam 相关算法。Google 团队于 2023 年 2 月提出了 Lion 优化器,此前流行的 AdamW 等自适应优化器需要同时保存一阶和二阶矩相比,Lion 只需要动量,这意味着内 存占用降低,且在语言、视觉、多模态等模型训练效果上和效率是均优于 AdamW 等传统优化器。

技术细节上,Lion 相比 AdamW 而言减少了参数ϵ,并减少了缓存参数,在计算过程中去除了开根号和除 法,因而实现计算速度提升,并减低内存占用。相比 AdamW,Lion 对模型所有参数引入 Sign(相当于增加额 外噪声),使得模型进入损失更平坦的区域,从而泛化性能更好。

针对视觉模型的优化器,Google 研究团队在 2021 年提出 Sharpness-aware minimization 方法,提升模型的 泛化能力和稳健性。2021 年 10 月 NUS 研究团队提出 ESAM,在不损失性能的情况下通过引入随机权重扰动 和锐度敏感型数据筛选,大幅降低 SAM 的计算成本。由于扰动参数的随机选择,后向传播过程中的计算成本 下降,同时确保泛化能力不下降;另一方面针对小批量数据计算梯度更新,而不是全部样本数据,进一步节约 计算量,同时这种筛选后计算的上界会被全样本计算的上界所约束,因此整体性能不会下降。2022 年 5 月 NUS 和字节跳动团队进一步提出 SAF,引入 KL-divergence 实现 Loss 的平滑收敛,降低成本同时提升性能。

4.2 初始化策略

良好的初始化策略对于稳定训练、提高学习率、 加速收敛,并提高泛化能力至关重要。MIT 和 Google 研 究团队202019 年 1 月提出 Fixed-update(Fixup)初始化策略,并指出在不做归一化(Normalization)情况下,深 度残差网络也可以实现稳定训练,并且收敛速度和泛化性能保持一致。在 ResNet 中如果初始化时不做归一化处 理,随着深度增加,方差扩大容易导致梯度爆炸。研究团队提出的初始化策略通过调整标准初始化来确保网络 函数的更新保持在恰当范围内。作者用 η 表示学习率,将目标设置如下图所示。其目标是使网络函数的 SGD 更新保持在合适范围内,且独立于网络深度。最终 Fixup 在训练性能上总体表现较好。

2020 年 3 月 UCSD21研究团队进一步提出 Rezero,在传统的残差连接+1 = + ( )基础上加入学习参 数,调整为+1 = + ( ),其中初始值为 0。研究团队以一个简单实验说明初始值为 0 的好处。假设现 在有一模型有层,每一层只有一个神经元,而且所有层都共享这一个神经元,则模型输出可表示为: = (1+ ) 0,传统残差连接中初始值为 1,且初始化 ≈ 1,则 ≈ 2 ,这导致输入项较小的扰动可能造成输 出项的较大变化,因而梯度非常不稳定。而初始值为 0 时,梯度会更稳定。

具体在训练 Transformer 模型时,当层数为 4 层时,保持在 1 附近,这就表明输入的变化既不会造成输 出的太大变化,也能使得模型得以训练。而当层数增加,尤其是增加到 64 层时,该值非常小,这说明输入的较 大变化只会导致输出的较小变化,模型难以训练。使用 ReZero 后,Transformer 训练时基本维持在 1 附近。 最终研究团队在 12 层 Transformer 模型下对比了 ReZero 与 Norm 的训练速度和迭代次数,结果显示 ReZero 速 度更快,迭代次数更少,相比原始 Transformer 收敛速度提升 56%。

2020 年 2 月 Google22研究团队提出 SkipInit,也采取了与 ReZero 相同的残差连接以及 = 0设定。Google 团 队在研究中量化对比了 BN 和 SkipInit 的优劣:a)Skipinit 训练下模型测试准确率弱于 Batch Norm,但好于不进行 Batch Norm 的情况,且进行 Batch Norm 与 Skipinit 在 Batch Size 小于等于 128 的时候差距相对较小,大于 128 规模后性能差距逐步扩大;b)Skipinit 训练下当 Batch Size 小于等于 1024 时,模型损失 Batch Norm。究其 原因,Batch Norm 在大规模参数训练下的学习率能够保持较高水平,而 Skipinit 的规模化能力相对较弱。

4.3 稀疏训练

稀疏训练主要是面向超大参数规模模型的训练和部署,通过移除部分权重,模型训练可以节约部分计算量, 且减少内存占用,实现更好地压缩效果,降低部署和训练门槛。稀疏训练领域的经典论文来自 MIT 研究团队 2018 年 3 月发表的《The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks》,作者通过对比非 结构化剪枝和中奖彩票曲线发现,中奖彩票能较快的训练,并达到跟原网络相似的精度。同时表明网络越稀疏 学习越慢,导致最终的测试精度越低。因此,研究团队提出彩票假设:随机初始化的密集神经网络包含一个初 始化的子网,当经过隔离训练时,它可以匹配训练后最多相同迭代次数的原始网络的测试精度。

由于 LTH 需要训练-剪枝-再训练的过程来识别彩票,因而计算成本较高,后续的研究主要聚焦降低上述过程的成本。典型技术路线包括 1)通过测量连接对损失的重要性,在初始化时一次找到稀疏网络,无需复杂的迭 代优化计划;2)在 Transformer 模型训练早期低成本识别彩票并逐步训练至收敛;3)在训练过程中逐步进行有 选择性地剪枝。 另外,UCB 和清华大学团队的研究则挑战了“训练-剪枝-微调”这一观点。所谓训练-剪枝-微调本质上是隐 含假设了参数和结构是耦合的,如果参数和结构可以解耦,剪枝后模型不需要微调也能达到较好效果。在 《Rethinking the Value of Network Pruning》中,研究团队系统地对比了结构性剪枝和非结构性剪枝,不同学习率 下剪枝后模型与 Fine-tuned 模型性能对比,结果显示 1)对于结构性剪枝后的模型,随机初始化从头训练后可以 达到和 Fine-tuned 后相同甚至更好的效果;2)对于非结构性剪枝后的模型,在 CIFAR 数据集上,随机初始化从 头训练后可以达到和 Fine-tuned 后相同甚至更好的效果;但在 ImageNet 数据集上,剪枝率大到一定程度,随机 初始化从头训练后无法达到和 Fine-tuned 后相同的效果。

基于《Rethinking the Value of Network Pruning》的结论,对于结构性剪枝,其繁琐流程带来的计算成本高企得以解决,后续的研究思路更多聚焦对剪枝的搜索、优化;而对于非结构性剪枝,前述结论在不同数据集上 并非普遍成立,这意味着仍需进一步的研究。

4.4 过参数

一些观点认为深度神经网络往往存在参数数倍于数据量的情况,从而出现模型在训练集上表现很好,但在 实际应用中泛化能力不强,这对应下方(a)图,但俄亥俄州立大学、哥伦比亚大学的研究团队在 2018 年 12 月 《Reconciling modern machine learning practice and the bias-variance trade-of》指出随着复杂度提升,模型存在一 个二次下降风险曲线(Double descent risk curve),对应下方(b)图。

一个疑问是为何过拟合的风险随着参数规模提升而减小?一种解释是过拟合会促使模型产生冗余,冗余是 减少 co-adaption 的必要条件,这会导致模型稳健性、泛化能力的提升。而多伦多大学 2012 年 7 月的研究表明, 通过 Dropout23一些特征检测器,模型训练能够防止 co-adaptation。Co-adapt 则是来自研究团队对《A mixability theory for the role of sex in evolution》的联想,即性别打破了基因的共同适应(co-adapt),由此映射到深度神经 网络中,对应大规模参数 co-adapt 的效果不如非 co-adapt 的其他参数组合好。这种特性避免了人类在进化中进入困境,并且避免了环境的微小变化导致人类适应能力大幅减弱的情况,而这在机器学习中称为“过度拟合”。

过参数化有益于训练,但部署、推理环节仍需压缩、剪枝。前述多伦多大学 2012 年 7 月的研究指明了过参 数化对模型稳健性和泛化能力的帮助。后续的工作也验证了过参数化对训练的增益作用,例如普林斯顿大学和 Google 的研究团队 2018 年 6 月24指出线性神经网络中,过参数带来的模型结构复杂度提升(尤其是模型层数增 加)会加速 SGD 收敛的速度。斯坦福大学和威斯康星麦迪逊分校的研究团队252019 年 8 月将上述结论拓展至 2 层非线性模型;2018 年 11 月微软、斯坦福大学和威斯康星麦迪逊分校的研究团队26通过理论推理将结论拓展至 二层以上的神经网络。过参数的研究也与稀疏训练有所呼应,因为延续此前的研究,一个自然的思路就是在训 练阶段扩大参数规模有利于训练,但在部署、推理环节则可以通过剪枝、压缩等技术降低负载。2020 年 2 月, UCB 团队27指出给定计算资源约束下,最优策略是训练大模型,再进行剪枝、压缩。

4.5 大批量训练

大批量训练主要是提升单批次训练的数据量,从而实现加速训练的效果,但大批量训练也会带来训练难以 收敛等副产物。因此,学界的主要研究方向就是平衡二者的关系,尽可能实现整体训练效率的提升。

西北大学和 Intel 的研究团队 2016 年 9 月指出,增大批处理规模会使得训练从平缓底部转向更陡峭的底部。 研究团队通过实验表明小批量训练策略的模型精度更好,且大批量训练准确率和交叉熵的 Loss 都收敛于更陡峭 的区间,而小批量训练模型则收敛于更平缓的区间。

收敛于平缓区间意味着更低的精度,更好的泛化能力,因而大批量训练存在性能损失。根据《Flat minima》, 收敛于平缓区间意味着更低的精度。而结合 MDL 及《A universal prior for integers and estimation by minimumdescription length》,低精度的统计模型具备更好地泛化性能。平缓的最小值相比陡峭的最小值具有更低的精度, 因而拥有更好的泛化能力,大批量训练存在性能损失。 Meta 研究团队 2017 年 6 月28则提出通过调整学习率(learning rate),以及配合 Warm-up 等操作,基于 ResNet-50 大批量训练的性能损失能够显著减少,但后续 UCB、CMU 和英伟达团队 2017 年 8 月的研究29表明这 一方法难以推广至其他模型,并因此提出基于 SGD 的 LARS 优化器。

由于 LARS 优化器在 BERT 等模型应用仍存在缺陷,谷歌、UCB、UCLA 团队于 2020 年 4 月提出30基于 Adam 的 LAMB 优化器,将此前的思路移植到 Attention 机制的相关模型,例如 BERT,并实现较好的效果。

后续的研究更多是通过实验发现一些工程方面的技巧,例如 Gooogle 团队在 2022 年 4 月 PaLM 论文中指 出在 checkpoint 前约 100 步重启训练,并跳过 200~500 个数据批能够有效提升大语言模型训练过程的稳定性; UCL 团队 2022 年 9 月研究31指出通过将网络权重调整为过去 K 个 Checkpoint 时网络权重的移动平均值,模型 训练得以加速收敛并实现更好的效果。

4.6 增量学习

增量学习的能力就是不断地处理连续信息流,在吸收新知识的同时保留甚至整合、优化旧知识的能力。学 界的主要技术路径有 1)正则化;2)回放;3)参数隔离等。

正则化的思路主要是“通过给新任务的损失函数施加约束的方法来保护旧知识不被新知识覆盖”。正则化 领域的经典研究来自 UoI 研究团队 2016 年 6 月的 Learning without Forgetting 算法32(LwF),LwF 算法基于原 模型在新任务上的预测值,在损失函数中加入新模型输出的蒸馏损失,并通过微调在新任务上训练模型,从而 避免新模型偏离原有模型过远导致而在原任务上性能的下降。但 LwF 也存在一些缺陷,例如新旧任务相关度不 高时,学习的效果较弱,且多任务下训练时长可能较长。 韩国科学技术学院(KAIST)的研究团队 2016 年 7 月提出 Less-Forgetting Learning(LFL)方法33,并指出 mini-batch训练是遗忘问题的来源之一;USC、ASU和三星的研究团队2020年1月提出Deep Model Consolidation34 (DMC)方法。这些方法与 LwF 类似,都是存在数据依赖,如果前后任务相关度不高,则容易出现训练效果不 好的情况。

另一个正则化的思路则是 Prior-focused(先验),其基本原理是有选择性的减缓部分参数的权重更新,而这 些参数对旧任务的表现比较重要,其隐含假设是参数之间不存在 Co-adaption 的情况,是相互独立的。DeepMind 和 ICL 团队于 2016 年 12 月提出的 EWL35,是该领域研究较早的论文之一。后续剑桥大学研究团队 2017 年 10 月提出 Variation Continual Learning(VCL,变量持续学习)框架,团队指出增量学习本质上是一个贝叶斯推理 过程:旧模型的参数属于先验知识,给定先验知识,求新数据的概率,模型的优化就是求极大似然估计的过程。

回放(Replay)的主要思想是把一部分旧数据和新数据联合训练,因此主要问题是如何挑选旧数据。牛津 大学和 IST 的研究团队 2016 年 11 月36提出 iCaRL,并假设越靠近类别特征均值的样本越具有代表性,因此选择 靠近均值的旧样本混同新样本,并在损失函数中加入在新模型输出的蒸馏损失(与 LwF 类似)。由于 iCaRL 采 取类似联合训练的方式,因此持续学习下可能带来部分参数过拟合、计算成本过高等问题。Meta 团队 2017 年 6 月提出 Gradient Episodic Memory37(GEM,梯度片段记忆),主要逻辑是不更新旧参数,并且针对新参数更新 施加约束,希望更新后的模型在原有任务的表现不下降。总体来说,基于回放的增量学习需要额外的计算资源 和存储空间用于回忆旧知识,当任务种类不断增多时,可能存在计算成本和内存占用增加,且存储旧知识可能 涉及数据安全与隐私保护。

参考报告

百度(9888.HK)专题研究报告:大模型研究笔记.pdf

百度(9888.HK)专题研究报告:大模型研究笔记。现有的市场研究主要聚焦下游应用,即大语言模型能够实现什么功能,满足什么市场需求,而将大语言模型本身视为黑匣子,缺乏对语言模型本身机制的研究。本篇报告主要是对学界在LLM模型架构、预训练各环节、下游调优等领域的探索进行系统梳理,旨在增进市场对LLM技术原理的理解。需要指出的是,由于相关文献较多,本报告可能存在遗漏,并引致风险。模型结构方面,现有的主流模型均基于Transformer架构。行业发展的关键节点在于1)下游任务逐渐被统一;2)研究总结出ScalingLaw,从而催生规模竞赛;3)Google团队提出CoT研究,大模型+CoTpromp...

查看详情
我来回答