网站上做地图手机上显示,网站怎么识别手机跳转,长沙百度关键词排名,中国建设银行复核网站文 | Yimin_饭煲都1202年了#xff0c;不会真有深度学习炼丹侠还没有训练/推理过大模型吧“没吃过猪肉#xff0c;还没见过猪跑吗#xff1f;”在深度学习算力高度增长的今天#xff0c;不论是学术界还是工业界的从业者#xff0c;即使尚未达到从头预训练一个百亿级别参数… 文 | Yimin_饭煲都1202年了不会真有深度学习炼丹侠还没有训练/推理过大模型吧“没吃过猪肉还没见过猪跑吗”在深度学习算力高度增长的今天不论是学术界还是工业界的从业者即使尚未达到从头预训练一个百亿级别参数模型的土豪程度也必定尝试过在自己的科研/工作中使用大模型。训练大模型已经成为了刷排行榜SOTA、处理业务问题、提高工作受关注程度甚至是大厂“秀肌肉”的一个重要手段。如何高效地训练大模型快速地推理大模型方便地部署大模型也是产学研界所面临的关键挑战。想刷SOTA想涨点没有大模型万万不行。可是自己训练一个大模型就一定能刷出SOTA和涨点么那也未必且不论数据质量、工程实现难度这些一个比一个令人头疼的问题单单是大模型结构和训练方法的设计就已经让人抓狂了。 作为一个训练大模型方面的小白如果让我训练一个大模型我最关心的问题是为了解决我面对的问题我需要训练一个多大的模型十亿百亿千亿这决定了需要多少算力资源能否在尽可能节省资源的前提下完成任务。我需要收集多少数据来“匹配”选择的模型。如果我所需要处理的领域只能收集到几十几百GB数据我应该如何设置模型的参数量和训练方式在决定好模型的参数量之后我应该在模型的什么部分“堆料”例如我是应该将模型的层数垒高还是应该将隐状态的长度加的更大还是应该将注意力头个数目加多在资源受限的情况下我应该更侧重在什么部分增加参数在预训练语言模型、微调语言模型、跨域迁移语言模型这些常用的应用大语言模型方式下有没有什么可以遵循的设计准则幸运地是针对以上令小白无从下手的问题训练大模型无数的工业界土豪Google/DeepMind/OpenAI热心地为大家分享了自己的经验。研究者们将研究模型大小、数据量、模型结构等因素如何影响模型性能这一领域称为深度学习的尺度定律本文将为大家解析尺度定律这一领域的三篇经典工作分析了在预训练、微调和跨域迁移三个常见的应用场景中的尺度定律希望大家在读完这篇推送后能更好地设计和训练自己的大模型~论文题目:Scaling Laws for Neural Language ModelsScaling Laws for TransferScaling Efficiently: Insights from Pre-training and Fine-tuning Transformers预训练语言模型时的尺度定律深度学习模型种类和任务五花八门不妨从大模型数量最多、数据最充足、任务相对简单的预训练语言模型开始研究。OpenAI的工作 Scaling Laws for Neural Language Models 是尺度定律领域最早的研究。从预训练语言模型入手想必也有OpenAI对GPT系列工作情有独钟的因素。这篇文章的主要结论是在预训练语言模型时模型的性能和模型的参数量明显正相关而和模型的结构关系较小这对于其他类型的模型不一定成立模型的表现以交叉熵loss衡量与模型的参数量数据集大小和训练计算开销都有着明确的定量关系α α (不包含embedding层参数量)α α (token数目) , (PF-days)当数据集较小而模型较大时会出现过拟合现象作者指出了为避免过拟合的经验规律也即当我们将模型大小扩大8倍时需要将数据集大小扩大5倍。大模型具有更好的样本有效性仅需要更少的优化步骤更少的训练数据就能达到与小模型相同的表现在固定训练开销的前提下训练超大模型并且在收敛前停下能够达到最优的表现而不是将小模型训练到收敛由下图可知在训练开销限制增加的过程中最优的训练配置是在模型大小上“堆料”而不是增加Batch Size和训练步数。OpenAI的这一工作为随后的尺度定律研究工作提供了基本的框架在实验设计上有许多可取之处限于推送篇幅无法为大家一一介绍有兴趣的小伙伴可以去看看原文哦微调语言模型时的尺度定律OpenAI的工作告诉我们在预训练语言模型时模型的参数量决定了模型的表现而模型结构的影响很小。但是OpenAI研究的因变量只有语言模型的交叉熵而在实际应用中预训练语言模型更多地是为了在下游任务上进行微调和应用。Google和DeepMind的研究者们进一步探索了在微调语言模型时遵循的尺度定律证明了模型的结构对下游任务微调的影响很大并且发现了现有的T5模型并不是最优的结构。作者们还壕无人性地发布了100个T5的Checkpoint! 这篇文章的主要发现是模型在预训练阶段的表现基本仅依赖于模型的参数量在微调阶段时的表现和模型结构关系很大。在预训练阶段表现更好的模型NL12-XXL), 在下游任务上的表现却明显低于NL32-XL。在不同的计算开销条件下(Small, Base, Large)所得到的最优模型配置是不相同的。因此在较小尺度下得到的最优模型配置未必能在较大的尺度上也是最优的模型的层数NL对下游任务上表现的影响很大而注意力头的数目NH、前向传播层FF的维度对下游任务上表现的影响相对较小。作者提出了DeepNarrow策略也就是在“堆料”时提高模型的层数而不需要将其他参数过于提高。按照此策略的模型相对于标准版的T5模型更加“瘦高”。从结果可以发现尽管参数量和FLOPs更小DeepNarrow策略的模型表现要优于T5标准模型在Small,Base,Large,XL,XXL多个尺度上)作者们在GLUE之外的多个和常识推理、自然语言生成任务有关的数据集上同样验证了DeepNarrow策略的有效性。跨域迁移学习时的尺度定律跨域迁移学习是大模型另一个极其重要的应用场景。例如我想预训练一个Python数据上的大模型然而Python数据的量毕竟是十分有限的。这时可以先利用大规模的文本数据训练一个大模型再利用Python数据进行迁移学习就能够得到一个强大的Python语言模型。如下图所示如果先在文本上预训练一个模型之后在Python数据集上进行微调就能够比从头训练的Python模型取得更好的效果小数据场景下。固定测试误差定义从头训练Python模型所需要的数据量为,从预训练好的文本模型迁移学习Python模型所需要的数据量为就是从预训练文本模型迁移的“数据量”研究者们采取了三种方式进行训练直接在Python代码上训练/在文本上预训练在Python代码上微调/在文本和非Python的代码上预训练在Python代码上微调。通过大量地实验发现了尺度定律在迁移学习上的许多规律。遵循和以及模型参数量的明确函数关系 , 其中,与预训练的语料分布无关衡量了参数量对模型表现的影响。和预训练的语料分布有关预训练和微调的语料分布越接近越小。在文本到Python的迁移过程中。当下游的Python数据集较小时从文本预训练模型迁移而来的Python模型有着更好的表现。由于Python数据集较小当从头训练的模型参数量进一步扩大时会受到过拟合的影响使得表现难以进一步提升而预训练过的文本模型能够随着参数量的提高进一步提升性能。预训练模型在少数据场景下更加的计算高效也即仅需要更少的计算资源进行微调就能达到与从头训练相同的效果。在小数据迁移场景下作者发现微调模型的损失可以和前文中预训练模型的公式放在统一的框架中得到公式这个公式可以通过将替换为得到。尺度定律对炼丹师有什么用了解完干货满满的尺度定律的三种应用后大家会发现尺度定律的研究大多基于充分的实证实验和数据分析往往需要耗费大量的算力资源需要收集大量的数据以供实验。而作为学术界和工业界的普通炼丹师也许无法获得如此充足的资源来研究如何训练自己的大模型。这里我想谈谈我从这三篇“耗资巨大”的论文中学到的东西顺便来回答文章开头提到的问题~大模型的堆料思路在设计大模型结构时优先考虑将模型的层数做深再考虑增加注意力头数、隐层尺寸等其他参数。大模型的样本有效性在训练数据较少的情况下并不一定要采取小模型进行训练。可以采用大模型进行训练在收敛前停下仅需较少的训练步骤就能达到很好的效果。这是由于大模型具有更好的样本有效性。大模型的迁移性在目标任务领域数据量较小时可以采用通用文本上预训练过的大模型进行微调可能取得更优的效果。大模型对数据的要求模型的表现同时和数据量与模型参数量相关。为了避免过拟合在增大模型参数量的同时需要增大数据量但要求的数据量增长速度相对较慢。当扩大模型大小8倍时只需要扩大数据量5倍。大模型的架构设计如果不确定应该选取怎样的大模型结构和参数配置可以参考Paper中已经给出的一些优秀的设计策略。结语尺度定律并非是在深度学习中提出的概念而是物理学中的一个常用名词。凡是可以用幂次关系表示的两个或多个物理量都称为满足尺度定律。最早研究预训练语言模型的尺度定律论文 Scaling Laws for Neural Language Models 的第一作者Jared Kaplan是一位来自约翰霍普金斯大学的物理学教授因此在这篇论文中可以看到很多类似于物理学中的唯象的研究思路。深度学习和物理学都需要对实验现象进行观察并总结出规律也许深度学习也可以被看成一种新的“物理学”分支。希望将来能看到更多物理学家参与的深度学习工作能给深度学习带来更多的理论和实践Insights~后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集 [1] Scaling Laws for Neural Language Models.https://arxiv.org/abs/2001.08361[2] Scaling Laws for Transfer.https://arxiv.org/abs/2102.01293[3] Scaling Efficiently: Insights from Pre-training and Fine-tuning.https://arxiv.org/abs/2109.10686