CN110245359A - 使用自回归机器学习模型进行并行解码 - Google Patents
使用自回归机器学习模型进行并行解码 Download PDFInfo
- Publication number
- CN110245359A CN110245359A CN201910418720.2A CN201910418720A CN110245359A CN 110245359 A CN110245359 A CN 110245359A CN 201910418720 A CN201910418720 A CN 201910418720A CN 110245359 A CN110245359 A CN 110245359A
- Authority
- CN
- China
- Prior art keywords
- prediction
- model
- output
- token
- independent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010801 machine learning Methods 0.000 title abstract description 4
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000001537 neural effect Effects 0.000 claims description 6
- 210000005036 nerve Anatomy 0.000 claims description 3
- 238000004590 computer program Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 230000001133 acceleration Effects 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 238000012549 training Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004821 distillation Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000035558 fertility Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000004335 scaling law Methods 0.000 description 1
- 238000009958 sewing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/47—Machine-assisted translation, e.g. using translation memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
- G06F18/2185—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种使用自回归机器学习模型进行并行解码。提供了用于执行以并行方式生成从自回归序列到序列模型的输出的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。在一个方面中,分块并行解码方法利用了一些架构能够在次线性时间内对序列进行评分的事实。通过一次生成用于多个时间步长的预测,然后退回到由评分模型验证的最长前缀,该方法能够在不影响性能的情况下实质地改善贪婪解码的速度。
Description
相关申请的交叉引用
本申请在35 U.S.C.§119(e)下要求于2018年5月18日提交的美国临时申请No.62/673,796,名称为Parallel Decoding Using Autoregressive Machine Learning Models的申请日的优先权的权益,并且通过引用并入在本文中。
背景技术
从自回归模型中解码和生成输出本质上是顺序的,因为必须为模型提供有其自己的先前预测。这使得大型自回归模型可能难以应用在生产环境中,特别是低延迟环境中。
可能提及克服该困难的三种当前相关的方法。它们中的每个都有一个问题,即,它们速度越快时,质量上也更显著恶化。
第一种方法是预测繁衍(fertility)和噪声并行解码。该方法在Gu等人的非自回归神经机器翻译(Non-Autoregressive Neural Machine Translation)中有所描述,该论文在2018年第六届国际学习表征会议上作为会议论文发表,可在https://arxiv.org/pdf/1711.02281.pdf获得。
第二种方法是独立预测的迭代精化。该方法在2018年4月17日,Lee等人的由迭代精化建模的确定非自回归神经序列(Deterministic Non-Autoregressive NeuralSequence Modeling by Iterative Refinement)中有所描述,可在https://arxiv.org/pdf/1802.06901.pdf获得。
第三种方法是顺序地预测一系列离散潜伏(latent),然后并行预测最终序列。该方法在2018年4月29日,Kaiser等人的使用离散潜在变量对序列模型快速解码(FastDecoding in Sequence Models Using Discrete Latent Variables)中有所描述,可在https://arxiv.org/pdf/1803.03382.pdf获得。
虽然包括循环、卷积和自关注网络的几种常见架构类在每层所需的计算的量与训练时间处的关键路径长度之间进行不同的折衷(trade-offs),但是对新输入的推断仍然是固有的顺序过程。
神经自回归序列到序列模型已经变得包括机器翻译、摘要和语音合成的各种各样的任务的实际上的标准。不同的新网络架构现在允许在训练期间增加并行化。这种架构更适合当今的大规模并行硬件加速器,这种架构需要的训练时间要少得多。然而,在为许多实际应用部署这些模型时,在生成时间处的性能仍然存在重大挑战。
因此,越来越多的工作涉及用于从自回归模型加速生成的不同方法。这些方法包括概率密度蒸馏法(probability density distillation)、子标度法、以及将问题分解成自回归生成短序列离散潜在变量之后,以离散潜伏为条件的并行生成步骤。这些技术中的一些至少在某种程度上是应用特定的,诸如用于机器翻译的非自回归Transformer。虽然一些技术实现了语音合成的多个数目级的加速,但据我们所知,机器翻译中非批量解码的最大公布的挂钟时间改进大约是4倍,但在质量上是显著恶化的。
发明内容
本说明书描述了利用一些架构(例如,转换(Transformer)架构)的能力来利用增加的并行化评分和训练的技术。Transformer在Vaswani等人,Attention Is All YouNeed,第31届神经信息处理系统会议(NIPS 2017),Long Beach,CA,USA中有描述,可在https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf获得。该论文在此引入作为参考。
本说明书描述了在确定自回归“检查器”模型已经预测的这些并行预测的最长前缀之前,训练基本自回归模型的扩展以并行进行多个预测的技术。
通常,本说明书中描述的主题的一个创新方面能够被实施在用于生成来自自回归模型p1的输出的方法中,该方法包括动作:获得k-1个辅助模型pi,其中i=2,…,k,所述辅助模型pi各自被配置为针对给定前缀输入预测来自模型p1的单个第i个输出;以及对当前输入执行以下操作,直到满足终止条件为止:(a)针对所述当前输入,根据模型p1到pk中的每一个生成相应的独立预测,每个独立预测是单个令牌的预测;(b)找出最大的n,使得(i)来自用于与由模型p1到p(n-1)独立预测的第一个令牌至第(n-1)个令牌级联的所述当前输入的输入的下一个令牌的模型p1的预测匹配(ii)由模型pn采用的第n个令牌的独立预测;以及(c)通过将来自模型p1至pn的独立预测附加到生成的输出来扩展所生成的输出。该方面的其他实施例包括在一个或多个计算机存储设备上记录的相对应的计算机系统、装置和计算机程序,他们各自被配置为执行这些方法的动作。
实现这些技术的系统、方法和程序能够从自回归模型实现两次的近似迭代减少,而不会在贪婪解码中在质量上恶化。与知识蒸馏法一起,能够利用在性能上的适度牺牲实现将速度增加到五倍。这些技术的另一个优点是,与其他先前提到的用于改善生成速度的技术相比,它们能够在现有模型的基础上以最小的修改来实现。
这些技术能够在基线贪婪解码器上实现高达2倍的迭代减少,而不会在速度上降低。放宽验收标准和精细调节模型参数可以,在换取在性能上略有下降的情况下提供减少高达7倍。发明者最快的模式在挂钟时间内实现了4倍的加速。
附图说明
图1是示出示例分块并行解码过程的三个子步骤的框图。
图2A图示了执行分块并行解码的预测子步骤的示例系统的操作。
图2B图示了执行分块并行解码的验证子步骤的示例系统的操作。
图3是示例分块并行解码过程的流程图。
图4示出在示例前缀上执行的图3的示例性分块并行解码过程。
各个附图中相同的附图标记和名称表示相同的元件。
具体实施方式
在序列到序列问题中,给出输入序列(x1,...,xn),并且目标是为了预测相对应的输出序列(y1,...,ym)。在机器翻译的情况下,这些序列可能是源语句和目标语句,或者在图像超分辨率的情况下,这些序列可以是低分辨率图像和高分辨率图像。
假设系统已经学习了根据从左到右分解而分解的自回归评分模型p(y|x)
给定输入x,系统能够使用该模型来通过贪恋解码预测输出如下所述。从j=0开始,系统以最高得分令牌重复地扩展该预测并且设置j←j+1直到满足终止条件。对于语言生成问题,一旦已经生成了特殊的序列令牌的的结尾,系统通常停止。对于图像生成问题,系统简单地解码固定数目的步骤。
标准贪婪解码采用m步产生长度为m的输出,即使对于能够以比线性时间更快的速度而有效地对序列进行评分的模型也是如此。虽然输出扩展的强力枚举在词汇表的大小很大时长于一个令牌是难处理的,但是发明人已经发现能够通过训练一组辅助模型来提出候选扩展以规避这个问题。
作为表示法,基本模型被指定为p1=p。除了学习基本模型p1,系统还学习了k-1个辅助模型p2,...,pk的集合,其中,pi(yj+i|y≤j,x)是第(j+i)个令牌为yj+i的概率。合适的k值能够在2-20的范围内,或更优选的2-10的范围内,以及更优选的4-6的范围内找出。
图1是示出示例分块并行解码过程的三个子步骤的框图。系统执行分块并行解码过程,这保证产生了在贪婪解码下找出的相同的预测但是使用少至m/k个步骤。系统以空预测开始,并且设置j=0。示例分块并行解码过程的三个子步骤是:预测子步骤110、验证子步骤120、和接受子步骤130。系统重复子步骤110、120、和130,直到满足终止条件为止:
(1)预测(110):
针对i=1,…,k,获取块预测
(2)验证(120):
找出最大的使得:
针对所有
注意的是,通过定义
(3)接受(130):
通过扩展并且设置
在预测子步骤110中,系统找出基本模型p1和辅助模型p2,...,pk的局部贪婪预测。系统根据等式112找出预测。由于这些是不相交的模型,系统能够并行计算每个预测,因此与单个贪婪预测相比,时间极少有损失。
在验证子步骤120中,系统找出将由p1以其它方式产的、生建议的长度为k的扩展的最大前缀。如果评分模型能够在少于k个步骤的情况下处理这个k个令牌的序列,则该子步骤有助于节省提供多于一个的令牌是正确的的总体时间。换句话说,在验证子步骤120中,系统找出最大的k,使得等式122成立。
最后,在接受子步骤130中,系统用验证的前缀扩展该假设。也就是说,系统利用扩展并且设置通过仅使用令牌直到其中基本模型p1和辅助模型p2,...,pk不同意的点为止,系统将恢复将提供用p1运行贪婪解码而产生的相同输出。
用于提高解码性能的这些技术的能力关键取决于一些网络架构以并行地执行在验证子步骤210中进行的所有预测的能力。例如,在变换器中,虽然在解码期间执行的操作的总数是预测的数目的二次方,但是无论预测输出位置的数目如何,必然顺序操作的数目都是恒定的。这允许系统在不需要花费附加的挂钟时间的情况下并行地执行用于数个位置的验证子步骤110。
当使用Transformer进行评分时,上述技术每步需要两个模型调用:一个是在预测子步骤中的并行调用p1,...,pk,以及另一个是验证子步骤中的调用p1。这意旨即使使用完美的辅助模型,替代所需的m/k,这些技术也仅会将模型调用的数目从m减少到2m/k。
另一种技术能够通过使用组合评分和提议方案,进一步将模型调用的数目从2m/k减少到m/(k+1),在这种情况下,第n个验证子步骤能够与第(n+1)个预测子步骤合并。
更具体地说,考虑实现单个变换器模型的系统,该模型在验证子步骤期间,在恒定数目的操作中,对所有i=1,...,k和i′=1,...,k,产生这能够例如通过将Transformer的最终投影层的维度增加了k倍并且计算k个单独的softmax来实现。调用模型在将其插入在k个预测输出中之后给出了所需要的输出。然后,在已经在验证期间计算了之后,系统已经对所有i计算了这正是解码的下一次迭代中的预测子步骤所需要的。因此,这些子步骤能够被合并在一起,除了第一次迭代之外,所有模型调用的数目以因子2降低。
到目前为止,所描述的用于块并行解码的技术产生与标准贪婪解码相同的输出。放宽了在验证期间使用的标准的系统能够以可能偏离贪婪输出为代价实现了附加的加速。
在一些实现方式中,仅在预测是对p1的输出的预定数目的最接近预测中的一个时,该预测才匹配p1的输出。在其他实现方式中,除了要求预测精确匹配评分模型的预测之外,系统能够仅替代地要求它位于前k个项目内。为实现此目的,能够用以下项目替换验证标准:
在一些其它实现方式中,仅在预测和p1的输出处于彼此相距预定距离内时,预测才匹配p1的输出。例如,在输出空间允许自然距离度量d的问题中,系统实现方式能够用近似匹配来替换与最高评分的元素的完全匹配:
在图像生成的情况下,例如,合适的距离度量d(u,v)=|u-v|是在给定颜色通道内的强度u1和v之间的绝对差值。
给定步骤内的第一非贪婪预测可能是不正确的,在这种情况下,仅将单个令牌添加到该假设中。为了确保最小加速,可能实现系统,其要求在每个解码步骤期间至少添加最少数目的令牌。将该设置最小数目为k将与具有固定大小k的块的并行解码相对应。
图2A图示了执行分块并行解码的预测子步骤的示例系统的操作。在该步骤中,基本模型p1接收输入x并且预测单个输出令牌输出能够是局部贪婪预测。输入x能够是一个或多个字符、一个或多个单词、包括一个或多个字符的一个或多个句子,或一个或多个图像。同样,每个辅助模型p2,...,pk接收输入x并且对i=2,...,k,预测单个输出令牌每个模型独立于每个其他模型并与其并行地预测输出。
图2B图示了执行分块并行解码的验证子步骤的示例系统的操作。在该步骤中,基本模型p1被用作评分模型来确定对于i=2,...,k,应当接受哪个令牌p1的第n个计算实例将接收作为输入,其中“||”指示了级联,并且n=2,...,k,并且输出评分预测令牌这些计算能够并行完成。在该验证步骤中,最大的n被找出用于针对小于或等于n的所有i使匹配
图3是示例分块并行解码过程300的流程图。示例过程将被描述为由根据本说明书适当编程的系统执行。
对于i=2,...,k,系统获得(k-1)个辅助模型pi(305)。每个辅助模型pi被配置为根据公共前缀输入(也称为当前输入)预测单个第i个输出。
系统针对当前输入,从模型p1到pk中的每一个生成相应的独立预测(310)。每个独立预测是单个令牌的预测。
系统找出最大的n,使得(i)来自用于所述当前输入的与由模型p1到pn-1独立预测的第一个至第(n-1)个令牌级联的输入的下一个令牌的模型p1的预测匹配(ii)由模型pn采用的第n个令牌的独立预测(315)。例如,使用图2的表示法,系统找出最大的n,使得针对直到第n个预测的所有预测使匹配
在一些实现方式中,相应的预测仅在两者是相同的条件下才匹配。在其他实现方式中,预测仅在两者在彼此相距预定距离内的条件下才匹配;而在另外其他实现方式中,预测仅在其是对p1的输出的预定数目的最接近的预测中的一个的时才匹配p1的输出,如上文更详细所述。
通过将来自模型p1到pn的独立预测(针对以上描述最大的n)附加到先前生成的输出,系统扩展了模型p1(以上被称为x)的先前生成的输出(320)。利用当系统找出最大的n(315)时找出的经验证的预测系统扩展了先前生成的输出。
系统确定是否已满足终止条件(325)。如果满足终止条件,则该过程结束。如果未满足终止条件,则该过程迭代并且系统生成附加的预测(310),基于附加的预测找出最大的n(315),以及基于最大的n,扩展了模型p1的所生成的输出(320),直到终止条件被满足为止。
图4示出了正在对与以上使用的x相对应的示例性前缀412执行的、图3的示例分块并行解码过程。示例前缀412是单词“I saw a dog ride”。该过程以空预测开始。
在预测子步骤410中,基本模型p1和辅助模型(例如,模型p2、p3等)各自对一个输出令牌进行单个预测。模型p1、p2和p3分别预测单词“in”、“the”、和“bus”。这三个单词分别占据第一位置、第二位置、和第三位置。每个预测独立于每个其他预测并且与其并行地进行。
在验证子步骤420中,基本模型p1对独立预测中的每一个进行评分,从而在适用的情况下对先前的独立预测进行调节。在图4的示例中,第三位置的最高概率预测或评分预测是“car”。使用输入414(即,单词“I saw a dog ride in the”),由p1预测评分预测“car”。输入414是与独立预测的“in”和“the”级联的前缀412的单词,其在预测子步骤410期间由模型p1和p2预测。评分预测“car”与通过用于第三位置的“bus”的p3的预测不同。
在接受子步骤430中,系统扩展了前缀以包括用于第一位置和第二位置,即“in”和“the”的预测,但不包括第三位置,即“bus”的预测。在模型进行下一k个独立预测之前,前缀被扩展。
图4以虚线箭头示出了来自验证子步骤420的并行预测将在解码的下一次迭代中的预测子步骤中重新使用。注意的是,必须为验证子步骤中的每个位置计算这些预测(虽然以并行方式)。
本说明书中描述的并行处理具有许多技术优点。能够保证这些过程在质量上不会恶化。尽管如此,在发明人的实验中实际获得的加速与通过在质量上恶化的现有方法而获得的加速。此外,这些过程要实现起来是非常简单的。与以上提及的其他技术进行比较,并行处理技术要实现起来是微不足道的,并且在训练中是非常鲁棒的。
另一个感兴趣的度量是相对于贪婪解码的实际挂钟加速,其考虑到了针对分块并行预测需要的附加开销。在一组实验中,发明人发现,对于用k=6的设置,挂钟加速达到峰值4.0处,其具有5.3的平均可接受的块大小。在迭代次数方面,较大的可接受块大小继续改善,但是由于其较高的计算成本,在挂钟改进方面开始下降。
并行处理技术能够用于在使用这种模型来生成输出的情况下改善自回归序列到序列模型的性能。自回归模型的应用的示例包括将一种自然语言到另一种自然语言的机器翻译、自然语言文本的摘要,其中输出是句子、语音到文本、和文本到语音中的单词的序列,涉及了单词和音素的序列。其他示例性应用包括图像生成、语言建模和解析,例如,结构解析。其他示例包括基于图像的序列的应用,包括自动驾驶汽车和机器人控制的应用。例如,来自或属于包括这种模型的物理系统(真实的或虚拟的)的一系列输入(例如,图像)能够输出用于控制在物理系统中或与物理系统一起操作的机器的一系列动作。
这些技术能够有利地在具有GPU的计算机系统中实现,因为该过程涉及许多并行计算,从而导致在挂钟时间内特别快速的计算。
本说明书中描述的主题和动作以及操作的实施例能够在数字电子电路中、在有形实施的计算机软件或固件中、在计算机硬件中实现,包括本说明书中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本说明书中描述的主题的实施例能够被实现为一个或多个计算机程序,即在有形非瞬时性存储介质上编码的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。可替选地或附加地,程序指令能够在经生成以对用于传输到适当的接收器装置的信息进行编码的人工生成的传播信号(例如,机器生成的电、光或电磁信号)上编码,以供数据处理装置执行。计算机存储介质能够是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。计算机存储介质不是传播信号。
术语“数据处理装置”囊括了用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。该数据处理装置能够包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)、或GPU(图形处理单元)。除了硬件之外,该装置还能够包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或它们的一个或多个的组合的代码。
计算机程序(也可以被称为或被描述为程序、软件、软件应用、应用、模块、软件模块、引擎、脚本、或代码)能够用任何形式的编程语言编写,包括编译或者解释性语言,或声明性或程序性语言,并且它能够以任何形式部署,包括作为独立程序或作为模块、组件、引擎、子例程、或适合在计算环境中执行的其他单元,该环境可以包括由一个或多个位置中的数据通信网络互连的一个或多个计算机。
计算机程序可以但不必与文件系统中的文件相对应。计算机程序能够被存储在保持其他程序或数据(例如,在标记语言文档中存储的一个或多个脚本)的文件的部分中、存储在专用于所述程序的单个文件中、或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分)的文件中。
本说明书中描述的过程和逻辑流程能够由执行一个或多个计算机程序的一个或多个计算机执行,以通过对输入数据进行操作并且生成输出来执行操作。这些过程和逻辑流程还能够由专用逻辑电路(例如FPGA、ASIC或GPU),或专用逻辑电路和一个或多个编程计算机的组合执行。
适合于执行计算机程序的计算机能够是基于通用或专用微处理器或两者、或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器能够由专用逻辑电路补充或结合在其中。
通常,计算机还将包括或可操作地耦合以从一个或多个大容量存储设备接收数据、或将数据发送到一个或多个大容量存储设备。大容量存储设备能够是例如磁、磁光、或光盘、或固态驱动器。然而,计算机不需要具有这样的设备。此外,计算机能够被嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,这里仅举几例。
为了提供与用户的交互,本说明书中描述的主题的实施例能够在具有用于向用户显示信息的、例如LCD(液晶显示器)监视器的显示设备以及用户通过其向计算机提供输入的输入设备,例如键盘和指示设备(例如鼠标、轨迹球或触控板)的计算机上实现,或被配置成与之通信。其他类型的设备还能够用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声学、语音、或触觉输入。另外,计算机能够通过向由用户使用的设备发送文档和从由用户使用的设备接收文档来与用户交互;例如,通过响应于从web浏览器接收的请求将网页发送到用户设备上的web浏览器,或者通过与在用户设备(例如智能电话或电子平板电脑)上运行的app交互。此外,计算机能够通过向个人设备(例如,运行消息收发应用的智能电话)发送文本消息或其他形式的消息来与用户交互,并且返回来从用户接收响应消息。
本说明书使用与系统、装置和计算机程序组件有关的术语“配置为”。对于要被配置为执行特定操作或动作的一个或多个计算机的系统,意旨该系统已在其上安装了软件、固件、硬件或它们的组合,其在操作中使系统执行这些操作或这些动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序,意旨一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。对于要被配置为执行特定操作或动作的专用逻辑电路,意旨该电路具有执行操作或动作的电子逻辑。
虽然本说明书包含许多具体实现细节,但是这些不应当被解释为对任何发明的范围或权利要求所要求保护范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征还能够在单个实施例中以组合的方式实现。相反,在单个实施例的上下文中描述的各种特征还能够在多个实施例中单独地或以任何合适的子组合来实现。此外,尽管特征可以被如上描述为以某些组合作用并且甚至最初就如此请求保护,但是在一些情况下所请求保护的组合中的一个或多个特征能够从该组合中除去,并且权利要求可以针对子组合或针对子组合的变化。
类似地,尽管操作在附图中以特定顺序被描绘且在权利要求中被引用,但是这不应当被理解为要求所述操作以所示的特定顺序或顺次被执行,或者执行所有示出的操作,以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应当被理解为在所有实施例中都需要这种分离,并且应当理解的是,所述的程序组件和系统通常能够在单个软件产品中被集成在一起或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,所述的过程不一定需要所示的特定顺序或顺次来实现期望的结果。
Claims (21)
1.一种用于生成来自自回归模型p1的输出的方法,包括:
获得k-1个辅助模型pi,其中i=2,…,k,所述辅助模型pi各自被配置为针对给定前缀输入来预测来自模型p1的单个第i个输出;以及
对当前输入执行以下操作,直到满足终止条件为止:
针对所述当前输入,生成来自模型p1到pk中的每一个的相应的独立预测,每个独立预测是单个令牌的预测;
找出最大的n,使得(i)来自用于与由模型p1到p(n-1)独立预测的第一个令牌至第(n-1)个令牌级联的所述当前输入的输入的下一个令牌的模型p1的预测匹配(ii)由模型pn采用的第n个令牌的独立预测;以及
通过将来自模型p1至pn的独立预测附加到所生成的输出来扩展所生成的输出。
2.如权利要求1所述的方法,其中,仅在相应的预测和p1的输出相同时,所述相应的预测才匹配所述p1的输出。
3.如权利要求1所述的方法,其中,仅在相应的预测是对p1的输出的预定数目的最接近预测中的一个时,所述相应的预测才匹配所述p1的输出。
4.如权利要求1所述的方法,其中,仅在相应的预测和p1的输出彼此相距在预定距离内时,所述相应的预测才匹配所述p1的输出。
5.如权利要求1所述的方法,其中,k是2-20、或2-10、或4-6的范围内的整数。
6.如权利要求1所述的方法,其中,所述自回归模型是深度神经自回归模型。
7.如权利要求1所述的方法,其中,并行生成来自所述模型p1到pk中的每一个的单一令牌预测。
8.一种由一个或多个计算机实现的系统,所述系统包括:
自回归模型p1;以及
k-1个辅助模型pi,其中i=2,…,k,所述辅助模型pi各自被配置为针对给定前缀输入来预测来自模型p1的单个第i个输出;
其中,所述系统被配置为针对当前输入执行以下操作,直到满足终止条件为止:
针对所述当前输入,生成来自模型p1到pk中的每一个的独立预测,每个独立预测是单个令牌的预测;
找出最大的n,使得(i)来自用于与由模型p1到p(n-1)独立预测的第一个令牌至第(n-1)个令牌级联的所述当前输入的输入的下一个令牌的模型p1的预测匹配(ii)由模型pn采用的第n个令牌的独立预测;以及
通过将来自模型p1至pn的独立预测附加到所生成的输出来扩展所生成的输出。
9.如权利要求8所述的系统,其中,仅在相应的预测和p1的输出相同时,所述相应的预测才匹配所述p1的输出。
10.如权利要求8所述的系统,其中,仅在相应的预测是对p1的输出的预定数目的最接近预测中的一个时,所述相应的预测才匹配所述p1的输出。
11.如权利要求8所述的系统,其中,仅在相应的预测和p1的输出彼此相距在预定距离内时,所述相应的预测才匹配所述p1的输出。
12.如权利要求8所述的系统,其中,k是2-20、或2-10、或4-6的范围内的整数。
13.如权利要求8所述的系统,其中,所述自回归模型是深度神经自回归模型。
14.如权利要求8所述的系统,其中,并行生成来自所述模型p1到pk中的每一个的单一令牌预测。
15.一个或多个编码有指令的计算机可读存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行操作,包括:
获得自回归模型p1和k-1个辅助模型pi,其中i=2,…,k,所述辅助模型pi各自被配置为针对给定前缀输入来预测来自模型p1的单个第i个输出;以及
对当前输入执行以下操作,直到满足终止条件为止:
针对所述当前输入,生成来自模型p1到pk中的每一个的相应的独立预测,每个独立预测是单个令牌的预测;
找出最大的n,使得(i)来自用于与由模型p1到p(n-1)独立预测的第一个令牌至第(n-1)个令牌级联的所述当前输入的输入的下一个令牌的模型p1的预测匹配(ii)由模型pn采用的第n个令牌的独立预测;以及
通过将来自模型p1至pn的独立预测附加到所生成的输出来扩展所生成的输出。
16.如权利要求15所述的一个或多个计算机可读存储介质,其中,仅在相应的预测和p1的输出相同时,所述相应的预测才匹配所述p1的输出。
17.如权利要求15所述的一个或多个计算机可读存储介质,其中,仅在相应的预测是对p1的输出的预定数目的最接近预测中的一个时,所述相应的预测才匹配所述p1的输出。
18.如权利要求15所述的一个或多个计算机可读存储介质,其中,仅在相应的预测和p1的输出彼此相距在预定距离内时,所述相应的预测才匹配所述p1的输出。
19.如权利要求15所述的一个或多个计算机可读存储介质,其中,k是2-20、或2-10、或4-6的范围内的整数。
20.如权利要求15所述的一个或多个计算机可读存储介质,其中,所述自回归模型是深度神经自回归模型。
21.如权利要求15所述的一个或多个计算机可读存储介质,其中,并行生成来自模型p1到pk中的每一个的单一令牌预测。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862673796P | 2018-05-18 | 2018-05-18 | |
US62/673,796 | 2018-05-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110245359A true CN110245359A (zh) | 2019-09-17 |
CN110245359B CN110245359B (zh) | 2024-01-26 |
Family
ID=67884364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910418720.2A Active CN110245359B (zh) | 2018-05-18 | 2019-05-20 | 使用自回归机器学习模型进行并行解码 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10521701B2 (zh) |
CN (1) | CN110245359B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274764A (zh) * | 2020-01-23 | 2020-06-12 | 北京百度网讯科技有限公司 | 语言生成方法、装置、计算机设备及存储介质 |
CN111489803A (zh) * | 2020-03-31 | 2020-08-04 | 重庆金域医学检验所有限公司 | 基于自回归模型的报告单编码模型生成方法、系统和设备 |
CN112306637A (zh) * | 2020-11-06 | 2021-02-02 | 深圳市广和通无线股份有限公司 | 脚本扩展方法、装置、计算机设备和存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11475590B2 (en) * | 2019-09-12 | 2022-10-18 | Nec Corporation | Keypoint based pose-tracking using entailment |
US11455555B1 (en) | 2019-12-31 | 2022-09-27 | Meta Platforms, Inc. | Methods, mediums, and systems for training a model |
CN112686058B (zh) * | 2020-12-24 | 2021-10-29 | 中国人民解放军战略支援部队信息工程大学 | Bert嵌入语音翻译模型训练方法、系统及语音翻译方法和设备 |
CN112951203B (zh) * | 2021-04-25 | 2023-12-29 | 平安创科科技(北京)有限公司 | 语音合成方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453206B1 (en) * | 1996-11-22 | 2002-09-17 | University Of Strathclyde | Neural network for predicting values in non-linear functional mappings |
CN103942457A (zh) * | 2014-05-09 | 2014-07-23 | 浙江师范大学 | 基于关联向量机回归的水质参数时间序列预测方法 |
CN105759983A (zh) * | 2009-03-30 | 2016-07-13 | 触摸式有限公司 | 电子设备的文本输入系统及文本输入方法 |
CN107836000A (zh) * | 2015-07-07 | 2018-03-23 | 触摸式有限公司 | 用于语言建模和预测的改进的人工神经网络 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3634204A4 (en) * | 2017-07-28 | 2021-01-20 | Google LLC | SYSTEM AND METHOD FOR PREDICTING AND RECAPITULATING MEDICAL EVENTS FROM ELECTRONIC HEALTH RECORDS |
US11604956B2 (en) * | 2017-10-27 | 2023-03-14 | Salesforce.Com, Inc. | Sequence-to-sequence prediction using a neural network model |
-
2019
- 2019-05-20 CN CN201910418720.2A patent/CN110245359B/zh active Active
- 2019-05-20 US US16/417,190 patent/US10521701B2/en active Active
- 2019-11-13 US US16/682,611 patent/US11681954B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453206B1 (en) * | 1996-11-22 | 2002-09-17 | University Of Strathclyde | Neural network for predicting values in non-linear functional mappings |
CN105759983A (zh) * | 2009-03-30 | 2016-07-13 | 触摸式有限公司 | 电子设备的文本输入系统及文本输入方法 |
CN103942457A (zh) * | 2014-05-09 | 2014-07-23 | 浙江师范大学 | 基于关联向量机回归的水质参数时间序列预测方法 |
CN107836000A (zh) * | 2015-07-07 | 2018-03-23 | 触摸式有限公司 | 用于语言建模和预测的改进的人工神经网络 |
Non-Patent Citations (1)
Title |
---|
YANG XIANGLIN ET AL: "Improved IAMB with Expanded Markov Blanket for High-Dimensional Time Series Prediction", 《CHINESE JOURNAL OF ELECTRONICS》, pages 264 - 269 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274764A (zh) * | 2020-01-23 | 2020-06-12 | 北京百度网讯科技有限公司 | 语言生成方法、装置、计算机设备及存储介质 |
CN111489803A (zh) * | 2020-03-31 | 2020-08-04 | 重庆金域医学检验所有限公司 | 基于自回归模型的报告单编码模型生成方法、系统和设备 |
CN112306637A (zh) * | 2020-11-06 | 2021-02-02 | 深圳市广和通无线股份有限公司 | 脚本扩展方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110245359B (zh) | 2024-01-26 |
US20200082226A1 (en) | 2020-03-12 |
US11681954B2 (en) | 2023-06-20 |
US10521701B2 (en) | 2019-12-31 |
US20190354812A1 (en) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245359A (zh) | 使用自回归机器学习模型进行并行解码 | |
JP7009564B2 (ja) | エンドツーエンドのテキスト音声変換 | |
EP3971786B1 (en) | Feedforward generative neural networks | |
KR102565275B1 (ko) | 병렬 처리에 기초한 번역 방법 및 장치 | |
US9037464B1 (en) | Computing numeric representations of words in a high-dimensional space | |
KR20190113928A (ko) | 강화 학습을 통한 디바이스 배치 최적화 | |
CN110246488B (zh) | 半优化CycleGAN模型的语音转换方法及装置 | |
Liu et al. | Agreement on target-bidirectional LSTMs for sequence-to-sequence learning | |
CN111699497A (zh) | 使用离散潜变量的序列模型的快速解码 | |
US11238332B2 (en) | Attention neural networks with sparse attention mechanisms | |
CN110326002A (zh) | 使用在线注意的序列处理 | |
JP6983271B2 (ja) | 音声を並行して合成する方法、装置、機器及びコンピュータ読み取り可能な記憶媒体 | |
CN110663049A (zh) | 神经网络优化器搜索 | |
US20230104159A1 (en) | Generating output examples using bit blocks | |
CN111581988A (zh) | 一种基于任务层面课程式学习的非自回归机器翻译模型的训练方法和训练系统 | |
CN111587441A (zh) | 使用以比特值为条件的回归神经网络生成输出示例 | |
Shipton et al. | Implementing WaveNet Using Intel® Stratix® 10 NX FPGA for Real-Time Speech Synthesis | |
US20230325658A1 (en) | Conditional output generation through data density gradient estimation | |
CN116484935A (zh) | 模型训练方法、舞蹈生成方法、设备及介质 | |
WO2023147144A1 (en) | Attention neural networks with gated attention units | |
WO2023028372A1 (en) | Sequence error correction using neural networks | |
JP2024506597A (ja) | 自己注意動作および相互注意動作を使用して潜在的埋め込みを豊かにすることによってニューラルネットワーク出力を生成すること | |
EP4298555A1 (en) | Neural networks with feedforward spatial transformation units | |
CN118159985A (zh) | 使用存储器来增强神经网络中的自注意力 | |
CN116830120A (zh) | 具有切换层的神经网络 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |