低リソース ASR のための Wav2Vec2‑BERT ファインチューニング

Meta の Wav2Vec2-BERT は、低リソース言語向けの自動音声認識(ASR)にファインチューニングできる汎用オーディオモデルであり、Whisper のような自己回帰モデルに代わる高性能な選択肢を提供します。Connectionist Temporal Classification(CTC)を利用することで、Wav2Vec2‑BERT はリソースが乏しい言語において Whisper‑large‑v3 と同等の Word Error Rate(WER)性能を実現しつつ、10〜30 倍高速で、2.5 倍のリソース効率を達成します。

Wav2Vec2‑BERT のアーキテクチャと事前学習

Wav2Vec2‑BERT は 580M パラメータのモデルで、Meta の Seamless Communication 系列の AI 翻訳モデルの基盤として開発されました。これは、元の Wav2Vec2 モデルの大幅な進化版であり、ASR における低リソース転移学習を初めて実証しました。

主な事前学習統計は次のとおりです:

  • データ量: ラベルなし音声データ 450 万時間で事前学習。
  • 言語カバレッジ: 143 言語以上をカバー。
  • 比較: この規模は XLS‑R(128 言語で 50 万時間)や MMS(1,400 言語以上で 50 万時間)よりもはるかに大きいです。

自己回帰モデルに対する優位性

Whisper は ASR の最先端と広く見なされていますが、モンゴル語やマラヤーラム語などの「リソースが乏しい」言語では、過去に 100% を超える WER を記録するなど、特有の制限があります。さらに、自己回帰的性質のため、トレーニングセットに頻繁に登場しない言語では、単語あたり生成すべきトークン数が増えるため、速度が遅くなります。

対照的に、Wav2Vec2‑BERT は単一パスで ASR を予測します。この非自己回帰アプローチは主に次の 3 つの利点を提供します:

  1. 推論速度: Whisper‑large‑v3 より 10〜30 倍高速。
  2. リソース効率: 2.5 倍のリソース効率。
  3. 適応性: 任意のアルファベットに容易に適応でき、競争力のある性能を得るために必要なデータ量が最小限です。

低リソース ASR のためのファインチューニングパイプライン

facebook/w2v-bert-2.0 チェックポイントを、たとえば Common Voice 16.0 データセットを用いたモンゴル語向けに適応する場合、以下のパイプラインを使用します。

データ前処理

  • テキスト正規化: 転写テキストを小文字化し、音響的単位に対応しない特殊文字(句読点など)を除去します。
  • 語彙構築: 訓練セットとテストセットに出現する文字を基に語彙を作成。モンゴル語データセットに混在するラテン文字などの冗長文字は除去し、語彙サイズを削減して CTC アルゴリズムを有利にします。
  • 特殊トークン: 語彙には単語区切りトークン (|)、未知トークン ([UNK])、パディング/ブランクトークン ([PAD]) を含め、CTC アラインメントに必須とします。
  • 音声処理: 生音声を 16 kHz にリサンプリングし、モデルの事前学習分布に合わせます。

技術実装

  • 特徴抽出: SeamlessM4TFeatureExtractor が生音声振幅を対数メルスペクトログラムに変換します。
  • トークナイザー: Wav2Vec2CTCTokenizer が文字トークンとラベル ID のマッピングを担当します。
  • 学習目的: Connectionist Temporal Classification(CTC)を用いてファインチューニングし、入力シーケンスと長さが異なる出力シーケンスを明示的なアラインメントなしでマッピングできるようにします。

学習結果とスケーリングのコツ

約 14 時間の検証済み訓練データでモンゴル語 ASR をデモンストレーション的にファインチューニングした結果、Wav2Vec2‑BERT は Whisper‑large‑v3(同タスクで 33.3% WER)と同等の Word Error Rate を達成しました。

スケールアップのためのエキスパート・ティップス

  • 語彙プルーニング: 出現頻度が極めて低い文字を除去し、データ注釈の誤ったターゲットによるロススパイクを防止します。
  • 時間分解能: CTC トークンあたりの理想的な持続時間は 10ms〜35ms。信号チャンクが長すぎる(例: 30〜60ms)とロス曲線が爆発することがあります。エンコーダ隠れ状態をサブサンプリングする畳み込みアダプタ層を追加すると解決できます。
  • 過少学習の防止:
    • ウォームアップ比率を 5%〜15% に保ち、エポック数を増やして言語モデルヘッドの重みが事前学習モデルと整合するようにします。
    • AdamW の $eta_{2}$ を 0.95〜0.98 の範囲で調整し、ロス曲線を平滑化します。

Sources