GPT-4o背后可能的语音技术 原创
如果我不说明这是一段GPT-4o调戏主持人的视频,你是否会认为电话另一端是真人在对话?
GPT-4o在与人类的对话过程中,不仅能理解人的情绪,还能像人一样说话。
总结来说,GPT-4o具有下列语音能力:
- 具有丰富的语音风格:语速快一点、语调柔和一点、或者用说唱的风格;
- 可以理解语音以外的信息:喘气声、叹气声;
- 可以发出非语言声音:笑声;
- 可以进行自然而即时的互动,不需要唤醒词。
其实,早在GPT-4o以前,GPT3.5手机版就有语音功能,那么它和新版的GPT-4o有什么区别呢?李宏毅教授对GPT-4o背后的语音技术进行了分析,下面是对其分析内容的总结,后台回复cam获取pdf下载链接。
老版本的ChatGPT是先通过语音识别模型(whisper)将语音转换成文本,然后将文本传送给大模型(ChatGPT),最后通过语音合成模型(TTS)将大模型的输出合成语音。
然而,文本作为语音的某种压缩,在语音转换为文本的过程中,情感信息往往无法被保留,导致后面生成的声音显得单调。
为了解决这个问题,有人在此基础上加入了情感分析模块,将情感信息以上下文的形式发给大模型和语音合成模块。
虽然这在一定程度上解决了情感丢失问题,但情感分析、语音识别、语音合成这三个独立的模块,无疑增加了推理负担,这也是为什么老版本会思考片刻才会做出回应的原因,“反应迟钝”在多人对话中显得很不自然。
而GPT-4o是一个端到端的语音模型。
文本语言模型输入、输出都是文本,处理文本时,先要将文本转换成tokens,然后将token ids转换成词嵌入输入到Transformer,最后将Transformer输出的token ids解码成token。
GPT-4o输入、输出都是语音,声波是一种模拟信号,别说是大模型,就算是计算机也没办法直接处理模拟信号,所以很多音频处理软件需要先通过声卡将模拟信号转换成数字信号。
语音版语言模型也需要类似的编解码器,它不仅要将连续的语音转换成离散的tokens,还要将其压缩到隐空间,但文字是人造的,语音是自然生成的,所以没办法像NLP那样构造一个词表,这个过程需要神经音频编解码模型模型来完成。
神经音频编解码模型也并不是什么新玩意,最初用于音频数据压缩传输。下图列出了神经编解码模型的重要时间节点。
编码器负责将语音压缩到离散的隐空间,解码器负责将隐空间信息解压缩成语音信号,这个隐空间类似于词嵌入空间。
将语音信号编码成离散的数字向量后就可以输入到Transformer中了,其它的和大语言模型基本就一样了。
下图是基于神经编解码模型的大语言模型,也就是说GPT-4o很可能就是这个样子的。神经编解码模型是和语言模型一起训练的,而在老版本中,语言模型和三个独立模块都是单独训练的。
和基于文本的大模型一样,基于语音的大模型也需要经过预训练和微调过程。
但鉴于文本资料要比语音资料丰富,所以可能会用文本语言模型的参数去初始化语音版语言模型。
本文转载自公众号人工智能大讲堂