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