智谱语音模型调研
type
status
date
slug
summary
tags
category
icon
password
2024-SCALING SPEECH-TEXT PRE-TRAINING WITH SYNTHETIC INTERLEAVED DATA

对于speech tokenizer
1、不再使用重建/对抗式训练方法或是自监督学习方法
2、tokenizer的具体架构为:
经过pre-fined的pooling + vector quantization + Whisper architecure(?用于在线流推理,总之是一个Transformer?)
(流程是这样的:语音输入—> 信号特征提取 —> Encoder —> pooling —> vector quantization —> Decoder)
(ASR模型的输入和输出:语音—>文本)
替换掉了whisper architecuter中,encoder前的卷积神经网络、而使用因果卷积神经网络,同时替换掉encoder中的bidirectional attention,改为mask attention——>只考虑前面的token而不提前看到后面的token
对于speech decoder
使用CosyVoice 的 decoder架构
1、首先、通过Transformer的encoder,将连续的离散token序列转化为有上下文信息的token序列(使用block casual attention)
2、其次,使用flow matching model将token序列转化为Mel频谱(什么是Mel频谱?)
3、生成的Mel 频谱再通过 HIFI-GAN vocoder 变成语音
对于speech-text interleaved data
1、先训练一个text-to-token的模型(使用transformer架构)
将文本直接转化为speech token(一般而言,一个文本会对应多个speech token)
2、对于一个文本资料,按照泊松分布()取出一个句子长度,随机选择文本中的一段句子,使用text-to-token模型将其转化为speech token,一直到选出的text token占原始的text token的比例达到一定比例(论文中发现0.3效果最好)
对于模型训练(简略)
先使用一个训练好的文本大模型作为基础,再用不同的数据进行训练(提高speech-text alignment)。并进行微调(用GPT-4)
对于模型推理
两种模式:
1、speech-to-speech:
语音输入—>通过speech tokenizer变成离散token序列 —> 通过模型处理生成输出token序列(生成序列是通过块解码器生成的) —> 随后经过块encoder生成具有上下文的信息 —> 再通过上面描述的speech decoder变成真正的语音信息
2、text-guided speech generation
在speech-to-speech的基础上,接受speech输入后,先生成一个Text response和speech response,随后以text response指导生成下一个response(?
2024-GLM-4-Voice: Towards Intelligent and Human-Like End-to-End Spoken Chatbot
一、整体目标
1)理解用户的输入含义,并且输出语义正确的输出
2)跟从用户的指示,输出含有丰富信息(如语气)、能够符合用户期望的输出
二、tokenizer

要么是存储、处理成本高、要么是存储的信息不够丰富,合成不好。
理想的tokenizer应该能够符合如下特征:
1)采样率较低、并且使用 single-codebook 来支持自回归生成
2)能够与文本对齐,使得其能够利用大模型来理解语义
3)支持高质量的语音生成
GLM-4-Voice 的 speech tokenizer 和 decoder 与上篇论文的架构相同

左侧为tokenizer(whisper architecure),右侧为decoder
三、Inference

GLM-4-Voice解构了Speech-to-Speech的过程(因为考虑到了当前文本大模型的优秀表现),将其分割为
1、Speech-to-text
2、Speech-to-text-to-speech
通过交替输出speech和text,来减小延迟。
相当于LLM的词表中既有文本的token,也有语音的token,通过prompt的不同生成不同的token。