針對低資源 ASR 微調 MMS Adapter 模型
TL;DR
Hugging Face 示範,僅微調 MMS‑1B checkpoint 的 adapter 層,在約 4 小時的 Common Voice 資料上僅需 10‑20 分鐘訓練即可獲得強大的土耳其語語音識別,且所需可訓練參數遠少於完整模型微調。
保護世界語言多樣性
MMS 透過使用小型 adapter 層作為語言之間的語言橋樑,支援超過 1,100 種語言的轉錄,其中許多語言瀕臨消失。
MMS 微調概覽
MMS‑1B checkpoint 在超過 1,400 種語言的超過五十萬小時音訊上進行預訓練,之後使用聯合詞彙輸出層在 1,000+ 種語言上進行微調,隨後被每個包含約 2.5M 權重的語言特定 adapter 層取代。
提供三個導向 ASR 的 checkpoint:mms-1b-fl102、mms-1b-l1107 和 mms-1b-all。
訓練自適應權重 – 為何 adapter 有幫助
Adapter 層在凍結的 transformer 塊之間插入小型可訓練模組,使模型能在不更新預訓練權重主要部分的情況下獲得語言特定的語音和語法特徵。此方法減少記憶體使用,加速收斂,並避免在低資源資料上過度擬合。
筆記本設置 – 資料與預處理
筆記本使用 Common Voice 6.1 的土耳其語分割(約 4 小時驗證訓練音訊)。音訊重新取樣至 16 kHz,移除特殊字元,文字轉為小寫,並正規化土耳其語特殊變音符號。從轉錄建立包含 37 個標記的詞彙表(包括空格、標點、[UNK] 和 [PAD]),並以 ISO‑639‑3 代碼 tur 進行儲存。
Wav2Vec2Processor 結合 Wav2Vec2FeatureExtractor(feature_size=1, sampling_rate=16000, padding_value=0.0, do_normalize=True, return_attention_mask=True)與自訂 tokenizer。
訓練過程與結果
訓練採用自訂的 DataCollatorCTCWithPadding,分別對輸入值和標籤進行填充,將標籤填充遮罩為 ‑100,並以詞錯誤率(WER)作為評估指標。
模型從 facebook/mms-1b-all 載入,禁用 dropout 層,詞彙大小設為 37,並忽略不匹配的大小(新初始化的 LM 頭與新詞彙匹配)。
Adapter 層(重新)初始化,基礎模型被凍結,只有 adapter 權重獲得梯度。
訓練參數:group_by_length=True,per_device_train_batch_size=32,num_train_epochs=4,learning_rate=1e-3,gradient_checkpointing=True,fp16=True,save_steps=200,eval_steps=100,logging_steps=100,push_to_hub=True。
在 100 步訓練後,驗證 WER 為 0.280;200 步後降至 0.232;300 步後為 0.229;400 步後為 0.223。同期間訓練損失從 4.905 下降至 0.2398。
這些結果表明,僅微調 adapter 優於在相同低資源土耳其語資料上對較小的 XLS‑R‑300M checkpoint 進行完整模型微調,同時更具記憶體效率。
載入與使用微調後的 adapter
訓練後,adapter 權重被儲存為 adapter.tur.safetensors,與基礎模型放在一起。進行推理時,載入 checkpoint 並將 target_lang 設為 `