🚀 ノルウェー語のWav2Vec2モデル - 300M - VoxRex - ニーノルスク語
このモデルは、スウェーデン国立図書館の特徴抽出器 VoxRex-model をベースにファインチューニングされています。ファインチューニングされたモデルは、5-gram KenLMを使用したテストセットで以下の結果を達成しています。括弧内の数値は言語モデルを使用しない場合の結果です。
- WER: 0.1222 (0.1537)
- CER: 0.0419 (0.0468)
✨ 主な機能
モデルの説明
このモデルは、🤗 が主催する Robust Speech Event の期間中にチームが作成した複数のWav2Vecモデルの1つです。以下は、当チームが作成したモデルとその最終スコアの完全なリストです。
データセット
このイベントと並行して、チームは ノルウェー議会演説コーパス (NPSC) を 🤗 データセット形式の NbAiLab/NPSC に変換し、これをトレーニングの主要なデータソースとして使用しました。
🔧 技術詳細
チーム
このモデルの構築に貢献したのは、以下の人物です。Rolv - Arild Braaten、Per Egil Kummervold、Andre Kåsen、Javier de la Rosa、Per Erik Solberg、Freddy Wetjen。
トレーニング手順
これらの結果を再現するには、🤗 の指示 に従って、シンプルなスウェーデン語モデルをトレーニングすることを強くおすすめします。
これができることを確認したら、新しいリポジトリを作成します。そして、当リポジトリからファイル run.sh
と run_speech_recognition_ctc.py
をコピーして始めることができます。これらを実行すると、他の必要なファイルがすべて作成され、当チームの結果を再現できるはずです。ハイパーパラメータを調整することで、さらに良い自動音声認識 (ASR) モデルを構築することもできるかもしれません。頑張ってください!
言語モデル
スコアが示すように、単純な5-gram言語モデルを追加するだけで結果が改善されます。🤗 は、ASRモデルを改善するために5-gram言語モデルを追加する方法を説明した 非常に良いブログ を提供しています。これは、独自のコーパスから構築することができます。たとえば、ノルウェー巨大コーパス から適切なテキストを抽出することができます。また、ガイドの一部の手順をスキップして、このリポジトリの5-gramモデル をコピーすることもできます。
パラメータ
最終的なモデルは、以下のパラメータを使用して実行されました。
--dataset_name="NbAiLab/NPSC"
--model_name_or_path="KBLab/wav2vec2-large-voxrex"
--dataset_config_name="16K_mp3_nynorsk"
--output_dir="./"
--overwrite_output_dir
--num_train_epochs="80"
--per_device_train_batch_size="16"
--per_device_eval_batch_size="16"
--gradient_accumulation_steps="2"
--learning_rate="1e-4"
--warmup_steps="2000"
--length_column_name="input_length"
--evaluation_strategy="steps"
--text_column_name="text"
--save_steps="500"
--eval_steps="500"
--logging_steps="100"
--layerdrop="0.041"
--attention_dropout="0.094"
--activation_dropout="0.055"
--hidden_dropout="0.047"
--save_total_limit="3"
--freeze_feature_encoder
--feat_proj_dropout="0.04"
--mask_time_prob="0.082"
--mask_time_length="10"
--mask_feature_prob="0.25"
--mask_feature_length="64"
--gradient_checkpointing
--min_duration_in_seconds="0.5"
--max_duration_in_seconds="30.0"
--use_auth_token
--seed="42"
--fp16
--group_by_length
--do_train --do_eval
--push_to_hub
--preprocessing_num_workers="32"
これらの設定を使用すると、平均的なGPUでトレーニングに3 - 4日かかる場合があります。ただし、これらのパラメータを調整することで、適度なモデルを得ることができ、結果も速く得られます。
パラメータ |
コメント |
per_device_train_batch_size |
これを利用可能なメモリの最大値に調整します。システムによっては、16または24が適切な設定かもしれません。 |
gradient_accumulation_steps |
バッチサイズを増やし、メモリの問題を回避しながらトレーニングを高速化するために、さらに増やすことができます。 |
learning_rate |
増やすことができ、最大で1e - 4にすることもできます。トレーニングを高速化しますが、不安定性が生じる可能性があります。 |
epochs |
大幅に減らすことができます。これは非常に大きなデータセットであり、数エポックでも適度な結果が得られるかもしれません。 |
引用
@inproceedings{de-la-rosa-etal-2023-boosting,
title = "Boosting {N}orwegian Automatic Speech Recognition",
author = "De La Rosa, Javier and
Braaten, Rolv-Arild and
Kummervold, Per and
Wetjen, Freddy",
booktitle = "Proceedings of the 24th Nordic Conference on Computational Linguistics (NoDaLiDa)",
month = may,
year = "2023",
address = "T{\'o}rshavn, Faroe Islands",
publisher = "University of Tartu Library",
url = "https://aclanthology.org/2023.nodalida-1.55",
pages = "555--564",
abstract = "In this paper, we present several baselines for automatic speech recognition (ASR) models for the two official written languages in Norway: Bokm{\aa}l and Nynorsk. We compare the performance of models of varying sizes and pre-training approaches on multiple Norwegian speech datasets. Additionally, we measure the performance of these models against previous state-of-the-art ASR models, as well as on out-of-domain datasets. We improve the state of the art on the Norwegian Parliamentary Speech Corpus (NPSC) from a word error rate (WER) of 17.10{\%} to 7.60{\%}, with models achieving 5.81{\%} for Bokm{\aa}l and 11.54{\%} for Nynorsk. We also discuss the challenges and potential solutions for further improving ASR models for Norwegian.",
}
詳細は https://arxiv.org/abs/2307.01672 を参照してください。
📄 ライセンス
このモデルは、Apache - 2.0ライセンスの下で提供されています。