用于混合gpu/cpu数据处理的方法

文档序号:8926973阅读:830来源:国知局
用于混合gpu/cpu数据处理的方法
【专利说明】用于混合GPU/CPU数据处理的方法 相关申请的交叉引用 本申请是一个PCT国际申请,其要求序列号为61/743, 607、题目为Methods for Hybrid GPU/CPU Data Processing的于2012年9月7日提交的美国临时申请的权益,该美国临时 申请的全部内容通过引用合并于本申请中。 技术领域 此发明涉及数据处理的领域。更具体地,此发明涉及用来在并行处理器平台上执行大 规模图形遍历的方法。 【背景技术】 近年来,对于计算机而言具有多核进程和许多核进程已经变得更加普遍,通过以并行 方式横跨不同处理核执行复杂的计算任务显著地增加了可以执行这样的任务的速度。然而 对于一些复杂的计算任务而言,这样的处理器受到它们存储器容量的限制。例如,许多核图 形处理单元(GPU)具有2-8千兆字节(GB)的存储器的限制。对于包括许多数百万计的弧 和模型的图形结构的这样的大规模图形遍历的计算可能在规模上处于GB的100s的量级或 者更大量级的任务而言,此存储器呈现出极限。 因而,存在对通过有效地支持异类并行计算核有效地在并行处理器平台上执行大规模 图形遍历的方法的需要。 需要这样的改进的方法的一个领域是大词汇连续语音识别(large vocabulary continuous speech recognition, LVCSR)领域。作为这样的需要的一个示例,话音用户接 口作为用于下一代智能设备的核心技术正在不断发展。为了确保吸引用户体验,关键的是 用在这些系统内的语音识别引擎是鲁棒的、快速的、具有低延迟并且在系统可能遇到的极 其大的词汇上提供充足的覆盖性。为了获得高的识别准确性,用于诸如广播新闻手稿[1,2] 或者话音搜索[3, 4]之类的任务的现有技术水平的语音识别系统可以在大词汇(>1百万个 词)、大声学模型(数百万的模型参数)以及极其大的语言模型(数十亿的n-gram个条目) 的情况下执行识别。在可以把这些模型应用在离线语音识别任务中时,对于实时语音识别 而言由于在解码期间需要大的计算成本的原因它们是不可实施的。 使用静态编制的加权有限状态转换机(Weighted Finite State Transducer,WFST)网 络,其中,WFST表示隐马尔可夫模型(Hidden Markov Model, HMM),声学模型H、上下文模 型C、发音词典L、和语言模型G被组成为一个单个网络,通常称为H级WFST,这使得它可以 非常有效地执行语音识别[5]。然而,当使用大模型时这样的搜索网络的构成和优化变得不 可行。 联机构成是用来在单个完全构成的WFST的情况下执行语音识别的一个实践选择。联 机构成涉及顺序地应用两个或更多个子WFST的组,在解码期间按需要对它们进行构成。一 个通常方案是在解码之前对HoCoL进行预构成,然后利用语法网络G对此进行联机构成。在 存储器方面联机构成已经显示出是经济的,但是解码显著慢于静态编制WFST[6]。 用于有效WFST解码的一个可选方案是执行假设再评分[3]而不是在搜索期间进行构 成。在此方案中,Viterbi搜索使用H〇C〇Gmi来执行,而另一 WFST网络GWtH仅仅用于对 以联机方式从Viterbi搜索过程生成的假设进行再评分。由于此算法从搜索开始允许所有 的知识源都是可用的,所以对于选择正确的路径和修剪假设这二者而言这是有效的。 现在在许多核的图形处理单元(GPU)的情况下,对于许多计算任务而言商品资源、混 合GPU/CPU计算架构是一个实际的解决方案。对于每个计算子任务而言,通过支持最适合 的架构比通过单独使用任一平台能够取得显著更高的吞吐量。现有工作[7, 8]已经例证了 对于语音识别而言使用GPU处理器的有效性,并且对于有限的词汇任务而言在吞吐量方面 获得了显著的改进[7]。然而,当在识别期间以及还对于其它大规模图形遍历计算而言应 用大声学和语言模型时,关于这些架构的有限的存储器成为一个显著瓶颈。对于这样的计 算的最显著的挑战是处理在现代宽域语音识别系统中使用的极其大的语言模型[1,2, 4]。 这些模型可能包含数百万的唯一词汇条目,数十亿的n-gram上下文,并且可能轻易地要求 20GB或者更多以便存储在存储器中。即使当被显著地修剪时,这些模型也不能适于在GPU 平台上可用的有限的存储器内。为了在大声学模型和语言模型的情况下高效地执行语音识 另IJ,我们已经开发了混合GPU/CPU架构,该架构在GPU架构的计算吞吐量的情况下支持大的 存储器和CPU的局部高速缓冲。
【发明内容】
本发明描述了用于在并行处理器平台上执行大规模图形遍历计算的方法。本发明描述 了用于联机假设再评分的方法,其利用图形处理单元(GPU)结合利用计算设备的中央处理 单元(CPU)。在应用到大词汇连续语音识别任务的一个实施例中描述了本发明。本领域技 术人员将意识到本发明的方法可适用于其它大规模图形遍历计算。 【附图说明】 图1示出了如应用到大规模图形遍历任务的本发明的实现方式结构的示意图。 图2示出了所实施方案的示意图,所实施方案用来从大模型中来子选择条目(即,来自 标志序列的马尔可夫模型的概率)以包括在加权有限状态转换机(WFST)构成期间将应用 的小模型中。所得到的完全构成的WFST搜索图将足够小以在图形处理单元(GPU)上执行 搜索; 图3示出了用来构成适合于在图形处理单元(GPU)上执行搜索的小WFST搜索图的所 实现方案的示意图。 图4示出了包含在WFST搜索图中的状态和相邻弧内的信息的示意图。这些包括 statelD、进入弧列表、外出弧列表以及输入和输出符号。每个弧包含弧特定权重。输入符 号匹配于由"观测模型"产生的概率。输出符号匹配于由对过程进行搜索所产生的标志。例 如,对于语音识别任务而言,这些标志会映射至词; 图5示出了适合于在图形处理单元(GPU)上进行搜索的小WFST搜索图的示例。该示 例示出了应用在用于非常简单任务的语音识别中的搜索图,该搜索图包括以任何次序出现 的三个词("nice (好的)","recognize (识别)",和 "speech (语音)"); 图6示出了一个示例语言模型,其中针对当前词、给定的已知词历史列出了语言模型 的概率; 图7示出了适合于当编制用在图形处理单元(GPU)上的基于WFST的搜索图时在构成 期间使用的小语言模型的示例。此语言模型是在语言模型可能性的情况下使用〇. 05的语 言模型阈限〇YM)从图6中的更大的语言模型中子选择而来; 图8示出了对于自动语音识别的任务而言分别使用图6和图7中示出的大语言模 型和小语言模型的部分假设再评分的示例。在再评分之前,短语"识别海滩recognize a beach…"具有最高概率,然而在利用大语言模型进行再评分之后,具有最高概率的部分假 设是"识别语音recognize speech"。 图9示出了例证假设组合和假设修剪的本发明的示意图; 图10示出了在5000个词的词汇大小的情况下应用到大词汇连续语音识别的使用现 有技术方案的准确性和解码速度与本发明的准确性和解码精度的数据比较。Eval. set:WSJ 5Knov' 92 (330个句子)),nL3=9,mL3= 1,n2.3= 3,m2.3= 4,lbw2.3= 7)。 图11示出了在1百万的词汇大小的情况下应用到大词汇连续语音识别的使用现有技 术方案的准确性和解码速度与本发明的准确性和解码精度的数据比较。1M词汇评估结果 (Eval.set:WSJ 5K nov'92+WSJ 20k nov' 93(543 个句子),n2.3=n3.4= 3,m2.3= m3.4 = 24); 图12示出了在把本发明应用到大词汇连续语音识别的任务的实验中关于处理时间每 计算短语的比率的数据。(说词汇,%4=3,1113.4=24) ; 图13示出了用于如在本发明中所使用的"并行原子合并和排序"方法的输入和输出。 输入包括L个排序列表(Si,…,SJ,而输出是单个排序列表(T); 图14示出了用来在如本发明中所使用的"原子合并和排序"方法中存储部分假设信息 的数据结构; 图15示出了用在如本发明中所使用的"原子合并和排序"方法中的数据结构和函数的 概览。函数"merge-and-sort(〈sourcelist〉,〈targetlist〉)"针对需要合并的所有 L个 排序列表以,…,SJ ; 图16示出了如在本发明中所使用的"并行原子合并和排序"方法的示意图; 图17示出了如在本发明中所使用的转变为"快速和存储器高效查找"架构的语言模型 的示例; 图18示出了在如本发明中所使用的"快速和存储器高效查找"架构的情况下提取概率 (针对给定历史和输出标志)的过程的示意图; 图19示出了通过在如本发明中所使用的"快速和存储器高效查找"架构中选择最适当 的数据结构(HASH-MAP, STATIC ARRAY, BINARY SEARCH TREE, single INTEGER)来产生存储 器高效模型的过程的示意图; 图20示出了在"快速和存储器高效查找"架构中在存储器优化之前外出弧和状态数目 的数据比较,其中是在1百万字词汇大小的情况下被应用到大词汇连续语音识别的任务; 图21示出了存储器足迹与外出弧数目的数据比较以在"快速和存储器高效查找"架构 中使用二进制搜索树,如被应用到达词汇连续语音识别的任务; 图22示出了应用到大词汇连续语音识别任务的现有技术方案(即,KenL
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1