本公开大体上涉及用于计算机学习的系统和方法,其可以提供改善的计算机性能、特征和用途。更明确地说,本公开涉及用于预测深度学习缩放(scaling)的系统和方法。
背景技术:
::深度学习(dl)已经成为最近人工智能(ai)突破的主要驱动力。随着支持dl的产品发展,满足深度学习模型训练的未来硬件需求变得愈发重要。深度学习研究者努力改善准确度。深度学习研究者寻求改善的一种方式是通过调查模型架构变化来更好地拟合数据集并改善准确度。模型变化往往非常重要(经常需要问题重构),并且可以显著改变其计算结构。因此,很难预测将对于未来深度学习应用来说重要的模型结构。除了搜索深度学习社团已经在不同应用领域中创造有影响力的进步的改善模型架构之外,其它方式是通过创建大型训练数据集和通过缩放计算。这些途径往往有助于改善用户体验和产品采用,这推动了在现有和新兴应用领域中增加深度学习开发投资。随着数据集增长和新应用领域激增,更深入地理解这些不同因素如何协作推动有价值的产品改善将是有益的。因此,需要能够更好地帮助预测与深度学习缩放相关的一个或多个度量的系统和方法。技术实现要素:在本公开的一方面,提供了一种用于生成学习曲线以帮助预测深度学习模型的度量的计算机实施方法,所述方法包括:将数据集划分成一组分片,使得分片大小跨越多个数量级;在来自所述一组分片的每个分片上训练一组模型候选者,其中所述一组模型候选者内的模型在架构、超参数或两者方面不同;使用验证集来从所训练的一组模型候选者当中识别用于每个分片的最佳模型,其中每个最佳模型针对该分片具有对应验证准确度,所述最佳模型具有分片大小;使用针对所述分片选择的所述最佳模型的所述对应验证准确度和分片大小拟合幂律学习曲线模型;以及使用所拟合的幂律学习曲线来预测与深度学习模型相关联的度量。在本公开的另一方面,提供了一种用于生成学习曲线以帮助预测深度学习模型的度量的系统,所述系统包括:一个或多个处理器;非暂态计算机可读介质或媒介,其包括一个或多个指令序列,所述指令序列在由所述一个或多个处理器中的至少一者执行时,致使执行步骤,所述步骤包括:在来自一组分片的每个分片上训练一组模型候选者,其中来自所述一组模型候选者的所述模型在架构、超参数或两者方面不同,并且所述一组分片已经被生成为使得所述分片大小跨越多个数量级;使用验证集来从所训练的一组模型候选者当中识别用于每个分片的最佳模型,其中每个最佳模型针对该分片具有对应验证准确度,所述最佳模型具有分片大小;使用针对所述分片选择的所述最佳模型的所述对应验证准确度和分片大小拟合幂律学习曲线模型;以及使用所拟合的幂律学习曲线来预测与深度学习模型相关联的度量。在本公开的又一方面,提供了一种包括一个或多个指令序列的非暂态计算机可读介质或媒介,所述指令序列在由一个或多个处理器中的至少一者执行时,致使执行步骤,所述步骤包括:在来自一组分片的每个分片上训练一组模型候选者,其中来自所述一组模型候选者的所述模型在架构、超参数或两者方面不同,并且所述一组分片已经被生成为使得所述分片大小跨越多个数量级;使用验证集来从所训练的一组模型候选者当中识别用于每个分片的最佳模型,其中每个最佳模型针对该分片具有对应验证准确度,所述最佳模型具有分片大小;使用针对所述分片选择的所述最佳模型的所述对应验证准确度和分片大小拟合幂律学习曲线模型;以及使用所拟合的幂律学习曲线来预测与深度学习模型相关联的度量。附图说明将参考本公开的实施方式,它们的示例可示于附图中。这些附图旨在是说明性的而非限制性的。虽然本公开大体上在这些实施方式的上下文中描述,但应理解,本公开的范围并不旨在限于这些特定实施方式。附图中的项可能未按比例绘制。图1描绘了根据本公开实施方式的用于设置数据集的示例方法。图2描绘了根据本公开实施方式的用于模型设置的示例方法。图3描绘了根据本公开实施方式的示例训练方法。图4描绘了根据本公开实施方式的神经机器翻译学习曲线,其中顶部图表(405)示出了遵循的独立模型的学习曲线,并且底部图表(410)描绘了每个数据集大小处的最佳拟合模型的复合学习曲线。图5描绘了根据本公开实施方式的单词语言模型的学习曲线以及模型大小结果和趋势。图6绘出了根据本公开实施方式的字符语言模型的泛化和模型大小缩放结果。图7示出了根据本公开实施方式的resnet(残差网络)图像分类的学习曲线以及模型大小结果和趋势。图8示出了根据本公开实施方式的深度语音2(ds2)实施方式模型和注意力语音模型的学习曲线(805)以及各种ds2实施方式模型大小(1.7m至87m参数)的学习曲线(810)。图9示出了根据本公开实施方式的针对真实应用分解学习曲线阶段的幂律图。图10呈现了根据本发明实施方式的用于使用幂律关系来帮助瞄准准确度的一般方法。图11描绘了根据本公开实施方式的用于神经机器翻译的学习曲线的小提琴图,并且示出了总体上方差相对于验证误差减小来说较小且方差随着较多训练数据以及较大模型而减小。图12描绘了根据本公开实施方式的用于预测一个或多个计算需求的一般方法。图13描绘了根据本公开实施方式的随模型参数数目的每个训练样本的每秒浮点运算(flop)增长(虚线是趋势)。图14描绘了根据本公开实施方式的随着模型大小增长的tfprof算法内存访问(注意:针对特定子批量大小)。图15描绘了根据本公开实施方式的随着模型大小增长的tfprof算法运算强度(注意:固定子批量大小)。图16描绘了根据本公开实施方式的随着模型大小增长的经验和渐近最小内存占用。图17描绘了根据本公开实施方式的子批量大小对单词语言模型(lm)运算强度、每个样本的训练步骤时间的影响。图18包括根据本公开实施方式的表1(dl领域的学习曲线和模型大小缩放关系)、表2(渐近应用级计算需求)和表3(投射到目标准确度的应用级训练需求)。图19描绘了根据本公开实施方式的计算装置/信息处理系统的简化框图。具体实施方式在以下描述中,出于解释目的,阐明具体细节以便提供对本公开的理解。然而,将对本领域的技术人员显而易见的是,可在没有这些细节的情况下实践本公开。此外,本领域的技术人员将认识到,下文描述的本公开的实施方式可以以各种方式(例如过程、装置、系统、设备或方法)在有形的计算机可读介质上实施。附图中示出的组件或模块是本公开实施方式的示例性说明,并且意图避免使本公开不清楚。还应理解,在本论述的全文中,组件可描述为单独的功能单元(可包括子单元),但是本领域的技术人员将认识到,各种组件或其部分可划分成单独组件,或者可整合在一起(包括整合在单个的系统或组件内)。应注意,本文论述的功能或操作可实施为组件。组件可以以软件、硬件、或它们的组合实施。此外,附图内的组件或系统之间的连接并不旨在限于直接连接。相反,在这些组件之间的数据可由中间组件修改、重格式化、或以其它方式改变。另外,可使用另外或更少的连接。还应注意,术语“联接”、“连接”、或“通信地联接”应理解为包括直接连接、通过一个或多个中间设备来进行的间接连接、和无线连接。在本说明书中对“一个实施方式”、“优选实施方式”、“实施方式”或“多个实施方式”的提及表示结合实施方式所描述的具体特征、结构、特性或功能包括在本公开的至少一个实施方式中,以及可包括在多于一个的实施方式中。另外,在本说明书的各个地方出现以上所提到的短语并不一定全都是指相同的实施方式或多个相同实施方式。在本说明书的各个地方使用某些术语目的在于说明,并且不应被理解为限制。服务、功能或资源并不限于单个服务、单个功能或单个资源;这些术语的使用可指代相关服务、功能或资源的可分布或聚合的分组。一组可包括一个或多个元素。术语“包括”和“包含”应当理解为开放式术语,并且随后任何列举都是示例而不意味限于所列项目。本文中所使用的任何标题仅用于组织目的,并且不应用于限制描述或权利要求书的范围。本专利文献中提到的每个参考文献均以引用的方式整体并入本文中。此外,本领域技术人员应理解:(1)某些步骤可以可选地执行;(2)步骤可不限于本文中所阐述的特定次序;(3)某些步骤可以以不同次序执行;以及(4)某些步骤可同时地进行。应当注意,本文所提供的任何实验和结果都是以说明的方式来提供的,并且是在特定条件下使用一个或多个特定实施方式来执行的;因此,这些实验及其结果都不应该用于限制当前专利文献的公开范围。a.介绍深度学习(dl)社团已经通过遵循以下方法来在不同应用领域中创造了有影响力的进步,所述方法包括:搜索改善的模型架构,创建大型训练数据集,以及缩放计算。所述方法有助于改善用户体验和产品采用,这推动了在现有和新兴应用领域中增加深度学习开发投资。如上所述,更深入地理解各方法部分如何协作推动最有价值的产品改善将是非常有益的。分解所述方法,应当注意在搜索改善的模型架构中的挑战。模型搜索可以创造重要的新见解,所述新见解又会改善使用新颖模型的产品。然而,模型架构的进步经常依赖于不可靠的顿悟;进步通常涉及建模问题的复杂或创造性重构,并且研究经常涉及具有一些意外发现的大规模超参数搜索。作为模型架构搜索的补充,重要的是研究另外两个方法组成部分-创建大型训练集和缩放计算-其提供更多进展控制。普遍相信,简单地使用较多数据来训练较大模型应当会改善准确度。然而,较好地分析并理解训练集规模(scale)、计算规模和模型准确度改善之间的关系将是有益的。明确地说,使用训练集大小准确地预测泛化误差缩放将为估算成本(在数据和计算需求方面)提供强大工具,以推进最新技术水平(sota)。虽然有些人分析了样本复杂性需求来达到期望泛化误差,但它们似乎不足以针对实际应用准确地预测误差缩放。泛化误差“学习曲线”可以采用幂律形式,。这里,ε是泛化误差,m是训练集中的样本数目,α是问题的常数属性,并且βg=-0.5或-1是定义学习曲线的陡度(模型族能够多快地从添加较多训练样本进行学习)的缩放指数。应当注意,学习曲线测量模型族需要多少训练数据来达到特定准确度;它们不同于训练和验证曲线,后者测量模型学习特定数据集所需要的训练迭代次数。在实际应用中,凭经验发现,βg通常位于-0.07与-0.35之间,其它理论工作无法解释这些指数。本专利文献呈现了迄今为止最大规模的学习曲线经验表征,其广泛揭示了深度学习泛化误差确实展示幂律改善,但是利用可以凭经验预测的指数。本文呈现了用于准确地预测泛化误差和模型大小随训练集大小增大而缩放的方法。这些方法用于在四个应用领域中估计六个深度神经网络模型的缩放关系:机器翻译、语言建模、图像分类和语音识别。结果示出了幂律学习曲线存在于所有受测领域。虽然不同应用产生不同幂律指数和截距,但是这些学习曲线存在于广泛范围的模型、优化器、正则化器和损失函数中。改善的模型架构和优化器可以改善幂律截距而不是指数;用于单个领域的模型展示相同的学习曲线陡度。最后,发现模型从由最佳猜测主导的小训练集区过渡到由幂律缩放主导的区。使用足够大的训练集,模型将在由不可约误差(例如,贝叶斯误差)主导的区中饱和。此外,本文描述了可预测准确度和模型大小缩放的重要含义。对于深度学习实践者和研究者来说,学习曲线可以帮助模型调试并预测改善模型架构的准确度目标。这里的结果指示理论上预测或解释学习曲线指数的机会。在操作上,可预测的学习曲线可以用于引导关于是否或如何增长数据集的决策。最后,学习和模型大小曲线可以用于引导系统设计和扩展,并且它们强调了持续计算缩放的重要性。b.相关工作由于目标是准确地预测随着训练集大小增加的泛化误差和模型大小缩放,所以呈现对理论和经验工作的回顾以示出它们不足以预测本文所展现的行为。有些人使用三种途径研究随着样本复杂度增加的泛化误差改善:理论上限定泛化误差缩放、理论上估计预期泛化误差以及凭经验收集对于单个应用的泛化误差。其他人还对理论模型容量进行深入分析,提出了拟合训练数据所需要的模型大小。遗憾的是,虽然这些工作提供了一些大体指导,但它们不能够解释本文中所呈现的经验结果。据发明人所知,本专利文献首次针对广泛范围的应用领域和模型凭经验表征学习曲线和模型大小缩放趋势。1.随数据的泛化误差缩放:学习曲线下面呈现一份研究学习曲线的调查报告。这些工作大多数展示了幂律泛化误差缩放(),其中指数βg=-0.5或-1。限定泛化误差:许多工作提供了对样本复杂性的理论界限以确保特定泛化误差。早期理论工作定义了用于限定泛化的框架,但是做了一些薄弱假设,所述假设致使所预测的泛化误差非常宽松。早期后续研究经由通过目标概念类的vapnik-chervonenkis(vc)维度使样本复杂性与泛化误差相关来收紧界限。所有这些界限在某些假设下展示幂律关系,诸如假设空间必须含有至少一个能够正确拟合数据的模型或者训练数据大小必须远大于模型的容量。这些假设对于实际应用来说通常过于严格,因此界限通常是宽松的或者甚至是空洞的。其他人针对常见实际应用收紧界限,设置:模型大小大于数据集中的样本数目。然而,不管样本复杂性界限调查的广度如何,都不存在解释本文中经验结果的直接界限。估计预期泛化误差:一些工作还在某些情况下评估了预期泛化误差。使用统计力学途径,一些工作示出了随着样本复杂性增加,泛化误差应当以幂律的形式下降,其中βg=0.5、1或2。这些趋势取决于对问题的假设并且给出对所有可能数据分布的预期。其它工作示出了类似预期适用于某些模型,诸如单层和多层感知机,以及网络委员会。附录b(见下文章节i)添加到这个语料库,示出用于预测加权掷硬币概率的计数模型以幂律指数βg=-0.5收敛。不管在各种情况下估计预期泛化误差的其他人工作的广度如何,本专利文献中的经验结果示出在各种现实问题上幂律指数在βg=0.07与0.35之间尚无法解释。经验泛化误差缩放:一些研究凭经验调查了泛化误差随训练数据大小而缩放的方式。一些研究测试了使用十亿单词文本语料库的子集训练的语言建模问题(混淆集消歧)。其结果似乎示出平均消歧验证误差的幂律缩放。在语音识别中,amodei等人(在下文章节j中提供完整引用)(还在以下共同转让的专利申请中:第62/260,206号美国临时专利申请(代理人案号28888-1990p),2015年11月25日提交,标题为“deepspeech2:end-to-endspeechrecognitioninenglishandmandarin”;第15/358,120号美国专利申请(代理人案号28888-1990(bn151203usn1)),2016年11月21日提交,标题为“end-to-endspeechrecognition”;以及第15/358,083号美国专利申请(代理人案号28888-2078(bn151203usn1-1)),2016年11月21日提交,标题为“deployedend-to-endspeechrecognition”,上述每个专利文献均以引用的方式整体并出于所有目的并入在本文中)示出了深度语音2模型实施方式在不同大小的训练数据上的单词误差率改善。在一个实施方式中,其使用68m参数的固定模型大小,并且示出了来自数据增加的幂律单词误差率(wer)增益。其它研究示出了图像分类准确度随训练数据大小而改善,但奇怪的是,其得出的结论是,准确度基于训练数据量大小来以对数方式提高。虽然一些工作凭经验研究了泛化误差缩放趋势,但是社团尚未确定地得出如下结论:幂律误差缩放应当存在于大多数深度学习领域。2.拟合数据所需的模型容量一些研究基于模型的组织和参数化提出了模型容量的各种测量,并且这些测量暗示了拟合训练集所需的模型大小。预期用于拟合数据集的模型参数数目应当遵循,其中s(m)是用于拟合大小为m的训练集的所需模型大小,并且βg∈[0.5,1]。vapnik和chervonenkis将模型的vc维度定义为模型可以散开的最大数据点集的基数。后续工作使用数据复杂性测量来估计可能拟合所述数据的模型族的结构。最近工作还定义了特定深度神经网络模型的vc维度的界限,包括示出了如果优化方案被适当调整并且训练运行足够长时间,则递归神经网络模型具有相同有效容量。用于使用训练集大小凭经验估计模型缩放的工作非常少。banko和brill(2001年)混淆集消歧工作声称,拟合数据所需的模型大小呈对数线性增长。其winnow模型和基于记忆的模型被估计对于较大数据集以相同幂律指数增长,βp≈0.72。尽管这些理论和经验结果提供了关于所需模型大小的见解,但是最近的工作已经注意到需要更实际的指导。这些研究示出了,尽管模型容量可以解释模型记忆训练示例的能力,但容量可能不足以解释模型泛化到新示例的能力。研究者和实践者目前更容易将模型过度参数化以拟合训练数据,而不是通过这些复杂性来推理。c.测量随训练数据大小的模型准确度和大小缩放考虑到一般指南,本文的一个关注焦点是准确地估计学习曲线和模型大小缩放趋势。在一个或多个实施方式中,使用以下方法测量缩放数据大小对泛化误差和模型大小的影响。在一个或多个实施方式中,一般过程是选择最新水平(sota)模型并且在训练集的连续较大子集(本文中称为“分片”)上训练这些模型的“超参数简化”版本以查看模型的准确度如何随训练集大小而增长。首先,对于每个机器学习领域,对最近工作执行调查以找到在大数据集上展示sota泛化误差的模型架构。此处,“大数据集”是大小可以减少2至3个数量级但对于执行有价值的模型架构研究仍然足够重要的训练集。针对一些机器学习领域选择了一个以上模型架构来比较其缩放行为。数据集:图1描绘了根据本公开实施方式的用于设置训练数据集的示例方法。给定sota模型架构m和训练集t,可以如下建立实验基础设施。首先,随机打乱(105)训练数据集t以最大化t的分片将具有与t相似的数据分布的可能性。在一个或多个实施方式中,将训练数据集t细分(110)成以大约为2的步长跨越2至3个数量级的分片大小(例如,t0是t的0.1%,t1是0.2%,t2是0.4%,等等)。在一个或多个实施方式中,定义(115)用于给所有模型评分(甚至在t的不同分片大小上训练)的单个验证集v。在一个或多个实施方式中,验证集可以被定义为使得评估集中的任何数据都不与训练数据集重叠,即在一个或多个实施方式中,v足够大来以低方差近似真实泛化误差。在一个或多个实施方式中,可以使用训练数据可用的验证集,或者如果此类验证集不可用,则可以使用不与任何t分片重叠的t的保留子集。在一个或多个实施方式中,用于测量数据集大小的度量应当准确地表示训练集的可观察大小。例如,字符语言模型以最大长度截断时间系列输入序列并且从训练集中丢弃所述序列的其余部分。在此类情况下,数据集大小应当仅对模型在整个训练运行期间观察到的输入序列的部分进行计数。模型设置:图2描绘了根据本公开实施方式的由于模型设置的示例方法。在一个或多个实施方式中,在t上复制(205)sota结果,从而设置m的超参数,如对应工作中所描述。接下来,为了理解模型容量对拟合训练集的重要性,通过移除(210)可能降低模型有效容量(例如,权重衰减)的正则化方案来控制实验。通过这种简化,可以检查验证曲线以找到能够过度拟合t的每个分片大小的最小模型大小。对于获得sota结果同时在其训练集上拟合不足的模型,将训练集大小减小(215)到模型能够过度拟合的规模。在一个或多个实施方式中,目标是找到当在最小分片t0上训练时最佳拟合v的m的模型变型,并且为了找到这个变型,减小(220)m的超参数并执行网格搜索。类似地,在一个或多个实施方式中,还可以找到并使用最佳拟合最大分片或完整数据集的m的模型变型。通过约束m的模型容量,改变诸如层计数、隐藏节点计数等超参数,来生成一组模型候选者从这个搜索,找到一个模型当在t0上训练时,所述模型在v上给出最佳验证损失训练过程:图3描绘了根据本公开实施方式的示例训练方法。最后,使用针对t的最小和最大分片定义的最佳拟合模型,在一个或多个实施方式中,执行随机蒙特卡罗网格搜索以一步式通过t的连续较大分片找到最佳拟合超参数简化模型。具体地说,给定用于分片ti的最佳拟合模型大小,其被向前投射(305)到下一个分片大小(即,ti+1)。在一个或多个实施方式中,投射可以包括随分片大小线性地或亚线性地增大模型大小,以定义一组候选模型(或模型族){mi+1;0,mi+1;1,mi+1;2,...}。在一个或多个实施方式中,训练(310)这些模型以搜索最佳拟合验证集的模型。在一个或多个实施方式中,执行对优化参数(诸如批量大小和学习速率)的搜索;并且在一个或多个实施方式中,可以重新运行具有不同随机种子的训练来帮助搜索。在实施方式中,重复(315)这个过程,直到已经在每个分片上执行了训练并且已经针对每个分片识别了最佳拟合模型为止。在一个或多个实施方式中,报告(320)最佳拟合模型的验证损失,其可以被报告为测量每个模型预测输出的误差的距离度量上的总和或未加权平均值。在一个或多个实施方式中,这种损失结构对于所得学习曲线的预测性很重要。依据问题领域,误差度量包括但不限于交叉熵、lp基准和分类误差。在一些情况下,训练可以优化与作为验证损失报告的不同的损失函数(详见下文章节h中的附录a)。d.数据集和模型大小缩放关系在这个章节中,呈现示出增加训练数据大小如何针对四个领域导致泛化误差和所需模型大小的幂律缩放以拟合训练集的经验结果:机器翻译、语言建模、图像分类和语音识别。这些幂律关系适用于每个机器学习领域以及各种模型架构、优化器和损失度量。在许多情况下,还发现模型大小随数据集大小的增长呈亚线性增长。贯穿本章节,存在用于泛化误差的幂律指数(在中,-0.5≤βg<0)和模型参数数目(在模型中,0.5≤βp<1.0)的具体参考。1.神经机器翻译在一个或多个实施方式中,学习曲线调查以神经机器翻译(nmt)中的案例研究开始。翻译将以一种自然语言输入的文本转换以便以另一种语言输出文本。相对于其它深度学习领域,nmt具有低维输入和输出空间,并且可以使用大标记数据集进行训练。本文的结果示出了类似于理论预测的学习曲线特征,尽管幂律指数较小(即,βg≈-0.128而不是-0.5)。为了测试nmt,在2016年机器翻译会议(wmt’16)德英数据集上训练一个受到全球关注的sota序列到序列模型。使用这种架构在opennmt中的公开实施。编码器含有两层双向长短期记忆单元(lstm),并且解码器含有注意力层和lstm层堆栈。为了简化训练这个sota模型,去除了集成和数据扩充技术。为了缩放模型大小,lstm输入和隐藏状态大小被联系在一起,并且发生改变,使得总参数计数随着数据集大小大致线性地减少。adam用于优化每个序列的交叉熵损失并报告每个标记的分类误差。使用newstest2015验证集选择模型,并且使用来自2009年至2013年的其它newstest开发集进行评估。这里所呈现的结果具有0.2的漏失率,尽管在没有漏失的测试中发现了类似学习曲线指数。如luong等人(2017年)所描述,使用moses对数据集进行清理和标记解析。sennrich等人(2016年)所描述的字节对编码(bpe)方法用于在英语与德语之间建立共享词块词汇。在预处理之后,训练集包括450万个训练序列,其中每种语言具有大约1.3亿个标记。训练数据和样本训练分片被均匀地随机打乱,如章节c中所述在最初测试中,目标是尽可能接近地复制理论结果。理论工作指示,单个模型族(即,具有固定容量)的预期分类误差学习曲线是具有指数βg=-0.5的幂律。此外,一些测试预测,随着模型在较大数据集上耗尽容量,误差会趋于平稳,从而导致幂律+常数,其中γ是在模型族耗尽其容量时的误差。事实上,已经发现,单个模型族的学习曲线可以用幂律+常数来接近地表示。然而,已经发现,βg在幅度上小于-0.5。在每个训练分片上训练固定大小的模型。图4中的顶部曲线图405示出了每个lstm层具有208或512个隐藏节点(分别为17m和48m参数)的两种不同模型大小的学习曲线。分别具有βg=-0.360和-0.300的学习曲线以小于0.6%的相对均方根误差拟合经验结果。对于这些实验,使用尽可能接近理论假设的控制。使用相同的损失函数和分类误差。为了在不需要额外数量的训练运行的情况下近似泛化误差期望计算,使用具有单独随机种子的多个训练运行中的中值最小验证误差来选择模型。诸如假设数据分布等因素既不受控制,也无法确保模型族含有能够正确表示数据生成函数的模型。这些因素可能是理论与经验βg之间的差距的一部分的原因。不同于这些初始测试,深度学习实践者和研究者经常随着训练数据增长而增加模型大小以确保足够容量。他们更愿意看到代表每个训练集大小处的最佳拟合模型的复合学习曲线。图4中的底部曲线图410示出了nmt的复合学习曲线。最佳拟合结果形成较长幂律区。已经发现,βg甚至小于单模型学习曲线;如果向前投射,则βg将为大约-0.128。其余结果旨在表征这些复合最佳拟合学习曲线的陡度。应当注意的是,随着训练集大小增长,优化变得更加困难并且模型耗尽容量,所以经验误差趋向于远离幂律趋势。如下所示,这种分歧在不同领域中很常见,并且将需要进行更详尽的超参数搜索以找到更接近现有幂律的结果。2.语言建模语言模型(lm)旨在预测以先前输入文本序列为条件的下一个字符、单词或其它文本元组的概率分布。lm对于诸如语音识别和机器翻译等领域是非常重要的模型特征,有助于识别最可能的元组序列。类似于nmt,lm具有低维输入和输出空间,并且可以使用非常大的标记集进行训练。lm学习曲线和模型大小缩放关系是最稳健的;单词和字符语言模型示出了清晰且可预测的幂律学习曲线,并且幂律指数往往较小(βg∈[-0.09,-0.06])。这些较小指数指示,当前语言模型将需要显著更多数据来显著改善准确度。给出最佳泛化误差的单词和字符模型随训练集大小亚线性地增长(βp≈0.7)。a)单词语言模型对基于lstm的单词语言模型(lm)进行训练,这些模型是具有一些小变化的如jozefowicz等人(2016年)描述的早期sota模型。为了减少模型的计算需求,词汇表被限制为十亿单词数据集(chelba等人(2013年))中的前10,000个最常见单词。网络是两层或四层lstm,其中每层中具有相同数目的隐藏权重,并且对层权重的数目进行缩放以调制模型大小并针对每个训练分片大小找到最佳拟合模型。将lstm与zilly等人(2017年)所描述的递归高速路神经网络(rhn)进行比较。具体地说,对单层、深度为5的rhn进行训练以查看不同网络组织是否示出不同泛化趋势。使用具有每序列交叉熵损失的随机梯度下降优化器(sgd),并且报告每预测单词平均交叉熵损失。未使用漏失。在十亿单词数据集的范围从0.1%到40%的分片上训练所述模型。图5示出了根据本公开实施方式的lstm和rhn单词语言模型的学习曲线和模型大小结果。首先,损失缩放关系是数据集大小的平滑幂律函数,其指数几乎完全相同:βg=-0.0656±1%。同样,较大模型较难优化来拟合较大训练集。对于单词lm,在批量大小和学习速率调整方面投入较多以在这些较大训练分片上找到最佳模型。经过调整的模型处于在幂律趋势或略高于幂律趋势,这表明进一步的超参数搜索有可能会在趋势上产生模型。引人注目的是,虽然这些模型架构明显不同,但它们都示出了由幂律指数表征的相同学习曲线轮廓。将lstm深度从2层增加到4层会使网络的准确度降低约1.5%,但是随着训练集大小增加,两种模型架构都看到相同的相对损失改善。rhn具有与lstm显著不同的递归结构,但示出几乎相同的学习曲线。模型大小结果示出了最佳拟合模型在训练分片大小中亚线性地增长。具体地说,最佳拟合两层lstm和深度为5的rhn模型大小大致以βp=0.69±5%增长。四层lstm示出具有βp=0.78的稍差缩放,这表明它们在较大数据集上对额外参数的使用效率较低。不管模型大小缩放差异如何,对于给定模型架构,可以准确地预测将最佳拟合越来越大的数据集的模型大小。b)字符语言模型为了测试字符级语言建模,对深度为10的rhn进行训练,发现它们在十亿单词数据集上实现sota准确度。对层权重数目进行缩放以调制模型大小,并且找到用于每个训练分片大小的最佳拟合模型。使用sgd,优化每个预测字符的交叉熵损失,其在验证集上报告。还将sgd与adam优化器进行比较以测试其效果。输入和输出词汇表包括总大小为98的所有字母数字字符和常用符号。在十亿单词数据集的0.01%到4%的分片上训练所述模型。字符lm的结果看起来大致类似于单词lm。图6描绘了根据本公开实施方式的字符lm的泛化和模型大小缩放结果。如同单词lm,随着训练数据大小增加,泛化在幂律上得到改善,但是指数对于sgd优化器为βg=-0.0936并且对于adam优化器为βg=-0.0954。不管显著优化器差异如何,这些幂律指数非常相似,adam似乎仅将学习曲线相对下移大约5%。如单词lm,字符lm的学习也比理论结果所预测的要慢得多。虽然单词和字符lm具有一些主要差异,但是它们的学习曲线指数差异指示字符lm能够使用比单词lm能够学习单词之间的关系更少的样本来学习字符之间的关系。字符lm还展示随着数据集大小增加的亚线性模型大小增长。具体地说,对于sgd优化模型,βp=0.78,并且对于adam优化模型,βp=0.92。具有sgd优化器的字符lm从增加的模型大小看到与单词lm类似的改善,而adam优化模型看到较差的缩放并且需要显著更多参数(大约8至11倍)。尽管如此,它们的学习和模型大小曲线似乎是可预测的。3.图像分类作为与机器翻译和语言建模结果(其中输入和输出是低维时间系列数据)的比较,还测试了图像分类,其是旨在在高维图像数据中识别对象的机器学习领域。图像分类用于诸如对象识别、图像字幕和标记视频内容等应用中。图像分类还示出幂律学习曲线和模型大小缩放关系。还示出了在非常小的训练集上准确度平台接近随机猜测。还测试了resnet(he等人(2016年)),其近期是用于imagenet分类的sota架构(russakovsky等人(2015年))。resnet是由含有卷积、非线性和池化层的块构建的深层网络。它们从大多数块的输入到输出都有残留连接,其准许网络绕过层。在imagenet的各种分片大小上训练和验证resnet,分片大小的范围为从每类1个图像(占图像的0.08%)到每类800个图像(62%)。imagenet具有1,000个不同对象类作为输出。以resnet的深度为18、34、50、101和152层的5个已知变型开始,通过改变范围从10至200的层数目来缩放模型大小。为了提供更细粒度的模型大小控制,使用缩放因子改变卷积滤波器数目。在所有卷积块上使用缩放因子0.0625至1.5按比例缩放滤波器计数。测试了具有范围从89k至121m的参数计数的模型。使用以分类交叉熵损失为目标的nesterovmomentum优化器。去除了权重正则化。图7示出了根据本公开实施方式的各种损失计算遵循幂律学习曲线。报告了平均验证交叉熵、前1和前5分类误差。对于小训练集(每类少于大约25个图像),这些误差度量大致等于模型随机猜测(即,交叉熵大于-log(1/1,000)≈6.9,并且前1和前5的分类误差接近1-(1/1,000)=99.9%)。模型不能够从这些小训练集中提取足够信息来对验证集进行许多准确分类。这稍后被描述为“小数据区”。只要训练集足够大,就可以观察到泛化在幂律上有所改善,但是对于每个报告度量,幂律指数是不同的。前1分类误差指数为βg=-0.309。另一方面,前5分类误差的指数为βg=-0.488。由于前5分类是前1分类的超集,所以前5误差应当至少像前1那样快地改善,但事实上,前5误差随着训练数据大小增加而显著更快地改善。验证交叉熵指数为βg=-0.35,但是度量具有与分类误差不同的范围,所以它们的指数可能未直接进行比较。最后,图7还示出了模型大小增长也是可预测的。最佳拟合resnet模型遵循具有指数βp=0.573的亚线性曲线来增长。这个指数指示它们比其它受测领域中的模型增长得更慢。然而,即使在最小数据集上,resnet也需要相当大的模型来适当地拟合数据,至少3.4m参数。4.语音识别语音识别技术将声学语音信号转换成文本或命令。语音识别用于诸如话音驱动机控制和对话式用户界面等各种应用中。最近的研究已经从手工设计的语音识别管线转向端到端的基于深度学习的方法,所述方法展示出有希望的结果。语音识别与先前领域形成了有趣的对比;语音输入数据是中等维度的时间系列数据。为了测试语音识别的趋势,测试了两个最近sota模型:深度语音2(ds2)(上面提到)实施方式和基于注意力的模型。ds2模型实施方式包括两个2d卷积层,随后是四个双向lstm递归层。adam用于优化连接主义时间分类损失。将ds2实施方式与同battenberg等人(2017年)描述的模型类似的混合注意力模型进行比较。所述模型具有编码器和混合注意力解码器,所述编码器由三个双向lstm层连同两个中间最大池化层组成。adam用于优化输出序列平均交叉熵损失。对于这两种模型,移除正则化(权重衰减和噪声)以观察欠拟合或过拟合模型。对这些模型的输入是在20毫秒(ms)窗口上计算出的功率归一化音频片段的对数谱图序列。输出是英文字母连同空白符号。未针对输出序列波束搜索而包括语言模型,并且报告验证集上的每预测输出字符误差率。在包含11,940小时语音的标记数据集的分片上进行训练,所述语音含有800万个话语。为了改变ds2模型实施方式和注意力模型两者中的参数数目,改变所有lstm层中的权重数目,使得单独层具有相同数目的权重。在注意力模型中,注意力lstm和解码器单元中的权重数目也按比例缩放。对于ds2模型实施方式,模型大小的范围在300k至193m参数之间,并且对于基于注意力的模型,大小的范围在95k至156m参数之间。根据本公开的实施方式,图8中的图表805示出了ds2模型实施方式和基于注意力的语音模型两者都经历相同的幂律学习曲线改善。虽然这些模型具有显著不同的编码器和解码器,但是它们看到了随着训练集大小增加的字符误差率的相同相对改善,其中βg=-0.299±0.7%。与其它工作一致,在较大数据集上训练的较大注意力模型往往比ds2实施方式模型更容易优化,后者的泛化误差在较大数据集上往往远离幂律趋势。对于语音识别,训练模型大小的较粗略谱图,所以每个训练数据大小的模型大小缩放结果不像lm或图像分类那么有意义。替代地,通过展示用于三种不同ds2模型实施方式大小(1.7m至87m参数)的曲线(图8中的图表810)来稍微分解学习曲线。这些曲线示出了与其它领域中的趋势相似的趋势:随着数据大小增加,大多数模型经历幂律泛化改善,直到数据大小接近其有效容量。在这种情况下,1.7m参数模型的准确度平台在大约170小时的音频处开始,并且6m参数模型平台在大约860小时的音频(即,大约5倍以上,这类似于模型大小差异)处开始。较大模型(例如,87m参数)直到较大数据集大小才示出接近最佳拟合趋势的泛化误差。e.泛化误差和模型大小缩放的影响可预测的学习曲线和模型大小缩放指示对深度学习能够如何进行的一些重要影响。对于机器学习实践者和研究者来说,可预测的缩放可以帮助模型和优化调试以及迭代时间,并且提供用于估计最有影响的后续步骤以改善模型准确度的方式。在操作上,可预测的曲线可以引导关于是否或如何增长数据集和/或计算的决策。最后,这些曲线可以用于估计计算需求并且引导系统设计和扩展。其强调了持续计算缩放的重要性。1.真实应用的学习曲线首先呈现对真实应用学习曲线的特征的总结。图9示出了根据本公开实施方式的针对真实应用分解学习曲线阶段的概要幂律曲线图。所述曲线始于小数据区905,在该处模型将尽力从少量训练样本中学习。此处,模型表现得与“最佳”或“随机”猜测一样好。学习曲线的中间部分910是幂律区,在该处每个新的训练样本提供有助于模型改善对先前看不见的样本的预测的信息。幂律指数定义了这条曲线的陡度,或者在重对数尺度上观察时的斜率930。其是模型表示数据生成函数的难度的指示。本专利文献中的结果指示幂律指数不太可能用先前理论容易预测,并且可能取决于问题领域或数据分布的方面。最后,对于大多数现实应用来说,很可能存在非零下限误差,超过所述非零下限误差,模型将不能够改善。这个下限925包括贝叶斯误差(基于数据生成函数的信息论下限)以及造成不完美泛化的其它因素的组合。例如,训练或验证数据集中的误标记样本有可能造成不可约误差。这个区在本文中称为不可约误差区915。虽然在本研究中针对真实应用尚未达到不可约误差区,但是这个下限已被测试并且存在于玩具问题中。图10呈现了根据本发明实施方式的用于使用幂律关系来帮助瞄准准确度的通用方法。在一个或多个实施方式中,随机打乱(1005)数据集t以最大化t的分片将具有与t相似的数据分布的可能性。在一个或多个实施方式中,接着将数据集t划分(1010)成验证集v和一组分片,使得分片大小以大约2×的步长跨越多个数量级(例如,2至3个数量级)(例如,t0是t的0.1%,t1是0.2%,t2是0.4%,等等)。在一个或多个实施方式中,验证集可以被定义为使得评价集中的任何数据都不与训练数据集重叠,即,在一个或多个实施方式中,v足够大来以低方差近似真实泛化误差。在一个或多个实施方式中,如果可用的话,可以使用训练数据可用的验证集,代替使用t的保留子集。在一个或多个实施方式中,使用所述一组分片来训练(1015)一组模型(或具有架构和/或超参数变化的模型族)。在训练了模型之后,接着可以使用(1020)验证集来针对每个分片识别最佳模型。在一个或多个实施方式中,用于测量数据集大小的度量应当准确地表示训练集的可观察大小。例如,字符语言模型以最大长度截断时间系列输入序列,并且从训练集中丢弃序列的其余部分。在此类情况下,数据集大小应当仅计数模型在整个训练运行中观察到的输入序列部分。对于每个最佳模型,验证损失(其可以是测量每个模型预测输出的误差的距离度量上的总和或未加权平均值)用于帮助拟合幂律曲线。例如,在一个或多个实施方式中,可以使用(1025)最佳拟合模型的分片大小和验证准确度来拟合幂律学习曲线模型,类似于图9中的模型。图11使用小提琴曲线图来示出根据本发明实施方式的用于每个训练数据分片大小的具有8m和67m参数的机器翻译实验的30次重复中的验证误差的分布,所述参数具有用于权重初始化和分片创建的不同种子。已经发现,总体上针对每个分片,方差相对于验证误差减小来说很小(例如,方差1120),并且方差随着较多训练数据以及较大模型(例如,用于1110的模型相对于用于1115的模型,后者较大)而减小。这指示此处的结果是可重复的,并且对于较大数据集变得甚至更加稳定。本文的结果指示,深度学习模型开发可以受益于预测准确度、数据大小和/或模型大小。本领域的技术人员应当认识到,给定幂律曲线,可以预测各种测量。例如,相对于数据集大小的增加,可以预测准确度的增加;因此,如果想要特定误差/准确度,则可以预测实现此类准确度水平所需的对应数据集大小。本领域的技术人员应当认识到,可以使用当前公开的方法来预测其它度量或测量。例如,可以在给定预测数据集大小和模型参数大小的情况下确定计算需求;关于投射用于训练目标应用的计算需求增长的额外信息在下文章节f中提供。另外,例如,可以执行利用训练集大小凭经验估计模型缩放,因为这里的测试发现对于模型大小的良好幂律,即其中s(m)是拟合大小为m的训练集所需的模型大小。也就是说,给定已经呈现缩放的经验测量,估计缩放模型参数(α,βg,γ,αp,βp)的基本统计将是有价值的。2.对深度学习实践者和研究者的额外影响本文的结果指示在许多现实情况下,简单地缩放训练数据集和模型有可能可预测地改善模型的准确度。这种可预测行为可以用于帮助实践者和研究者着手调试并以更好的准确度缩放为目标。调试深度学习训练:本文收集的经验学习曲线示出了稳健的幂律区。令人惊讶的是,在所有测试中都看到幂律区,所述测试涵盖不同的问题领域、模型架构特征、优化器和优化函数。附录a中的表5(下文章节h)示出了本文测试中的架构和优化特征的广度。给定幂律学习曲线特征的稳健性,深度学习实践者和研究者应当考虑使用这种方法来调试数据、模型架构或优化问题。偏离幂律式改善很可能指示随着准确度的改善,挑战会更深。例如,当单词和字符语言模型开始分别针对十亿单词基准的10%和2%偏离幂律缩放时,这种偏离被看作是对超参数进行更详尽测试的暗示。已经发现较大训练集和较大模型变得较难以优化。对于具有固定超参数的大型模型,增加批量大小和学习速率通常会缩小与幂律趋势的很大一部分差距。类似地,较小训练集经常需要较小批量大小以确保模型在拟合时表现良好。其它模型调试(诸如找到良好先验模型或初始化)也可以从这种方法中受益。战胜幂律:机器学习研究者经常尝试通过改变在给定数据集上训练的模型架构来改善模型准确度。他们的努力可以包括复杂的试错法,并且依赖于创造力或顿悟来改善结果。此处的测试指示模型架构改善(诸如模型深度)仅向下移动学习曲线,但可能不会改善幂律指数。一个更广泛的问题是机器学习技术是否能够改善幂律学习曲线指数,或者换句话说,随着训练数据增长而更快地改善泛化。理论表明,最佳情况准确度缩放是βp=0.5或1。因此,对于一些问题领域(特别是语言建模),给定用于改善幂律指数的方式,潜在准确度改善是巨大的。为了随着数据集大小增加而战胜幂律,模型将需要使用连续较少数据学习较多概念。换句话说,模型必须从每个额外训练样本连续提取较多边际信息。如果不对数据集进行调整,这可能会困难。在使用数据处理技术(诸如数据过滤/扩充、少量学习、经验回放和生成对抗网络)时分析学习曲线将是有益的。3.操作影响学习和模型大小曲线还可以引导关于数据收集和缩放计算的决策。当在学习曲线上向前投射时,可能会遇到三种类型的缩放限制:训练数据太小、计算太慢或误差不可约。使用小数据的模型探索:这可能看起来违反直觉,但是可预测缩放的影响是模型架构探索应当对于小训练数据集是可行的。考虑从已知足够大而使得当前模型在学习曲线的幂律区中展示准确度的训练集开始。由于预期模型准确性针对不同模型成比例地改善,因此增长训练集和模型应当会在模型之间产生相同的相对增益。进行小数据测试的可能性对手动和自动架构搜索具有重大影响。研究者或dl系统可能能够对小数据集进行迭代操作以找到能够准确地建模数据分布结构的模型。接着,这些模型可以被缩放到较大数据集以确保成比例的准确度增益。虽然小数据集测试是可能的,但是可能难以确保训练数据足够大来看到幂律学习曲线区。已经发现,具有不良优化器参数化或先验模型/初始化的模型示出了准确度悬崖,在该处准确度仅与最佳猜测一样好,但是模型在足够的数据上进行训练以处于幂律区中。研究者应当在为小数据测试定义“足够大”的训练集时非常小心。计算限制:已经识别了用于缩放到较大训练集的期望模型,下一个潜在限制是计算速度。在一些情况下,在非常大的数据集上训练大型模型将需要数月或数年的关键路径计算时间,从而使得这些训练运行对于现有系统的任何现实问题都不切实际。然而,可预测的学习和模型大小曲线可以提供用于投射计算需求以达到特定准确度水平的方式。计算需求可以告知关于如何缩放计算容量以解锁这些计算受限应用的决策。在回顾针对这个工作执行的测试之后,发现已经达到每个应用领域的最大数据集的计算限制。最常见的是,当尝试在最大数据集上训练最大模型时达到gpu内存限制。在许多情况下,这些问题可以使用如数据或模型并行性等技术来缓解,但是它们可能需要显著软件更改来降低每个计算单元的内存需求。或者,训练可以迁移到具有较多内存的系统。此外,最长运行训练会话已经采用长达6个星期来会聚。用于减少这个时间的并行性和硬件改善是高度期望的。陷入不可约误差:如果在真实应用中接近不可约误差区,则改善准确度可能需要简单方法之外的技术。举例来说,达到问题的贝叶斯误差将是对不能从现有数据集中提取进一步信息(应用可能被认为“已解决”)的指示。如果进一步的模型架构搜索、训练集增长或计算缩放不能改善准确度,则有可能是模型正实现不可约误差。将误差改善超出这个不可约水平可能需要能够增加数据的信息内容以区分导致贝叶斯误差的样本的技术。可能难以评估是否已经达到不可约误差或者模型是否具有使得其无法从数据解析更多信息的固有偏误。一种途径可能是估计任务的人为误差率。只要人类在这个问题上受限于相同数据,则其最佳情况准确度可能是不可约误差的合理上限。如果人类能够比当前模型表现得更好,则模型很可能会得到改善。4.硬件设计影响由于可预测的学习和模型大小曲线可以提供用于投射达到特定准确度水平所需的计算需求的方式,所以其还可以帮助硬件开发人员预测深度学习硬件用户的需要。深度学习硬件设计:首先,计算操作速率(例如,浮点运算或“flop”)与模型准确度改善有着密切联系。幂律学习曲线和模型大小增长指示具有改善flop速率的每一代新硬件可以在相对深度学习模型准确度方面提供可预测的阶跃函数改善。此外,不同的学习曲线和模型大小增长指数可以充当不同应用领域的计算可缩放性的指示。不同的应用领域将从改善的flop速率看到不同的好处,这可以帮助优先考虑应当作为改善计算吞吐量的目标的领域。其次,随着针对深度学习应用出现新的模型架构特征,硬件设计者可以评估加速这些新模型特征的重要性。假设新的模型特征在当前硬件上运行得非常缓慢,并且因此,吞吐量不足以使新的模型架构改善最新水平(例如,当前浮点函数单元不支持新的非线性)。以硬件实施新特征的成本可能很高,并且由此产生的性能改善可能无法提供所需吞吐量来实现必要的模型准确度以改善最新水平。硬件设计者可以估计硬件实施方式的吞吐量以及由此产生的模型准确度增益以将其与其它硬件部件的好处进行权衡。性能-准确度折衷:许多深度学习软件和硬件技术在模型准确度与计算速度之间强加折衷。学习曲线和模型大小增长可以指示这些技术是否可以通过改善计算速度来恢复丢失的准确度。例如,低精度计算/量化和稀疏模型放弃了一些模型准确度(例如,高达20%)以便改善计算吞吐量。如果计算吞吐量改善允许深度学习开发人员在较大数据集上训练较大模型,则这些准确度损失可能很容易恢复。f.表征并投射用于训练目标应用的计算需求1.介绍在一个或多个实施方式中,可以利用本专利文献的教导来投射将dl准确度提高到超出人类水平所需的数据和模型大小缩放。这里呈现用于表征并投射用于训练目标应用的计算需求增长的实施方式。虽然一些dl应用在计算上很容易理解,但这里呈现的较广泛分析揭示了一系列非常不同的dl架构中的令人惊讶的可预测的计算和内存缩放,所述dl架构包括深度卷积网络(cnn)、递归序列到序列模型和具有注意力的递归编码器-解码器模型。这里的表征揭示了dl训练挑战的重要分割。尽管有些人非常关注cnn,但其计算需求与递归神经网络(rnn)有很大不同,所述rnn有可能需要多得多的计算和内存资源。具有深层cnn的图像处理应用需要相对较小的数据集和模型大小的增长,并且它们展示出更大潜力来利用具有高计算与内存吞吐量比率的新兴计算加速器。甚至小批量大小也能够针对高计算吞吐量暴露足够的运算强度。另一方面,rnn(特别是在语言领域中)将需要100倍以上的训练时间来实现目标准确度。它们的运算强度适中,并且内存占用非常大,超出当前加速器内存容量8至100倍。这些特征使得难以有效地并行化大规模训练。用于进行rnn训练的系统可能与新兴硬件有很大不同。例如,一种用于更好地支持大规模rnn训练并行性的可能途径将是显著增加加速器内存容量。还可以通过构建较大片上高速缓存以避免用于大型矩阵乘法运算的过多内存数据串流来更好地利用不断增长的加速器计算吞吐量。这些途径与新兴加速器设计背道而驰。2.深度学习应用的计算图形本章节描述了dl应用的一般算法结构。深度学习应用通常在算法上结构化为计算图形。这些计算图形包括对输入数据执行数学计算(例如,矩阵向量乘法、卷积或逐点运算)的节点或“运算”。网络图中的方框通常表示运算或运算群组。使用“张量”(如数据阵列)在运算之间传递数据,所述张量编码数据的结构和运算之间的依赖关系。为了投射未来硬件需要,定义了计算图形的四个属性,其允许表征计算和内存需求。实际上,当在硬件上执行计算图形时,许多硬件因素会影响性能并且难以建模(例如,存储器/高速缓存层次结构、寻址模式、内核优化)。不是试图针对所有种类的硬件建模这些因素中的每一者,本文中选择定义算法计算需求,其独立于特定硬件选择:算法flop是执行计算图形运算(注意:浮点或整数算法)的数学计算所需的每秒浮点运算(flop)数目。例如,算法flop包括矩阵乘法运算中的乘法和累加。在一个或多个实施方式中,算法flop不包括由硬件执行来执行计算的其它指令,诸如地址、循环不变量或分支目标计算。算法flop中没有计算在内的硬件指令很可能在每个算法flop中最多占恒定开销。不同于较一般应用,dl计算图形还从模型的预测中执行梯度的反向传播。dl计算图形中的运算是可微分的,使得当给定输出的梯度时,可以计算每个输入的梯度。在反向传播之后,将累积梯度用于更新权重并且改善模型的预测。计算图形的反向传播具有与前向图形遍历高度相似的运算,但是其划分梯度以流到模型权重和激活。用于矩阵运算的反向传播通常具有前向遍历的算法flop的两倍。类似地,运算的访问算法字节可以被定义为运算必须读取作为输入的总内存字节数,并且写入可以被定义为执行所述运算的输出。算法运算字节不包括中间数据或可能用于执行运算的其它内存,并且忽略诸如高速缓存等硬件作用。类似地,算法内存占用可以被定义为允许训练步骤在加速器上执行而必须分配的最小内存字节数。更精确地说,其是在计算图形的任何正确拓扑遍历期间容纳所有活动张量所需的最大内存容量的最小值。最后,算法io计数向模型输入和从模型输出所访问的数据量。训练数据经常存储在磁盘上,从磁盘读取,并且放置到模型的输入内存分配中。算法io与批量大小成比例,但随着模型大小和训练步骤计算需求增长而保持不变。算法io预期相对于计算非常缓慢地增长。3.应用准确度缩放dl社团已经逐渐增大了数据集和模型大小,并且dl训练的未来系统需求将继续增长。本文的目标是基于应用预期增长来投射未来dl应用的计算需求。应用级特征可以使用分析模型来投射,这些模型示出了dl数据集大小、模型大小和模型准确度之间的关系。给定期望准确度目标,分析模型可以用于预测实现目标准确度所需的数据集和模型大小。与当前技术水平相比,深度学习领域将需要33至971倍多的数据和6.6至456倍大的模型。a)增长数据和模型的动机深度学习社团已经不断增长数据集,其中开源集大于数10gb,以增加建模任务难度和模型准确度。行业已经在使用大得多的数据集。百度最近的一些工作使用几万亿字节的语音识别数据集。深度学习行业感兴趣的此类数据集超过5万亿字节(tb),或者是当前公开可用数据集的约50倍大。随着数据集增长,深度学习模型也增长以拟合较大数据集,并且行业的目标是非常大的模型。投射指示模型将容易达到数千亿个参数。此类模型将为当前研究中所描述的深度学习模型的10至500倍大。b)随着训练数据增长的准确度缩放如本文在真实数据集上所示,深度学习模型准确度随着训练数据集大小的增大而可预测地改善。本文中已经进一步示出了拟合数据所需的模型大小随着数据大小的增大而可预测地增长。行业可以使用这些经验模型来估计实现特定模型准确度所需的训练数据量和模型大小。如图9中的模型学习曲线的略图所示,预测误差随着数据集的增大而减小,特别是在曲线的幂律区中。曲线的幂律区是每个新训练样本提供信息以帮助模型改善对先前看不见的样本的预测的位置。请注意,误差可预测地下降。如前所述,在幂律区(大多数现有大规模数据应用当前的位置)中,模型泛化误差大致按幂律缩放:如前所述,m是训练数据集中的样本数目,并且α和βg∈[-0.5,0]是取决于建模任务的结构的常数。α代表输入数据空间和dl模型架构的各方面。βg是幂律指数并且指示模型从每个额外训练示例学习更多信息的难度。较接近-0.5的βg意味着模型可以从较小数据集快速地学习。表1(见图18,1800-t1)列出了针对不同建模任务的α和βg的估计值。因此,为了扩展对模型学习曲线的这种理解以从这些模型预测所需的数据和模型大小,应当定义支持dl的产品将需要的准确度目标。表1的“期望sota”列反映了这些投射。例如,单词和字符lm期望sota接近英语文本熵的估计下限。最后,给定这些分析学习曲线和目标误差率,可以针对实现目标所需的数据大小求解分析模型。表1中的“投射缩放”列示出了相对数据大小投射。期望sota值为当前sota值的1.4倍至3.9倍好。然而,实现这些值所需的数据量从用于语音识别的33倍以上到用于字符lm的971倍以上不等。语言领域由于其较不良幂律指数βg而似乎需要最多数据。c)随着训练数据增长的模型大小缩放随着数据集的大小增长,模型的大小也应当增长以表示数据。如本文所述,呈现了拟合不同训练集大小所需的模型大小。如前所述,预期模型参数(大致容量)随训练集大小以如下形式亚线性地增长:这里,m是训练集中的样本数目,并且σ和βp∈[0.5,1)是取决于问题结构的常数。模型应当比训练集更慢地增长参数计数(即,βp≤1),或者可以仅存储数据集而不是训练模型。深层神经网络模型容量(其可以学习的概念(数据)的量)以o(lplogp)增长,其中l是模型深度的测量。稍微放松这个界限,模型大小应当至少以数据集大小的平方根增长(即,βp≥0.5)。表1示出了针对深度学习领域凭经验收集的σ和βp。给定在上个小节中确定的目标数据大小,投射拟合目标数据集大小所需的模型大小。模型缩放列示出了模型大小的相对所需增加。例如,当前sota单词lm使用大致1b参数来拟合大致1b单词数据集。因此,为了拟合100倍大的数据集,模型将需要约23b参数(23至92gb,取决于权重精度)。4.表征计算需求给定期望数据和模型大小的想法,可以表征训练这些非常大的模型的计算需求。本章节表征诸如深度学习应用计算flop、内存访问和内存占用增长等度量。虽然深度学习应用的结构错综复杂,但其训练需求多半可预测地缩放。计算和内存使用随着模型大小和批量大小的增长而线性地渐近增长。此外,本文中提供先前工作中未表征的计算需求的可及一阶模型。a)方法学图12描绘了根据本公开实施方式的用于预测计算需求的通用方法。在一个或多个实施方式中,可以通过从训练运行中收集(1205)统计数据并且组装(1210)分析模型以投射增长来估计模型训练计算需求。在实施方式中,使用在位于圣克拉拉的nvidia公司生产的nvidiagpu上运行的tensorflow1.5.0并且使用tfprof的修改版本来执行训练。tfprof注释计算图形运算以计算其算法flop和字节,并且在它们执行时收集运行时间。在训练步骤(即,计算图形遍历)结束时,tfprof为在所述步骤期间执行的所有运算返回这个概况,从而确保甚至端到端训练步骤的细节都被概要描述。向tensorflow的内存分配器询问所分配的最大训练步骤内存量(内存占用)。收集了来自100至500个非顺序训练步骤的概况以说明针对不同模型访问的flop和内存的每训练步骤差异。例如,字符lm、nmt和语音模型针对最长批量样本所需的时间步展开其递归层。这种展开导致在单独训练步骤中进行可变计算和内存访问,因此在训练步骤中对概要描述的结果求平均。要控制的最复杂变量之一是训练批量大小(待在单个训练步骤中观察的数据并行样本的数目)。可以任意地设置批量大小,但是特定批量大小依据数据集大小产生最佳模型准确度。本专利文献中的用于所有受测领域的sota模型的最佳批量大小超过了上面训练模型的gpu的最大内存容量。未来dl训练很可能还会受到每计算单元内存容量的限制,这表明ml研究者将选择能够提供计算单元资源的近峰值利用率的每计算单元批量大小(此后称为“子批量大小”)。这里,使用最小的此类子批量大小来进行概要描述。为了增长模型,改变了对模型拟合较大数据集的能力具有最大影响的超参数,如由泛化误差测量。对于resnet,增加深度和卷积通道而不是滤波器大小最大程度地改善了准确度,所以针对较深和较宽的图像分类网络收集了概况。大多数递归模型已经增长到一定深度,使得深度增加不会导致准确度改善。相反,增加了每层隐藏节点数目。最后,目标是随着数据集和/或模型大小放大,向前投射模型的计算需求(1215)。应用特征的分析模型使用一阶近似来向社团提供一组简明投射公式。然而,较高保真度建模也可以用来验证这些结果。b)估计训练步骤算法flop对于dl模型,每个训练步骤的flop数目随着模型的参数数目大致线性地增长。这一观察表明,大多数dl应用在单个训练步骤中对大多数模型参数进行运算相同次数。接下来,可以针对单词lm分析性地演示这个观察结果。同样,设p为用于lstm单词lm的模型参数数目,并且设pem、pre和po分别为嵌入层、递归层和输出层中的参数。总模型参数可以被近似为:p=pem+pre+po≈hv+8h2l+hv=8h2l+2hv这里,v是lm的词汇大小,h是每个递归层的隐藏单元数目,并且l是层数目。接下来,示出每个步骤的参数与flop之间的大致线性关系。由于后向传播增加了约2倍的flop数目而不管模型如何,因此仅考虑前向传播。对于这个一阶模型,假设大多数计算flop来自执行矢量或矩阵运算的运算子集。前向传播算法flop可以被估计为:cfwd=cem+cre+co≈0+16lqh2+2qvh=q(16h2l+2hv)这里,q是训练步骤的序列长度(忽略子批量大小以归一化每个训练样本)。这些模型指示,常数。因此,预期针对单词lm和类似结构的递归模型,计算flop应当随着模型参数数目的增加而大致线性地增长。在一组应用中凭经验在每个训练步骤中在模型参数与算法flop之间确认这种线性关系。图13描绘了根据本公开实施方式的算法flop中的tfprof概要描述的增长(注意:分批训练将这些值大致乘以子批量大小)。每个领域的算法flop随着模型大小超过30至100m参数(中等大的模型)而线性增长。每个参数的flop从用于nmt的149到用于resnet的1111不等。对于递归网络,随着序列长度增长,flop/参数也在增长,接近resnet需求。字符lm和语音网络分别将层展开150和300个时间步。表2(见图18,1800-t2)记录随着模型增长的每个dl领域的渐近硬件需求。给定flop与参数计数之间的清晰线性关系,以下线性趋势可以用于针对具有p个参数的模型投射每个训练样本的计算flop(“ct”):ct(p)≈γp这里,γ是取决于输入数据形状、递归序列长度和模型架构的常数。c)估计访问的算法内存字节像算法flop计数一样,算法内存访问也在dl应用中随着模型参数线性地缩放。然而,由于很大一部分的训练步骤内存访问来自于读取或更新模型权重(其不取决于子批量大小),所以内存访问计数在一阶上取决于模型大小和子批量大小。本章节描述了分析模型并且验证了其拟合经验结果。训练步骤访问两种类型的张量:dl模型和流经模型的激活张量。硬件针对前向和反向传播每一者从模型加载参数和向模型存储参数大致恒定次数,并且在训练步骤结束时更新权重。类似地,激活内存(其维度与批量大小和模型维度成比例)被访问大致恒定次数。如上所述,将p设为模型参数计数。接着,用于训练步骤的总内存访问(“at”)采用这种一阶形式:这里,λ和μ是取决于输入数据形状、递归序列长度和模型架构的常数。项近似于模型的隐藏层节点或通道计数(计算图形的大型线性代数运算的一个维度)。已经发现,对于所有领域,是良好近似,但有一个小的警告:对于具有许多参数来嵌入输入数据的模型(例如,单词lm和nmt的较大词汇),过度估计隐藏维度,直到隐藏维度相对于嵌入维度较大为止。图14曲线示出了根据本公开实施方式的近似线性渐近线。d)评估训练运算强度方便的是,虽然模型训练步骤包含许多运算,但其算法flop和内存访问特征与单个大型线性代数运算的特征惊人地相似。因此,运算强度(flop与访问的内存字节的比率)采用线性代数内核优化中常见的形式。表2中列出了每个dl模型的算法运算强度。模型的对flop和内存访问的贡献最大的运算通常是矩阵运算,其维度与隐藏维度和子批量大小相关。具有维度的矩阵乘法的运算强度为与表2中所列出的端到端训练步骤运算强度的形式相同。作为其形式的结果,运算强度将接近某个固定上限,除非模型的隐藏维度和子批量大小都增长。当模型大小或子批量大小固定时,其将渐近地接近算法flop的斜率与字节增长的比率。图15示出了针对每个应用的随着模型大小增长的用于固定子批量大小的运算强度的均衡。e)估计训练步骤内存占用内存占用是执行算法所需的内存容量的测量。tensorflow的内存分配器提供占用估计,但是最小内存占用还通过经由计算图形的拓扑遍历进行跟踪来估计。对于每个运算,dl框架可以为运算的输出张量分配内存,并且在执行运算之后,如果所有张量的消费运算都已经执行,则释放运算的输入张量。图16描绘了根据本公开实施方式的用于每个模型的tensorflow分配器内存占用和拓扑估计。这些值直到tensorflow耗尽gpu内存容量(12gb的80%)的点为一致的。在那点处,分配器开始将gpu内存交换到cpu的内存空间,在该处其不再将内存算作占用的一部分。当tensorflow不交换内存时,模型倾向于稍微高估最小内存占用;tensorflow优化以就地对张量执行一些运算而不是分配单独输出张量。对于较大模型,最小内存占用随着模型大小线性地渐近增长。给定模型的参数记忆是持久的,而激活张量可以被框架释放并重用,这种趋势被预期。最小占用可以被线性建模:ft(p)≈δp这里,δ是取决于输入数据形状、递归序列长度和模型架构的常数。这种一阶近似非常适合于约500m以上的参数计数,但是对于下一章节中的投射,选择使用更准确的拓扑遍历估计。语言模型占用增长在各个领域中为相似的;字符lm占用增长针对大型模型(图中未描绘)显著减慢。语音和图像领域示出了随着模型大小的较快内存占用增长。然而,如下一章节所示,语音和图像领域需要小得多的网络来实现准确度目标,因此其占用要求不高。5.投射准确度边界这里投射了将模型训练成目标准确度水平所需的计算资源。还投射了模型训练时间的假设顶线估计,并且论述了资源需求的影响。应当能够利用现有并行性策略来改善语音识别和图像分类。然而,语言领域有可能需要100倍多的计算,这表明需要改善的算法和并行性策略两者。a)投射目标计算需求使用来自上两个章节的分析模型,投射达到目标准确度水平的计算资源需求。表3(见图18,1800-t3)列出了投射的数据和模型大小、子批量大小的选择(见章节f.5.b.ii)和投射的训练需求。已预期图像处理网络将需要每个训练步骤的算法flop和内存访问的最小增长以实现积极准确度目标。它们所需的模型增长相对于递归网络来说较小,并且它们的卷积层提供高运算强度以利用具有较小子批量大小的计算资源。最明显的对比是语音识别,其将需要与图像分类相似的模型大小,但是其较大子批量大小意味着每个训练步骤的较多flop和内存访问。这些结果表明,通过在许多加速器上分片全部批次来并行化非常大的图像网络训练可能更加容易。投射的计算需求也见证了缩放确切地说语言领域以及一般来说递归网络的挑战。为了在语言和语音领域上达到目标准确度将每个训练步骤需要比图像分类多2.5至1200倍的flop和内存访问。在语言领域中,这些增加主要是由于拟合较大数据集所需的模型大小增长引起的。最后,应当注意的是,所有领域都有可能需要比当前加速器可用的内存容量大得多的内存容量。当前gpu和谷歌的tpuv2针对每个加速器芯片具有16或32gb内存。在此类加速器上运行这些模型中的任一者将需要模型级并行性以在多个加速器的存储器中划分模型的各部分,或者将模型部分移入和移出加速器存储器,这是一个昂贵的操作。b)在硬件上投射运行时间接下来,估计用于在加速器上运行的每个目标应用程序的假设最佳情况运行时间。如下文呈现,配置目标加速器,描述用于选择训练步骤子批量大小的过程,并且接着估计运行时间。所述估计使用顶线模型来在给定全图算法flop和内存访问的情况下预测整体系统吞吐量。表4.目标加速器配置表4示出了与nvidia的v100版本2相似的目标加速器的配置。假设与现有硬件一致的80%的峰值flop和70%的峰值内存带宽的最大可实现吞吐量。加速器在内存界限与带宽界限之间的计算强度拐点(其顶线“脊点”)为17.4flop/b,但是给定峰值可实现吞吐量,上升到19.9flop/b。最初假设加速器具有无限内存容量,并且能够适合任何模型的训练步骤的内存占用。(i)子批量大小:最小化每个样本的时间为模型训练选择恰当子批量大小可能是取决于dl应用的许多方面的困难过程。这里,重点是硬件折衷:人们可能想要确保加速器的良好利用率,同时保持较小内存占用。识别了三个子批量大小关注点,并且示出了最小化每个样本的延迟时间(即,最大化吞吐量)的最小大小提供了最佳折衷。图17示出了根据本公开实施方式的针对每个子批量样本的子批量大小对图形级运算强度和训练步骤时间的影响。请注意针对高于加速器脊点的运算强度的边际运行时间增益。人们可能选择子批量大小,使得图形级运算强度接近饱和(标记1720),从而最大限度地利用加速器的计算吞吐量。然而,这一点也需要非常大的内存占用,通常比小子批量多5至20倍。另一个选项是子批量大小,使得图形级运算强度匹配加速器的脊点(标记1725)。然而,实际上,这一点并没有优化加速器的计算吞吐量-许多运算仍是受内存限制的。每样本训练步骤时间曲线(曲线1710)示出了40%的吞吐量损失。相反,在一个或多个实施方式中,优选最小化针对每个样本归一化的训练步骤时间的子批量大小。图17中的曲线1710上的点1730是保持内存占用较小并且同时实现79%的峰值计算吞吐量的子批量大小。这种方法用于估计表3中的每个领域的最佳子批量大小。对于递归网络,子批量大小位于在比图形级运算强度匹配加速器脊点所在的点大大约1.5倍处。(ii)每时期运行时间最后,使用顶线模型估计最佳情况运行时间-性能受加速器的计算(xc)或内存访问(xa)吞吐量限制:表3列出了训练步骤时间,并且这些时间被投射到用于一个时期的训练时间。这些估计还用于选择子批量大小。虽然乐观,但这些训练时间投射示出了用于图像分类和语音识别的目标准确度可能不会太远。在单个加速器上,单个时期将花约3个月。将时期时间减少到不到一天将需要并行化训练约100个以上加速器。g.一些结论深度学习社团已经通过遵循简单方法来在不同应用领域中创造了有影响力的进步:搜索改善的模型架构、创建大型训练数据集和缩放计算。尽管模型架构搜索可能是不可预测的,但增长数据集大小和缩放计算带来的模型准确度改善是可以凭经验预测的。本文凭经验验证了深度学习模型准确度在四个机器学习领域(机器翻译、语言建模、图像处理和语音识别)中针对最新水平模型架构随着训练集增长而以幂律改善。这些幂律学习曲线存在于所有受测领域、模型架构、优化器和损失函数中。此外,在每个领域内,模型架构和优化器的改变仅移位学习曲线而不影响幂律指数(学习曲线的“陡度”)。还示出了模型大小随数据大小亚线性地缩放。这些缩放关系对深度学习进展具有重要的研究、实践和系统影响。h.附录a-受测机器学习领域的详细信息基于本专利文献中呈现的结果,每个机器学习领域的幂律数据泛化行为似乎是由问题领域的结构引起的。本章节报告输入和输出空间的定义、用于每个机器学习领域的优化和报告损失函数,以及可以用于预测数据泛化和模型大小缩放的其它信息。此外,为了展示测试的广度,表5总结了本文测试的不同领域、模型架构特征、优化和损失函数。表5:受测试的领域、模型特征、优化器、损失函数的广度1.神经机器翻译给定输入和输出词汇vs和vt,nmt模型学习映射ds→dt,其中d.=v.*(克林星号)。在这项工作中,使用在源语言与目标语言之间共享的词块词汇。在应用许多sota模型中所采用的预处理方法(即,清理和字节对编码使用tensorflownmtwmt脚本)之后,存在36545个子单词标记。针对用于源领域的未知单词和小型批量填补包括unk和pad标记(德语,│vs│=36547);对于目标领域(英语),包括unkpad、sos(序列开始)和eos(序列结束)(│vt│=36549)。newstest2016中的德语和英语句子平均为27个和25个标记长,其中最长序列分别具有101个和94个标记。在训练期间,交叉熵损失(即,在给定源句子的情况下目标句子的条件概率)被最小化。报告了每个标记的误差率和每个标记的位数。因为所报告的度量是目标语言的每标记测量,所以数据集大小由训练集中的英语标记的数目给出。2.语言建模a)单词语言模型在世界语言模型的训练期间,序列被展开为长度80以用于反向传播。还使用了连续小型批量处理:在数据集中的一个句子的末尾,我们连接句尾指示符,随后是来自数据集的下一个句子。设c为语言的词汇。接着,包括在如未知标记等特殊符号之后的│c│=10,004。输入空间为i=∪ci,其中i是先前在序列中看到的单词数目。使用连续小型批量处理,所以有效历史长度i可以很长。输出空间为o=c。使用的不是困惑度,而是归一化交叉熵损失:其中是模型的见到第i个标记的预测概率。n是用于训练优化的批次中的序列数目,或者n是验证集中的预测单词的数目。b)字符语言模型对于字符语言模型,序列被展开为150个字符的长度。与单词语言模型不同,使用不连续的小型批量处理,所以一些序列以句尾标记结束。截断长度超过150个字符的序列。设c为语言的字母数字字符和符号的词汇。接着,包括在如句尾标记等特殊符号之后的│c│=98。与单词语言模型相似,输入空间为i=∪ci,其中i是先前在序列中看到的字符数目。由于使用非连续的小型批量处理,所以有效历史长度i最多为150。输出空间为o=c。与单词语言模型相似,使用归一化交叉熵损失:其中为模型的看到第i个标记的预测概率。n是用于训练优化的批次中的序列数目,或者n是验证集中的预测字符数目。3.图像分类最初按比例缩放imagenet图像,使得图像的最短尺寸为256个像素。在训练期间,这些图像被裁剪成224×224作为cnn的输入。输入图像为224×224个像素乘3个颜色通道,每个通道具有8个位。因此,总输入空间大小为│i│=224*224*3*256≈38:5m。输出空间为图像中可能包含的1,000个不同对象类。对于训练,通过修改亮度、对比度、饱和度和光照来增强数据集。此外,水平翻转图像。在实施方式中,使用tensorpack中的resnet实施方式来执行训练和数据增强。优化是针对每个训练图像上的分类交叉熵损失,并且报告平均验证交叉熵、前1和前5分类误差。每次损失计算仍然遵循幂律。然而,应当注意的是,前k分类误差(k>1)不是距离度量;其使用集合包含,这是不对称的。或者,其是距离度量的乘积,这未必是距离度量。4.语音识别语音识别模型的音频输入可以表示为具有长度t的序列x=(x1,..,xt)。每个xi是小时间窗口上的音频频谱图。每个预测输出是一个字符,编码为独热向量yi,表示序列步骤i处的最可能文本标记。输出序列具有形式y=(y1,..,yu)。模型使用编码器-解码器形式预测条件分布p(y|x)。因此,p(y|x)=decode(encode(x),y)。a)深度语音2实施方式在ds2模型实施方式中,编码器由具有lstm单元的递归层堆栈表示,并且解码器是连接主义时间分类(ctc)。ctc损失函数通过将所有可能对齐边缘化来计算条件概率,并且假设在给定对齐输入的情况下在不同时间步骤处的输出预测之间具有条件独立性。引入额外的空格标签,其可以被解释为没有标签,以将h和y映射到相同长度(即,对齐或路径)。通过将(t’-u)个空格插入到y中来获得a。在a与y之间定义映射b:a→y,这可以通过移除a中的所有空格并重复字母来进行。p(at|ht)=softmax(at,ht)(3)b)注意力模型与ds2模型相似,注意力模型使用具有gru单元的递归层堆栈作为编码器。解码器包括注意力层继之以递归层。注意力机制将输入序列对齐到输出序列。注意力机制移除了ds2模型在输出序列中所做的条件独立性假设。更多的模型、注意力机制和损失函数细节可以在battenberg等人(2017年)中找到。i.附录b-用于计数模型分类器的幂律学习曲线首先,示出了计数模型的预期泛化误差随着其观测到的训练样本的数目大小而呈幂律下降。这个证据检查了glivenko-cantelli定理极限的渐近收敛速率。某种机器:设χ={0,1}为二元抛硬币概率估计器的输入空间。设为真实模型概率。首先,假设ptrus[0]=ptrus[1]=0.5(即,公平抛硬币),但结果很容易泛化到不公平加权硬币。设训练集为ti,使得ti含有来自ptrus的i个iid(独立同分布)样本。此外,设ti(x)={y∈ti:y=x}为ti中的等于x的样本子集。首先,观察计数模型的学习行为,其通过计数等于x的训练样本在ti中的比例来近似ptrus[x]。因此,同样首先,设模型损失计算为l(pi[x],ptrue[x])=│pi[x]-ptrue[i]│为l1范数。这个证明序列可以很容易地泛化到其它损失函数,包括l2范数和绝对kl散度,并且在此凭经验验证了这些范数示出相同的幂律行为。最后,总损失函数被定义为每输出预测的加权平均损失:定理1。在从真实分布公平抛硬币取样的ti上训练的计数模型的预期总损失是指数为-0.5的幂律。具体来说,证据。首先,2i个可能有序样本被枚举为ti,并且它们被唯一地命名为ti,j,其中j=0;1,…,2i-1。设pi,j为由使用集合ti,j训练的计数模型预测的概率分布。现在,预期可以被扩展为总和:利用公平抛硬币的对称性并在ptrue的值中进行插入,这可以被简化为:应当注意的是,如果第j个和第k个样本各自包含相同数目的x∈χ的实例,则ti,j=ti,k,其中j≠k。在那种情况下,pi,j[x]=pi,k[x]。此外,请注意,存在集合,ti,j,使得│ti,j[x]│=k。这个计数自变量可以应用于计算相等的数目ti,j。设k为每组训练集中的x=0的实例的数目:这些最后步骤使用如下观察,即对一组二项式系数的一半求和大约等于2i的一半:此时,请注意,对于i偶数,我们具有e[li]=e[li+1]。因此,为了限定e[li],示出其针对i偶数受到限定就足够了。最后,斯特林阶乘近似用于提供期望界限:j.引用文献每个引用文献以引用的方式整体并入本文中。d.amodei、r.anubhai、e.battenberg、c.case、j.casper、b.catanzaro、j.chen、m.chrzanowski、a.coates、g.diamos等人。deepspeech2:end-to-endspeechrecognitioninenglishandmandarin。proceedingsoftheinternationalconferenceonmachinelearning(icml),第173至182页,2016年。m.banko和e.brill。scalingtoveryverylargecorporafornaturallanguagedisambiguation。proceedingsofassociationofcomputationallinguistics(acl),2001年1月。e.battenberg、j.chen、r.child、a.coates、y.gaur、y.li、h.liu、s.satheesh、d.seetapun、a.sriram和z.zhu。exploringneuraltransducersforend-to-endspeechrecognition。arxivpreprintarxiv:1707.07413,2017年。c.chelba、t.mikolov、m.schuster、q.ge、t.brants、p.koehn和t.robinson。onebillionwordbenchmarkformeasuringprogressinstatisticallanguagemodeling。arxivpreprintarxiv:1312.3005,2013年。k.he、x.zhang、s.ren和j.sun。deepresiduallearningforimagerecognition。proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition(cvpr),第770至778页,2016年6月。joelhestness、sharannarang、newshaardalani、gregorydiamos、heewoojun、hassankianinejad、md.mostofaalipatwary、yangyang和yanqizhou。2017年。deeplearningscalingispredictable,empirically。arxivpreprintarxiv:1712.00409(2017年)。m.luong、e.brevdo和r.zhao。neuralmachinetranslation(seq2seq)tutorial。https://github.com/tensorflow/nmt,2017年。r.jozefowiczo.vinyals、m.schuster、n.shazeer和y.wu。exploringthelimitsoflanguagemodeling。arxivpreprintarxiv:1602.02410v2,2016年。o.russakovsky、j.deng、h.su、j.krause、s.satheesh、s.ma、z.huang、a.karpathy、a.khosla、m.bernstein、a.c.berg和l.fei-fei。imagenetlargescalevisualrecognitionchallenge。arxivpreprintarxiv:1409.0575,2015年1月。r.sennrich、b.haddow和a.birch。neuralmachinetranslationofrarewordswithsubwordunits。arxivpreprintarxiv:1508.07909,2016年。vapnik。anoverviewofstatisticallearningtheory。ieeetransactionsonneuralnetworks,第10卷,第988至999页,1998年9月。j.g.zilly、r.k.srivastava、j.koutník和j.schmidhuber。recurrenthighwaynetworks。proceedingsoftheinternationalconferenceonmachinelearning(icml),2017年。匿名,“aproposedhierarchyofdeeplearningtasks”,iclr2019conferenceblindsubmission,在openreview.net/forum?id=b1g-x3rqkm处可得。k.计算系统实施方式在实施方式中,本专利文献的各方面可以针对于一个或多个信息处理系统/计算系统,可以包括一个或多个信息处理系统/计算系统,或可以在一个或多个信息处理系统/计算系统上实施。计算系统可以包括可操作以计算、核算、确定、分类、处理、发射、接收、检索、发起、路由、切换、存储、显示、通信、显现、检测、记录、再现、处置或利用任何形式的信息、智能或数据的任何工具或工具集合。例如,计算系统可以是或可以包括个人计算机(例如,膝上型计算机)、平板计算机、平板电脑、个人数字助理(pda)、智能电话、智能手表、智能包、服务器(例如,刀片式服务器或机架式服务器)、网络存储装置、相机或任何其它合适装置,并且可以在大小、形状、性能、功能性和价格方面变化。计算系统可以包括随机存取存储器(ram)、一个或多个处理资源(诸如中央处理单元(cpu)或硬件或软件控制逻辑)、rom和/或其它类型的存储器。计算系统的额外部件可以包括一个或多个磁盘驱动器、一个或多个用于与外部装置通信的网络端口以及各种输入和输出(i/o)装置,诸如键盘、鼠标、触摸屏和/或视频显示器。计算系统还可以包括一条或多条总线,其可操作以在各种硬件部件之间传输通信内容。图19描绘根据本公开的实施方式的计算设备/信息处理系统(或是计算系统)的简化框图。应理解,计算系统可不同地配置并且包括不同组件,包括如图19中所示的更少或更多的部件,但应理解,针对系统1900所示出的功能可操作为支持计算系统的各种实施方式。如图19所示,计算系统1900包括一个或多个中央处理单元(cpu)1901,cpu1901提供计算资源并控制计算机。cpu1901可实施有微处理器等,并且还可包括一个或多个图形处理单元(gpu)1919和/或用于数学计算的浮点协处理器。系统1900还可包括系统存储器1902,系统存储器1902可呈随机存取存储器(ram)、只读存储器(rom)、或两者的形式。如图19所示,还可提供多个控制器和外围设备。输入控制器1903表示至各种输入设备1904的接口,例如键盘、鼠标、触摸屏和/或触笔。计算系统1900还可包括存储控制器1907,该存储控制器1907用于与一个或多个存储设备1908对接,存储设备中的每个包括存储介质(诸如磁带或盘)或光学介质(其可用于记录用于操作系统、实用工具和应用程序的指令的程序,它们可包括实施本公开的各方面的程序的实施方式)。存储设备1908还可用于存储经处理的数据或是将要根据本公开处理的数据。系统1900还可包括显示控制器1909,该显示控制器1909用于为显示设备1911提供接口,显示设备1911可为阴极射线管(crt)、薄膜晶体管(tft)显示器、有机发光二极管、电致发光面板、等离子面板或其它类型的显示器。计算系统1900还可包括用于一个或多个外围设备1906的一个或多个外围控制器或接口1905。外围设备的示例可包括一个或多个打印机、扫描仪、输入设备、输出设备、传感器等。通信控制器1914可与一个或多个通信设备1915对接,这使系统1900能够通过各种网络(包括互联网、云资源(例如以太云、经以太网的光纤通道(fcoe)/数据中心桥接(dcb)云等)、局域网(lan)、广域网(wan)、存储区域网络(san))中的任一网络,或通过任何合适电磁载波信号(包括红外信号)来连接至远程设备。在示出的系统中,所有主要系统组件可连接至总线1916,总线1916可表示多于一个的物理总线。然而,各种系统组件可在物理上彼此接近或可不在物理上彼此接近。例如,输入数据和/或输出数据可远程地从一个物理位置传输到另一物理位置。另外,实现本公开的各方面的程序可经由网络从远程位置(例如,服务器)访问。此类数据和/或程序可通过各种机器可读介质中的任一机器可读介质来传送,机器可读介质包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如cd-rom和全息设备的光学介质;磁光介质;以及硬件设备,该硬件设备专门被配置成存储或存储并执行程序代码,该硬件设备例如专用集成电路(asic)、可编程逻辑器件(pld)、闪存设备、以及rom和ram设备。本公开的方面可利用用于一个或多个处理器或处理单元以使步骤执行的指令在一个或多个非暂态计算机可读介质上编码。应注意,一个或多个非暂态计算机可读介质应当包括易失性存储器和非易失性存储器。应注意,替代实现方式是可能的,其包括硬件实现方式或软件/硬件实现方式。硬件实施的功能可使用asic、可编程的阵列、数字信号处理电路等来实现。因此,任何权利要求中的术语“手段”旨在涵盖软件实现方式和硬件实现方式两者。类似地,如本文使用的术语“计算机可读媒介或介质”包括具有实施在其上的指令程序的软件和/或硬件或它们的组合。利用所构想的这些替代实现方式,应当理解,附图以及随附描述提供本领域的技术人员编写程序代码(即,软件)和/或制造电路(即,硬件)以执行所需处理所要求的功能信息。应当注意,本公开的实施方式还可涉及具有其上具有用于执行各种计算机实施的操作的计算机代码的非暂态有形计算机可读介质的计算机产品。介质和计算机代码可为出于本公开的目的而专门设计和构造的介质和计算机代码,或者它们可为相关领域中的技术人员已知或可用的。有形计算机可读介质的示例包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如cd-rom和全息设备的光学介质;磁光介质;以及专门配置成存储或存储并执行程序代码的硬件设备,例如,专用集成电路(asic)、可编程逻辑器件(pld)、闪存设备、以及rom和ram设备。计算机代码的示例包括机器代码(例如,编译器产生的代码)以及包含可由计算机使用解释器来执行的更高级代码的文件。本公开的实施方式可整体地或部分地实施为可在由处理设备执行的程序模块中的机器可执行指令。程序模块的示例包括库、程序、例程、对象、组件和数据结构。在分布的计算环境中,程序模块可物理上定位在本地、远程或两者的设定中。本领域的技术人员将认识到,计算系统或编程语言对本公开的实践来说均不重要。本领域的技术人员将还将认识到,多个上述元件可物理地和/或在功能上划分成子模块或组合在一起。本领域技术人员将理解,前文的示例和实施方式是示例性的,并且不限制本公开的范围。旨在说明的是,在本领域的技术人员阅读本说明书并研究附图后将对本领域的技术人员显而易见的本公开的所有、置换、增强、等同、组合或改进包括在本公开的真实精神和范围内。还应注意,任何权利要求书的元素可不同地布置,包括具有多个从属、配置和组合。当前第1页12当前第1页12