CN112257466A - 一种应用于小型机器翻译设备的模型压缩方法 - Google Patents
一种应用于小型机器翻译设备的模型压缩方法 Download PDFInfo
- Publication number
- CN112257466A CN112257466A CN202011212785.0A CN202011212785A CN112257466A CN 112257466 A CN112257466 A CN 112257466A CN 202011212785 A CN202011212785 A CN 202011212785A CN 112257466 A CN112257466 A CN 112257466A
- Authority
- CN
- China
- Prior art keywords
- model
- matrix
- parameters
- training
- binary
- 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
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
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开一种将机器翻译模型压缩至小型设备中的压缩方法,在大型计算设备中,为翻译模型中除嵌入层以外的参数矩阵W创建一个与W具有同样维度的且值为0或1的矩阵C;使用二值化后的参数进行模型训练;将模型中的参数量化为二值结果存入矩阵C中,对模型参数的梯度更新矩阵C;训练模型直到获得最优的矩阵C时停止训练,将矩阵C与其对应的参数矩阵W做点乘,得到新的参数矩阵W′;在小型机器翻译设备中使用剪枝得到的小模型将大幅提升小型机器翻译设备的翻译质量,并且可以拥有与原始模型相同的翻译速度。本发明压缩方法在机器翻译上使用二值网络学习剪枝结构,在学习矩阵C的同时固定模型参数,这使得可以在一个未训练的模型上找到一个较为有效的剪枝网络。
Description
技术领域
本发明涉及一种神经机器翻译模型压缩技术,具体为一种应用于小型机器翻译设备的模型压缩方法。
背景技术
机器翻译(Machine Translation或MT)又称为自动翻译,是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程。如今市场中被应用的翻译软件一般为在线翻译,具有翻译质量高的特点,但是这类翻译软件需要占用很大的内存空间。如果不能在保证翻译质量的前提下,压缩模型大小,那么例如手机、翻译机等等小型设备将无法在不接入互联网时为用户提供服务。因此压缩对现有的翻译模型进行压缩至关重要。
现今,使用神经网络进行机器翻译已经变得越来越普遍,在机器学习以及深度学习等技术的发展下,神经网络变得越来越复杂,其中的参数越来越多,同时使用其进行机器翻译的效果也越来越好。更多的参数,更深的网络就会带来更好的性能,这句话似乎已经成为研究者们的共识。但是随着参数越来越多,训练代价昂贵的问题就暴露出来了。虽然相比于大而稠密的网络,小而稀疏的网络在翻译的精度与质量上都不及大网络,但是小网络的训练时间与训练时所需要的计算资源都是远小于大网络的。所以随着网络变得越来越大的同时,也有研究者在思考如何将大网络变小或者从零训练一个与大网络有相似精度的小网络。这类希望降低模型参数量的方法被统称为模型压缩,常用的模型压缩方法有剪枝,量化,知识蒸馏以及因式分解。
剪枝作为一种优秀的模型压缩策略受到研究者的广泛青睐,它通过将模型中部分参数的值置为0来达到降低模型参数,加快训练速度的目的。在实现时,一般的方法是对模型中要剪枝的参数点成一个数值上非0即1的且与参数矩阵同样大小的剪枝矩阵,0表示剪枝模型中对应的连接,1表示保留模型中对应的连接。常用的剪枝方法可以按照剪枝矩阵是否有结构特点分为结构化剪枝和非结构化剪枝,也可以按照进行剪枝的阶段分为训练前剪枝、训练时剪枝和训练后剪枝。
在现有的剪枝技术中,对于判断哪些参数更加重要一般使用下述方式。第一种通过人为制定的、显示的评价标准来判断参数的重要性,例如在某些方法中,模型参数中较大的部分是更重要的,因为大值在做乘法时带来的变化也更大一些。第二种通过修改损失函数,在损失函数中加入正则化项来抑制模型中参数的大小。上述方法在实践上一般基于在剪枝、训练和微调之间循环迭代的训练策略,这导致虽然剪枝技术降低了模型的参数量,但是迭代训练又增大了模型的训练代价。第三种是在固定模型参数的同时,直接使用损失函数对剪枝矩阵的梯度,通过一次前馈与反馈学习剪枝结构,或是基于损失函数对剪枝矩阵的梯度生成剪枝结构。这种方法避免了为了获得剪枝结构而不断迭代的训练策略,但是却没有考虑模型当前的参数状态,直接使用剪枝矩阵的梯度对其更新并没有避免使用人为制定的规则,在这类方法的剪枝过程中依然保留了具有较大梯度的参数。
由于小型设备的便携性以及实时性,越来越多的用户选择使用小型翻译设备进行翻译。现有的小型机器翻译设备虽然可以完成翻译的功能,但是由于设备的计算资源和存储资源均受限,因此无法像在线翻译等翻译平台一样给用户提供更高质量的翻译结果和更多的翻译候选,影响了用户的体验。
发明内容
针对现有机器翻译中所使用的翻译模型中,由于参数量大,导致训练消耗大,难以部署等问题。本发明为将要解决的技术问题是提供一种应用于小型机器翻译设备的模型压缩方法,能够在随机初始化的模型上,寻找一个有效的剪枝结构,可以大幅度地压缩模型的大小。
为解决上述技术问题,本发明采用的技术方案是:
本发明公开一种应用于小型机器翻译设备的模型压缩方法,包括以下步骤:
1)在大型计算设备中,为翻译模型中除嵌入层以外的参数矩阵W创建一个与W具有同样维度的且值为0或1的矩阵c,矩阵c表示模型中参数二值化后的结果;
2)使用二值化后的参数进行模型训练;
3)固定模型中的参数,将模型中的参数量化为二值结果存入矩阵c中,通过损失函数对模型参数的梯度更新矩阵c;
4)训练模型直到获得最优的矩阵c时停止训练,得完成训练的模型,将矩阵c与其对应的参数矩阵W做点乘,得到新的参数矩阵W′;此时矩阵c表示是否对其对应的模型连接进行剪枝操作;
5)在小型机器翻译设备中使用剪枝得到的小模型将大幅提升小型机器翻译设备的翻译质量,并且可以拥有与原始模型相同的翻译速度。
矩阵c的初始化通过模型权重得到:
c=Bern(S(W))
其中Bern(·)为概率为p的伯努利采样,S(·)为Sigmoid函数,W表示模型中的参数;矩阵c与其对应的模型参数W的维度相同。
步骤2)使用优化后更适合二值信息传递的函数代替原本网络中的函数进行前馈与反馈训练,具体为:
使用二值化后的参数进行模型的训练,在使用模型的参数进行训练前,将模型的参数矩阵使用量化函数量化为二值的矩阵,量化函数的公式为:
W表示模型中原始的未量化的参数,round()函数会将输入的数字四舍五入为一个最接近的整数;
经过量化函数quantize()之后,模型中的参数W被转化为一个非0即1的数,在接下来的训练中使用量化后的参数进行模型前馈计算;
每次进行前馈计算之前,使用量化函数quantize()对矩阵c进行量化。
步骤3)通过损失函数对模型参数的梯度更新矩阵c,公式为:
使用此公式,计算损失函数对矩阵c的梯度,并使用该梯度更新矩阵c;
固定模型中的参数,将模型中的参数量化为二值结果存入矩阵c中,通过损失函数对模型参数的梯度更新矩阵c。
本发明具有以下有益效果及优点:
1.本发明提出的应用于小型机器翻译设备的模型压缩方法,该算法预计取得90%的压缩效果,同时模型性能几乎没有下降。
2.本发明方法应用于小型机器翻译设备的模型压缩,通过训练二值网络可以得到一个更适合当前模型参数的剪枝结构,而不是人为制定剪枝评价标准进行剪枝操作。
3.本发明提出的应用于小型机器翻译设备的模型压缩方法,在学习剪枝结构时,即训练二值网络时固定了模型的参数,所以此方法可以在包括模型训练前的任何训练阶段使用。
4.本发明提出的应用于小型机器翻译设备的模型压缩方法,因在训练二值网络时固定参数,所以可以评价在相同模型结构下以及相同模型参数下不同剪枝结构的优劣。
附图说明
图1为本发明方法涉及的量化方法图示;
图2为本发明方法涉及的网络训练流程图;
图3为本发明方法涉及的参数矩阵计算示意图。
具体实施方式
下面结合说明书附图对本发明作进一步阐述。
如图2所示,本发明一种机器翻译中通过训练二值网络获得剪枝结构的压缩方法,包括以下步骤:
1)在大型计算设备(如电脑、服务器等)中,为翻译模型中除嵌入层以外的参数矩阵W创建一个与W具有同样维度的且值为0或1的矩阵c,矩阵c表示模型中参数二值化后的结果;
2)使用二值化后的参数进行模型训练;
3)固定模型中的参数,将模型中的参数量化为二值结果存入矩阵c中,通过损失函数对模型参数的梯度更新矩阵c;
4)训练模型直到获得最优的矩阵c时停止训练,得完成训练的模型,将矩阵c与其对应的参数矩阵W做点乘,得到新的参数矩阵W′;此时矩阵c表示是否对其对应的模型连接进行剪枝操作;
5)在小型机器翻译设备中使用剪枝得到的小模型将大幅提升小型机器翻译设备的翻译质量,并且可以拥有与原始模型相同的翻译速度。
本发明中,通过训练二值网络获取模型的剪枝结构,在随机初始化的模型参数上使用伯努利采样得到量化后的模型参数的初始值,将这个值存放在剪枝矩阵c中,此时矩阵c中的元素值非0即1。在模型的训练过程中,使用量化后的参数矩阵c进行前馈计算。在进行反馈计算的过程中,通过损失函数对矩阵c的梯度更新矩阵c的值,此时矩阵c中元素的值将从初始化时非0即1的数变为浮点数,因此在进行下一次前馈计算前,再次使用量化函数将矩阵c二值化。在完成训练后,将矩阵c与对应的模型参数做点乘,得到最终的剪枝结构。
步骤1)中的初始化通过模型权重得到:
c=Bern(S(W))
其中Bern(·)为概率为p的伯努利采样,S(·)为Sigmoid函数,W表示模型中的参数;矩阵c与其对应的模型参数W的维度相同。
上述公式表示使用模型中的参数对矩阵c进行初始化的过程。
矩阵c为模型中参数经过量化函数计算后的结果矩阵,在训练阶段,矩阵c作为模型参数的二值化版本参与模型的前馈与反馈计算,矩阵c与其对应的模型参数具有相同的大小;
Sigmoid函数将会把值域为(-∞,+∞)的数转化为值域为(0,1)的数,伯努利采样以概率p将值域为(0,1)的数转化为1或0。
经过此步骤,矩阵c将根据模型中的参数进行初始化,将实值型的模型参数转化为二值参数进行存储。
步骤2)使用优化后更适合二值信息传递的函数代替原本网络中的函数进行前馈计算,具体为:
使用二值化后的参数进行模型的训练,在使用模型的参数进行训练前,将模型的参数矩阵使用量化函数量化为二值矩阵,量化函数的公式为:
W表示模型中原始的未量化的参数,round()函数会将输入的数字四舍五入为一个最接近的整数;
经过量化函数quantize()之后,模型中的参数W被转化为一个非0即1的数,在接下来的训练中使用量化后的参数进行模型前馈计算;
每次进行前馈计算之前,使用量化函数quantize()对矩阵c进行量化。
上述公式将不可微分的离散形式用可微分的连续形势近似代替,通过该公式可以在反馈过程中使用梯度更新量化后的模型参数矩阵c;
在训练二值网络的过程中,模型需要保存全精度的参数。在前馈阶段,将全精度的参数使用量化函数量化为二值参数,如图1所示,本步骤的目的是将一个范围内的实数用同一个离散化的数字进行表示,这个范围的大小一般取决于要表示的全精度参数的范围。经过量化函数quantize()之后,模型中的参数将会被转化为一个非0即1的数,在接下来的训练中使用量化后的参数进行模型前馈计算。在接下来的训练过程中,每次进行前馈计算之前,都要使用量化函数quantize()对矩阵c进行量化;
接下来使用量化后的二值参数作为模型型参数,与输入数据做计算。在反馈阶段,使用损失函数对二值参数的梯度,来更新全精度参数。
与常用的训练二值网络的方法不同,本方法在训练过程中没有更新模型中原始的全精度参数,而是直接用梯度更新二值化的矩阵c。但是这矩阵c在反馈过程结束后,由于与全精度的梯度加和,导致矩阵c重新变为一个全精度型的参数,并且值域可能在(0,1)之外。因此在训练的前馈过程中,除了初始化阶段后的第一个前馈计算之外,之后的每次前馈计算之前都要使用量化函数处理矩阵c,将矩阵c重新二值化。
步骤3)在反馈计算中,由于在训练时模型的前馈时使用量化后的参数,而量化所使用的函数quantize()是不可微分的,,所以反馈时quantize()对模型参数W的导数使用下述公式代替,通过损失函数对模型参数的梯度更新矩阵c,公式为:
使用此公式,计算损失函数对矩阵c的梯度,并使用该梯度更新矩阵c;
固定模型中的参数,将模型中的参数量化为二值结果存入矩阵c中,通过损失函数对模型参数的梯度更新矩阵c。
根据此公式,在反馈计算时可以求得损失函数对矩阵c的导数,并且在此处导数是一个实值型的参数。使用这个导数对矩阵c进行更新后,矩阵c中的元素将变为实数。因此在每个反馈计算后、前馈计算前都使用量化函数重新量化矩阵c,保证矩阵c在下一次前馈计算前是一个二值矩阵。
步骤4)训练模型直到获得最优的矩阵c。在结束训练之后,将矩阵c与其对应的参数矩阵做点乘,此时矩阵c表示是否对其对应的模型连接进行剪枝操作,模型中参数的计算流程如图3所示。
步骤5)将剪枝得到的小模型放入小型机器翻译设备中使用,将大幅提升小型机器翻译设备的翻译质量。
本实施例将本发明方法应用于小型设备中,可以大幅地压缩翻译模型的大小。例如在小米10上,可以将原内存消耗为2GB的大型翻译模型压缩为内存消耗为300MB。这使得内存紧张的移动设备可以在离线时提供流畅、高质量的翻译。或者是在华为平板M6上,也可以使用这种技术,为该设备提供翻译质量高、速度快的翻译软件。同时,本方法不受限于具体的硬件与系统,在各种移动设备上均可以采用这种方法得到小型翻译模型。
Claims (4)
1.一种应用于小型机器翻译设备的模型压缩方法,其特征在于包括以下步骤:
1)在大型计算设备中,为翻译模型中除嵌入层以外的参数矩阵W创建一个与W具有同样维度的且值为0或1的矩阵C,矩阵C表示模型中参数二值化后的结果;
2)使用二值化后的参数进行模型训练;
3)固定模型中的参数,将模型中的参数量化为二值结果存入矩阵C中,通过损失函数对模型参数的梯度更新矩阵C;
4)训练模型直到获得最优的矩阵C时停止训练,得完成训练的模型,将矩阵C与其对应的参数矩阵W做点乘,得到新的参数矩阵W′;此时矩阵C表示是否对其对应的模型连接进行剪枝操作;
5)在小型机器翻译设备中使用剪枝得到的小模型将大幅提升小型机器翻译设备的翻译质量,并且可以拥有与原始模型相同的翻译速度。
2.按权利要求1所述的通过训练二值网络获得剪枝结构的压缩方法,其特征在于:矩阵C的初始化通过模型权重得到:
c=Bern(S(W))
其中Bern(·)为概率为p的伯努利采样,S(·)为Sigmoid函数,W表示模型中的参数;矩阵C与其对应的模型参数W的维度相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011212785.0A CN112257466B (zh) | 2020-11-03 | 2020-11-03 | 一种应用于小型机器翻译设备的模型压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011212785.0A CN112257466B (zh) | 2020-11-03 | 2020-11-03 | 一种应用于小型机器翻译设备的模型压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112257466A true CN112257466A (zh) | 2021-01-22 |
CN112257466B CN112257466B (zh) | 2023-08-18 |
Family
ID=74268045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011212785.0A Active CN112257466B (zh) | 2020-11-03 | 2020-11-03 | 一种应用于小型机器翻译设备的模型压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112257466B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255892A (zh) * | 2021-06-01 | 2021-08-13 | 上海交通大学烟台信息技术研究院 | 一种解耦合的网络结构搜索方法、设备及可读存储介质 |
CN113505613A (zh) * | 2021-07-29 | 2021-10-15 | 沈阳雅译网络技术有限公司 | 一种面向小型cpu设备的模型结构化简压缩方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717397A (zh) * | 2019-09-11 | 2020-01-21 | 中国海洋大学 | 一种基于手机相机的在线翻译系统 |
US20200250384A1 (en) * | 2019-02-01 | 2020-08-06 | Electronics And Telecommunications Research Institute | Method and apparatus for constructing translation model |
-
2020
- 2020-11-03 CN CN202011212785.0A patent/CN112257466B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200250384A1 (en) * | 2019-02-01 | 2020-08-06 | Electronics And Telecommunications Research Institute | Method and apparatus for constructing translation model |
CN110717397A (zh) * | 2019-09-11 | 2020-01-21 | 中国海洋大学 | 一种基于手机相机的在线翻译系统 |
Non-Patent Citations (1)
Title |
---|
王扬;吴凡;姚宗强;刘杰;李栋;: "基于正则化矩阵分解的用户用电行为分析", 计算机应用, no. 08 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113255892A (zh) * | 2021-06-01 | 2021-08-13 | 上海交通大学烟台信息技术研究院 | 一种解耦合的网络结构搜索方法、设备及可读存储介质 |
CN113255892B (zh) * | 2021-06-01 | 2023-09-05 | 上海交通大学烟台信息技术研究院 | 一种解耦合的网络结构搜索方法、设备及可读存储介质 |
CN113505613A (zh) * | 2021-07-29 | 2021-10-15 | 沈阳雅译网络技术有限公司 | 一种面向小型cpu设备的模型结构化简压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112257466B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837548B (zh) | 答案匹配方法、装置、电子设备及存储介质 | |
CN111985523A (zh) | 基于知识蒸馏训练的2指数幂深度神经网络量化方法 | |
CN110162766B (zh) | 词向量更新方法和装置 | |
CN109284761B (zh) | 一种图像特征提取方法、装置、设备及可读存储介质 | |
CN112257466A (zh) | 一种应用于小型机器翻译设备的模型压缩方法 | |
TWI744724B (zh) | 處理卷積神經網路的方法 | |
CN109616093A (zh) | 端对端语音合成方法、装置、设备及存储介质 | |
JP2022500798A (ja) | 画像処理方法及び装置、コンピュータ機器並びにコンピュータ記憶媒体 | |
CN111767833A (zh) | 模型生成方法、装置、电子设备及存储介质 | |
JP2016218513A (ja) | ニューラルネットワーク及びそのためのコンピュータプログラム | |
CN114467096A (zh) | 增强基于注意力的神经网络以选择性地关注过去的输入 | |
WO2011071560A1 (en) | Compressing feature space transforms | |
CN116187401B (zh) | 神经网络的压缩方法、装置、电子设备及存储介质 | |
CN114943335A (zh) | 一种三值神经网络逐层优化方法 | |
JP6586026B2 (ja) | 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム | |
CN111767744A (zh) | 文本风格迁移系统的训练方法及装置 | |
CN116187416A (zh) | 一种基于层剪枝灵敏度的迭代式重训练方法及一种图像处理器 | |
CN112257469A (zh) | 用于小型移动设备的深层神经机器翻译模型的压缩方法 | |
CN115062777B (zh) | 卷积神经网络的量化方法、量化装置、设备及存储介质 | |
He et al. | The compression techniques applied on deep learning model | |
CN116484936A (zh) | 一种储备池esn网络量化方法、装置及电子设备 | |
WO2023140781A2 (en) | Embedding optimization for a machine learning model | |
CN117351299A (zh) | 图像生成及模型训练方法、装置、设备和存储介质 | |
Wei et al. | Research on Deep Neural Network Model Compression Based on Quantification Pruning and Huffmann Encoding | |
CN115034387A (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 |