兩天star量破千:OpenAI的Whisper被蒸餾后,語音識別數(shù)倍加速
前段時間,「霉霉大秀中文」的視頻在各個社交媒體走紅,隨后又出現(xiàn)了「郭德綱大秀英語」等類似視頻。這些視頻很多都出自一個名叫「HeyGen」的 AI 應(yīng)用之手。
不過,從 HeyGen 現(xiàn)在的火爆程度來看,想用它制作類似視頻可能要排很久。好在,這并不是唯一的制作方法。懂技術(shù)的小伙伴也可以尋找其他替代方案,比如語音轉(zhuǎn)文字模型 Whisper、文字翻譯 GPT、聲音克隆 + 生成音頻 so-vits-svc、生成符合音頻的嘴型視頻 GeneFace++dengdeng。
其中,這個語音轉(zhuǎn)文字的 Whisper 模型非常好用。Whisper 是 OpenAI 研發(fā)并開源的一個自動語音識別(ASR,Automatic Speech Recognition)模型,他們通過從網(wǎng)絡(luò)上收集了 68 萬小時的多語言(98 種語言)和多任務(wù)(multitask)監(jiān)督數(shù)據(jù)對 Whisper 進行了訓(xùn)練。OpenAI 認(rèn)為使用這樣一個龐大而多樣的數(shù)據(jù)集,可以提高模型對口音、背景噪音和技術(shù)術(shù)語的識別能力。除了可以用于語音識別,Whisper 還能實現(xiàn)多種語言的轉(zhuǎn)錄,以及將這些語言翻譯成英語。目前,Whisper 已經(jīng)有了很多變體,也成為很多 AI 應(yīng)用構(gòu)建時的必要組件。
最近,來自 HuggingFace 的團隊提出了一種新變體 —— Distil-Whisper。這個變體是 Whisper 模型的蒸餾版,特點是模型小、速度快,而且準(zhǔn)確度還很高,非常適合在要求低延遲或資源有限的環(huán)境中運行。不過,與能夠處理多種語言的原始 Whisper 模型不同,Distil-Whisper 只能處理英文。
論文地址:https://arxiv.org/pdf/2311.00430.pdf
具體來說,Distil-Whisper 有兩個版本,參數(shù)量分別為 756M(distil-large-v2)和 394M(distil-medium.en)。
與 OpenAI 的 Whisper-large-v2 相比,756M 版本的 distil-large-v2 參數(shù)量減少了一半還多,但實現(xiàn)了 6 倍的加速,而且在準(zhǔn)確程度上非常接近 Whisper-large-v2,在短音頻的 Word Error Rate(WER)這個指標(biāo)上相差在 1% 以內(nèi),甚至在長音頻上優(yōu)于 Whisper-large-v2。這是因為通過仔細(xì)的數(shù)據(jù)選擇和過濾,Whisper 的穩(wěn)健性得以保持,幻覺得以減少。
網(wǎng)頁版Whisper與Distil-Whisper速度的直觀對比。圖源:https://twitter.com/xenovacom/status/1720460890560975103
所以,雖然剛剛發(fā)布兩三天,Distil-Whisper 的 star 量已經(jīng)破千。
- 項目地址:https://github.com/huggingface/distil-whisper#1-usage
- 模型地址:https://huggingface.co/models?other=arxiv:2311.00430
此外,有項測試結(jié)果表明,在處理 150 分鐘的音頻時,Distil-Whisper 的速度可以達到 Faster-Whisper 的 2.5 倍。
測試鏈接:https://github.com/Vaibhavs10/insanely-fast-whisper#insanely-fast-whisper
那么,這么好的結(jié)果是怎么實現(xiàn)的呢?作者在論文中表示,他們利用偽標(biāo)簽技術(shù)構(gòu)建了一個大規(guī)模開源數(shù)據(jù)集,然后利用這個數(shù)據(jù)集將 Whisper 模型蒸餾成了 Distil-Whisper。利用簡單的 WER 啟發(fā)式,他們只選擇質(zhì)量最高的偽標(biāo)簽進行訓(xùn)練。
下圖 1 展示了 Distil-Whisper 的架構(gòu)。研究者通過從教師模型中復(fù)制整個編碼器來初始化學(xué)生模型,并在訓(xùn)練過程中凍結(jié)它。他們通過復(fù)制第一個和最后一個解碼器層,從 OpenAI 的 Whisper-medium.en 和 Whisper-large-v2 模型中蒸餾出 2 層解碼器檢查點,分別取名為 distil-medium.en 和 distil-large-v2。
蒸餾得到的模型的維度細(xì)節(jié)如表 3 所示。
在數(shù)據(jù)方面,模型在 9 個不同的開源數(shù)據(jù)集(見表 2)上訓(xùn)練了 22,000 小時。偽標(biāo)簽由 Whisper 生成。重要的是,他們使用了 WER 過濾器,只有 WER 得分超過 10% 的標(biāo)簽才會被保留。作者表示,這是保持性能的關(guān)鍵!
下表 5 展示了 Distil-Whisper 的主要性能結(jié)果。
作者表示,凍結(jié)編碼器的操作使得 Distil-Whisper 在對抗噪聲時非常穩(wěn)健。如下圖所示,Distil-Whisper 遵循與 Whisper 相似的魯棒性曲線,在噪聲條件下優(yōu)于 Wav2vec2 等其他模型。
此外,在處理比較長的音頻文件時,與 Whisper 相比,Distil-Whisper 還有效減少了幻覺,作者認(rèn)為這主要歸功于 WER 過濾。
通過共享相同的編碼器,Distil-Whisper 可以與 Whisper 配對進行推測解碼(Speculative Decoding)。這樣,在參數(shù)僅增加 8% 的情況下,速度提高了 2 倍,同時輸出結(jié)果與 Whisper 完全相同。
更多細(xì)節(jié)請參見原文。