Whisper 模型:技術革新的基石
在當今科技飛速發展的時代,自動語音識別(ASR)技術作為人工智能領域的關鍵分支,正深刻地改變著人們的生活與工作方式。從智能語音助手到實時字幕生成,從語音交互設備到智能客服系統,ASR 技術無處不在,為人們帶來了前所未有的便利與效率提升。而 Whisper 模型,作為 ASR 技術中的一顆璀璨明星,以其卓越的性能和獨特的技術架構,成為了推動語音識別技術發展的重要力量。
Whisper 模型由 OpenAI 開發,是一種基于大規模弱監督訓練的先進語音識別模型。它的出現,打破了傳統語音識別模型的局限,展現出了強大的多語言支持能力、高準確率以及出色的泛化性能 。在眾多語音識別模型中,Whisper 模型憑借其獨特的技術優勢和廣泛的應用場景,脫穎而出,受到了學術界和工業界的廣泛關注。
Whisper 模型探秘
(一)模型架構剖析
Whisper 模型的架構設計精妙絕倫,它基于 Transformer 架構,采用了編碼器 - 解碼器結構,這種結構在自然語言處理和語音識別領域展現出了強大的優勢 。Transformer 架構以其卓越的自注意力機制,能夠高效地捕捉序列中的長距離依賴關系,為語音識別任務提供了堅實的技術基礎。
在語音處理流程中,原始音頻信號首先經歷重采樣,被調整為 16000Hz 的采樣率,這是模型能夠有效處理的標準采樣率。隨后,音頻信號通過計算 80 通道的 log Mel 譜圖表示進行特征提取,這一過程利用 25 毫秒的窗口和 10 毫秒的步幅,將音頻信號轉換為頻譜特征,從而捕捉音頻中的關鍵信息。為了使輸入數據符合模型的要求,特征會在全局內縮放到 - 1 到 1 之間,并在預訓練數據集上進行歸一化處理,使其平均值近似為零。
經過預處理的音頻特征被送入編碼器。編碼器首先使用一個包含兩個卷積層的詞干對輸入表示進行處理,卷積層的濾波器寬度為 3,采用 GELU 激活函數,為模型引入非線性變換,增強模型的表達能力。第二個卷積層的步幅為 2,用于降低特征圖的分辨率,減少計算量。接著,正弦位置嵌入被添加到詞干的輸出中,以賦予模型對音頻序列中位置信息的感知能力。隨后,經過處理的特征進入編碼器 Transformer 塊,通過自注意力機制和前饋神經網絡,對音頻特征進行深度編碼,生成高級的語音特征表示 。
在解碼器部分,學習位置嵌入被應用,以幫助模型理解文本序列中的位置信息。同時,輸入輸出標記表示進行綁定,使得解碼器能夠根據編碼器的輸出和已生成的文本信息,逐步生成對應的文本序列。編碼器和解碼器具有相同的寬度和數量的 Transformer 塊,保證了模型在編碼和解碼過程中的一致性和穩定性 。通過這種精心設計的架構,Whisper 模型能夠實現從語音到文本的高效轉換,展現出卓越的語音識別性能。
(二)訓練秘籍:數據與方法
Whisper 模型的訓練過程是其強大性能的關鍵所在。它在一個規模龐大的數據集上進行訓練,該數據集包含了 68 萬小時的標記音頻數據,這些數據猶如一座豐富的寶藏,為模型的學習提供了充足的養分 。數據集中涵蓋了 11.7 萬小時的 96 種不同語言的演講,以及 12.5 萬小時從 “任意語言” 到英語的翻譯數據,如此豐富多樣的數據,使得模型能夠學習到各種語言的語音模式、口音特點以及語言之間的轉換規律,極大地提升了模型的泛化能力和多語言處理能力。
值得一提的是,模型利用了互聯網生成的文本,這些文本由其他自動語音識別系統生成,而非人工創建。盡管這些文本的質量參差不齊,但通過精心的數據處理和篩選,模型依然能夠從中學習到有價值的信息,進一步增強了對各種口音、背景噪音和技術術語的識別能力。此外,數據集中還包含一個在 VoxLingua107 上訓練的語言檢測器,該檢測器通過從 YouTube 視頻中提取短語音片段,并根據視頻標題和描述的語言進行標記,同時采用額外的步驟去除誤報,為模型準確識別不同語言的音頻提供了有力支持。
在訓練方法上,為了改進模型的縮放屬性,Whisper 在不同的輸入大小上進行訓練,使其能夠適應各種長度的音頻輸入。訓練過程中采用了 FP16(半精度浮點數)技術,減少了內存占用和計算量,同時通過動態損失縮放來避免梯度消失或梯度爆炸問題,確保訓練的穩定性。數據并行技術的應用則充分利用了多個計算設備的計算能力,加速了訓練