CN116235187A - 用于语言模型的压缩和解压缩数据 - Google Patents

用于语言模型的压缩和解压缩数据 Download PDF

Info

Publication number
CN116235187A
CN116235187A CN202180052316.3A CN202180052316A CN116235187A CN 116235187 A CN116235187 A CN 116235187A CN 202180052316 A CN202180052316 A CN 202180052316A CN 116235187 A CN116235187 A CN 116235187A
Authority
CN
China
Prior art keywords
matrix
block
compressed
neural network
input
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
Application number
CN202180052316.3A
Other languages
English (en)
Inventor
A·瓦格纳
T·米特拉
M·特伦布莱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN116235187A publication Critical patent/CN116235187A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本公开的实施例包括用于压缩和解压缩由神经网络中的子块生成的数据的系统和方法。在一些实施例中,在神经网络中的压缩块处接收输入矩阵。压缩块将输入矩阵压缩为经压缩的矩阵并且输出经压缩的矩阵。相对于输入矩阵的维数经压缩的矩阵具有减少的维数。解压缩块取回经压缩的矩阵。解压缩块将经压缩的矩阵解压缩为经解压缩的矩阵并且输出经解压缩的矩阵。经解压缩的矩阵具有与输入矩阵的维数相同的维数。压缩块和解压缩块基于从神经网络接收的反馈被优化。

Description

用于语言模型的压缩和解压缩数据
背景技术
本公开涉及一种计算系统。更具体地,本公开涉及用于训练神经网络的技术。
自然语言理解(NLU)是人工智能中自然语言处理(NLP)的子领域,旨在解决计算机对人类语言结构和意义的理解。NLU使语音技术、搜索引擎和机器翻译能够推断出用户的意思,无论其表达方式如何。
神经网络是支持NLU应用的机器学习模型。通过在神经网络中运行数据集,将来自神经网络的结果与已知结果进行比较,并根据差异更新网络,从而为特定目的训练神经网络。
附图说明
本公开的各种实施例在附图的图中以示例而非限制的方式示出。
图1示出了根据一些实施例的用于训练变换器模型的系统。
图2示出了根据一些实施例的变换器模块的架构。
图3A示出了根据一些实施例的神经网络的示例架构。
图3B示出了根据一些实施例的实现压缩块和解压缩块的神经网络的示例架构。
图4示出了根据一些实施例的分别由压缩块和解压缩块执行的示例压缩和解压缩过程。
图5示出了根据一些实施例的分别由压缩块和解压缩块进行的另一示例压缩和解压缩过程。
图6示出了根据一些实施例的由压缩块执行的示例压缩操作。
图7示出了根据一些实施例的由解压缩块执行的示例解压缩操作。
图8示出了根据一些实施例的用于压缩和解压缩输入矩阵的过程。
图9描绘了根据一些实施例的示例计算机系统的简化框图。
图10示出了根据一些实施例的神经网络处理系统。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多示例和具体细节,以提供对本公开的彻底理解。这些示例和细节不应被解释为不适当地限制权利要求的元素或所要求保护的主题作为整体。基于不同权利要求的语言,本领域技术人员将明显的是,所要求保护的主题可以单独或组合地包括这些示例中的一些或全部特征,并且还可以包括本文描述的特征和技术的修改和等同物。
本文描述了用于压缩和解压缩由用于实现语言模型的神经网络生成的数据的技术。在一些实施例中,神经网络的第一子块可以被配置为将矩阵输出到神经网络的第二子块以进行处理。由于矩阵的维数较大,在由第二子块处理之前,可以将矩阵“从芯片上取下(taken off-chip)”到外部存储器。本文描述的系统和技术提供了压缩块和解压缩块,该压缩块在将矩阵传送到外部存储器之前压缩矩阵,该解压缩块在其从外部存储器被取回后解压缩矩阵。压缩块和解压缩块可以是驻留在神经网络模型中的全连接网络(FCN)。压缩和解压缩块可以在神经网络的训练期间和训练时被训练。例如,当用训练数据训练神经网络时,误差可以被反向传播到压缩和解压缩块。与压缩块和解压缩块相关联的权重可以基于反向传播误差而被调整。
在一些实施例中,第一子块输出具有维度[S,H]的输入矩阵。S可以表示序列长度,H可以表示隐藏大小。第一子块可以将输入矩阵通信传送到神经网络的压缩块。压缩块然后可以将输入矩阵压缩为经压缩的矩阵。经压缩的矩阵可以具有减少的维数。例如,经压缩的矩阵可以具有维度[S,H/N]。然后,经压缩的矩阵可以通过输入/输出(I/O)接口通信传送至外部存储器(例如,“从芯片上取下”)以进行存储。接下来,可以通过解压缩块从外部存储器取回经压缩的矩阵。解压缩块然后可以将经压缩的矩阵解压缩为经解压缩的矩阵。经解压缩的矩阵可以具有与输入矩阵的维度相同的维度。例如,经解压缩的矩阵可以具有维度[S,H]。解压缩块可以例如将经解压缩的矩阵输出到第二子块以用于处理。
本申请中描述的技术提供了许多优于实现用于语言模型的神经网络的传统方法的益处和优点。例如,在将矩阵传输到外部存储器中存储之前对其进行压缩,传递到外部存储器和从外部存储器传递的矩阵的维数可以被减少,从而减小矩阵的大小。经压缩的矩阵在传输到外部存储器时使用较少的带宽,并且在存储在外部存储器中时占用较少的存储空间。结果,神经网络可以在更少的时间内训练和实现,同时利用更少的硬件资源。
图1示出了根据一些实施例的用于训练变换器模型的系统100。如图所示,系统100包括输入数据处理器105、变换器模块110、输出数据处理器115、压缩块120和解压缩块125。输入数据处理器105被配置为处理用于训练变换器模块110的输入数据。例如,输入数据处理器105可以接收一组输入数据,该组输入数据包括标记(token)的序列(例如,一组单词)和标记的序列的一组位置值。位置值可以表示标记的序列中特定标记的相对位置。在某些情况下,一组输入数据还可以包括一组句子值。在一些实施例中,句子值表示标记序列中的标记所属的句子。
接下来,输入数据处理器105可以选择标记的序列中的定义数目的标记或标记的序列的定义部分(例如,序列中标记总数的百分比)。在一些实施例中,输入数据处理器105随机选择序列中的标记。然后,输入数据处理器105用定义的标记值替换所选择的标记。标记的选择和替换也可以称为标记掩蔽。然后,输入数据处理器105可以选择该组位置值中定义数目的位置值或该组位置值的定义部分(例如,该组位置值中的总数位置值的百分比)。在一些实施例中,输入数据处理器105随机地选择该组位置值中的位置值。在一些实施例中,用于选择标记的定义的数目或部分可以不同于用于选择位置值的定义的数目或部分。然后,输入数据处理器105用定义的位置值替换选择的位置值。位置值的选择和替换也可以称为位置掩蔽或位置值掩蔽。
在掩蔽输入数据中的标记和位置值之后,输入数据处理器105可以使用从标记的语料库(例如,单词词汇表)生成的嵌入空间来确定标记的序列中每个未掩蔽标记的标记嵌入。在一些实施例中,标记嵌入空间将语料库中具有许多维度的标记映射到具有较低维度数量的数字表示(例如,向量)。然后,输入数据处理器105可以使用从位置值语料库生成的嵌入空间来确定一组位置值中的每个未掩蔽位置值的位置嵌入。在一些实施例中,位置值嵌入空间将具有许多维度的语料库中的位置值映射到具有较低维度数量的数字表示(例如,向量)。在输入数据包括句子值的情况下,输入数据处理器105可以使用从句子值语料库生成的嵌入空间来确定一组句子值中每个句子值的句子嵌入。在一些实施例中,句子值嵌入空间将语料库中具有许多维度的句子值映射到具有较低维度数量的数字表示(例如,向量)。在确定标记、位置值和/或句子值的嵌入之后,输入数据处理器105通过将标记嵌入、对应的位置值嵌入和/或对应的句子值嵌入相加在一起来计算标记的序列中每个标记的聚合嵌入。最后,输入数据处理器105将聚合嵌入发送给变换器模块110用于训练。
变换器模块110负责在给定输入数据的情况下预测掩蔽标记和掩蔽位置值,该输入数据包括未掩蔽标记、掩蔽标记、未掩蔽位置值以及掩蔽位置值。在一些实施例中,变换器模块110由变换器神经网络(也称为变换器或变换器模型)实现。在一些这样的实施例中,变换器神经网络具有序列到序列架构。也就是说,变换器神经网络可以将给定的元素序列(诸如,句子中的单词序列)变换为另一个序列。在一些实施例中,变换器神经网络包括用于预测掩蔽标记和掩蔽位置的权重。变换器神经网络可以基于使用反向传播技术从输出数据处理器115接收到的反馈(例如,掩蔽标记的预测标记与掩蔽标记的实际值之间的差、掩蔽位置值的预测位置值与掩蔽位置值实际值之间的差等)来调整这些权重。
变换器模块110可以确定输入数据中的标记之间的关系/相关性。例如,变换器模块110可以处理与序列中的所有其他标记相关的标记,而不是按顺序逐个处理。换言之,变换器模块110通过查看标记之前和之后的标记来考虑标记的完整上下文。变换器模块110可用于机器翻译和搜索(例如,会话查询)。变换器模块110的其他应用包括:文档摘要、文档生成、命名实体识别(NER)、语音识别和生物序列分析。
压缩块120负责压缩由变换器模块110生成的矩阵。例如,当变换器模块110根据给定的输入数据预测标记和位置值时,变换器模块120可以生成多个矩阵(例如,除了由输入数据处理器105输入的矩阵之外的矩阵)。相对于(未压缩)矩阵,这些矩阵的至少一部分可由压缩块120压缩为具有减少的维数的经压缩的矩阵。例如,如果矩阵具有[S,H]的维度,则压缩块120可以将该矩阵压缩为具有[S,H/N]的维度的经压缩的矩阵。在一些实施例中,经压缩的矩阵可以从用于实现变换器模块110的一个或多个处理器传送至外部存储器以进行存储。
在一些实施例中,压缩块120包括用于经压缩的矩阵的权重和偏差。变换器神经网络可以使用反向传播技术基于从输出数据处理器115接收的反馈来调整这些权重和偏差。
解压缩块125负责解压缩矩阵。例如,解压缩块125可以将矩阵解压缩为具有增加的维数的矩阵。在一些实施例中,解压缩块125可以将矩阵解压缩为具有与用作压缩块120的输入的矩阵的维数相同的维数的矩阵。参考上述示例,解压缩块125可以将具有维度[S,H/N]的经压缩的矩阵解压缩为具有维度[S,H]的经解压缩的矩阵。结果,解压缩的矩阵的维数与压缩块120压缩它之前的矩阵的维数相同。
在一些实施例中,解压缩块125包括用于解压缩经压缩的矩阵的权重和偏差。变换器神经网络可以使用反向传播技术基于从输出数据处理器115接收的反馈来调整这些权重和偏差。
输出数据处理器115被配置为处理从变换器模块110输出的数据。例如,输出数据处理器115可以从变换器模块110接收数据阵列和标签数据。数据阵列可以包括用于用作变换器模块110的输入的标记的序列中的每个标记的数字表示(例如,上述聚合嵌入)。标签数据可以包括输入数据中的掩码标记和掩码位置值的值。接下来,输出数据处理器115标识数据阵列中掩蔽标记的数字表示,并确定掩蔽标记的预测标记。然后,输出数据处理器115确定掩码标记的预测标记与标签数据中指定的掩码标记的实际值之间的差。输出数据处理器115对掩蔽的位置值执行类似的操作。也就是说,输出数据处理器115标识数据阵列中掩蔽位置值的数字表示,并确定掩蔽位置值预测位置值。接下来,输出数据处理器115确定掩蔽位置值的预测位置值与标签数据中指定的掩蔽位置值实际值之间的差。最后,输出数据处理器115将计算出的差发送回变换器模块110,以调整变换器模块110的权重。在一些实施例中,变换器模块110可以使用计算的差来调整压缩块120和解压缩块125的权重。
在其他实施例中,压缩块120和解压缩块125可以与变换器模块110中的其他块的训练分开地训练。例如,可以使用随机矩阵作为训练数据来训练压缩块120和解压缩块125。可将期望的经压缩的矩阵与实际的经压缩的矩阵之间的差反馈到压缩块120以调整压缩块120中的权重。可将期望的经解压缩的矩阵与实际的经解压缩的矩阵之间的差反馈到解压缩块125以调整解压缩块125中的权重。
图2示出了根据一些实施例的变换器模块110的架构。如图所示,变换器模块110包括多个编码器202a-n和多个解码器204a-n。变换器模块110被示出为获取英语输入序列200(例如,“I am hun-gry”)并生成西班牙语输出序列201(例如“Soy hambre”)。在所示的示例中,输入序列200由多个编码器202a-n中的每个编码器依次处理。编码器202a-n中的每个编码器可以包括自我关注块和前馈神经网络。当编码器处理输入序列200中的给定词时,自我关注块可以使编码器能够查看输入序列200中的其他词。前馈神经网络然后可以处理自我关注块的输出并将其转发到多个编码器202a-n中的下一个编码器。可以从多个编码器202a-n(例如,编码器202n)中的最终编码器的输出生成一组关注向量。这组关注向量可以被通信传送至多个解码器204a-n中的每个解码器。
与多个编码器202a类似,多个解码器204a-n中的每个解码器包括自我关注块和前馈神经网络。此外,多个解码器204a-n中的每个解码器可以包括编码器-解码器关注块。编码器-解码器关注块使得多个解码器204a-n中的每个解码器能够在处理期间关注输入序列200的适当位置。解码器204n可以输出浮点数的矩阵。变换器模块110可以将该矩阵转换成自然语言输出序列201。
图3A示出了根据一些实施例的神经网络300的示例架构。神经网络300可以包括在多个编码器202a-n或多个解码器204a-n中的任何一个中。如图所示,神经网络300包括全连接网络(FCN)查询子块302、查询子块304、键子块306、值子块308、算子子块310、归一化子块312、算子子块314、FCN投影子块316、层归一化子块318和前馈网络320。
FCN查询子块302被示出为与查询子块304、键子块306和值子块308以及层归一化子块318通信。在NLP应用中,FCN查询子块302可以通信传送嵌入诸如自然语言输入序列200的输入序列的矩阵。查询子块304被配置为根据从FCN查询子块302接收的矩阵生成查询矩阵。在一些实施例中,查询矩阵可以包括输入序列中的当前位置词向量。查询子块304可以通过将接收到的矩阵与权重矩阵相乘来生成查询矩阵。查询子块304将查询矩阵输出到算子子块310。
键子块306被配置为根据从FCN查询子块302接收的矩阵生成键矩阵。在一些实施例中,键矩阵可以包括输入序列中的所有位置字向量。键子块306可以通过将接收的矩阵与权重矩阵相乘来生成键矩阵。键子块306将键矩阵输出到算子子块310。
算子子块310用于基于由查询子块304输出的查询矩阵和由键子块306输出的键矩阵来生成关注权重矩阵。在一些实施例中,关注权重矩阵可以表示输入序列中的特定输入与输入序列中其他输入相关的程度。在一些实施例中,算子子块310可以对查询矩阵和键矩阵的转置执行点积,以生成关注权重矩阵。算子子块310将关注权重矩阵通信至归一化子块312。
归一化子块312用于通过归一化由算子子块310输出的关注权重矩阵来生成归一化关注权重矩阵。归一化子块312可以使用SoftMax操作来将关注权重矩阵中的权重值缩放为介于0和1之间的值。归一化子块312将归一化关注权重矩阵输出到算子子块314。
值子块308被配置为从FCN查询子块302接收的矩阵生成值矩阵。在一些实施例中,值矩阵可以包括输入序列中的所有位置字向量。值子块308可以通过将接收的矩阵与权重矩阵相乘来生成值矩阵。值子块308将值矩阵输出到算子子块314。
算子子块314用于基于从归一化子块312接收的归一化关注权重矩阵和从值子块308接收的值矩阵来生成加权值矩阵。在一些实施例中,加权值矩阵表示输入序列的不同位置如何彼此相关。在一些实施例中,算子子块314对归一化关注权重矩阵和值矩阵执行点积。算子子块314将加权值矩阵输出到FCN投影子块316。
FCN投影子块316被配置为对从算子子块314接收的加权值矩阵执行投影操作。[***Andy:FCN投影子块在这里做什么?]FCN投影块316将其输出通信至层归一化子块318。
层归一化子块318负责聚合由FCN查询子块302和FCN投影子块318输出的矩阵,并对得到的聚合进行归一化。层归一化子块318将其输出通信至前馈网络320。
前馈网络320负责实现前馈神经网络并将所得矩阵输出到下一层。例如,前馈网络320可以将所得矩阵与多个编码器202a-n中的后续编码器或多个解码器204a-n中后续解码器通信。在一些实施例中,前馈神经网络对层归一化子块318的输出执行非线性变换。
图3B示出了根据一些实施例的实现压缩块326和解压缩块332的神经网络300的示例架构。如上所述,查询子块304生成查询矩阵。查询矩阵可以具有维度[S,H],其中S表示序列长度,并且H表示隐藏大小。在特定实施例中,S或H可以具有512、1024、2048或4096等浮点数的大小。因此,查询矩阵的维度可高达4096x4096或更高。由于这些维度的数据编码矩阵的大小,可能需要“从芯片上取下”。例如,4096x4096浮点数矩阵可以使用536870912位或更多位进行编码。在特定实施例中,这些矩阵经由I/O接口328被传递给外部存储器330。与传递这些矩阵相关联的I/O、读和写操作可增加从输入序列生成输出序列(例如,执行转换)所需的总时间。由于经压缩的矩阵相对于输入矩阵(例如,查询矩阵和键矩阵)具有减少的维数,经压缩的矩阵包括更少的浮点数。因此,编码经压缩的矩阵所需的数据更少。与未压缩的输入矩阵相比,这导致与向外部存储器330传送压缩矩阵和从外部存储器330传送压缩矩阵相关的更快的I/O、读取和写入操作。
如本文所使用的,外部存储器330是指片外存储器,诸如主存储器(例如,随机存取存储器(RAM))或辅助存储器(诸如磁盘驱动器或固态驱动器的非易失性存储器)。片外存储器是指与片上存储器相反的存储器,片上存储器包括通常大小比片外存储器小的高速缓冲存储器。例如,当实现查询子块304以生成查询矩阵时,处理器可以使用片上存储器进行特定操作。在生成查询矩阵或其部分之后,处理器可以将查询矩阵传送给片外存储器。一旦存储在片外存储器中,当查询矩阵被后续子块(例如,算子子块310)处理时,可以取回查询矩阵。因此,由于I/O带宽限制和读/写速度,在片外和片上传送查询矩阵所需的时间将取决于查询矩阵的大小。
如图3B所示,查询子块304与压缩块326通信。例如,查询子块304可以将查询矩阵通信至压缩块326。压缩块326用于将输入矩阵(例如,查询矩阵)压缩成具有减少的经压缩的矩阵相对于输入矩阵的维数的至少一维的维数。例如,给定具有维度[S,H]的输入矩阵,压缩块326可以在其H维度上压缩输入矩阵。在该示例中,压缩块326可以生成具有维度[S,H/N]的经压缩的矩阵,其中H/N小于H。在另一个示例中,压缩块326可以在其S维度中压缩输入矩阵。在该示例中,压缩块326可以生成具有维度[S/N,H]的经压缩的矩阵,其中S/N小于S。在这两个示例中,压缩块326将输入矩阵压缩成具有与其压缩前的维度相比减小的维度的经压缩的矩阵。如图所示,压缩块326通过I/O接口328将经压缩的矩阵输出到外部存储器330用于临时存储。
解压缩块332用于将经压缩的矩阵解压缩为具有与输入矩阵的维度相同维度的经解压缩的矩阵。解压缩块332经由I/O接口328从外部存储器330取回经压缩的矩阵。接下来,解压缩块332将这些经压缩的矩阵解压缩为经解压缩的矩阵。例如,给定具有维度[S,H/N]的经压缩的矩阵,解压缩块332将该经压缩的矩阵解压缩为具有维度[S,H]的经解压缩的矩阵。在另一示例中,给定具有维度[S/N,H]的经压缩的矩阵,解压缩块332将该经压缩的矩阵解压缩为具有维度[S,H]。因此,经解压缩的矩阵具有与输入矩阵的维数相同的维数。然后,解压缩块332将解压缩的矩阵通信传送至算子子块310。
尽管图3B中未示出,压缩块326和解压缩块332可用于压缩和解压缩由查询子块304以外的子块生成的矩阵。示例包括由FCN查询子块302、键子块306、值子块308、算子子块310、归一化子块312、算子子块314、FCN投影子块316、层归一化子块318和前馈网络320生成的矩阵。
图4示出了根据一些实施例的分别由压缩块326和解压缩块332执行的示例压缩和解压缩过程。压缩块326被示出为包括FCN 401。在所示实施例中,FCN 401由一组矩阵405实现,该矩阵405包括矩阵407和矩阵409。输入矩阵400被示出为具有维度[B,S,H],其中B表示批大小(例如,句子的数目),其中S表示序列长度(例如,句子长度),并且其中H表示隐藏大小(例如,单词嵌入的大小)。压缩块326将输入矩阵400压缩成具有维度[B,S,K]的经压缩的矩阵402。解压缩块332被示出为包括FCN 403。在所示实施例中,FCN 403由一组矩阵411实现,包括矩阵413和矩阵415。解压缩块332将经压缩的矩阵402解压缩为具有维度[B,S,H]的经解压缩的矩阵404。
FCN 401是包括一系列完全连接的层的完全连接的网络(例如,一个层中的每个节点连接到下一层中的每个节点)。FCN 401由一组矩阵405实现。特别地,FCN 401的节点之间的连接由一组矩阵405中的权重表示。当压缩块326接收反馈406(例如,在训练阶段期间经由反向传播)时,压缩块326可以调整一组矩阵405中的权重。结果,压缩块326学习基于反馈406来优化其压缩(例如,减少由压缩-解压缩过程导致的信息损失)。[***Andy:请确认是否正在优化减少信息丢失]
压缩块326通过将输入矩阵400与一组矩阵405相乘,将输入矩阵402压缩成经压缩的矩阵402。在所示示例中,压缩块326首先将输入矩阵400乘以矩阵407,最后乘以矩阵409。在一些实施例中,输入矩阵400中的列的数目等于矩阵407中的行的数目。在所示示例中,输入矩阵400具有H列,并且矩阵407具有H行。一组矩阵405中的矩阵409被示出为具有K列。结果,经压缩的矩阵402具有K列。压缩块326接着经由I/O接口328将经压缩的矩阵402输出到外部存储器330。
解压缩块332经由I/O接口328从外部存储器330取回经压缩的矩阵402。接下来,解压缩块332将经压缩的矩阵402解压缩为经解压缩的矩阵404。在所示的示例中,解压缩块332将具有维度[B,S,K]的经压缩的矩阵402解压缩为具有维度[B,S,H]的经解压缩的矩阵404。结果,经解压缩的矩阵404具有与输入矩阵400的维数相同的维数。
解压缩块332的FCN 403是完全连接的网络。FCN 403由一组矩阵411实现。FCN 403的节点之间的连接由一组矩阵411中的权重表示。当解压缩块332接收反馈408时,解压缩块332可以调整一组矩阵中的权重。结果,解压缩块332学习基于反馈408来优化其解压缩(例如,减少由压缩解压缩过程导致的信息丢失)。[***Andy:请确认是否正在优化减少信息丢失]
解压缩块332通过将经压缩的矩阵402与一组矩阵411相乘来解压缩经压缩的矩阵402。在所示示例中,解压缩块332首先将经压缩的矩阵402乘以矩阵413,最后乘以矩阵415。在一些实施例中,经压缩的矩阵402的列的数目等于矩阵413中的行的数目。在所示示例中,经压缩的矩阵402具有K列,并且矩阵413具有K行。一组矩阵411中的矩阵415被示出为具有H列。结果,经解压缩的矩阵404具有H列。
如上所述,用于编码输入序列的矩阵可以大到4096x4096个浮点数。在一些实施例中,这种大小的矩阵可能太大,以至于处理器在实现各种子块时无法处理。例如,4096x4096矩阵可能太大,处理器无法运行查询子块304。这是因为如查询子块304所指示的,对4096x4096矩阵执行特定矩阵乘法运算可能是不可行的。在特定实施例中,诸如这些的矩阵在通过子块之前被分割成分量矩阵。在这些实施例中,分量矩阵可以由子块单独处理。接下来,子块可以将分量矩阵单独输出到压缩块326以进行压缩。压缩块326然后可以单独地压缩这些分量矩阵。参照图5描述该过程的示例。
图5示出了根据一些实施例的分别由压缩块326和解压缩块332进行的另一示例压缩和解压缩过程。在该示例中,输入矩阵500被示出为具有维度[4*S,4*H](为清楚起见,未示出维度B)。输入矩阵500被示为分成四个分量矩阵502a-d,每个分量矩阵具有维度[S,H]。四个分量矩阵502a-d中的每个然后可以被压缩块326单独地压缩成对应的压缩分量矩阵504a-d。在所示的示例中,压缩分量矩阵504a-d中的每个压缩分量矩阵具有维度[S,K]。然后,压缩分量矩阵504a-d被传送给外部存储器330用于存储。尽管输入矩阵500被示出为被分割成四个相等维度的分量矩阵502a-d,但是其他分割方案也是可能的。
解压缩块332从外部存储器330取回压缩的分量矩阵504a-d。解压缩块332可以单独地将压缩分量矩阵504a-d解压缩成解压缩分量矩阵506a-d。在所示的示例中,解压缩块332将每个具有维度[S,K]的压缩分量矩阵504a-d解压缩为每个具有维度[S,H]的解压缩分量矩阵506a-d。接下来,解压缩分量矩阵506a-d被级联以形成具有维度[4*S,4*H]的经解压缩的矩阵508。然后解压缩的矩阵508被通信至后续子块以进行处理。
图6示出了根据一些实施例的由压缩块326执行的示例压缩操作。压缩块326包括重塑功能600和FCN 602。重塑功能600被配置为重塑输入矩阵。特别地,重塑函数600重塑输入矩阵,使得输入矩阵中的列的数目等于一组矩阵601的矩阵603中的行的数目。
如图6所示,输入矩阵604具有维度[S,H],而一组矩阵601中的矩阵603具有N*H行,其中N不等于1。因此,输入矩阵604中的列的数目与一组矩阵603的矩阵603中的行的数目不匹配。重塑功能600将输入矩阵604重塑为重塑矩阵606。重塑矩阵606具有维度[S/N,N*H],因此具有与矩阵603中的行的数目匹配的列的数目。接下来,压缩块326将重塑矩阵606与一组矩阵601相乘,以矩阵603开始,以矩阵605结束。矩阵605被示出为具有K列,其中K小于N*H。得到的乘积是具有维度[S/N,K]的经压缩的矩阵608,其由解压缩块332输出。
图7示出了根据一些实施例的由解压缩块332执行的示例解压缩操作。解压缩块332包括FCN 700和重塑函数702。重塑函数702用于重塑解压缩的矩阵。特别地,重塑函数702确保重塑的经解压缩的矩阵的维度与输入矩阵的维度匹配(例如,在被压缩块326处理之前)。例如,重塑函数702可以重塑经解压缩的矩阵,使得重塑的经解压缩的矩阵具有与输入矩阵的行的数目和列的数目相同的行的数目和列的数目。
如图7所示,经压缩的矩阵704具有维度[S/N,K]。经压缩的矩阵704可以是图6所示的经压缩的矩阵608。当解压缩块332取回经压缩的矩阵704时,解压缩块332将经压缩的矩阵704与一组矩阵701相乘,以矩阵703开始,以矩阵705结束。得到的产物是具有维度[S/N,N*H]的经解压缩的矩阵706。接下来,重塑函数702将经解压缩的矩阵706重塑为重塑的经解压缩的矩阵708。重塑的经解压缩的矩阵708被示出为具有维度[S,H],其与输入矩阵604的维度相同。
图8示出了根据一些实施例的用于压缩和解压缩输入矩阵的过程800。在一些实施例中,图3B的神经网络300执行过程800。过程800开始于在810处,在解压缩块处从神经网络的第一子块接收输入矩阵。输入矩阵可以是查询矩阵或键矩阵,并且第一子块可以是查询子块或键子块(例如,图3B的查询子块304和键子块306)。输入矩阵可以具有维度[B,S,H]。
接下来,过程800在820处将输入矩阵压缩成经压缩的矩阵。经压缩的矩阵相对于输入矩阵的维数具有减少的维数。参考图4作为示例,压缩块326将具有维度[B,S,H]的输入矩阵400压缩成具有维度[B,S,K]的经压缩的矩阵402,其中K小于H。然后,在830处,过程800输出经压缩的矩阵。在一些实施例中,过程800将经压缩的矩阵通信至外部存储器以进行存储。
在840处,过程800在神经网络中的解压缩块处取回经压缩的矩阵。参考图4作为示例,解压缩块332从外部存储器330取回经压缩的矩阵402。接下来,在850处,过程800将经压缩的矩阵解压缩为经解压缩的矩阵。经解压缩的矩阵具有与输入矩阵的维数相同的维数。参考图4作为示例,解压缩块332将具有维度[B,S,K]的经压缩的矩阵402解压缩为具有维度[B,S,H]的经解压缩的矩阵404。最后,在860处,过程800将经解压缩的矩阵输出给神经网络的第二子块。参考图3B作为示例,解压缩块332将经解压缩的矩阵输出到算子子块310。
尽管已经关于变换器模型对压缩和解压缩块进行了以上描述,但是本公开不限于这种变换器模型。本文描述的压缩和解压缩技术可以应用于任何类型的神经网络模型。
上述技术可以在被配置为处理神经网络的广泛的计算机系统中实现。图9描绘了示例计算机系统900的简化框图,其可用于实现前述公开中描述的技术。在一些实施例中,计算机系统900可用于实现系统100或神经网络300。如图9所示,计算机系统900包括一个或多个处理器902,处理器902通过总线子系统904与多个外围设备通信。这些外围设备可以包括存储子系统906(例如,包括存储器子系统908和文件存储子系统910)和网络接口子系统916。一些计算机系统还可以包括用户接口输入设备912和/或用户接口输出设备914。
总线子系统904可以提供用于使计算机系统900的各种组件和子系统按预期彼此通信的机制。尽管总线子系统904被示意性地示为单个总线,但是总线子系统的备选实施例可以利用多个总线。
网络接口子系统916可以充当用于在计算机系统900和其他计算机系统或网络之间通信传送数据的接口。网络接口子系统916的实施例可以包括例如以太网、Wi-Fi和/或蜂窝适配器、调制解调器(电话、卫星、电缆、ISDN等)、数字用户线(DSL)单元等。
存储子系统906包括存储器子系统908和文件/磁盘存储子系统910。本文描述的子系统908和910以及其他存储器是可以存储提供本公开实施例的功能的可执行程序代码和/或数据的非暂态计算机可读存储介质的示例。
存储器子系统908包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)918和存储固定指令的只读存储器(ROM)920。文件存储子系统910可以为程序和数据文件提供持久性(例如,非易失性)存储,并且可以包括磁性或固态硬盘驱动器、光盘驱动器以及相关联的可移动介质(例如,CD-ROM、DVD、蓝光等)、基于可移动闪存的驱动器或卡和/或本领域已知的其他类型的存储介质。
应当理解,计算机系统900是说明性的,并且具有比系统900更多或更少的组件的许多其他配置是可能的。
图10图示了根据一些实施例的神经网络处理系统。在各种实施例中,可以在包括一个或多个神经网络处理器的硬件环境中实施和训练根据本公开的神经网络(例如,神经网络300)。神经网络处理器可以指各种图形处理单元(GPU)(例如由Nvidia
Figure BDA0004092821740000161
生产的用于处理神经网络的GPU)、现场可编程门阵列(FPGA)(例如由/>
Figure BDA0004092821740000162
生产的用于处理神经网络的FPGA),或各种专用集成电路(ASIC)或神经网络处理器,包括例如为神经网络计算优化的硬件架构。在该示例环境中,一个或多个服务器1002(可包括以上图9中所示的架构)可通过通信网络1001(例如交换机、路由器等)。控制器1010(1)-1010(M)也可以包括以上图9中所示的架构。每个控制器1010(1)-1010(M)可以耦合到一个或多个NN处理器,例如处理单元1011(1)-1011(N)和1012(1)-1012(N)。NN处理单元1011(1)-1011(N)和1012(1)-1012(N)可以包括针对神经网络处理(例如训练或推理)优化的功能处理块和存储器的各种配置。NN处理器针对神经网络计算进行了优化。服务器1002可以为控制器1010配置NN模型以及向模型输入数据,例如,其可以由NN处理单元1011(1)-1011(N)和1012(1)-1012(N)并行加载和执行。例如,模型可以包括如上所述的层和相关联的权重。NN处理单元可以加载模型并应用输入以产生输出结果。例如,NN处理单元也可以实施本文描述的训练算法。
进一步的示例实施例
在各种实施例中,本公开包括用于压缩和解压缩由神经网络中的子块生成的数据的系统、方法和设备。本文所述的技术可以体现在存储可由计算机系统执行的程序的非暂态机器可读介质中,该程序包括用于执行本文所述技术的指令集。在一些实施例中,系统包括一组处理单元和存储指令的非暂态机器可读介质,当由该组处理单元中的至少一个处理单元执行该指令时,该指令使该至少一个处理器执行上述技术。在一些实施例中,例如,非暂态机器可读介质可以是存储器,其可以耦合到一个或多个控制器或一个或多个人工智能处理器。
以下技术可以单独实施或以不同的组合实施,并且可以进一步与本文描述的其他技术一起实施。
例如,在一个实施例中,本公开包括一种系统,该系统包括一组处理单元和存储指令的非暂态机器可读介质,该指令当由该组处理单元中的至少一个处理单元执行时,使至少一个处理单元,用于在被包括在神经网络中的压缩块处接收来自神经网络的第一子块的输入矩阵;通过压缩块将输入矩阵压缩为经压缩的矩阵以减少传输和存储经压缩的矩阵时的硬件资源的利用,相对于输入矩阵的维数,经压缩的矩阵具有减少的维数;由压缩块输出经压缩的矩阵;有被包括在神经网络中的解压缩块处取回经压缩的矩阵;由解压缩块将经压缩的矩阵解压缩为经解压缩的矩阵,该经解压缩的矩阵具有与输入矩阵的维数相同的维数;并且向神经网络的第二子块输出经解压缩的矩阵。压缩块基于从神经网络接收的反馈来学习优化压缩,并且解压缩块基于从神经网络接收的反馈来学习优化解压缩。
在一个实施例中,压缩块包括全连接网络(FCN)。在该实施例中,压缩输入矩阵包括用压缩块将输入矩阵与用于实现FCN的一组矩阵相乘,以产生具有减少的维数的经压缩的矩阵。
在一个实施例中,压缩输入矩阵还包括在所述乘法之前通过压缩块的重塑函数重塑输入矩阵,使得输入矩阵中的列的数目等于一组矩阵中的第一矩阵中的行的数目。
在一个实施例中,压缩块通过基于从神经网络接收的反馈调整一组矩阵中的权重来学习优化所述压缩。
在一个实施例中,解压缩块包括FCN。在该实施例中,解压缩块通过将经压缩的矩阵与用于实现FCN的一组矩阵相乘来解压缩经压缩的矩阵,以产生经解压缩的矩阵。
在一个实施例中,解压缩还包括在所述乘法之后通过重塑函数重塑经解压缩的矩阵,使得经解压缩的矩阵具有与输入矩阵的维数相同的维数。
在一个实施例中,解压缩块通过基于从神经网络接收的反馈调整一组矩阵中的权重来学习优化所述解压缩。
在一个实施例中,输入矩阵具有维度[B,S,H],其中B表示批大小,其中S表示序列长度,并且其中H表示隐藏大小,其中经压缩的矩阵具有维度[B,S,K],其中K小于H,并且其中经解压缩的矩阵具有维度.B,S,H。
在一个实施例中,指令还使得至少一个处理单元经由系统的输入/输出(I/O)接口将经压缩的矩阵通信至外部存储器以用于存储;并且经由I/O接口从外部存储器取回经压缩的矩阵。
在一个实施例中,神经网络是变换器模型。在本实施例中,变换器模型中的关注层的查询子块、键子块或值子块是第一子块。
在一个实施例中,指令还使至少一个处理单元在所述压缩之前将输入矩阵分割成分量一组矩阵。在该实施例中,压缩输入矩阵包括由压缩块单独地压缩分量一组矩阵中的每个分量矩阵。
以上描述说明了本公开的各种实施例以及如何实现特定实施例的方面的示例。上述示例不应被认为是唯一的实施例,并且被呈现以说明由以下权利要求限定的特定实施例的灵活性和优点。基于以上公开和以下权利要求,在不脱离权利要求所限定的本公开的范围的情况下,可以采用其他布置、实施例、实现和等同物。

Claims (15)

1.一种系统,包括:
一组处理单元;以及
机器可读介质,其存储指令,所述指令当由所述一组处理单元中的至少一个处理单元执行时,使所述至少一个处理单元:
在被包括在神经网络中的压缩块处,从所述神经网络的第一子块接收输入矩阵;
由所述压缩块将所述输入矩阵压缩为经压缩的矩阵,以减少在传输和存储所述经压缩的矩阵时对硬件资源的利用,相对于所述输入矩阵的维数,所述经压缩的矩阵具有减少的维数;
由所述压缩块输出所述经压缩的矩阵;
由被包括在所述神经网络中的解压缩块取回所述经压缩的矩阵;
由所述解压缩块将所述经压缩的矩阵解压缩为经解压缩的矩阵,所述经解压缩的矩阵具有与所述输入矩阵的维数相同的维数;以及
向所述神经网络的第二子块输出所述经解压缩的矩阵;
其中,所述压缩块基于从所述神经网络接收的反馈来学习优化所述压缩,并且所述解压缩块基于从所述神经网络接收的所述反馈来学习优化所述解压缩。
2.根据权利要求1所述的系统,其中所述压缩块包括全连接网络(FCN),其中所述压缩包括:
由所述压缩块将所述输入矩阵与用于实现所述FCN的一组矩阵相乘,以产生具有所述减少的维数的所述经压缩的矩阵。
3.根据权利要求2所述的系统,其中所述压缩还包括:
在所述相乘之前,通过所述压缩块的重塑函数重塑所述输入矩阵,使得所述输入矩阵中的列的数目等于所述一组矩阵中的第一矩阵中的行的数目。
4.根据权利要求2所述的系统,其中所述压缩块通过基于从所述神经网络接收的所述反馈调整所述一组矩阵中的权重来学习优化所述压缩。
5.根据权利要求1所述的系统,其中所述解压缩块包括FCN,其中所述解压缩包括:
由所述解压缩块将所述经压缩的矩阵与用于实现所述FCN的一组矩阵相乘,以产生所述经解压缩的矩阵。
6.根据权利要求5所述的系统,其中所述解压缩还包括:
在所述相乘之后,通过重塑函数重塑所述经解压缩的矩阵,使得所述经解压缩的矩阵具有与所述输入矩阵的维数相同的维数。
7.根据权利要求5所述的系统,其中所述解压缩块通过基于从所述神经网络接收的所述反馈调整所述一组矩阵中的权重来学习优化所述解压缩。
8.根据权利要求1所述的系统,其中所述输入矩阵具有维度[B,S,H],其中B表示批大小,其中S表示序列长度,并且其中H表示隐藏大小,其中所述经压缩的矩阵具有维度[B,S,K],其中K小于H,并且其中所述经解压缩的矩阵具有维度[B,S,H]。
9.根据权利要求1所述的系统,其中所述指令还使所述至少一个处理单元:
经由所述系统的输入/输出(I/O)接口将所述经压缩的矩阵通信传送至外部存储器以用于存储;以及
经由所述I/O接口从所述外部存储器取回所述经压缩的矩阵。
10.根据权利要求1所述的系统,其中所述神经网络是变换器模型,其中所述变换器模型中的关注层的查询子块、键子块或值子块是所述第一子块。
11.根据权利要求1所述的系统,其中所述指令还使所述至少一个处理单元:
在所述压缩之前将所述输入矩阵分割成一组分量矩阵;
其中所述压缩所述输入矩阵包括由所述压缩块单独地压缩所述一组分量矩阵中的每个分量矩阵。
12.一种方法,包括:
在被包括在神经网络中的压缩块处,从所述神经网络的第一子块接收输入矩阵;
由所述压缩块将所述输入矩阵压缩为经压缩的矩阵,以减少在传输和存储所述经压缩的矩阵时对硬件资源的利用,相对于所述输入矩阵的维数,所述经压缩的矩阵具有减少的维数;
由所述压缩块输出所述经压缩的矩阵;
在被包括在所述神经网络中的解压缩块处取回所述经压缩的矩阵;
由所述解压缩块将所述经压缩的矩阵解压缩为经解压缩的矩阵,所述经解压缩的矩阵具有与所述输入矩阵的维数相同的维数;以及
向所述神经网络的第二子块输出所述经解压缩的矩阵;
其中,所述压缩块基于从所述神经网络接收的反馈来学习优化所述压缩,并且所述解压缩块基于从所述神经网络接收的所述反馈来学习优化所述解压缩。
13.根据权利要求12所述的方法,其中所述压缩块包括FCN,并且其中所述压缩包括:
由所述压缩块将所述输入矩阵与用于实现所述FCN的一组矩阵相乘,以产生具有所述减少的维数的所述经压缩的矩阵。
14.根据权利要求12所述的方法,其中所述解压缩块包括FCN,其中所述解压缩包括:
由所述解压缩块将所述经压缩的矩阵与用于实现所述FCN的一组矩阵相乘,以产生所述经解压缩的矩阵。
15.根据权利要求12所述的方法,其中所述输入矩阵具有维度[B,S,H],其中B表示批大小,其中S表示序列长度,并且其中H表示隐藏大小,其中所述经压缩的矩阵具有维度[B,S,K],其中K小于H,并且其中所述经解压缩的矩阵具有维度[B,S,H]。
CN202180052316.3A 2020-08-25 2021-05-18 用于语言模型的压缩和解压缩数据 Pending CN116235187A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/002,518 US20220067529A1 (en) 2020-08-25 2020-08-25 Compressing and Decompressing Data for Language Models
US17/002,518 2020-08-25
PCT/US2021/032838 WO2022046210A1 (en) 2020-08-25 2021-05-18 Compressing and decompressing data for language models

Publications (1)

Publication Number Publication Date
CN116235187A true CN116235187A (zh) 2023-06-06

Family

ID=76601690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180052316.3A Pending CN116235187A (zh) 2020-08-25 2021-05-18 用于语言模型的压缩和解压缩数据

Country Status (4)

Country Link
US (1) US20220067529A1 (zh)
EP (1) EP4205040A1 (zh)
CN (1) CN116235187A (zh)
WO (1) WO2022046210A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597540B (zh) * 2021-01-28 2021-10-01 支付宝(杭州)信息技术有限公司 基于隐私保护的多重共线性检测方法、装置及系统
US11763082B2 (en) * 2021-07-12 2023-09-19 International Business Machines Corporation Accelerating inference of transformer-based models
US20230237278A1 (en) * 2022-01-27 2023-07-27 International Business Machines Corporation Large-scale text data encoding and compression

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110663048B (zh) * 2017-09-05 2023-10-24 松下电器(美国)知识产权公司 用于深度神经网络的执行方法、执行装置、学习方法、学习装置以及记录介质
US20210295168A1 (en) * 2020-03-23 2021-09-23 Amazon Technologies, Inc. Gradient compression for distributed training

Also Published As

Publication number Publication date
US20220067529A1 (en) 2022-03-03
WO2022046210A1 (en) 2022-03-03
EP4205040A1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
CN116235187A (zh) 用于语言模型的压缩和解压缩数据
Deng et al. Model compression and hardware acceleration for neural networks: A comprehensive survey
JP7372347B2 (ja) データ圧縮方法およびコンピューティングデバイス
US11893469B2 (en) Position masking for transformer models
CN114402596B (zh) 神经网络模型解码方法、装置、系统和介质
US20220253672A1 (en) Sparse attention neural networks
US20220382978A1 (en) Training masked language models based on partial sequences of tokens
US20220067280A1 (en) Multi-token embedding and classifier for masked language models
CN111539199A (zh) 文本的纠错方法、装置、终端、及存储介质
US11544537B2 (en) Token-position handling for sequence based neural networks
US20220076127A1 (en) Forcing weights of transformer model layers
Jensen et al. Self-organizing letter code-book for text-to-phoneme neural network model
EP4186003A1 (en) Compressing tokens based on positions for transformer models
CN117725432A (zh) 文本语义相似度对比方法、装置、设备及可读存储介质
Liu et al. Attention-based neural joint source-channel coding of text for point to point and broadcast channel
US11954448B2 (en) Determining position values for transformer models
WO2022072029A1 (en) Decimating hidden layers for training transformer models
US11886983B2 (en) Reducing hardware resource utilization for residual neural networks
CN118396128B (zh) 语言模型推理优化方法、电子设备、存储介质及程序产品
WO2023056920A1 (en) Multilayer perceptron neural network for speech processing
Susladkar et al. SLBERT: A Novel Pre-Training Framework for Joint Speech and Language Modeling
Zheng et al. A Hardware-efficient Accelerator for Encoding Stage of Text-to-speech Synthesis
WO2022221045A1 (en) Performing multiple tasks with continual adaptation
CN118520950A (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