大纲
一、GPT-4o的语音技术
-
语音互动功能 -
语音风格 -
理解语音内容以外信息 -
发出非语音性的声音
二、GPT-4o语音模式的误解
-
语音界面功能 -
GPT-4o语音模式的特点
三、GPT-4o语音模式的技术原理
-
语音信号处理 -
语音识别与合成 -
语音单元(Speech Unit) -
混合编码器与解码器 -
语者自动分段标记(Speaker Diarization)
四、GPT-4o语音模型的训练
-
大量声音资料的利用 -
结合文字资料进行训练 -
预训练与微调
五、GPT-4o语音模型的实际应用
-
同时听与说的能力 -
同时听、说、看的处理
内容总结
一句话总结
本视频深入探讨了GPT-4o背后的语音技术,包括语音互动功能、语音风格、语音信号处理、语音识别与合成、语音单元、混合编码器与解码器、语者自动分段标记等,并讨论了GPT-4o语音模型的训练和实际应用。
关键内容总结
-
GPT-4o的语音互动功能和丰富的语音风格。 -
语音信号处理技术,包括语音识别和合成。 -
语音单元(Speech Unit)的概念和应用。 -
混合编码器与解码器在语音模型中的应用。 -
语者自动分段标记(Speaker Diarization)技术。 -
GPT-4o语音模型的训练方法,包括大量声音资料的利用和结合文字资料进行训练。 -
GPT-4o语音模型的实际应用,如同时听与说的能力。
金句摘抄
-
"GPT-4o的语音模式,特别之处在于其丰富的语音风格。" -
"语音版的语言模型并非直接对声音信号进行语音解码,而是先将声音信号转换为一串Speech Units,这些Units作为语音版语言模型的输入。" -
"语音版的语言模型无需生成复杂的声音信号,仅需产生Speech Unit,再通过Decoder将这些Unit转换回复杂的声音信号。"
自问自答
-
语音版的语言模型是如何运作的?
-
语音版的语言模型通过听取一段声音,然后预测接下来应产生何种声音,即进行声音接龙。 -
语音版语言模型与传统语言模型有何不同? -
语音版语言模型直接处理声音信号,而传统语言模型处理文字。 -
语音版语言模型如何处理语音信号? -
语音版语言模型首先将声音信号转换为Speech Units,然后基于这些Units进行预测和生成。 -
语音版语言模型如何利用文字信息? -
语音版语言模型可以通过结合文字和语音资料进行训练,或者在表示声音时结合文字符号。 -
语音版语言模型如何实现同时听与说的能力? -
语音版语言模型通过将听与说设置为两个独立频道,同时处理这两个频道的信息。 -
GPT-4o -
语音技术 -
语音互动 -
语音风格 -
语音信号处理 -
语音识别 -
语音合成 -
语音单元 -
混合编码器 -
语者自动分段标记 -
训练方法 -
实际应用 -
语音技术爱好者 -
人工智能研究者 -
机器学习工程师 -
语言模型开发者 -
GPT-4o:一种先进的语言模型,具有强大的语音互动功能。 -
语音互动:通过语音与AI进行交流的能力。 -
语音风格:语音的语调、速度等风格特征。 -
语音信号处理:将声音信号转换为可处理的形式的技术。 -
语音识别:将语音信号转换为文字的技术。 -
语音合成:将文字转换为语音信号的技术。 -
语音单元(Speech Unit):声音信号的基本单位,用于表示语音。 -
混合编码器:结合了解码器与语音合成的编码器。 -
语者自动分段标记(Speaker Diarization):自动识别和分段不同语者的技术。 -
视频内容主要探讨GPT-4o的语音技术。 -
视频面向具有语音技术背景的观众,内容可能较为基础。 -
假设观众已修过生成式人工智能导论,未修过的观众可通过链接找到相关课程。 -
GPT-4o的显著特点之一是其先进的语音技术。 -
GPT-4o能够通过文字指令调整语音风格,包括语速、语调和表达形式(如歌唱)。 -
GPT-4o具备理解并反应非语音信息的能力,如识别喘气声并作出相应反应。 -
GPT-4o可以发出非语音性的声音,如笑声,增强互动性和自然性。 -
GPT-4o在对话中突然发出“wow”的声音。 -
对话中的人要求GPT-4o去做某件事情。 -
建议观众在观看视频前先查看OpenAI的演示。 -
视频录制于2024年5月19日晚上,讨论GPT-4o语音模式。 -
截至该日期,大多数人尚未体验到GPT-4o的语音模式。 -
人们误以为已体验GPT-4o语音模式,实际上是使用了ChatGPT手机版的语音界面功能。 -
ChatGPT手机版原本就支持语音互动,用户通过语音与ChatGPT交流。 -
OpenAI发布了关于Voice Mode的更新通知。 -
Voice Mode目前处于初步阶段,未完全推出。 -
预计Voice Mode将在未来几周内逐步开放。 -
当前手机版ChatGPT的语音界面可能还未更新至GPT-4o的语音模式。 -
旧版语音界面流程:语音信号→语音识别→文字→语言模型→回应→语音合成→语音信号。 -
该界面能实现自然和即时的交互,但与GPT-4语音模式相比有差距。 -
语音识别可能无法准确识别说话者情绪,语音合成限于单一说话风格。 -
作者推测GPT-4语音界面可能增加了额外模块,如语音事件识别。 -
情绪识别模块可以侦测声音信号中的情绪,并将这些情绪信息附加到语音识别结果中。 -
语言模型可以利用这些情绪信息来理解输入语音的情绪。 -
语言模型可以在输出文字时,额外输出符号来指示特定的情绪或语气。 -
语音合成系统能够识别这些符号或文字指令,并据此调整合成语音的语气。 -
实例中提到SUNO AI的BUG模型和ChatGPT都能与语音合成系统互动,实现情绪或语气的传递。 -
利用现有技术整合构建GPT-4o的语音界面是可行的。 -
整合可能导致系统实时性不佳,需要工程手段加速模型运行。 -
GPT-4o的语音界面设计易于处理,在不同温度条件下表现良好。 -
语音模式采用端到端模型架构。 -
单一模型处理所有输入与输出。 -
模型以语音信号为输入,生成相应输出。 -
模型为多模态,能处理图像和视频。 -
讨论聚焦于声音处理部分。 -
视频讨论的主题是技术,特别是GPT-4o的Voice Mode。 -
视频作者目前没有GPT-4o的Voice Mode,其理解基于OpenAI的展示。 -
作者对GPT-4o的技术理解缺乏官方论文或技术报告的支持。 -
视频内容包含作者对可能实现GPT-4o效果的技术的推测。 -
作者预先声明,若推测与实际技术有出入,希望观众谅解。 -
语言模型的训练过程包括三个主要步骤:预训练(Pretrain)、微调(Finetune)和基于用户反馈的微调(RLHF)。 -
预训练阶段使用大量未标注数据。 -
微调阶段使用少量标注数据。 -
基于用户反馈的微调(RLHF)是训练的最后一步。 -
Finetune与RLHF的结合称为Alignment。 -
语音版语言模型通过听取声音并预测接下来应产生的声音,进行声音接龙。 -
语音比文字复杂,一秒钟的声音信号由大量采样点组成。 -
直接在声音信号上进行接龙非常耗时,现代语音接龙通常先将声音信号转换为其他形式再处理。 -
压缩声音时使用名为encoder的编码器。 -
编码器内部有codebook,存储多种代码,每种代码对应特定声音类型。 -
声音信号通过编码器转换为代码序列,称为speech unit。 -
解码器(decoder)能将speech unit转换回声音信号。 -
语音版语言模型基于Speech Units运作。 -
声音信号首先通过Encoder转换为Speech Units。 -
Speech Units作为模型的输入,模型预测下一个Unit。 -
预测的Speech Unit通过Decoder转换回声音信号。 -
语音版语言模型不直接生成复杂声音信号,而是产生Speech Unit。 -
通过Decoder将Speech Unit转换为复杂声音信号。 -
语音版语言模型基于压缩后的Speech Unit运作。 -
代表性模型有Meta的GSLM和Google的AudioLM。 -
GSLM在2021年初已存在,技术非最新。 -
解码器技术可应用于其他领域。 -
描述了一种特殊的语音识别技术,其输出为语音单元而非文字。 -
将解码器视为一种特殊的语音合成技术,输入为语音单元而非文字。 -
解码器的功能是将语音单元转换为语音,而非将文字转换为语音。 -
提出了一个问题:为何不直接将语音识别与语音合成作为编码器使用。 -
语音识别被视为一种压缩方法,将声音信号转换为文字。 -
文字是语音的浓缩版本,但仅能代表语音内容的信息。 -
语音识别可能无法捕捉到语音中的非文字信息,如笑声。 -
使用Speech Unit可能保留文字无法表达的信息,但也可能导致重新创造已有文字符号的问题。 -
提出将编码器与语音分离的另一种可能做法。 -
混合编码器结合了解码器与语音合成,称为混合解码器。 -
声音信号中的可识别部分转换为文字,不可识别部分使用Speech Unit表示。 -
混合解码器能处理文字和特殊符号,并转换回声音信号。 -
作者不确定GPT-4o是否会采用混合策略,可能仅使用编码器。 -
作者认为混合编码器有额外优势,将在后文讨论。 -
Speaker Diarization是一种技术,用于自动识别和标记不同说话者的语音片段。 -
在GPT-4o的演示中,系统能够区分并识别多个说话者。 -
该系统通过分析声音信号,能够区分哪些部分属于同一说话者,如区分语者A和语者B的语音。 -
语音版语言模型可能采用混合编码器和语者自动分段标记技术。 -
系统能识别并标记出声音信号中哪些部分由特定语者(如语者A)说出。 -
使用特殊符号(如A冒号)来标记特定语者的话语。 -
对于可文字表达的部分使用文字,无法文字表达的部分使用SpeechUnit等特殊符号。 -
讨论将转向如何训练这种语音版语言模型。 -
语音版语言模型是通过大量声音资料训练的。 -
训练目的是进行Speech Unit的接龙。 -
获取声音资料的途径包括网络影音平台。 -
OpenAI在4月份已有相关市场动作。 -
OpenAI使用了超过100万小时的YouTube视频来训练其语言模型。 -
报道引发了关于为何使用视频而非文字资料的疑问。 -
如果训练的是语音版语言模型,使用YouTube视频是合理的。 -
网络视频中的语音内容常包含音效和背景音乐。 -
使用这些声音信号训练语音版语言模型时,模型可能会学习到音效和背景音乐。 -
文章建议仔细聆听GPT -0 Demo中的声音以验证这一现象。 -
GPT-4能够产生多样化、戏剧性的声音。 -
实现方式是通过训练一个拥有十亿参数的语音合成模型。 -
训练数据量超过10万个小时的语音信号。 -
过去的语音合成系统因数据不足,声音平淡,类似“棒读”。 -
大量数据使模型能理解内容并赋予适当情感变化。 -
模型能自动调整语音的轻重,如在读到“Whisper亲身”时使用较轻的声音。 -
仅使用语音资料进行训练是不充分的。 -
100万小时的语音资料对应的文字量约为60亿个文字token。 -
拉玛3模型已经使用了10亿个文字token。 -
使用了十五兆个文字的token进行模型训练。 -
一百万小时的语音数据仅占预训练资料的250分之一。 -
仅依赖语音资料训练的模型知识可能非常有限。 -
建议结合文字和语音资料进行模型训练。 -
语音版的语言模型基于现有的语言模型进行初始化。 -
OpenAI利用已有的语言模型知识作为构建语音版模型的基础。 -
语音被视为一种新语言,由一系列单位组成,语言模型需学习这种新符号系统。 -
仅依赖语音信息训练不足,需结合文字信息进行混合模式训练。 -
结合文字和语音单位可能使语言模型学习更高效。 -
文字符号的含义已被模型知晓,只需理解新符号。 -
利用语音信息的方法不唯一,存在多种可能性。 -
提到了预训练(Pretrain)的概念。 -
列举了几篇相关论文供参考。 -
预训练的文字语言模型不足以有效回答问题。 -
需要通过对齐(Alignment)过程,即使用标注数据进行微调。 -
微调涉及收集特定对话数据,如模型对特定问题的回答。 -
对话数据包括正面示例(如自我介绍)和负面示例(如拒绝提供非法建议)。 -
微调目的是使模型能有效与人交流。 -
任务目的是收集语音对话以训练模型。 -
对话中一人扮演用户,另一人扮演AI。 -
通过模拟对话微调语音语言模型,提升理解说话者意图和回应的能力。 -
提出可能需要参考演示示例以进一步完善训练。 -
Aemon 是特定语者的声音。 -
语言模型发声使用特定人的声音。 -
ChangeVT 语音设置页面允许选择语者,如 Sky。 -
模型训练需调整以学会特定语者的声音。 -
需要收集Sky与其他人的对话来训练模型。 -
可能有一个声优代表Sky收集对话。 -
微调模型可能不需要大量资料,因为预训练模型已经具备丰富知识。 -
模型在预训练后能模仿多种说话方式,只需少量Sky的对话即可学会其说话风格。 -
语音模型与文字模型在本质上有显著差异。 -
文字交流中,开始和结束的意图表达清晰,如按下Enter键表示开始,明确的结束意图表示结束。 -
文字模型如ChatGPT能准确识别交流的开始和结束,无需猜测。 -
AI在语音界面中需要判断何时开始讲话,而在文字界面中则能明确知晓发言时机。 -
在语音交流中,AI面临是否立即回应或等待对方继续表达的选择。 -
用户可能会直接要求语言模型进行发言。 -
故事内容为“山上有座庙,庙里有个老和尚”,且会无限循环。 -
问题在于语音版语言模型是否能理解并停止这种循环。 -
提出是否只要有人说话,模型就应该停止响应的问题。 -
指出这不是最佳解决方案,因为有时人们可能正在与AI互动。 -
强调需要更精确的指令识别来让模型停止响应。 -
模型与人类自然互动的关键是实现同时听与说的能力。 -
传统文字接龙模式的问题在于听与说功能的分离。 -
解决方法是使用分离的听与说功能,如Dialogue GSLM模型所示。 -
模型需设置独立的听与说频道,分别监听和记录声音。 -
语音版语言模型需处理两个频道的信息,并能识别未完成句子以保持沉默。 -
语言模型能够识别并继续表达,如表达“我好期待”。 -
当人类仍在发声时,语音版语言模型会理解并输出“安静”符号,以维持安静状态。 -
存在多种方法使语言模型实现同时听与说,文中仅探讨了一种可能性。 -
语言模型可能需要同时进行听与说的操作。 -
GPT-4o模型具备同时处理听、说、看的能力。 -
模型通过视觉通道接收图像输入,并能详细描述所观察的环境。 -
在演示中,模型描述房间灯光时,未对手势做出反应,继续原有话题。 -
有人询问模型是否注意到异常,模型未直接回应手势。 -
语言模型在描述灯光时过于专注,未对毕业者发表评论。 -
当被问及是否看到异常事物时,语言模型会全面关注所有相关频道。 -
语言模型会收集所有信息,可能意识到有人毕业。 -
例子描述一个人在走动中偶然拍摄到一副眼镜,但未引起语言模型的注意。 -
该人随后询问语言模型当前位置,模型回答在“王室自射站附近”。
关键词标签
适合阅读人群
术语解释
课程回顾
有很多同学询问我对GPT-4o的看法,因此今天我将探讨GPT-4o背后可能的语音技术。本视频主要面向具有语音技术背景的观众,若您已是该领域的专家,本视频内容可能较为基础。首先,我假设观看本视频的同学已修过生成式人工智能导论。如果您尚未观看相关课程视频,可通过提供的链接找到。若您已观看过,将有助于更好地理解本视频内容。GPT-4o的一项显著特点是其语音技术,这是本视频将要详细讨论的主题。
令人瞩目的技术之一是语音互动功能。
Project Astra的结果显示,在该项目中也开发了语音互动技术。这表明当前语音互动技术是各大厂商极为重视的领域。GPT-4o的语音模式,
GPT-4o的特别之处在于其丰富的语音风格。与传统的语音合成技术不同,GPT-4o可以通过文字指令调整语调,如加快语速、轻声细语,甚至以歌唱形式表达内容。此外,GPT-4o具备理解语音内容以外信息的能力,即能够“察言观色”,例如识别出人的喘气声,并据此作出反应。它还能发出非语音性的声音,如笑声,这在演示中尤为明显,显示出其高度互动性和自然性。
另外,GPT-4o具备自然而即时的互动功能。在演示中,有人提到,我们可以进行一次互动。
有趣的尝试,话还未说完,GPT-4o突然发出一声“wow”,随后那人继续说:“我要你去做某件事情。”如果你还未观看过OpenAI的演示,建议先查看OpenAI的演示,再继续观看本视频。首先,我想澄清一点,
许多人对GPT-4o语音模式的误解。本视频录制于2024年5月19日晚上。截至5月19日晚上,大多数人应该尚未体验到GPT-4o的语音模式。许多人可能会认为他们已经拥有,因为他们可以使用语音与ChatGPT进行互动。然而,这种语音互动实际上是ChatGPT手机版自带的语音界面功能。ChatGPT的手机版本原本就支持语音互动。其互动方式是通过语音与ChatGPT进行交流。
GPT-4o已经推出了语音模式,你可以在屏幕右下角点击语音按钮,随后将显示相应的界面。
可以通过此界面与ChatGPT进行语音交流。然而,若实际体验,会发现此语音界面并未包含GPT 4.0语音模式演示中的多种高级功能,如使用不同语气说话或打断其发言等。实际上,
大家可能都收到了OpenAI的通知,关于Voice Mode的更新。目前Voice Mode尚未完全推出,仅处于初步阶段,预计将在未来几周内逐步开放。因此,当前手机版ChatGPT的语音界面可能还未更新至GPT-4o的语音模式。
旧版的语音界面首先将语音信号通过语音识别转换为文字,然后将这些文字输入到语言模型中,例如ChatGPT。语言模型会生成一个回应,该回应再通过语音合成技术转换回语音信号。实际上,如果语音识别和语音合成足够快速,这种界面可以实现相当自然和即时的交互功能。然而,与OpenAI GPT-4语音模式的演示相比,仍存在一定差距。例如,通过语音识别将声音信号转换为文字时,语言模型可能无法识别说话者的情绪。如果语音合成仅将语言模型的输出转换为声音信号,那么语音合成将仅限于某一种说话风格。在观看GPT-4的语音界面演示时,我思考它是否仅是在原有系统上增加了一些额外的模块,例如在语音识别之外,增加了语音事件的识别。
所以我们也有机会通过情绪识别模块,将声音信号中的情绪侦测出来。你可以将侦测到的情绪附加在语音识别结果之后,再输入给语言模型。这样语言模型也有机会了解这句话的情绪。我在此引用一些论文,这些论文指出,你可以添加一些额外的模块,帮助语言模型理解当前输入语音的情绪。此外,你也可以让语言模型在输出文字之外,额外输出一些符号。例如,语言模型在其输出语句后加上一个括号笑,再传递给语音合成系统,语音合成系统或许就能产生笑声。你可能会问,语音合成系统能否看到这个括号笑就产生笑声?确实有些语音合成系统可以做到。例如,SUNO AI开发的BUG,你在语句中输入一个笑,该语音合成模型的结果就能产生笑声。另一方面,ChatGPT也可能生成一段指令,告诉语音合成系统应采用何种语气进行合成。许多语音合成系统确实能理解这些文字指令。
所以,利用现有的多种技术进行整合,构建GPT-4o的语音界面并非不可能。然而,这种整合可能导致系统的实时性不佳,需要通过大量的工程手段来加速模型运行,以实现真正的即时响应。根据GPT-4o的博客所述,其语音界面设计得非常易于处理。因此,我们可以看到,在处理各种温度条件下的语音界面时,GPT-4o表现出了极高的易处理性。
其语音模式采用端到端的模型架构,即通过单一模型处理所有输入与输出。不同于之前展示的复杂架构,该模型以语音信号为输入,并生成相应的输出。此模型为多模态模型,具备处理图像和视频的能力,但本次讨论将聚焦于声音处理部分。
本视频的主要目的是讨论技术,无意对任何群体或个人造成伤害。我目前尚未拥有GPT-4o的Voice Mode,因此我对GPT-4o的理解完全基于OpenAI的展示。至于Voice Mode实际发布后是否如展示般强大,我们拭目以待。OpenAI至今未发布任何关于GPT-4o的论文或技术报告。以下内容是基于我所了解的技术进行的推测。因此,我对GPT-4o背后技术的猜想并无确切依据,也缺乏论文支持。我仅希望与大家探讨,根据当前语音技术的发展,可能有哪些技术能够达到GPT-4o的效果。若将来发现实际技术与我的推测存在差异,敬请谅解。接下来,我们将开始讨论。
我们先来复习一下语言模型的训练过程。语言模型的训练分为三个步骤:首先是Pretrain,使用大量未标注的数据进行预训练;接着是Finetune,利用少量标注数据进行微调;最后是RLHF,即通过用户反馈的数据进行微调。Finetune与RLHF的结合称为Alignment。若对这三个步骤尚不熟悉,可参考我以往的授课录像或近期发布的视频。
影片讲解生成式人工智能的生成策略,首先回顾生成式人工智能的基本原理,然后继续进行后续课程。
语音版的语言模型运作原理是怎样的呢?我们知道语言模型是通过文字接龙来预测未完成句子的下一个词。而语音版的语言模型则能听懂一句话并给出回应,其背后的逻辑与文字接龙类似。它通过听取一段声音,然后预测接下来应产生何种声音,即进行声音接龙。尽管表面上语言模型与语音版的语言模型运作相似,但后者面临独特的挑战。首先,语音比文字更为复杂。例如,若采样率为16kHz,则一秒钟的声音信号由16000个采样点组成,即由16000个数值构成。因此,如果直接在声音信号上进行接龙,每秒需进行16000次接龙,这将非常耗时。因此,现代语音接龙通常不直接在声音信号上操作,而是先将声音信号转换为其他形式再进行处理。
进行压缩时,你会使用一个编码器,其英文名为encoder。该编码器内部包含一个codebook,其中存储了多种代码,每个代码对应一种特定类型的声音。例如,某个代码可能代表人类发出的b音,另一个代码代表人类的笑声,甚至还有代码代表非人类的声音,如狗叫声等。当一段声音信号输入编码器后,编码器会利用其内部的codebook来表示这段声音信号。因此,声音信号会被转换成一个代码序列,这些代码也被称为speech unit,可视为声音的基本单位。此外,还会训练一个解码器,即decoder,它能够读取这些speech unit并将它们转换回声音信号。
也是神经网络,需要通过训练数据进行训练。若想了解更多关于将声音信号转换为Speech Unit,再将Speech Unit解码的相关技术,可阅读以下两篇文章。至于语音版的语言模型呢?
语音版语言模型是基于Speech Units运作的。当声音信号输入时,该模型并非直接对声音信号进行语音解码。首先,声音信号通过Encoder转换为一串Speech Units,这些Units作为语音版语言模型的输入。模型的任务是预测下一个Speech Unit,随后该Unit通过Decoder转换回声音信号。
语音版的语言模型无需生成复杂的声音信号,仅需产生Speech Unit,再通过Decoder将这些Unit转换回复杂的声音信号。因此,语音版的语言模型是基于压缩后的Speech Unit进行运作的。目前,一些代表性的语音版语言模型包括Meta的GSLM和Google的AudioLM。这些技术并非最新,GSLM早在2021年初就已存在。此外,我们还可以将解码器用于其他方面。
可以将其视为一种特殊的语音识别技术,其输出并非文字,而是语音单元(Speech Unit)。同样,我们也可以将解码器看作是一种特殊的语音合成技术,其输入为语音单元而非文字。它的功能不是将文字转换为语音,而是将语音单元转换为语音。你可能会疑问,为何不直接将语音识别与语音合成作为编码器使用。
实际上,我们可以将语音识别视为一种特殊的压缩方法。当我们将声音信号转换为文字时,实际上是在进行某种形式的压缩。文字本身可以看作是语音的浓缩版本。然而,问题在于文字仅代表了语音中某一方面的信息,即语音内容的信息。例如,如果输入的声音信号是某人说“好好笑”,随后伴随着笑声,语音识别系统可能仅能识别出代表文字的“好好笑”,而笑声则无法被识别。当你使用语音合成将“好好笑”还原为声音时,笑声的信息就丢失了。使用Speech Unit的优势在于,它可能能够保留文字无法表达的信息。但另一方面,使用Speech Unit也存在缺点,即许多Speech Unit可能直接对应到某个文字的标记。这意味着编码器需要重新创造文字,而原本已有文字符号可以描述语音中的某些信号。这似乎是在重新创造文字。因此,另一种可能的做法是将编码器与语音分离。
一段声音信号结合,我们称之为混合编码器,结合了解码器与语音合成,称为混合解码器。对于一段声音信号,能够进行语音识别的部分,识别为文字的部分,用文字表示。无法用文字表示的部分,则使用Speech Unit表示。因此,一段声音信号中的“好好笑”部分可能可以用文字表示,而笑声部分则用特殊符号表示。混合解码器能够处理文字和特殊符号,将其转换回声音信号。我不确定GPT-4o是否会采用这种混合策略,或许GPT-4o仅使用编码器,未涉及语音识别。我认为使用混合编码器有其额外优势,这部分稍后会详细讨论。此外,我们还需要进一步探讨。
有一种技术称为Speaker Diarization,用于语者自动分段标记。在观看GPT-4o的演示时,可以发现当有两人以上与其对话时,系统能够识别出每个人。这表明系统应用了Speaker Diarization技术,即语者自动分段标记系统。该系统接收一段声音信号后,能够区分哪些部分是由同一语者所说,例如识别出哪些部分是语者A所说,哪些是语者B所说。因此,可以推测,对于一段声音信号,系统能够准确地进行语者识别和分段。
语音版的语言模型表达方式如下:可能同时使用了混合编码器和语者自动分段标记。当一段声音信号输入时,系统会标记出哪些段落是由语者A所说。这些标记可能使用A冒号等特殊符号来表示语者A的话语。对于可用文字表达的部分,直接使用文字;而对于无法用文字表达的部分,则使用SpeechUnit等特殊符号来表示。这是语音版语言模型在处理声音信号时的输入猜想。接下来,我们将探讨如何训练这种语音版模型。
语音版的语言模型,我们已经知道这个语言模型是通过大量文字资料训练出来的。同样,语音版的语言模型也可以利用大量声音资料进行训练。我们可以使用大量声音资料来训练一个语音版的语言模型,以进行Speech Unit的接龙。至于如何获取大量声音资料,这是一个非常直观的想法,网络上有许多影音平台,从这些平台上可以收集到大量的声音资料。OpenAI显然正在做这件事,因为在4月份,纽约市市场上已有相关动作。
时报报道了OpenAI使用超过100万小时的YouTube视频来训练其语言模型。起初看到这一报道时,我感到困惑,为何要利用YouTube视频来训练语言模型?难道现有的文字资料已耗尽,真的没有文字资料可供使用了吗?然而,若OpenAI是在训练语音版的语言模型,那么使用YouTube视频则完全合理。你或许会想,网络上…
网络上的视频内容繁多,并非所有语音都是纯净的,许多语音背后包含音效和背景音乐。当我们使用这些声音信号来训练我们的语音版语言模型时,该模型是否会学习到这些音效和背景音乐呢?非常有可能。让我们仔细聆听GPT 0 Demo中GPT 0的声音,请大家仔细听一下。
让我冷静一下。噢,你正在做直播吗?
现在,深呼吸一下,记住,你是专业的。如果今天一个语音模型在讲话时自带音效或背景音乐,其实也是一件很酷的事情。
以后讲话都自带背景音乐,因此我们可以说这不是一个缺陷,而是一个特性。
GPT-4可以产生非常多样化、戏剧性的声音。这是如何实现的呢?一些论文已经指出,这里引用的是Amazon在今年2月发布的论文。他们使用了超过10万个小时的语音信号来训练他们的语音合成模型。这里使用的是一个拥有十亿参数等级的模型。虽然这样的模型在文本领域并不算大,但对于语音合成模型来说已经非常庞大。他们发现,过去的语音合成系统由于使用的数据不足,因此合成的声音往往非常平淡。如果你看过动漫,你会知道这被称为"棒读",即讲话不带情感,非常平淡。但现在,如果有大量的训练数据,这些语音合成模型就能理解要朗读的内容,并根据内容给予适当的变化。例如,我们来看这个句子。注意这个句子中提到的"Whisper,亲身戏语,亲身"这个词汇。我们来看看语言模型是如何合成这个句子的。我们来听一下这个声音。根据这篇论文的说法,他们并没有对输入的文本做任何特殊处理,模型直接朗读输入的文本。但当它读到"Whisper亲身"这个词时,它自动知道要用较轻的声音来念这个句子。这是它自动根据数据学到的。当然,这里合成的声音可能并不十分戏剧化。我们今天看到的GPT-4演示,其声音合成可以更加戏剧化。当你要求它讲"亲身"时,它可以讲得更加"亲身"。但也许将数据从10万小时扩展到100万小时时,就会产生这种效果。因为我从未使用过这么多数据来训练语音合成系统,所以这只是个猜测。另一方面,仅仅使用它,
使用语音资料进行训练显然是不够的,必须结合文字资讯。为什么仅用语音资料训练不足?考虑100万小时的语音背后对应的文字量,100万小时等于6000万分钟,假设每分钟约100个文字token,则6000万分钟可产生60亿个文字token。虽然60亿听起来数量庞大,但需注意,拉玛3模型已使用了10亿token。
十五兆个文字的token用于训练。因此,一百万小时的语音仅占拉玛三预训练资料的250分之一。假设一个模型仅通过一百万小时的语音进行学习,它或许能学到一些语音信息,但其知识可能非常有限。因此,模型不能仅依赖语音资料进行训练,还需利用文字信息。如何利用文字信息呢?一种可能的方法是结合文字和语音资料进行训练。
语音版的语言模型是以原有的语言模型为基础进行初始化的。OpenAI已经开发了多种强大的语言模型,他们不会浪费这些模型已积累的知识,因此可以利用现有的语言模型作为基础来构建语音版的语言模型。简单来说,就是我们可以训练原有的语言模型,使其能够理解语音。我们之前提到,语音可以被表示为一系列的单位(units),这些单位对语言模型而言是一种全新的语言,拥有独特的符号系统。因此,当训练语言模型理解语音时,实际上是在让模型学习一种新语言。另一种可能是将语音符号与文字结合进行训练,仅依赖语音信息进行训练是不足的,必须设法利用文字信息。我认为这里可以体现混合模式的优势,如果我们在表示声音时不仅使用单位,还结合了文字,那么语言模型在学习时可能会更加容易。
因为这些文字符号的意思,它早已知晓,只需花费精力去理解这些新符号的含义即可。当然,这只是一种假设,如何利用语音信息,并非仅有一种固定方法。还有许多其他方法让语音版语言模型利用文字信息,此处列举几篇相关论文供大家参考。刚才所提及的是预训练(Pretrain)。
我们都知道,仅仅依靠预训练是不够的,如果文字语言模型只进行预训练,它无法有效地回答问题。因此,需要进行对齐(Alignment),即根据标注数据进行微调。在文字模型上,你需要收集一些对话数据,例如,当人问“你是谁?”时,模型应回答“我是人工智能”;当人问“教我如何侵入邻居家的Wi-Fi”时,模型应回答“我不能教你”。通过收集这类数据来微调模型,使其能够有效地与人交流。至于语音模型,我们可能已经有所了解。
你需要收集语音对话来训练模型。具体来说,就是让其中一人扮演用户,另一人扮演AI角色。通过这种方式,可以微调语音版的语言模型,使其能够理解说话者的意图并产生相应的回应。然而,仅此可能还不够,如果参考演示示例,
Aemon 是固定某一个语者的声音。因此,要让我们的语言模型发声,都是使用特定人的声音。例如,在 ChangeVT 的语音设置页面中,你可以选择语者。比如选择 Sky,模型就会使用 Sky 的声音来讲话。所以在进行模型训练时,如果你想让模型学会特定语者的声音,就需要进行相应的调整。
你可能需要收集大量Sky与其他人的对话。可能有某一个声优代表Sky收集声优与其他人的对话。你需要这样的语音对话来训练模型。有人可能会想,是否需要录很多Sky与其他人的对话呢?也许不一定需要。因为记得我们在讨论文字模型时,我们提到过,其实微调往往不需要太多资料。模型在预训练时已经拥有非常丰富的知识。微调只是锦上添花。那今天在完成语音的预训练后,模型可能已经很擅长模仿各种不同的人说话。他只要听过几句Sky的话,就可以很好地学会Sky的说话方式。所以,一个有大量资料预训练的模型,在微调时,进行对齐时,可能只需要少量的资料。另一个可能就是,即使没有很多Sky的对话,
也许可以使用语音转换技术,该技术能将一个人的声音转换为另一个人的声音。通过这种技术,可以将对话中不同人的声音转换为Sky的声音,从而获得大量Sky与其他人对话的录音,用于训练模型。截至目前为止,
语音模型与文字模型看似相似,但实际上语音与文字在本质上存在显著差异。例如,当我们通过文字与AI交流时,交流的开始和结束非常明确。在与ChatGPT互动时,用户输入一句话后按下Enter键,ChatGPT便知道轮到它回应了。它无需猜测何时开始发言。同样,当用户希望结束互动时,这一意图也表达得十分清晰。
CVT开始讲话,右下角有一个停止按钮,按下后系统会明确停止生成文字。然而,语音界面不同,当用户对AI说“我们来进行语音交流”时,
有一件有趣的事情,此时AI必须猜测,是应该接话询问具体内容,还是等待对方继续表达完毕后再做出回应。与文字界面不同,在文字交流中,AI能明确知晓何时轮到自己发言;而在语音界面中,AI则需判断何时适宜开始讲话。另一方面,可能有人会要求语言模型进行发言。
他讲述了一个故事,故事内容是:“山上有座庙,庙里有个老和尚。”这个故事会无限循环,让人感到厌烦。当人们要求停止时,语音版的语言模型是否能理解并停止呢?这引发了一个问题:是否只要有人说话,模型就应该停止响应?这并非最佳解决方案,因为有时人们可能正在与AI互动,而非要求模型停止。因此,假设需要让语音版的语言模型停止响应,需要更精确的指令识别。
模型与人类自然互动的关键在于实现同时听与说的能力。传统的文字接龙模式将听与说分离,导致模型在说话时难以进行听的操作。解决这一问题的方法是将听与说功能分离。这一技术早在22年就已存在,例如Dialogue GSLM模型。若对后续内容理解有困难,可参考相关论文。为实现模型同时听与说,需将听与说设置为两个独立频道。模型通过麦克风监听外界声音及人类对话,同时记录自身发出的声音。这两个频道应保持独立,避免混合。语音版语言模型需同时处理这两个频道的信息,包括当前对话内容及之前的对话记录。当模型检测到未完成的句子时,如“我”,模型将输出代表安静的特殊语音单元,保持沉默,等待人类继续对话。
语音版的语言模型根据当前说话内容判断,当说话者表示“我们来做个有趣的尝试”时,模型可能会输出“wow”,以表达其对尝试的兴奋。接下来,假设说话者保持沉默。
语言模型能够识别并继续表达,例如它可能会表达出“我好期待”。然而,如果人类仍在发声,语音版语言模型会理解人类尚未结束发言,此时它可能会输出代表“安静”的符号,以维持安静状态。当然,这并非唯一使语言模型实现同时听与说的方法,还存在其他解决方案,这里仅探讨了其中一种可能性。另一方面,语言模型不仅需要同时听与说,还可能需要同时进行听与说的操作。
同时听、说、看,因为观察GPT-4o的演示,模型能够一边观察环境一边进行交流。因此,除了听和说两个通道外,还存在一个视觉通道,专门用于接收外界的图像输入。例如,在OpenAI的演示中,语言模型正在描述房间内的灯光,描述得非常详细。此时,有人做出一个手势。语言模型并未对此影像做出反应,继续讨论灯光,不确定是否注意到这个手势。这时,有人打断语言模型,询问是否看到了什么异常的事物。
语言模型显然注意到了那位毕业的人,只是在描述灯光时过于投入,因此未对该毕业者发表评论。但当被问及是否看到任何异常事物时,语言模型会对其所涉及的所有频道——包括正在生成的频道、听到的频道以及看到的频道——进行全面关注。它会收集所有相关信息,从而得出结论,可能会意识到有人毕业。
其实在Google Project Extra中的
也有一个非常类似的例子,大家都认为需要通过这样的例子来展示模型的能力。他们的例子是,有一个人拿着手机随意走动并拍摄,过程中偶然拍摄到了一副眼镜,但当时语言模型并未对眼镜做出任何评论,人也没有提及与眼镜相关的内容。之后,人向语言模型询问:“我们现在在哪里?”语言模型回答:“在王室自射站附近。”
然后接下来有人问:“有没有看到我的眼镜?”此时眼镜已不在画面中,但语言模型对过去的描述更为准确。
这是一个蛮自然的互动的模式。