一种多模态数据的处理方法及装置与流程

摘要: 本技术涉及人工智能(artificialintelligence,ai),尤其涉及一种多模态数据的处理方法及装置。背景技术:1、大语言模型(largelangu...
一种多模态数据的处理方法及装置与流程

本技术涉及人工智能(artificial intelligence,ai),尤其涉及一种多模态数据的处理方法及装置。

背景技术:

1、大语言模型(large language model,llm)的发展迅速,在很多任务上达到了前所未有的高度。大语言模型中最具代表性的是gpt类的模型。该类模型的主要特点就是用transformer进行序列建模,模型的输入输出的格式都为某种离散编码(如:词、字、字母)的序列。

2、大语言模型的成功推动了多模态大模型的发展,业界普遍认为大语言模型会逐渐融合其他模态的数据,进而发展成为多模态大模型。其中将语音和文本两个模态混合的多模态大模型比较常见。这种模型能够同时接收语音和文本的输入,并且集成文本大语言模型的诸多能力,直接输出语音或者将语音和文本同步输出。

3、但是现有的语音文本多模态方案中,存在一些不足,例如仅具备语音理解能力不具备语音生成能力、或仅具备语音生成能力不具有语音理解能力,或者语音理解能力不足等问题。

技术实现思路

1、本技术的实施例提供一种多模态数据的处理方法及装置,实现大语言模型同时具有较好的语音理解和生成能力。

2、第一方面,本技术提供了一种多模态数据的处理方法,包括获取输入数据,输入数据包括文本模态的输入数据、语音模态的输入数据中至少一种模态的输入数据;对输入数据进行编码,得到编码向量;将编码向量作为大语言模型的输入,输出语音文本联合表征向量,语音文本联合表征向量包括所要生成的语音数据的特征和所要生成的文本数据的特征;基于语音文本联合表征向量,生成语音数据和文本数据,该语音数据和文本数据的内容相同。

3、本技术利用大语言模型对输入数据进行处理输出语音文本联合表征向量,通过语音文本联合表征向量同时表征文本和语音,如此,一方面利用大语言模型的推理能力,实现对语音输入数据的理解,另一方面,利用语音文本联合表征向量实现对文本和语音数据的生成,使得大语言模型同时具有较好的语音理解能力和生成能力,以及同时采用语音和文本两种模态的数据输出相同的内容,用户更易于接收,提升用户体验,例如针对用户输入的数据,大语言模型经过推理生成的响应内容,通过语音播报和文字显示的方式反馈给用户,相对于单模态的输出响应,用户无需时刻盯着屏幕或者耳朵时刻聆听语音播报来接收响应内容,用户更方便接收,改善用户体验。

4、在一个可能的实现中,语音文本联合表征向量为连续的表征向量,连续的表征向量相比于离散表征向量来说,表示的信息更加丰富,有利于提高后续语音生成的质量。

5、在另一个可能的实现中,输入数据包括语音模态的输入数据;对输入数据进行编码,得到编码向量的一种具体实现为:将语音模态的输入数据作为语音编码器(speechencoder)的输入,输出第一语音编码向量;将语音编码向量作为适配器(adapter)的输入,输出第二语音编码向量,第二语音编码向量的维度和大语言模型的输入维度相同,第二语音编码向量为连续的表征向量,基于第二语音编码向量,得到编码向量,也就是说,在输入数据进包括语音模态数据时,对输入数据进行编码得到的编码向量仅包括的适配器输入的第二语音编码向量。

6、通过适配器将语音编码器输出的语音编码向量映射到大语言模型的输入维度(即与文本embedding相同的维度),以便于大语言模型对语音编码向量进行处理,语音编码向量采用连续的表征向量进行表征,保留了语音输入数据的更多信息,有利于后续语音的理解和生成。

7、在另一个可能的实现中,输入数据还包括所述文本模态的输入数据;编码向量还包括文本模态的输入数据对应的嵌入表征向量。

8、也就是说,本技术还支持同时输入文本模态和语音模态的数据,根据文本模态的输入数据和语音模态的输入数据推理得到语音文本联合表征向量,然后根据语音文本联合表征向量输出与输入数据对应的语音和文本。例如,输入数据可以是:(语音)你看,(文本)天空多蓝。输出可以是:(文本)是的,天气真好!(以及对应的语音,即语音播报出:是的,天气真好!)。

9、在另一个可能的实现中,大语言模型的输出端分别连接语音输出模块的输入端和文本输出模块的输入端;基于语音文本联合表征向量,生成语音数据和所述文本数据的一种具体实现为:将语音文本联合表征向量作为语音输出模块的输入,输出语音数据;将语音文本联合表征向量作为文本输出模块的输入,输出文本数据。通过设置语音输出头和文本输出头,实现支持语音生成和文本生成。

10、在另一个可能的实现中,文本输出模块包括文本过滤层和输出层;将语音文本联合表征向量作为语音输出模块的输入,输出语音数据的一种具体实现为:将语音文本联合表征向量作为文本过滤层的输入,输出文本表征向量;将文本表征向量作为输出层的输入,输出概率分布,概率分布指示词表中每个词元被输出的概率;基于概率分布,从词表中进行采样,得到文本数据。

11、需要说明的是,本技术实施例中的文本过滤层可以通过多种方式实现,例如多层感知机(multilayer perceptron,mlp)和卷积神经网络(convolutional neuralnetworks,cnn)等神经网络结构实现。

12、通过在文本输出模块中设置文本过滤层将语音文本联合表征向量中的语音表征部分过滤掉,得到文本表征向量,然后再通过输出层对文本表征向量进行处理输出概率分布,在概率分布的基础上进行采样得到所要输出的token,进而实现文本数据的生成。

13、在另一个可能的实现中,语音输出模块包括语音过滤层和映射层;将语音文本联合表征向量作为文本输出模块的输入,输出文本数据的一种具体实现为:将语音文本联合表征向量作为语音过滤层的输入,输出语音表征向量;将语音表征向量作为映射层的输入,输出语音数据。

14、可以理解的是,语音过滤层可以通过多种方式实现,例如多层感知机(multilayerperceptron,mlp)和卷积神经网络(convolutional neural networks,cnn)等神经网络结构实现。可选的,映射层可以通过mlp、全连接层(fully connected layers,fc)等实现。

15、通过在语音输出模块中设置语音过滤层将语音文本联合表征向量中的文本表征部分过滤掉,得到语音表征向量,由于语音表征向量的表征采样率较低,而真实语音数据的采样率较高,因此需要通过映射层将语音表征向量从较低采样率映射到较高采样率的真实语音数据空间,比如语音表征向量的采样率表示为每秒50个向量表示,表示50赫兹的音频采样率,但是真实的语音数据通常为16k赫兹的采样率,即每秒包括16k个语音数据点,通过映射层将语音表征向量按照一定比例映射到真实的语音数据空间,进而得到语音数据。在另一个可能的实现中,大语言模型为自回归类型的大语言模型;本技术提供的多模态数据的处理方法还包括:将语音文本联合表征向量输入至语音输入模块,输出语音输入模块处理后的语音文本联合表征向量,处理后的语音文本联合表征向量的维度和大语言模型的输入维度相同;将处理后的语音文本联合表征向量作为大语言模型的输入。

16、采用自回归类型的大语言模型,例如gpt模型,可以实现支持任意长度的文本和语音的理解和生成。

17、在另一个可能的实现中,语音数据和文本数据的输出步数相同。即语音和文本同步播放和停止,如此,通过文本的结束控制语音数据的输出结束,即通过文本输出句子结束标记来判断是否停止输出文本和语音。

18、在另一个可能的实现中,本技术提供的多模态数据的处理方法还包括:将语音文本联合表征向量输入至语音停止判断模块;基于语音停止判断模块输出的信号,确定语音数据的输出是否停止。例如,语停止判断模块以通过二值分离器来实现判断语音数据的输出是否停止,与文本的输出解耦,可以实现与文本的输出不同步,以及支持只输出语音,并且可以自行判断是否停止输出语音。

19、在另一个可能的实现中,语音停止判断模块包括二值分类器,语音停止判断模块输出的信号包括第一数值或第二数值,第一数值指示语音数据的输出结束,第二数值指示语音数据的输出未结束;基于语音停止判断模块输出的信号,确定语音数据的输出是否停止的一种具体实现为:当检测到语音停止判断模块输出第一数值,则确定语音数据的输出停止;当前检测到语音停止判断模块输出第二数值,则确定语音数据的输出未停止。如此,语音数据的输出和文本数据的输出进行解耦,可以实现单独输出语音数据或单独输出文本数据。

20、在另一个可能的实现中,大语言模型基于训练数据训练得到;训练数据包括多个训练样本对,每个训练样本对包括文本样本和文本样本所对应的文本语音对、语音样本和语音样本所对应的文本语音对、文本语音样本和文本语音样本所对应的文本语音对中的至少一项,文本语音对中文本和语音的语义相同。

21、通过对训练数据的设计,实现大语言模型可以处理文本+语音的多模态数据。

22、第二方面,本技术还提供一种多模态数据的处理装置,包括获取模块、编码模块、联合表征模块和生成模块,其中,获取模块用于获取输入数据,输入数据包括文本模态的输入数据、语音模态的输入数据中至少一种模态的输入数据;编码模块用于对输入数据进行编码,得到编码向量;联合表征模块用于将编码向量作为大语言模型的输入,输出语音文本联合表征向量,语音文本联合表征向量包括所要生成的语音数据的特征和所要生成的文本数据的特征;生成模块用于基于语音文本联合表征向量,生成语音数据和文本数据,该语音数据和文本数据的语义内容相同。

23、在一个可能的实现中,语音文本联合表征向量为连续的表征向量。

24、在另一个可能的实现中,输入数据包括语音模态的输入数据;编码模块具体用于:将语音模态的输入数据作为语音编码器的输入,输出第一语音编码向量;将语音编码向量作为适配器的输入,输出第二语音编码向量,第二语音编码向量的维度和大语言模型的输入维度相同,第二语音编码向量为连续的表征向量,编码向量为第二语音编码向量。

25、在另一个可能的实现中,输入数据还包括所述文本模态的输入数据;编码向量还包括文本模态的输入数据对应的嵌入表征向量。

26、在另一个可能的实现中,大语言模型的输出端分别连接语音输出模块的输入端和文本输出模块的输入端;生成模块具体用于:将语音文本联合表征向量作为语音输出模块的输入,输出语音数据;将语音文本联合表征向量作为文本输出模块的输入,输出文本数据。

27、在另一个可能的实现中,文本输出模块包括文本过滤层和输出层;将语音文本联合表征向量作为语音输出模块的输入,输出语音数据的一种具体实现为:将语音文本联合表征向量作为文本过滤层的输入,输出文本表征向量;将文本表征向量作为输出层的输入,输出概率分布,概率分布指示词表中每个词元被输出的概率;基于概率分布,从词表中进行采样,得到文本数据。

28、在另一个可能的实现中,语音输出模块包括语音过滤层和映射层;将语音文本联合表征向量作为文本输出模块的输入,输出文本数据的一种具体实现为:将语音文本联合表征向量作为语音过滤层的输入,输出语音表征向量;将语音表征向量作为映射层的输入,输出语音数据。

29、在另一个可能的实现中,大语言模型为自回归类型的大语言模型;本技术提供的多模态数据的处理装置还包括输入模块,该输入模块用于将语音文本联合表征向量输入至语音输入模块,输出语音输入模块处理后的语音文本联合表征向量,处理后的语音文本联合表征向量的维度和大语言模型的输入维度相同;将处理后的语音文本联合表征向量作为大语言模型的输入。

30、在另一个可能的实现中,语音数据和文本数据的输出步数相同。

31、在另一个可能的实现中,本技术提供的多模态数据的处理装置还包括停止判断模块,该停止判断模块用于将语音文本联合表征向量输入至语音停止判断模块;基于语音停止判断模块输出的信号,确定语音数据的输出是否停止。

32、在另一个可能的实现中,语音停止判断模块包括二值分类器,语音停止判断模块输出的信号包括第一数值或第二数值,第一数值指示语音数据的输出结束,第二数值指示语音数据的输出未结束;基于语音停止判断模块输出的信号,确定语音数据的输出是否停止的一种具体实现为:当检测到语音停止判断模块输出第一数值,则确定语音数据的输出停止;当前检测到语音停止判断模块输出第二数值,则确定语音数据的输出未停止。

33、在另一个可能的实现中,大语言模型基于训练数据训练得到;训练数据包括多个训练样本对,每个训练样本对包括文本样本和文本样本所对应的文本语音对、语音样本和语音样本所对应的文本语音对、文本语音样本和文本语音样本所对应的文本语音对中的至少一项,文本语音对中文本和语音的语义相同。

34、第三方面,本技术实施例提供一种计算设备,包括存储器和处理器,所述存储器中存储有指令,当所述指令被处理器执行时,使得第一方面或第一方面的任一种可能的实现方式所描述的方法被实现。

35、第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在被处理器执行时,使得第一方面或第一方面的任一种可能的实现方式所描述的方法被实现。

36、第五方面,本技术实施例还提供一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括指令,当所述指令执行时,令计算机执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

37、第六方面,本技术实施例还提供一种芯片,包括至少一个处理器和通信接口,所述处理器用于执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

38、可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,为了简洁,在此不再赘述。