モデル概要
モデル特徴
モデル能力
使用事例
🚀 XLSR Wav2Vec2 56言語モデルカード
このモデルは、56言語の自動音声認識に使用されるモデルで、Voidfulによって開発され、Apache - 2.0ライセンスの下でオープンソースとして公開されています。様々な言語の音声認識タスクで優れた性能を発揮し、多言語音声処理に強力なサポートを提供します。
🚀 クイックスタート
以下のコードを使用して、このモデルを使い始めましょう。
クリックして展開
環境設定:
!pip install torchaudio
!pip install datasets transformers
!pip install asrp
!wget -O lang_ids.pk https://huggingface.co/voidful/wav2vec2-xlsr-multilingual-56/raw/main/lang_ids.pk
使用方法
import torchaudio
from datasets import load_dataset, load_metric
from transformers import (
Wav2Vec2ForCTC,
Wav2Vec2Processor,
AutoTokenizer,
AutoModelWithLMHead
)
import torch
import re
import sys
import soundfile as sf
model_name = "voidful/wav2vec2-xlsr-multilingual-56"
device = "cuda"
processor_name = "voidful/wav2vec2-xlsr-multilingual-56"
import pickle
with open("lang_ids.pk", 'rb') as output:
lang_ids = pickle.load(output)
model = Wav2Vec2ForCTC.from_pretrained(model_name).to(device)
processor = Wav2Vec2Processor.from_pretrained(processor_name)
model.eval()
def load_file_to_data(file,sampling_rate=16_000):
batch = {}
speech, _ = torchaudio.load(file)
if sampling_rate != '16_000' or sampling_rate != '16000':
resampler = torchaudio.transforms.Resample(orig_freq=sampling_rate, new_freq=16_000)
batch["speech"] = resampler.forward(speech.squeeze(0)).numpy()
batch["sampling_rate"] = resampler.new_freq
else:
batch["speech"] = speech.squeeze(0).numpy()
batch["sampling_rate"] = '16000'
return batch
def predict(data):
features = processor(data["speech"], sampling_rate=data["sampling_rate"], padding=True, return_tensors="pt")
input_values = features.input_values.to(device)
attention_mask = features.attention_mask.to(device)
with torch.no_grad():
logits = model(input_values, attention_mask=attention_mask).logits
decoded_results = []
for logit in logits:
pred_ids = torch.argmax(logit, dim=-1)
mask = pred_ids.ge(1).unsqueeze(-1).expand(logit.size())
vocab_size = logit.size()[-1]
voice_prob = torch.nn.functional.softmax((torch.masked_select(logit, mask).view(-1,vocab_size)),dim=-1)
comb_pred_ids = torch.argmax(voice_prob, dim=-1)
decoded_results.append(processor.decode(comb_pred_ids))
return decoded_results
def predict_lang_specific(data,lang_code):
features = processor(data["speech"], sampling_rate=data["sampling_rate"], padding=True, return_tensors="pt")
input_values = features.input_values.to(device)
attention_mask = features.attention_mask.to(device)
with torch.no_grad():
logits = model(input_values, attention_mask=attention_mask).logits
decoded_results = []
for logit in logits:
pred_ids = torch.argmax(logit, dim=-1)
mask = ~pred_ids.eq(processor.tokenizer.pad_token_id).unsqueeze(-1).expand(logit.size())
vocab_size = logit.size()[-1]
voice_prob = torch.nn.functional.softmax((torch.masked_select(logit, mask).view(-1,vocab_size)),dim=-1)
filtered_input = pred_ids[pred_ids!=processor.tokenizer.pad_token_id].view(1,-1).to(device)
if len(filtered_input[0]) == 0:
decoded_results.append("")
else:
lang_mask = torch.empty(voice_prob.shape[-1]).fill_(0)
lang_index = torch.tensor(sorted(lang_ids[lang_code]))
lang_mask.index_fill_(0, lang_index, 1)
lang_mask = lang_mask.to(device)
comb_pred_ids = torch.argmax(lang_mask*voice_prob, dim=-1)
decoded_results.append(processor.decode(comb_pred_ids))
return decoded_results
predict(load_file_to_data('audio file path',sampling_rate=16_000)) # オーディオファイルのサンプリングレートに注意
predict_lang_specific(load_file_to_data('audio file path',sampling_rate=16_000),'en') # オーディオファイルのサンプリングレートに注意
✨ 主な機能
- 多言語対応:56言語の自動音声認識をサポートします。
- XLSR Wav2Vec2ベース:最先端の事前学習モデルを微調整して利用しています。
- 複数のデータセットでの学習:Common Voiceなどのデータセットで学習されており、モデルの汎化能力が向上しています。
📦 インストール
このモデルを使用する前に、以下の依存関係をインストールする必要があります。
!pip install torchaudio
!pip install datasets transformers
!pip install asrp
!wget -O lang_ids.pk https://huggingface.co/voidful/wav2vec2-xlsr-multilingual-56/raw/main/lang_ids.pk
📚 ドキュメント
モデル詳細
モデルの説明
- 開発者:voidful
- 共有元:Hugging Face
- モデルタイプ:自動音声認識
- サポート言語:多言語(56言語、1つの多言語自動音声認識モデル)
- ライセンス:Apache - 2.0
- 関連モデル:
- 親モデル:wav2vec
- 詳細情報リソース:
使用シナリオ
直接使用
このモデルは自動音声認識タスクに使用できます。
下流使用
詳細情報は後日追加予定です。
使用範囲外
このモデルは、人々に敵対的または疎外感を与える環境を意図的に作り出すために使用してはいけません。
バイアス、リスク、制限事項
多くの研究が言語モデルのバイアスと公平性の問題を検討しています(例えば、Shengら (2021) および Benderら (2021) を参照)。モデルが生成する予測には、保護されたカテゴリ、アイデンティティの特徴、および敏感な社会的・職業的グループに対する不快で有害なステレオタイプが含まれる可能性があります。
推奨事項
ユーザー(直接ユーザーと下流ユーザー)は、このモデルのリスク、バイアス、制限事項を理解する必要があります。さらなる推奨事項については、詳細情報は後日追加予定です。
学習詳細
学習データ
Common Voiceデータセットカード を参照してください。このモデルは、facebook/wav2vec2-large-xlsr-53 を56言語で Common Voice データセットを使用して微調整したものです。
学習プロセス
前処理
詳細情報は後日追加予定です。
速度、サイズ、時間
このモデルを使用する際は、音声入力のサンプリングレートが16kHzであることを確認してください。
評価
テストデータ、要素、指標
テストデータ
詳細情報は後日追加予定です。
要素
詳細情報は後日追加予定です。
指標
詳細情報は後日追加予定です。
結果
クリックして展開
通用音声言語 | データ数 | 時間(時間) | 単語誤り率(WER) | 文字誤り率(CER) |
---|---|---|---|---|
ar | 21744 | 81.5 | 75.29 | 31.23 |
as | 394 | 1.1 | 95.37 | 46.05 |
br | 4777 | 7.4 | 93.79 | 41.16 |
ca | 301308 | 692.8 | 24.80 | 10.39 |
cnh | 1563 | 2.4 | 68.11 | 23.10 |
cs | 9773 | 39.5 | 67.86 | 12.57 |
cv | 1749 | 5.9 | 95.43 | 34.03 |
cy | 11615 | 106.7 | 67.03 | 23.97 |
de | 262113 | 822.8 | 27.03 | 6.50 |
dv | 4757 | 18.6 | 92.16 | 30.15 |
el | 3717 | 11.1 | 94.48 | 58.67 |
en | 580501 | 1763.6 | 34.87 | 14.84 |
eo | 28574 | 162.3 | 37.77 | 6.23 |
es | 176902 | 337.7 | 19.63 | 5.41 |
et | 5473 | 35.9 | 86.87 | 20.79 |
eu | 12677 | 90.2 | 44.80 | 7.32 |
fa | 12806 | 290.6 | 53.81 | 15.09 |
fi | 875 | 2.6 | 93.78 | 27.57 |
fr | 314745 | 664.1 | 33.16 | 13.94 |
fy-NL | 6717 | 27.2 | 72.54 | 26.58 |
ga-IE | 1038 | 3.5 | 92.57 | 51.02 |
hi | 292 | 2.0 | 90.95 | 57.43 |
hsb | 980 | 2.3 | 89.44 | 27.19 |
hu | 4782 | 9.3 | 97.15 | 36.75 |
ia | 5078 | 10.4 | 52.00 | 11.35 |
id | 3965 | 9.9 | 82.50 | 22.82 |
it | 70943 | 178.0 | 39.09 | 8.72 |
ja | 1308 | 8.2 | 99.21 | 62.06 |
ka | 1585 | 4.0 | 90.53 | 18.57 |
ky | 3466 | 12.2 | 76.53 | 19.80 |
lg | 1634 | 17.1 | 98.95 | 43.84 |
lt | 1175 | 3.9 | 92.61 | 26.81 |
lv | 4554 | 6.3 | 90.34 | 30.81 |
mn | 4020 | 11.6 | 82.68 | 30.14 |
mt | 3552 | 7.8 | 84.18 | 22.96 |
nl | 14398 | 71.8 | 57.18 | 19.01 |
or | 517 | 0.9 | 90.93 | 27.34 |
pa-IN | 255 | 0.8 | 87.95 | 42.03 |
pl | 12621 | 112.0 | 56.14 | 12.06 |
pt | 11106 | 61.3 | 53.24 | 16.32 |
rm-sursilv | 2589 | 5.9 | 78.17 | 23.31 |
rm-vallader | 931 | 2.3 | 73.67 | 21.76 |
ro | 4257 | 8.7 | 83.84 | 21.95 |
ru | 23444 | 119.1 | 61.83 | 15.18 |
sah | 1847 | 4.4 | 94.38 | 38.46 |
sl | 2594 | 6.7 | 84.21 | 20.54 |
sv-SE | 4350 | 20.8 | 83.68 | 30.79 |
ta | 3788 | 18.4 | 84.19 | 21.60 |
th | 4839 | 11.7 | 141.87 | 37.16 |
tr | 3478 | 22.3 | 66.77 | 15.55 |
tt | 13338 | 26.7 | 86.80 | 33.57 |
uk | 7271 | 39.4 | 70.23 | 14.34 |
vi | 421 | 1.7 | 96.06 | 66.25 |
zh-CN | 27284 | 58.7 | 89.67 | 23.96 |
zh-HK | 12678 | 92.1 | 81.77 | 18.82 |
zh-TW | 6402 | 56.6 | 85.08 | 29.07 |
モデルチェック
詳細情報は後日追加予定です。
環境への影響
Lacosteら (2019) で提案された 機械学習影響計算機 を使用して、炭素排出量を推定することができます。
- ハードウェアタイプ:詳細情報は後日追加予定です。
- 使用時間:詳細情報は後日追加予定です。
- クラウドサービスプロバイダー:詳細情報は後日追加予定です。
- 計算エリア:詳細情報は後日追加予定です。
- 炭素排出量:詳細情報は後日追加予定です。
技術仕様(オプション)
モデルアーキテクチャと目標
詳細情報は後日追加予定です。
計算インフラストラクチャ
ハードウェア
詳細情報は後日追加予定です。
ソフトウェア
詳細情報は後日追加予定です。
引用
BibTeX
More information needed
APA
More information needed
用語集(オプション)
詳細情報は後日追加予定です。
詳細情報(オプション)
詳細情報は後日追加予定です。
モデルカード作成者(オプション)
voidfulは、Ezi OzoaniおよびHugging Faceチームと協力してこのモデルカードを作成しました。
モデルカード連絡先
詳細情報は後日追加予定です。
📄 ライセンス
このモデルはApache - 2.0ライセンスに従います。



