モデル概要
モデル特徴
モデル能力
使用事例
🚀 大規模多言語音声 (MMS) - 微調整済み言語識別 (LID)
このチェックポイントは、音声の言語識別 (LID) 用に微調整されたモデルであり、Facebookの大規模多言語音声プロジェクトの一部です。このチェックポイントはWav2Vec2アーキテクチャに基づいており、生の音声入力を256の出力クラス(各クラスは言語を表す)の確率分布に分類します。このチェックポイントは10億個のパラメータから構成され、256の言語でfacebook/mms - 1bから微調整されています。
🚀 クイックスタート
このMMSチェックポイントは、Transformersを使って音声の話されている言語を識別するために使用できます。これは以下の256の言語を認識することができます。
簡単な例を見てみましょう。
まず、transformers
と他のいくつかのライブラリをインストールします。
pip install torch accelerate torchaudio datasets
pip install --upgrade transformers
注意: MMSを使用するには、少なくともtransformers >= 4.30
がインストールされている必要があります。もし4.30
バージョンがまだPyPIにない場合は、ソースからtransformers
をインストールすることを確認してください。
pip install git+https://github.com/huggingface/transformers.git
次に、datasets
を使っていくつかの音声サンプルをロードします。音声データが16000kHzでサンプリングされていることを確認してください。
from datasets import load_dataset, Audio
# 英語
stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "en", split="test", streaming=True)
stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000))
en_sample = next(iter(stream_data))["audio"]["array"]
# アラビア語
stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "ar", split="test", streaming=True)
stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000))
ar_sample = next(iter(stream_data))["audio"]["array"]
次に、モデルとプロセッサをロードします。
from transformers import Wav2Vec2ForSequenceClassification, AutoFeatureExtractor
import torch
model_id = "facebook/mms-lid-256"
processor = AutoFeatureExtractor.from_pretrained(model_id)
model = Wav2Vec2ForSequenceClassification.from_pretrained(model_id)
これで音声データを処理し、処理された音声データをモデルに渡して言語に分類します。これは、[ehcalabres/wav2vec2 - lg - xlsr - en - speech - emotion - recognition](https://huggingface.co/harshit345/xlsr - wav2vec - speech - emotion - recognition)のような通常のWav2Vec2音声分類モデルと同じように行います。
# 英語
inputs = processor(en_sample, sampling_rate=16_000, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs).logits
lang_id = torch.argmax(outputs, dim=-1)[0].item()
detected_lang = model.config.id2label[lang_id]
# 'eng'
# アラビア語
inputs = processor(ar_sample, sampling_rate=16_000, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs).logits
lang_id = torch.argmax(outputs, dim=-1)[0].item()
detected_lang = model.config.id2label[lang_id]
# 'ara'
チェックポイントがサポートするすべての言語を見るには、以下のように言語IDを出力することができます。
processor.id2label.values()
アーキテクチャの詳細については、公式ドキュメントを参照してください。
✨ 主な機能
- 音声の言語識別 (LID) 用に微調整されたモデルです。
- 256の言語を認識することができます。
- Wav2Vec2アーキテクチャに基づいています。
📦 インストール
pip install torch accelerate torchaudio datasets
pip install --upgrade transformers
注意: MMSを使用するには、少なくともtransformers >= 4.30
がインストールされている必要があります。もし4.30
バージョンがまだPyPIにない場合は、ソースからtransformers
をインストールすることを確認してください。
pip install git+https://github.com/huggingface/transformers.git
💻 使用例
基本的な使用法
# 英語
from datasets import load_dataset, Audio
from transformers import Wav2Vec2ForSequenceClassification, AutoFeatureExtractor
import torch
stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "en", split="test", streaming=True)
stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000))
en_sample = next(iter(stream_data))["audio"]["array"]
model_id = "facebook/mms-lid-256"
processor = AutoFeatureExtractor.from_pretrained(model_id)
model = Wav2Vec2ForSequenceClassification.from_pretrained(model_id)
inputs = processor(en_sample, sampling_rate=16_000, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs).logits
lang_id = torch.argmax(outputs, dim=-1)[0].item()
detected_lang = model.config.id2label[lang_id]
# 'eng'
高度な使用法
# アラビア語
from datasets import load_dataset, Audio
from transformers import Wav2Vec2ForSequenceClassification, AutoFeatureExtractor
import torch
stream_data = load_dataset("mozilla-foundation/common_voice_13_0", "ar", split="test", streaming=True)
stream_data = stream_data.cast_column("audio", Audio(sampling_rate=16000))
ar_sample = next(iter(stream_data))["audio"]["array"]
model_id = "facebook/mms-lid-256"
processor = AutoFeatureExtractor.from_pretrained(model_id)
model = Wav2Vec2ForSequenceClassification.from_pretrained(model_id)
inputs = processor(ar_sample, sampling_rate=16_000, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs).logits
lang_id = torch.argmax(outputs, dim=-1)[0].item()
detected_lang = model.config.id2label[lang_id]
# 'ara'
📚 ドキュメント
サポートされる言語
このモデルは256の言語をサポートしています。以下をクリックして、このチェックポイントがサポートするすべての言語をISO 639 - 3コードで表示します。言語とそのISO 649 - 3コードの詳細は、MMS言語カバレッジ概要で見ることができます。
クリックして表示
- ara
- cmn
- eng
- spa
- fra
- mlg
- swe
- por
- vie
- ful
- sun
- asm
- ben
- zlm
- kor
- ind
- hin
- tuk
- urd
- aze
- slv
- mon
- hau
- tel
- swh
- bod
- rus
- tur
- heb
- mar
- som
- tgl
- tat
- tha
- cat
- ron
- mal
- bel
- pol
- yor
- nld
- bul
- hat
- afr
- isl
- amh
- tam
- hun
- hrv
- lit
- cym
- fas
- mkd
- ell
- bos
- deu
- sqi
- jav
- kmr
- nob
- uzb
- snd
- lat
- nya
- grn
- mya
- orm
- lin
- hye
- yue
- pan
- jpn
- kaz
- npi
- kik
- kat
- guj
- kan
- tgk
- ukr
- ces
- lav
- bak
- khm
- fao
- glg
- ltz
- xog
- lao
- mlt
- sin
- aka
- sna
- ita
- srp
- mri
- nno
- pus
- eus
- ory
- lug
- bre
- luo
- slk
- ewe
- fin
- rif
- dan
- yid
- yao
- mos
- hne
- est
- dyu
- bam
- uig
- sck
- tso
- mup
- ctg
- ceb
- war
- bbc
- vmw
- sid
- tpi
- mag
- san
- kri
- lon
- kir
- run
- ubl
- kin
- rkt
- xmm
- tir
- mai
- nan
- nyn
- bcc
- hak
- suk
- bem
- rmy
- awa
- pcm
- bgc
- shn
- oci
- wol
- bci
- kab
- ilo
- bcl
- haw
- mad
- nod
- sag
- sas
- jam
- mey
- shi
- hil
- ace
- kam
- min
- umb
- hno
- ban
- syl
- bxg
- xho
- mww
- epo
- tzm
- zul
- ibo
- abk
- guz
- ckb
- knc
- nso
- bho
- dje
- tiv
- gle
- lua
- skr
- bto
- kea
- glk
- ast
- sat
- ktu
- bhb
- emk
- kng
- kmb
- tsn
- gom
- ven
- sco
- glv
- sot
- sou
- gno
- nde
- bjn
- ina
- fmu
- esg
- wes
- pnb
- phr
- mui
- bug
- mrr
- kas
- lir
- vah
- ssw
- rwr
- pcc
- hms
- wbr
- swv
- mtr
- haz
- aii
- bns
- msi
- wuu
- hsn
- bgp
- tts
- lmn
- dcc
- bew
- bjj
- ibb
- tji
- hoj
- cpx
- cdo
- daq
- mut
- nap
- czh
- gdx
- sdh
- scn
- mnp
- bar
- mzn
- gsw
モデルの詳細
プロパティ | 詳細 |
---|---|
開発者 | Vineel Pratap et al. |
モデルタイプ | 多言語自動音声認識モデル |
言語 | 256の言語、サポートされる言語を参照 |
ライセンス | CC - BY - NC 4.0ライセンス |
パラメータ数 | 10億 |
音声サンプリングレート | 16,000kHz |
引用 | @article{pratap2023mms, title={Scaling Speech Technology to 1,000+ Languages}, author={Vineel Pratap and Andros Tjandra and Bowen Shi and Paden Tomasello and Arun Babu and Sayani Kundu and Ali Elkahky and Zhaoheng Ni and Apoorv Vyas and Maryam Fazel - Zarandi and Alexei Baevski and Yossi Adi and Xiaohui Zhang and Wei - Ning Hsu and Alexis Conneau and Michael Auli}, journal={arXiv}, year={2023} } |
追加リンク
- ブログ記事
- Transformersドキュメント
- 論文
- GitHubリポジトリ
- 他のMMSチェックポイント
- MMSベースチェックポイント:
- 公式スペース
📄 ライセンス
このモデルはCC - BY - NC 4.0ライセンスの下で提供されています。









