GPT-4o背后可能的語(yǔ)音技術(shù) 原創(chuàng)
如果我不說(shuō)明這是一段GPT-4o調(diào)戲主持人的視頻,你是否會(huì)認(rèn)為電話另一端是真人在對(duì)話?
GPT-4o在與人類的對(duì)話過(guò)程中,不僅能理解人的情緒,還能像人一樣說(shuō)話。
總結(jié)來(lái)說(shuō),GPT-4o具有下列語(yǔ)音能力:
- 具有豐富的語(yǔ)音風(fēng)格:語(yǔ)速快一點(diǎn)、語(yǔ)調(diào)柔和一點(diǎn)、或者用說(shuō)唱的風(fēng)格;
- 可以理解語(yǔ)音以外的信息:喘氣聲、嘆氣聲;
- 可以發(fā)出非語(yǔ)言聲音:笑聲;
- 可以進(jìn)行自然而即時(shí)的互動(dòng),不需要喚醒詞。?
其實(shí),早在GPT-4o以前,GPT3.5手機(jī)版就有語(yǔ)音功能,那么它和新版的GPT-4o有什么區(qū)別呢?李宏毅教授對(duì)GPT-4o背后的語(yǔ)音技術(shù)進(jìn)行了分析,下面是對(duì)其分析內(nèi)容的總結(jié),后臺(tái)回復(fù)cam獲取pdf下載鏈接。
老版本的ChatGPT是先通過(guò)語(yǔ)音識(shí)別模型(whisper)將語(yǔ)音轉(zhuǎn)換成文本,然后將文本傳送給大模型(ChatGPT),最后通過(guò)語(yǔ)音合成模型(TTS)將大模型的輸出合成語(yǔ)音。
然而,文本作為語(yǔ)音的某種壓縮,在語(yǔ)音轉(zhuǎn)換為文本的過(guò)程中,情感信息往往無(wú)法被保留,導(dǎo)致后面生成的聲音顯得單調(diào)。
為了解決這個(gè)問(wèn)題,有人在此基礎(chǔ)上加入了情感分析模塊,將情感信息以上下文的形式發(fā)給大模型和語(yǔ)音合成模塊。
雖然這在一定程度上解決了情感丟失問(wèn)題,但情感分析、語(yǔ)音識(shí)別、語(yǔ)音合成這三個(gè)獨(dú)立的模塊,無(wú)疑增加了推理負(fù)擔(dān),這也是為什么老版本會(huì)思考片刻才會(huì)做出回應(yīng)的原因,“反應(yīng)遲鈍”在多人對(duì)話中顯得很不自然。
而GPT-4o是一個(gè)端到端的語(yǔ)音模型。
文本語(yǔ)言模型輸入、輸出都是文本,處理文本時(shí),先要將文本轉(zhuǎn)換成tokens,然后將token ids轉(zhuǎn)換成詞嵌入輸入到Transformer,最后將Transformer輸出的token ids解碼成token。
GPT-4o輸入、輸出都是語(yǔ)音,聲波是一種模擬信號(hào),別說(shuō)是大模型,就算是計(jì)算機(jī)也沒(méi)辦法直接處理模擬信號(hào),所以很多音頻處理軟件需要先通過(guò)聲卡將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。
語(yǔ)音版語(yǔ)言模型也需要類似的編解碼器,它不僅要將連續(xù)的語(yǔ)音轉(zhuǎn)換成離散的tokens,還要將其壓縮到隱空間,但文字是人造的,語(yǔ)音是自然生成的,所以沒(méi)辦法像NLP那樣構(gòu)造一個(gè)詞表,這個(gè)過(guò)程需要神經(jīng)音頻編解碼模型模型來(lái)完成。
神經(jīng)音頻編解碼模型也并不是什么新玩意,最初用于音頻數(shù)據(jù)壓縮傳輸。下圖列出了神經(jīng)編解碼模型的重要時(shí)間節(jié)點(diǎn)。
編碼器負(fù)責(zé)將語(yǔ)音壓縮到離散的隱空間,解碼器負(fù)責(zé)將隱空間信息解壓縮成語(yǔ)音信號(hào),這個(gè)隱空間類似于詞嵌入空間。
將語(yǔ)音信號(hào)編碼成離散的數(shù)字向量后就可以輸入到Transformer中了,其它的和大語(yǔ)言模型基本就一樣了。
下圖是基于神經(jīng)編解碼模型的大語(yǔ)言模型,也就是說(shuō)GPT-4o很可能就是這個(gè)樣子的。神經(jīng)編解碼模型是和語(yǔ)言模型一起訓(xùn)練的,而在老版本中,語(yǔ)言模型和三個(gè)獨(dú)立模塊都是單獨(dú)訓(xùn)練的。
和基于文本的大模型一樣,基于語(yǔ)音的大模型也需要經(jīng)過(guò)預(yù)訓(xùn)練和微調(diào)過(guò)程。
但鑒于文本資料要比語(yǔ)音資料豐富,所以可能會(huì)用文本語(yǔ)言模型的參數(shù)去初始化語(yǔ)音版語(yǔ)言模型。
本文轉(zhuǎn)載自公眾號(hào)人工智能大講堂
