🚀 Wav2Vec2 XLS - R を用いたフィンランド語の自動音声認識
この音響モデルは、フィンランド語の自動音声認識(ASR)用に facebook/wav2vec2 - xls - r - 1b をファインチューニングしたバージョンです。このモデルは、259.57時間のフィンランド語の文字起こしされた音声データを用いてファインチューニングされています。Wav2Vec2 XLS - R は この論文 で紹介され、このページ で最初に公開されました。
注意: デコード段階でKenLM言語モデルを使用し、より良い文字起こし結果を生み出すバージョンがあります: Finnish - NLP/wav2vec2 - xlsr - 1b - finnish - lm
注意: このモデルのより良いV2バージョンがあり、さらに16時間のデータで長時間ファインチューニングされています: Finnish - NLP/wav2vec2 - xlsr - 1b - finnish - lm - v2
✨ 主な機能
この音響モデルは、フィンランド語の自動音声認識に特化しており、以下のような特徴を持っています。
- 大規模な多言語事前学習モデルをベースにしているため、フィンランド語の音声認識において高い性能を発揮します。
- 259.57時間のフィンランド語の文字起こしされた音声データでファインチューニングされているため、フィンランド語の音声に特化した認識能力を持っています。
📚 ドキュメント
モデルの説明
Wav2Vec2 XLS - R は、Facebook AIによる大規模な多言語事前学習音声モデルです。VoxPopuli、MLS、CommonVoice、BABEL、VoxLingua107などを含む436,000時間のラベルなし音声データで事前学習されています。このモデルは、128言語でwav2vec 2.0の目的関数を使用して学習されています。
事前学習モデルについての詳細は、このブログ と この論文 を参照してください。
このモデルは、フィンランド語の自動音声認識用に事前学習モデル(10億パラメータのバリアント)をファインチューニングしたものです。
想定される用途と制限
このモデルは、フィンランド語の自動音声認識(音声からテキストへの変換)タスクに使用できます。
使い方
このモデルの詳細な使用例については、このリポジトリ内の run - finnish - asr - models.ipynb ノートブックを参照してください。
制限事項とバイアス
このモデルは、最大長が20秒の音声サンプルでファインチューニングされているため、おそらく同程度の短い音声に対して最も良い性能を発揮します。ただし、もっと長い音声でも試すことができます。非常に長い音声ファイルでメモリ不足エラーが発生した場合は、このブログ記事 で紹介されている音声チャンキング方法を使用できます。
ファインチューニングに使用されたデータの大部分はフィンランド議会のデータセットからのものであるため、このモデルは、方言を含む日常会話などの非常に異なるドメインに対しては汎化性能が低い可能性があります。また、データセットの音声は成人男性が主体であるため、このモデルは、例えば子供や女性の音声に対しては性能が劣る可能性があります。
学習データ
このモデルは、以下のデータセットからの259.57時間のフィンランド語の文字起こしされた音声データでファインチューニングされています。
データセットは、最大長が20秒の音声サンプルを含むようにフィルタリングされています。
学習手順
このモデルは、Hugging Faceによって主催された Robust Speech Challenge Event 中に学習されました。学習は、OVHcloudによってスポンサーされたTesla V100 GPU上で行われました。
学習スクリプトはHugging Faceによって提供され、ここ で入手できます。カスタムデータセットのデータ読み込み部分のみを変更しました。
学習ハイパーパラメータ
学習中に使用されたハイパーパラメータは以下の通りです。
- learning_rate: 5e - 05
- train_batch_size: 32
- eval_batch_size: 8
- seed: 42
- optimizer: 8-bit Adam with betas=(0.9,0.999) and epsilon=1e - 08
- lr_scheduler_type: linear
- lr_scheduler_warmup_steps: 500
- num_epochs: 5
- mixed_precision_training: Native AMP
事前学習された facebook/wav2vec2 - xls - r - 1b
モデルは、以下のハイパーパラメータで初期化されました。
- attention_dropout: 0.094
- hidden_dropout: 0.047
- feat_proj_dropout: 0.04
- mask_time_prob: 0.082
- layerdrop: 0.041
- activation_dropout: 0.055
- ctc_loss_reduction: "mean"
学習結果
学習損失 |
エポック |
ステップ |
検証損失 |
単語誤り率 (Wer) |
0.968 |
0.18 |
500 |
0.4870 |
0.4720 |
0.6557 |
0.36 |
1000 |
0.2450 |
0.2931 |
0.647 |
0.54 |
1500 |
0.1818 |
0.2255 |
0.5297 |
0.72 |
2000 |
0.1698 |
0.2354 |
0.5802 |
0.9 |
2500 |
0.1581 |
0.2355 |
0.6351 |
1.07 |
3000 |
0.1689 |
0.2336 |
0.4626 |
1.25 |
3500 |
0.1719 |
0.3099 |
0.4526 |
1.43 |
4000 |
0.1434 |
0.2069 |
0.4692 |
1.61 |
4500 |
0.1645 |
0.2192 |
0.4584 |
1.79 |
5000 |
0.1483 |
0.1987 |
0.4234 |
1.97 |
5500 |
0.1499 |
0.2178 |
0.4243 |
2.15 |
6000 |
0.1345 |
0.2070 |
0.4108 |
2.33 |
6500 |
0.1383 |
0.1850 |
0.4048 |
2.51 |
7000 |
0.1338 |
0.1811 |
0.4085 |
2.69 |
7500 |
0.1290 |
0.1780 |
0.4026 |
2.87 |
8000 |
0.1239 |
0.1650 |
0.4033 |
3.04 |
8500 |
0.1346 |
0.1657 |
0.3986 |
3.22 |
9000 |
0.1310 |
0.1850 |
0.3867 |
3.4 |
9500 |
0.1273 |
0.1741 |
0.3658 |
3.58 |
10000 |
0.1219 |
0.1672 |
0.382 |
3.76 |
10500 |
0.1306 |
0.1698 |
0.3847 |
3.94 |
11000 |
0.1230 |
0.1577 |
0.3691 |
4.12 |
11500 |
0.1310 |
0.1615 |
0.3593 |
4.3 |
12000 |
0.1296 |
0.1622 |
0.3619 |
4.48 |
12500 |
0.1285 |
0.1601 |
0.3361 |
4.66 |
13000 |
0.1261 |
0.1569 |
0.3603 |
4.84 |
13500 |
0.1235 |
0.1533 |
フレームワークのバージョン
- Transformers 4.17.0.dev0
- Pytorch 1.10.2+cu102
- Datasets 1.18.3
- Tokenizers 0.11.0
評価結果
評価は、Common Voice 7.0 Finnish test split を使用して行われました。
このモデルを評価するには、このリポジトリ内の eval.py
スクリプトを実行します。
python3 eval.py --model_id aapot/wav2vec2-xlsr-1b-finnish --dataset mozilla-foundation/common_voice_7_0 --config fi --split test
このモデル(表の2行目)は、他のモデルと比較して、以下の単語誤り率(WER)と文字誤り率(CER)の結果を達成しています。
|
WER (言語モデルあり) |
WER (言語モデルなし) |
CER (言語モデルあり) |
CER (言語モデルなし) |
aapot/wav2vec2-xlsr-1b-finnish-lm-v2 |
4.09 |
9.73 |
0.88 |
1.65 |
aapot/wav2vec2-xlsr-1b-finnish-lm |
5.65 |
13.11 |
1.20 |
2.23 |
aapot/wav2vec2-xlsr-300m-finnish-lm |
8.16 |
17.92 |
1.97 |
3.36 |
チームメンバー
詳細については、自由にお問い合わせください 🤗
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で提供されています。