CN114662485A - 一种翻译模型压缩方法、翻译方法及相关装置 - Google Patents
一种翻译模型压缩方法、翻译方法及相关装置 Download PDFInfo
- Publication number
- CN114662485A CN114662485A CN202210344547.8A CN202210344547A CN114662485A CN 114662485 A CN114662485 A CN 114662485A CN 202210344547 A CN202210344547 A CN 202210344547A CN 114662485 A CN114662485 A CN 114662485A
- Authority
- CN
- China
- Prior art keywords
- interval
- quantization
- vocabulary
- translation model
- vector
- 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.)
- Pending
Links
Images
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/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本说明书一个或多个实施例公开了一种翻译模型压缩方法、翻译方法及相关装置,该方法包括:从目标翻译模型中提取词表向量集合,基于词表向量集合映射的正态分布结果确定量化区间,根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将量化区间划分为与区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号,分别将每个量化区间段内包含的词表向量的元素对应的高比特位的原值,用对应的量化区间段的高比特位的区间编号进行替换,并将以区间编号表示的词表向量写入目标翻译模型。从而,实现对目标翻译模型的压缩。
Description
技术领域
本文件涉及人工智能技术领域,尤其涉及一种翻译模型压缩方法、翻译方法及相关装置。
背景技术
随着机器翻译技术的不断发展,在线翻译得到广泛应用。同时,随着业务的升级,离线翻译的应用场景需求也越来越多,诸如扫读笔、翻译机、同声传译耳机等终端设备,通常是在无网或者弱网环境下使用到翻译功能。
但是这类终端设备的内存资源普遍受限,而且终端设备上的内存通常由***模块、翻译模块、光学字符识别模块、人机对话模块等共享,且内存占用较大。
目前,业界提出较多针对翻译模型的压缩方案,但是,由于压缩方法的不合理,虽然可以降低内存占用,但同时也容易给翻译质量带来较大损失。
发明内容
本说明书一个或多个实施例的目的是提供一种翻译模型压缩方法、翻译方法及相关装置,以通过词表量化的方式实现对翻译模型的压缩,在保证翻译质量受损较小的前提下,减小翻译模型对内存的占用。
为解决上述技术问题,本说明书一个或多个实施例是这样实现的:
第一方面,提出了一种翻译模型压缩方法,包括:
从训练得到的目标翻译模型中提取词表向量集合,其中,所述词表向量集合中的词表向量的元素呈正态分布;
基于所述词表向量集合映射的正态分布结果确定量化区间;
根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号;
分别将每个量化区间段内包含的词表向量的元素对应的原值用对应的量化区间段的区间编号进行替换,并将以区间编号表示的词表向量写入所述目标翻译模型;
其中,所述区间编号的比特位小于所述原值的比特位。
第二方面,提出了一种翻译方法,包括:
确定待翻译的目标原文;
基于所述目标原文从目标翻译模型中查找该目标原文所包含的至少一个词表中每个词表对应的词表向量,其中,所述目标翻译模型中保存的词表向量是利用第一方面所述的翻译模型压缩方法进行量化处理后以区间编号表示的词表向量;
根据所述词表向量和本地保存的向量对应关系,反量化确定该词表向量中各元素的终值,其中,所述对应关系是通过第一方面所述的翻译模型压缩方法预先保存的,且反量化确定的词表向量中各元素的终值与原值的比特位相同;
将所述目标原文所包含的每个词表反量化确定的终值输入所述目标翻译模型进行推理预测,并输出翻译结果。
第三方面,提出了一种翻译模型压缩装置,包括:
提取模块,从训练得到的目标翻译模型中提取词表向量集合,其中,所述词表向量集合中的词表向量的元素呈正态分布;
确定模块,基于所述词表向量集合映射的正态分布结果确定量化区间;
划分模块,根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号;
量化模块,分别将每个量化区间段内包含的词表向量的元素对应的原值用对应的量化区间段的区间编号进行替换,并将以区间编号表示的词表向量写入所述目标翻译模型;
其中,所述区间编号的比特位小于所述原值的比特位。
第四方面,提出了一种翻译装置,包括:
第一确定模块,确定待翻译的目标原文;
查找模块,基于所述目标原文从目标翻译模型中查找该目标原文所包含的至少一个词表中每个词表对应的词表向量,其中,所述目标翻译模型中保存的词表向量是利用第一方面所述的翻译模型压缩方法进行量化处理后以区间编号表示的词表向量;
第二确定模块,根据所述词表向量和本地保存的向量对应关系,反量化确定该词表向量中各元素对应的终值,其中,所述向量对应关系是通过第一方面所述的翻译模型压缩方法预先保存的,且反量化确定的词表向量中各元素的终值与原值的比特位相同;
翻译模块,将所述目标原文所包含的每个词表反量化确定的终值输入所述目标翻译模型进行推理预测,并输出翻译结果。
第五方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的翻译模型压缩方法,或者,第二方面所述的翻译方法。
第六方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的翻译模型压缩方法,或者,第二方面所述的翻译方法。
由以上本说明书一个或多个实施例提供的技术方案可见,将从目标翻译模型提取的高比特位的词表向量进行量化处理,得到低比特位的词表向量,以实现对目标翻译模型压缩的目的,从而,减小目标翻译模型在***内存的占用空间。而且,该压缩方案不涉及模型网络计算权重的改变,因此,对后续翻译质量的影响较小。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对一个或多个实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的一种翻译模型压缩方法的步骤流程图。
图2是本说明书实施例提供的一种翻译方法的步骤流程图。
图3是本说明书实施例提供的词表向量中元素映射得到的正态分布示意图。
图4是本说明书实施例提供的一种翻译模型压缩装置的结构示意图。
图5是本说明书实施例提供的一种翻译装置的结构示意图。
图6是本说明书的一个实施例提供的电子设备的结构示意图。
图7是本说明书的另一个实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的一个或多个实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
基于对终端设备在离线翻译业务场景的需求以及业务升级,终端设备的内存资源占用备受关注。为了合理规划终端设备的内存占用,尤其针对内存受限的终端设备,一般会倾向于对终端设备上使用的翻译模型进行压缩,降低对***内存资源的占用。目前所提出的翻译模型压缩方案虽然可以在一定程度上降低***内存资源的占用,但是,由于压缩方案中均涉及到翻译模型内部的网络计算,尤其是网络计算权重,因此,会对翻译质量产生较大影响,无法保证较高的翻译质量和准确性。
为此,本说明书实施例提出了一种翻译模型压缩方案,考虑到词表向量占据翻译模型总空间大小的一半,因此,通过将高比特位的词表向量进行量化处理,得到低比特位的词表向量以实现对翻译模型压缩的目的,降低了翻译模型对***内存的占用。由于词表向量对翻译模型内部的网络计算的影响较小,几乎不涉及对网络计算权重的改变,因此,对最终的翻译质量影响较小。
应理解,在本说明书实施例中,对词表向量进行量化处理是指将高比特位的词表向量转换为低比特位的词表向量,从而实现对词表向量的轻量化,进而将翻译模型轻量化。
下面通过具体的实施例对本说明书所涉及的技术方案进行详述。
实施例一
参照图1所示,为本说明书实施例提供的一种翻译模型压缩方法的步骤流程图,该压缩方法的执行主体可以是具有一定计算和处理能力的硬件设备(例如,智能手机、个人电脑、穿戴设备、平板电脑等)或者软件装置(例如,集成在前述各类硬件设备上的客户端或软件模块组合),本说明书并不对此进行限制。所述翻译模型压缩方法可以包括以下步骤:
步骤102:从训练得到的目标翻译模型中提取词表向量集合,其中,所述词表向量集合中的词表向量的元素呈正态分布。
词表向量(Words Embedding)是翻译模型中源文词表和目标端词表分别向量化后的矩阵取值。在一个已训练好的目标翻译模型中,所包含的词表的数目可能较多,相应地,词表向量的数目也比较多,因此,这些词表向量可以组合为词表向量集合存储在目标翻译模型中。
应理解,一个词表向量可以包含M个特征维度(即元素),假如该目标翻译模型中有6000个词表,而每个词表对应的词表向量是512维,那么,该目标模型中就会有6000×512个元素构成的特征维度。将这些词表向量映射到坐标系中,词表向量所对应元素的分布区间较为集中,一般会呈正态分布。其实,这里所指的呈正态分布,并不是标准正态分布,只是一个趋势,这些词表向量所包含元素的分布趋向于正态分布。而本说明书实施例中,以呈正态分布为例进行说明。
步骤104:基于所述词表向量集合映射的正态分布结果确定量化区间。
在本说明书实施例中,可以基于词表向量集合映射的正态分布中,选择满足预设约束条件的词表向量分布区间作为量化区间。其中,预设约束条件可以根据业务需求进行灵活设定,本说明书实施例分别以选择词表向量集合中全部词表向量和选择词表向量集中程度满足约束子条件作为预设约束条件的不同选择举例,从正态分布结果中选择满足预设约束条件的词表向量分布区间作为量化区间。
--预设约束条件1是以选择词表向量集合中全部词表向量对应的分布区间。
相应地,当基于所述词表向量集合映射的正态分布中,选择满足预设约束条件1的词表向量分布区间作为量化区间时,可以基于所述词表向量集合映射的正态分布情况,选择全部词表向量所对应的词表向量分布区间作为量化区间,其中,所述量化区间的最大边界为所述词表向量集合中最大元素的原值,最小边界为所述词表向量集合中最小元素的原值。
举例说明,假设词表向量集合映射得到的正态分布结果中,词表向量集合中元素所在词表向量分布区间为[-0.809,0.758],那么,若以预设约束条件1作为确定条件,则选择词表向量集合中全部词表向量所对应的词表向量分布区间,即将[-0.809,0.758]作为量化区间。从而,对整个词表向量集合中词表向量均进行后续的量化压缩处理。
虽然上述以预设约束条件1确定的量化区间可以覆盖全部词表向量集合中词表向量,扩大压缩范围,更大程度的提升压缩效果,降低翻译模型占用问题。但是,考虑到词表向量集合中包含的词表向量较多,每个词表向量中元素又很多,而这些词表向量中元素是以正态分布的,大部分元素都集中分布在某个分布区间。所以,可以考虑以预设约束条件2作为选择条件,从正态分布结果中选择词表向量集中程度较为集中的分布区间作为量化区间,从而合理确定需要进行压缩的量化区间,避免压缩的量化区间范围过大导致的低效压缩,以及减小压缩的量化区间内元素分布较为分散而导致的精度损失。
--预设约束条件2是选择词表向量集中程度满足约束子条件的词表向量分布区间。
相应地,当基于所述词表向量集合映射的正态分布中,选择满足预设约束条件的词表向量分布区间作为量化区间时,可以基于所述词表向量集合映射的正态分布情况,从中选择词表向量集中程度满足约束子条件的词表向量分布区间作为量化区间;其中,所述约束子条件可以包括:词表向量分布区间的最大边界处的元素的取值满足第一阈值和/或最小边界处的元素的取值满足第二阈值;或者,词表向量分布区间的最大边界处的元素的密度满足第三阈值和/或最小边界处的元素的密度满足第四阈值。
举例说明,假设词表向量集合映射得到的正态分布结果中,词表向量集合中元素所在词表向量分布区间为[-0.809,0.758],那么,若以预设约束条件2作为确定条件,则当约束子条件是量化区间的最大边界处的元素的取值满足第一阈值,确定量化区间可以是[-0.5,0.758],或者,当约束子条件是量化区间的最小边界处的元素的取值满足第二阈值,确定量化区间可以是[-0.809,0.6],或者,当约束子条件是量化区间的最大边界处的元素的取值满足第一阈值且最小边界处的元素的取值满足第二阈值,确定量化区间为[-0.5,0.6]。这里的第一阈值以-0.5为例,第二阈值以0.6为例进行说明,其实,这里的第一阈值和第二阈值可以根据正态分布结果分析确定的元素分布集中程度确定,一般情况下,词表向量集合中大部分元素都默认分布在[-0.5,0.5],该区间内的元素分布较为集中,大约占全部词表向量的60%-80%以上,而其它分布区间的元素分布较为分散,因此,可以由此分析确定第一阈值和第二阈值。
当约束子条件是词表向量分布区间的最大边界处的元素的密度满足第三阈值,确定量化区间可以是[-0.6,0.758],或者,当约束子条件是词表向量分布区间的最小边界处的元素的密度满足第四阈值,确定量化区间可以是[-0.809,0.7],或者,当约束子条件是词表向量分布区间的最大边界处的元素的密度满足第三阈值,且最小边界处的元素的密度满足第四阈值,确定量化区间可以是[-0.6,0.7]。这里的第三阈值以-0.6为例,第四阈值以0.7为例进行说明,其实,这里的第三阈值和第四阈值可以根据正态分布结果分析确定的元素分布集中程度确定,一般情况下,词表向量集合中大部分元素都集中分布在[-0.6,0.7],该区间内,每个节点处的元素的密度都比较大,例如,占据元素总和的20%以上,而该区间以外的分布区间,每个节点处的元素的密度较小,分散较为零星。
应理解,在本说明书实施例中,第一阈值和第二阈值的取值可以相等,也可以不等。具体可根据每个待量化处理的翻译模型中词表向量集合的元素分布情况确定,在此不做具体限定。同理,第三阈值和第四阈值也可以相等或不等。即所述量化区间是对称分布区间,或者,非对称分布区间。
在此需要强调的是,第一阈值、第二阈值、第三阈值以及第四阈值,可以根据经验值进行设定,也可以根据当次业务需求进行灵活调整,只要保证阈值所确定的量化区间的元素分布(这里可以简单暴力的理解为词表向量分布)较为集中即可。
步骤106:根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号。
通常词表向量在翻译模型训练后的精度为32位的浮点数,而量化过程就是要把32位的高精度映射成低精度的值,如映射成8位或者16位的整型,不同量化精度带来的精度损失和内存压缩效果也不一样,量化的精度越低,内存节省越多,但通常带来的质量损失也越大。而在本说明书实施例中,量化精度可以根据当前训练后的翻译模型中词表向量的各元素的原值的精度,合理选择比当前原值的比特位小的精度作为量化精度,具体选择方式不做限定,可根据需求灵活选择。
本说明书实施例中,在确定了量化区间之后,可以基于量化精度计算得到的区间段数目将量化区间进行等分得到多个量化区间段。同时,为每个量化区间段分配一个区间编号以唯一标识该量化区间段。该区间编号可以是数字或字符或字母或数字、字符、字母的不同组合。一种可选的实施方式,该区间编号是数字,且连续区间段分别以连续数字标识。
下面基于上述预设约束条件确定的量化区间为例,对步骤106的具体实现进行详述说明。
对应基于预设约束条件1确定的量化区间,定义区间段数目为N,且所述N为正整数;则可以将确定的量化精度作为底数2的指数进行计算,并对计算结果减1后得到待划分的区间段数目N;按照等分的方式将所述量化区间均匀划分为N个量化区间段,并使用0至N-1中每个正整数为每个量化区间段分别赋予一个区间编号。
举例说明,假设元素的原值是32位浮点数,则确定的量化精度可以是8位整型,进而,计算区间段数目为28-1=255个。然后可以将量化区间均匀划分为255个量化区间段,并使用0-254分别为每个量化区间段赋予区间编号,例如,可以从左至右开始,第一个量化区间段的区间编号为0,第二个量化区间段的区间编号为1,第三个量化区间段的区间编号为2……,第255个量化区间段的区间编号为254。
对应基于预设约束条件2确定的量化区间,同样定义区间段数目为N,且所述N为正整数;则可以将确定的量化精度作为底数2的指数进行计算,并对计算结果减1后得到待划分的区间段数目N;按照等分的方式将所述量化区间均匀划分为N个量化区间段,并使用0至N-1中每个正整数为每个量化区间段分别赋予一个区间编号;以及,为所述量化区间以外的分布区间统一赋予特殊编号N。
举例说明,假设元素的原值是32位浮点数,则确定的量化精度可以是8位整型,进而,计算区间段数目为28-1=255个。然后可以将量化区间均匀划分为255个量化区间段,并使用0-254分别为每个量化区间段赋予区间编号。之后,考虑到使用预设约束条件2确定的量化区间仅是部分分布区间,因此,还需要对不需要进行量化的分布区间进行标识,这样,就可以使用255作为特殊编号对量化区间以外的分布区间进行统一标识。例如,量化区间内可以从左至右开始,第一个量化区间段的区间编号为0,第二个量化区间段的区间编号为1,第三个量化区间段的区间编号为2……,第255个量化区间段的区间编号为254。而量化区间以外的分布区间统一标识为特殊编号255。
步骤108:分别将每个量化区间段内包含的词表向量的元素对应的原值用对应的量化区间段的区间编号进行替换,并将以区间编号表示的词表向量写入所述目标翻译模型;其中,所述区间编号的比特位小于所述原值的比特位。
在为等分得到的每个量化区间段赋予区间编号之后,可以将每个量化区间段内包含的词表向量的元素对应的原值用对应的量化区间段的区间编号进行替换,例如,词表向量的某个元素(原值:0.3456)在区间编号128的量化区间段内,则将该词表向量的该元素替换为128进行表示,并将以区间编号表示的所有词表向量写入目标翻译模型。此时目标翻译模型中的词表向量已经由原来的浮点数替换为整数,比特位减小,因此,词表向量受到一定的压缩处理,进而,压缩了目标翻译模型,也就减小了目标翻译模型在***内存的占用空间。而且,如前所述,该压缩翻译模型的方案不会涉及网络计算权重,因此,不会对计算网络产生过多影响,从而,保证压缩后的翻译质量损失在容忍范围内。
进一步,在本说明书实施例中,针对使用预设约束条件2确定量化区间的情况,在将以区间编号表示的词表向量写入所述目标翻译模型之后,针对量化区间以外的分布区间,可以分别将量化区间以外的分布区间包含的词表向量以对应的原值写入所述目标翻译模型,并使用特殊编号N进行统一标记。也就是说,假如量化区间为[-0.5,0.5],那么,(-∞,-0.5)以及(0.5,+∞)这些分布区间的词表向量中元素均按照原值重新写入目标翻译模型,即不做量化处理。但是,可以将落入这些分布区间的词表向量统一用一个特殊编号标记,例如,上述提及的255。其实,也可以使用其它编号,只要在方法中定义该编号是特殊标记量化区间以外的分布区间即可。
应理解,在本说明书实施例中,上述量化压缩方案是将高比特位的词表向量转换为低比特位,那么,在后续使用词表向量进行网络计算时,可以将翻译模型中以低比特位的区间编号表示的词表向量反量化回原比特位的词表向量,因此,在将以区间编号表示的词表向量写入所述目标翻译模型之后,可以保存每个量化区间段与分配的区间编号的对应关系,其中,所述量化区间段是以词表向量的元素对应的原值为边界的词表向量分布区间。
需要说明的是,上述对应关系可以保存在***内存以外的存储空间,即不会存入翻译模型中。具体可以是以一种关系表或非表格方式存储,本说明书实施例对此不做限定。
通过上述技术方案,将从目标翻译模型提取的高比特位的词表向量进行量化处理,得到低比特位的词表向量,以实现对目标翻译模型压缩的目的,从而,减小目标翻译模型在***内存的占用空间。而且,该压缩方案不涉及模型网络计算权重的改变,因此,对后续翻译质量的影响较小。
实施例二
参照图2所示,为本说明书实施例提供的一种翻译方法的步骤流程图,该翻译方法的执行主体可以是具有一定计算和处理能力的硬件设备(例如,智能手机、个人电脑、穿戴设备、平板电脑等)或者软件装置(例如,集成在前述各类硬件设备上的客户端或软件模块组合),其实,该翻译方法的执行主体可以与执行实施例一中翻译模型压缩方法的执行主体相同,也可以不同,本说明书并不对此进行限制。所述翻译方法可以包括以下步骤:
步骤202:确定待翻译的目标原文。
该目标原文可以是与目标翻译模型中词表向量所包含源文语种类型相同的任意语段。
步骤204:基于所述目标原文从目标翻译模型中查找该目标原文所包含的至少一个词表中每个词表对应的词表向量,其中,所述目标翻译模型中保存的词表向量是利用步骤102-步骤108所述的翻译模型压缩方法进行量化处理后以区间编号表示的词表向量。
步骤204的具体实现可以按照现有的词表查找方式执行,依次从目标翻译模型中查找该目标原文所包含的每个词表对应的词表向量。该目标翻译模型中保存的词表向量是经过实施例一所述的量化压缩方式处理得到,具体参照实施例一中描述,在此不做赘述。
步骤206:根据所述词表向量和本地保存的对应关系,反量化确定该词表向量中各元素的终值,其中,所述对应关系是步骤102-步骤108所述的翻译模型压缩方法预先保存的,且反量化确定的词表向量中各元素的终值与原值的比特位相同。
在查找到目标原文所包含词表对应的词表向量后,可以基于词表向量从本地保存的对应关系,反量化查找确定该词表向量中各元素的终值。其中所涉及的对应关系,是基于实施例一中所述的翻译模型压缩方案确定,具体参照实施例一中描述,在此不做赘述。
在本说明书实施例中,根据所述词表向量和本地保存的对应关系,反量化确定该词表向量中各元素对应的终值时,如果所述词表向量是以区间编号表示,则可以基于词表向量从本地保存的对应关系中,查找与该词表向量中各元素对应的区间编号相匹配的量化区间段;将量化区间段内符合预设规则的节点值确定为该区间编号对应的元素的终值。可选地,符合预设规则的节点值可以为量化区间段的最大边界值,或最小边界值,或中位数。其实,符合预设规则的节点值还可以是量化区间段内的其它任意值,在此不做限定。应理解,为了方便确定终值,可以为所有量化区间段统一符合预设规则的节点值,例如,统一将各量化区间段的中位数作为当前量化区间段的终值。
需要强调的是,反量化确定的终值的比特位与原值的比特位相同。例如,词表向量的元素的原值为32位浮点数,量化处理后以8位整型的区间编号表示,反量化处理后又以32位浮点数的终值表示。由此可见,虽然反量化后词表向量的元素的原值和终值可能会有一定误差,但是,对模型后期的推理计算的预测分布影响并不大。
如果所述词表向量是以特殊编号标记,则直接以该词表向量中各元素的原值确定为词表向量中各元素的终值。
步骤208:将所述目标原文所包含的每个词表反量化确定的终值输入所述目标翻译模型进行推理预测,并输出翻译结果。
通过以上技术方案,在翻译过程中,利用之前量化处理时保存的对应关系,将查找到的低比特位的词表向量反量化回高比特位的终值,虽然该终值可能与原值存在一定误差,但是,终值与原值的比特位相同,最终输入给翻译模型后,将有大量终值参与网络模型计算,该误差是可以忽略的,推理预测得到的预测结果不会有太大偏差。从而,在实现翻译模型压缩的情况下,保证翻译质量损失较小,尤其针对内存受限设备而言,可提升整体内存的合理分配,提高翻译效率。
实施例三
下面以一个具体的实例对上述翻译模型压缩方案以及翻译方案进行详述。
假设已训练完成目标翻译模型,该目标翻译模型中词表向量中元素分布特点满足:呈现正态分布,聚集在0附近;分布区间范围小,分布集中。
参照图3所示,首先,将词表向量中元素映射到图3所示的坐标系中,词表向量分布在一个开放的区间内。在实际项目中会集中分布在[-0.5,0.5]之间,一般选择较为集中的区间作为量化区间,这样会减小因为数据的离散导致量化精度损失。
通常词表向量在模型训练后的精度为32位的浮点数,而量化过程就是要把32位的高精度映射成低精度的值,如映射成8位或者16位的整型,不同量化精度带来的精度损失和内存压缩效果也不一样,量化的精度越低,内存节省越多,但通常带来的质量损失也越大。
量化过程:
这里可以选定[-0.5,0.5]作为量化区间。这里可以确定量化精度为8位整型。将量化区间[-0.5,0.5]等分位28-1=255份,得到255个量化区间段。并分别为每个量化区间段分配一个区间编号index,例如,1-254。量化区间[-0.5,0.5]以外的其它分布区间分配一个特殊编号255。
针对位于量化区间的词表向量的元素,将原值w替换为区间编号index保存至翻译模型。例如,int8(index)替换fp32(w),保存至翻译模型,具体如图中,假设int8(102)替换fp32(-0.1)写入翻译模型;再如,int(204)替换fp32(0.3)写入翻译模型。
针对位于量化区间以外的词表向量的元素,将原值w直接存储翻译模型,并标记特殊编号index。例如,fp32(w)直接保存至翻译模型,并标记index,这里标记的index为255。
这样,就完成了对词表向量的量化处理,即实现对翻译模型的压缩。
反量化过程:
在确定待翻译的目标原文后,从上述压缩处理后的翻译模型中查找该目标原文中词表的词表向量。在实际计算时可以根据index取值来反量化回fp32位的终值;如果index是特殊编号255,则可以直接读取出fp32词表向量的原值作为终值,如果不是特殊编号,则根据index的值取出对应量化区间段的fp32位的终值,这个终值可以是区间的左边界、右边界,也可以是区间的中位数,这个终值会与原值有一定误差,但是对翻译模型后期的推理计算的预测分析影响并不大,即对最终的翻译结果的双语评价指标bleu值影响较小,但是在内存上却节约了很多,由fp32量化到int8,能节约近3/4的内存,这对内存资源受限的设备而言作用很大。而且,在实际业务中如果词表向量越集中,确定的量化区间则越小,进而,对整体翻译质量损失越小。
上述技术方案的实现过程中,基于词表向量中元素的分布集中特性及翻译模型的特性,对词表向量做量化进行翻译模型压缩,以及反量化利用压缩后翻译模型进行推理预测,整个过程不对翻译模型的网络权重做任何改动,就可以实现对翻译模型的明显压缩,同时对翻译质量的损失几乎可以忽略不计,整个压缩过程较易实现,且有效规避了传统压缩方案对翻译质量损失较大的缺陷,从整体上也可以提升翻译效率。
实施例四
参照图4所示,为本说明书实施例提供的一种翻译模型压缩装置的结构示意图,该翻译模型压缩装置400可以包括:
提取模块402,从训练得到的目标翻译模型中提取词表向量集合,其中,所述词表向量集合中的词表向量的元素呈正态分布.
确定模块404,基于所述词表向量集合映射的正态分布结果确定量化区间。
划分模块406,根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号。
量化模块408,分别将每个量化区间段内包含的词表向量的元素对应的原值用对应的量化区间段的区间编号进行替换,并将以区间编号表示的词表向量写入所述目标翻译模型;其中,所述区间编号的比特位小于所述原值的比特位。
可选地,作为一个实施例,所述确定模块404在基于所述词表向量集合映射的正态分布结果确定量化区间时,具体用于基于所述词表向量集合映射的正态分布中,选择满足预设约束条件的词表向量分布区间作为量化区间。
在本说明书实施例的一种具体实现方式中,所述预设约束条件包括:词表向量集合中全部词表向量;则所述确定模块404在基于所述词表向量集合映射的正态分布中,选择满足预设约束条件的词表向量分布区间作为量化区间时,具体用于基于所述词表向量集合映射的正态分布情况,选择全部词表向量所对应的词表向量分布区间作为量化区间,其中,所述量化区间的最大边界为所述词表向量集合中最大元素的原值,最小边界为所述词表向量集合中最小元素的原值。
在本说明书实施例的再一种具体实现方式中,所述预设约束条件包括:词表向量集中程度满足约束子条件;则所述确定模块404在基于所述词表向量集合映射的正态分布中,选择满足预设约束条件的词表向量分布区间作为量化区间时,具体用于基于所述词表向量集合映射的正态分布情况,从中选择词表向量集中程度满足约束子条件的词表向量分布区间作为量化区间;其中,所述约束子条件包括:词表向量分布区间的最大边界处的元素的取值满足第一阈值和/或最小边界处的元素的取值满足第二阈值;或者,词表向量分布区间的最大边界处的元素的密度满足第三阈值和/或最小边界处的元素的密度满足第四阈值。
在本说明书实施例的再一种具体实现方式中,所述区间段数目为N,且所述N为正整数;则所述划分模块406在根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号时,具体用于将确定的量化精度作为底数2的指数进行计算,并对计算结果减1后得到待划分的区间段数目N;按照等分的方式将所述量化区间均匀划分为N个量化区间段,并使用0至N-1中每个正整数为每个量化区间段分别赋予一个区间编号。
在本说明书实施例的再一种具体实现方式中,所述区间段数目为N,且所述N为正整数;则所述划分模块406在根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号时,具体用于将确定的量化精度作为底数2的指数进行计算,并对计算结果减1后得到待划分的区间段数目N;按照等分的方式将所述量化区间均匀划分为N个量化区间段,并使用0至N-1中每个正整数为每个量化区间段分别赋予一个区间编号;以及,为所述量化区间以外的分布区间统一赋予特殊编号N。
在本说明书实施例的再一种具体实现方式中,所述翻译模型压缩装置还包括:标记模块,在所述量化模块408将以区间编号表示的词表向量写入所述目标翻译模型之后,用于分别将所述量化区间以外的分布区间包含的词表向量以对应的原值写入所述目标翻译模型,并使用特殊编号N进行统一标记。
在本说明书实施例的再一种具体实现方式中,所述量化区间是对称分布区间,或者,非对称分布区间。
在本说明书实施例的再一种具体实现方式中,所述翻译模型压缩装置还包括:保存模块,在所述量化模块408将以区间编号表示的词表向量写入所述目标翻译模型之后,用于保存每个量化区间段与分配的区间编号的对应关系,其中,所述量化区间段是以词表向量的元素对应的原值为边界的词表向量分布区间。
通过上述技术方案,基于该翻译模型压缩装置,可以将翻译模型中高比特位的词表向量量化处理为低比特位的表示方式,以实现对翻译模型的压缩目的,减小翻译模型在***内存中的占用空间。尤其针对内存受限的设备而言,内存占用优化较为明显,提升机器翻译效率。而且,该压缩方案对模型网络计算权重影响较小甚至不会产生影响,因此,可以在实现对翻译模型压缩的情况下,保证翻译质量损失较小。
实施例五
参照图5所示,为本说明书实施例提供的一种翻译装置的结构示意图,该翻译装置500可以包括:
第一确定模块502,确定待翻译的目标原文;
查找模块504,基于所述目标原文从目标翻译模型中查找该目标原文所包含的至少一个词表中每个词表对应的词表向量,其中,所述目标翻译模型中保存的词表向量是利用实施例一中所述的翻译模型压缩方法进行量化处理后以区间编号表示的词表向量;
第二确定模块506,根据所述词表向量和本地保存的向量对应关系,反量化确定该词表向量中各元素对应的终值,其中,所述向量对应关系是通过实施例一中所述的翻译模型压缩方法预先保存的,且反量化确定的词表向量中各元素的终值与原值的比特位相同;
翻译模块508,将所述目标原文所包含的每个词表反量化确定的终值输入所述目标翻译模型进行推理预测,并输出翻译结果。
可选地,作为一个实施例,所述第二确定模块506在根据所述词表向量和本地保存的对应关系,反量化确定该词表向量中各元素对应的终值时,具体用于基于所述词表向量从本地保存的对应关系中,查找与该词表向量中各元素对应的区间编号相匹配的量化区间段;将所述量化区间段内符合预设规则的节点值确定为该区间编号对应的元素的终值。
在本说明书实施例的一种具体实现方式中,所述符合预设规则的节点值为所述量化区间段的最大边界值,或最小边界值,或中位数。
应理解,在本说明书实施例中,图5所示的翻译装置500可以与图4所示的翻译模型压缩装置400属于同一装置,或者不同装置,也可以两者集成在同一个电子设备中,以协同执行翻译业务。本说明书实施例并不对两者的关系构成进行限定。
通过以上技术方案,使用该翻译装置对目标原文进行词表查找,并将查找到的以量化后低比特位精度表示的词表向量反量化为高比特位的终值,并使用该终值表示的词表向量输入翻译模型进行推理预测,输出翻译结果。由于该翻译过程中使用的翻译模型的词表向量是量化处理后的,对***内存空间占用不大,给推理预测提供了足够的***内存。虽然反量化后得到的高比特位的终值,并不是词表向量中元素的原值,但是,终值和原值的比特位相同,且每个词表向量所包含的元素个数相对较多,因此,终值与原值之间的差别在后续进行模型网络计算时,基本可以忽略。这样,最终推理预测出的翻译结果不会存在太大偏差,保证翻译质量损失较小。
实施例六
图6是本说明书的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成翻译模型压缩装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
从训练得到的目标翻译模型中提取词表向量集合,其中,所述词表向量集合中的词表向量的元素呈正态分布;基于所述词表向量集合映射的正态分布结果确定量化区间;根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号;分别将每个量化区间段内包含的词表向量的元素对应的原值用对应的量化区间段的区间编号进行替换,并将以区间编号表示的词表向量写入所述目标翻译模型;其中,所述区间编号的比特位小于所述原值的比特位。
上述如本说明书图1和图3所示实施例揭示的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1和图3的方法,并实现相应装置在图1和图3所示实施例的功能,本说明书实施例在此不再赘述。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
图7是本说明书的一个实施例电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成翻译装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
确定待翻译的目标原文;基于所述目标原文从目标翻译模型中查找该目标原文所包含的至少一个词表中每个词表对应的词表向量,其中,所述目标翻译模型中保存的词表向量是利用实施例一所述的翻译模型压缩方法进行量化处理后以区间编号表示的词表向量;根据所述词表向量和本地保存的对应关系,反量化确定该词表向量中各元素的终值,其中,所述对应关系是通过实施例一所述的翻译模型压缩方法预先保存的,且反量化确定的词表向量中各元素的终值与原值的比特位相同;将所述目标原文所包含的每个词表反量化确定的终值输入所述目标翻译模型进行推理预测,并输出翻译结果。
上述如本说明书图2和图3所示实施例揭示的装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2和图3的方法,并实现相应装置在图2和图3所示实施例的功能,本说明书实施例在此不再赘述。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1-3所示实施例的方法,并具体用于执行以下方法:
从训练得到的目标翻译模型中提取词表向量集合,其中,所述词表向量集合中的词表向量的元素呈正态分布;基于所述词表向量集合映射的正态分布结果确定量化区间;根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号;分别将每个量化区间段内包含的词表向量的元素对应的原值用对应的量化区间段的区间编号进行替换,并将以区间编号表示的词表向量写入所述目标翻译模型;其中,所述区间编号的比特位小于所述原值的比特位。
或者;
确定待翻译的目标原文;基于所述目标原文从目标翻译模型中查找该目标原文所包含的至少一个词表中每个词表对应的词表向量,其中,所述目标翻译模型中保存的词表向量是利用实施例一所述的翻译模型压缩方法进行量化处理后以区间编号表示的词表向量;根据所述词表向量和本地保存的对应关系,反量化确定该词表向量中各元素的终值,其中,所述对应关系是通过实施例一所述的翻译模型压缩方法预先保存的,且反量化确定的词表向量中各元素的终值与原值的比特位相同;将所述目标原文所包含的每个词表反量化确定的终值输入所述目标翻译模型进行推理预测,并输出翻译结果。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
上述一个或多个实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
Claims (16)
1.一种翻译模型压缩方法,包括:
从训练得到的目标翻译模型中提取词表向量集合,其中,所述词表向量集合中的词表向量的元素呈正态分布;
基于所述词表向量集合映射的正态分布结果确定量化区间;
根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号;
分别将每个量化区间段内包含的词表向量的元素对应的原值用对应的量化区间段的区间编号进行替换,并将以区间编号表示的词表向量写入所述目标翻译模型;
其中,所述区间编号的比特位小于所述原值的比特位。
2.如权利要求1所述的翻译模型压缩方法,基于所述词表向量集合映射的正态分布结果确定量化区间,包括:
基于所述词表向量集合映射的正态分布中,选择满足预设约束条件的词表向量分布区间作为量化区间。
3.如权利要求2所述的翻译模型压缩方法,所述预设约束条件包括:词表向量集合中全部词表向量;
基于所述词表向量集合映射的正态分布中,选择满足预设约束条件的词表向量分布区间作为量化区间,包括:
基于所述词表向量集合映射的正态分布情况,选择全部词表向量所对应的词表向量分布区间作为量化区间,其中,所述量化区间的最大边界为所述词表向量集合中最大元素的原值,最小边界为所述词表向量集合中最小元素的原值。
4.如权利要求2所述的翻译模型压缩方法,所述预设约束条件包括:词表向量集中程度满足约束子条件;
基于所述词表向量集合映射的正态分布中,选择满足预设约束条件的词表向量分布区间作为量化区间,包括:
基于所述词表向量集合映射的正态分布情况,从中选择词表向量集中程度满足约束子条件的词表向量分布区间作为量化区间;
其中,所述约束子条件包括:词表向量分布区间的最大边界处的元素的取值满足第一阈值和/或最小边界处的元素的取值满足第二阈值;或者,词表向量分布区间的最大边界处的元素的密度满足第三阈值和/或最小边界处的元素的密度满足第四阈值。
5.如权利要求1-3任一项所述的翻译模型压缩方法,所述区间段数目为N,且所述N为正整数;
则根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号,包括:
将确定的量化精度作为底数2的指数进行计算,并对计算结果减1后得到待划分的区间段数目N;按照等分的方式将所述量化区间均匀划分为N个量化区间段,并使用0至N-1中每个正整数为每个量化区间段分别赋予一个区间编号。
6.如权利要求1-2、4任一项所述的翻译模型压缩方法,所述区间段数目为N,且所述N为正整数;
则根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号,包括:
将确定的量化精度作为底数2的指数进行计算,并对计算结果减1后得到待划分的区间段数目N;按照等分的方式将所述量化区间均匀划分为N个量化区间段,并使用0至N-1中每个正整数为每个量化区间段分别赋予一个区间编号;以及,为所述量化区间以外的分布区间统一赋予特殊编号N。
7.如权利要求6所述的翻译模型压缩方法,在将以区间编号表示的词表向量写入所述目标翻译模型之后,所述方法还包括:
分别将所述量化区间以外的分布区间包含的词表向量以对应的原值写入所述目标翻译模型,并使用特殊编号N进行统一标记。
8.如权利要求1-4任一项所述的翻译模型压缩方法,所述量化区间是对称分布区间,或者,非对称分布区间。
9.如权利要求1-4任一项所述的翻译模型压缩方法,在将以区间编号表示的词表向量写入所述目标翻译模型之后,所述方法还包括:
保存每个量化区间段与分配的区间编号的对应关系,其中,所述量化区间段是以词表向量的元素对应的原值为边界的词表向量分布区间。
10.一种翻译方法,包括:
确定待翻译的目标原文;
基于所述目标原文从目标翻译模型中查找该目标原文所包含的至少一个词表中每个词表对应的词表向量,其中,所述目标翻译模型中保存的词表向量是利用权利要求1-9任一项所述的翻译模型压缩方法进行量化处理后的词表向量;
根据所述词表向量和本地保存的对应关系,反量化确定该词表向量中各元素的终值,其中,所述对应关系是通过权利要求9所述的翻译模型压缩方法预先保存的,且反量化确定的词表向量中各元素的终值与原值的比特位相同;
将所述目标原文所包含的每个词表反量化确定的终值输入所述目标翻译模型进行推理预测,并输出翻译结果。
11.如权利要求10所述的翻译方法,根据所述词表向量和本地保存的对应关系,反量化确定该词表向量中各元素对应的终值,包括:
如果所述词表向量是以区间编号表示,则基于所述词表向量从本地保存的对应关系中,查找与该词表向量中各元素对应的区间编号相匹配的量化区间段;将所述量化区间段内符合预设规则的节点值确定为该区间编号对应的元素的终值;
如果所述词表向量是以特殊编号标记,则直接以该词表向量中各元素的原值确定为词表向量中各元素的终值。
12.如权利要求11所述的翻译方法,所述符合预设规则的节点值为所述量化区间段的最大边界值,或最小边界值,或中位数。
13.一种翻译模型压缩装置,包括:
提取模块,从训练得到的目标翻译模型中提取词表向量集合,其中,所述词表向量集合中的词表向量的元素呈正态分布;
确定模块,基于所述词表向量集合映射的正态分布结果确定量化区间;
划分模块,根据确定的量化精度,计算待划分的区间段数目,按照等分的方式将所述量化区间划分为与所述区间段数目相同的多个量化区间段,并为每个量化区间段分配一个唯一区间编号;
量化模块,分别将每个量化区间段内包含的词表向量的元素对应的原值用对应的量化区间段的区间编号进行替换,并将以区间编号表示的词表向量写入所述目标翻译模型;
其中,所述区间编号的比特位小于所述原值的比特位。
14.一种翻译装置,包括:
第一确定模块,确定待翻译的目标原文;
查找模块,基于所述目标原文从目标翻译模型中查找该目标原文所包含的至少一个词表中每个词表对应的词表向量,其中,所述目标翻译模型中保存的词表向量是利用权利要求1-9任一项所述的翻译模型压缩方法进行量化处理后以区间编号表示的词表向量;
第二确定模块,根据所述词表向量和本地保存的向量对应关系,反量化确定该词表向量中各元素对应的终值,其中,所述向量对应关系是通过权利要求9所述的翻译模型压缩方法预先保存的,且反量化确定的词表向量中各元素的终值与原值的比特位相同;
翻译模块,将所述目标原文所包含的每个词表反量化确定的终值输入所述目标翻译模型进行推理预测,并输出翻译结果。
15.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求1-9任一项所述的翻译模型压缩方法,或者,权利要求10-12任一项所述的翻译方法。
16.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1-9任一项所述的翻译模型压缩方法,或者,权利要求10-12任一项所述的翻译方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344547.8A CN114662485A (zh) | 2022-03-31 | 2022-03-31 | 一种翻译模型压缩方法、翻译方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344547.8A CN114662485A (zh) | 2022-03-31 | 2022-03-31 | 一种翻译模型压缩方法、翻译方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114662485A true CN114662485A (zh) | 2022-06-24 |
Family
ID=82033547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210344547.8A Pending CN114662485A (zh) | 2022-03-31 | 2022-03-31 | 一种翻译模型压缩方法、翻译方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114662485A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873789A (zh) * | 2024-03-13 | 2024-04-12 | 之江实验室 | 一种基于分段量化的检查点写入方法及装置 |
-
2022
- 2022-03-31 CN CN202210344547.8A patent/CN114662485A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117873789A (zh) * | 2024-03-13 | 2024-04-12 | 之江实验室 | 一种基于分段量化的检查点写入方法及装置 |
CN117873789B (zh) * | 2024-03-13 | 2024-05-10 | 之江实验室 | 一种基于分段量化的检查点写入方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144817B2 (en) | Device and method for determining convolutional neural network model for database | |
CN111243571B (zh) | 文本的处理方法、装置、设备及计算机可读存储介质 | |
CN112287968A (zh) | 图像模型训练、图像处理方法、芯片、设备及介质 | |
CN114840327A (zh) | 多模态多任务的处理方法、设备及*** | |
CN109299276B (zh) | 一种将文本转化为词嵌入、文本分类方法和装置 | |
CN115203394A (zh) | 一种模型训练的方法、业务执行的方法及装置 | |
CN111507726B (zh) | 一种报文生成方法、装置及设备 | |
CN114662485A (zh) | 一种翻译模型压缩方法、翻译方法及相关装置 | |
CN114090740A (zh) | 意图识别方法、装置、可读介质及电子设备 | |
CN112380401A (zh) | 业务数据的核对方法和装置 | |
CN113408704A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN104021117A (zh) | 语言处理方法与电子设备 | |
CN112528598B (zh) | 基于预训练语言模型和信息论的自动化文本摘要评测方法 | |
CN116741197A (zh) | 多模态图像生成方法、装置、存储介质及电子设备 | |
CN116312459A (zh) | 语音合成方法、装置、电子设备及存储介质 | |
KR20230094696A (ko) | 추천시스템에서의 효율적인 행렬 분해를 위한 양자화 프레임워크 장치 및 학습 방법 | |
CN114926706A (zh) | 数据处理方法、装置及设备 | |
CN111639260B (zh) | 内容推荐方法及其装置、存储介质 | |
CN114841325A (zh) | 神经网络模型的数据处理方法、介质及电子设备 | |
CN109597884B (zh) | 对话生成的方法、装置、存储介质和终端设备 | |
CN114035804A (zh) | 代码转换方法、装置、介质和电子设备 | |
CN112926334A (zh) | 确定词表示向量的方法、装置及电子设备 | |
CN114817469B (zh) | 文本增强方法、文本增强模型的训练方法及装置 | |
US20220398413A1 (en) | Quantization method and device for neural network model, and computer-readable storage medium | |
CN111144066B (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 |