大纲
一、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中的
也有一个非常类似的例子,大家都认为需要通过这样的例子来展示模型的能力。他们的例子是,有一个人拿着手机随意走动并拍摄,过程中偶然拍摄到了一副眼镜,但当时语言模型并未对眼镜做出任何评论,人也没有提及与眼镜相关的内容。之后,人向语言模型询问:“我们现在在哪里?”语言模型回答:“在王室自射站附近。”
然后接下来有人问:“有没有看到我的眼镜?”此时眼镜已不在画面中,但语言模型对过去的描述更为准确。
这是一个蛮自然的互动的模式。
