🚀 FireRedASR: オープンソースの産業用自動音声認識モデル
FireRedASRは、中国語(標準語、方言)と英語をサポートするオープンソースの産業用自動音声認識(ASR)モデル群です。公開されている中国語ASRベンチマークで新たな最先端(SOTA)性能を達成し、歌詞認識能力も抜群です。
[コード]
[論文]
[モデル]
[ブログ]
FireRedASR: オープンソースの産業用自動音声認識モデル
[Kai-Tuo Xu](https://github.com/kaituoxu) · [Feng-Long Xie](https://scholar.google.com/citations?user=bi8ExI4AAAAJ&hl=zh-CN&oi=sra) · [Xu Tang](https://scholar.google.com/citations?user=grP24aAAAAAJ&hl=zh-CN&oi=sra) · [Yao Hu](https://scholar.google.com/citations?user=LIu7k7wAAAAJ&hl=zh-CN)
🚀 クイックスタート
FireRedASRを使用するには、まずモデルファイルをhuggingfaceからダウンロードし、pretrained_models
フォルダに配置します。FireRedASR-LLM-L
を使用する場合は、Qwen2-7B-Instructもダウンロードして同じフォルダに配置し、FireRedASR-LLM-L
フォルダで$ ln -s ../Qwen2-7B-Instruct
を実行します。
セットアップ
Python環境を作成し、依存関係をインストールします。
$ git clone https://github.com/FireRedTeam/FireRedASR.git
$ conda create --name fireredasr python=3.10
$ pip install -r requirements.txt
LinuxのPATHとPYTHONPATHを設定します。
$ export PATH=$PWD/fireredasr/:$PWD/fireredasr/utils/:$PATH
$ export PYTHONPATH=$PWD/:$PYTHONPATH
音声を16kHz 16-bit PCM形式に変換します。
ffmpeg -i input_audio -ar 16000 -ac 1 -acodec pcm_s16le -f wav output.wav
クイックスタート
$ cd examples
$ bash inference_fireredasr_aed.sh
$ bash inference_fireredasr_llm.sh
コマンドラインでの使用
$ speech2text.py --help
$ speech2text.py --wav_path examples/wav/BAC009S0764W0121.wav --asr_type "aed" --model_dir pretrained_models/FireRedASR-AED-L
$ speech2text.py --wav_path examples/wav/BAC009S0764W0121.wav --asr_type "llm" --model_dir pretrained_models/FireRedASR-LLM-L
Pythonでの使用
from fireredasr.models.fireredasr import FireRedAsr
batch_uttid = ["BAC009S0764W0121"]
batch_wav_path = ["examples/wav/BAC009S0764W0121.wav"]
model = FireRedAsr.from_pretrained("aed", "pretrained_models/FireRedASR-AED-L")
results = model.transcribe(
batch_uttid,
batch_wav_path,
{
"use_gpu": 1,
"beam_size": 3,
"nbest": 1,
"decode_max_len": 0,
"softmax_smoothing": 1.25,
"aed_length_penalty": 0.6,
"eos_penalty": 1.0
}
)
print(results)
model = FireRedAsr.from_pretrained("llm", "pretrained_models/FireRedASR-LLM-L")
results = model.transcribe(
batch_uttid,
batch_wav_path,
{
"use_gpu": 1,
"beam_size": 3,
"decode_max_len": 0,
"decode_min_len": 0,
"repetition_penalty": 3.0,
"llm_length_penalty": 1.0,
"temperature": 1.0
}
)
print(results)
✨ 主な機能
FireRedASRは、様々なアプリケーションにおける高性能と最適な効率の多様な要件を満たすように設計されています。2つのバリアントから構成されています。
- FireRedASR-LLM: 最先端(SOTA)の性能を達成し、シームレスなエンドツーエンドの音声対話を可能にするように設計されています。大規模言語モデル(LLM)の機能を活用したEncoder-Adapter-LLMフレームワークを採用しています。
- FireRedASR-AED: 高性能と計算効率のバランスを取り、LLMベースの音声モデルにおける効果的な音声表現モジュールとして機能するように設計されています。AttentionベースのEncoder-Decoder(AED)アーキテクチャを利用しています。
📚 ドキュメント
🔥 ニュース
評価
結果は、中国語の場合は文字誤り率(CER%)、英語の場合は単語誤り率(WER%)で報告されています。
公開中国語ASRベンチマークでの評価
モデル |
パラメータ数 |
aishell1 |
aishell2 |
ws_net |
ws_meeting |
4つの平均 |
FireRedASR-LLM |
8.3B |
0.76 |
2.15 |
4.60 |
4.67 |
3.05 |
FireRedASR-AED |
1.1B |
0.55 |
2.52 |
4.88 |
4.76 |
3.18 |
Seed-ASR |
12B+ |
0.68 |
2.27 |
4.66 |
5.69 |
3.33 |
Qwen-Audio |
8.4B |
1.30 |
3.10 |
9.50 |
10.87 |
6.19 |
SenseVoice-L |
1.6B |
2.09 |
3.04 |
6.01 |
6.73 |
4.47 |
Whisper-Large-v3 |
1.6B |
5.14 |
4.96 |
10.48 |
18.87 |
9.86 |
Paraformer-Large |
0.2B |
1.68 |
2.85 |
6.74 |
6.97 |
4.56 |
ws
はWenetSpeechを意味します。
公開中国語方言および英語ASRベンチマークでの評価
テストセット |
KeSpeech |
LibriSpeech test-clean |
LibriSpeech test-other |
FireRedASR-LLM |
3.56 |
1.73 |
3.67 |
FireRedASR-AED |
4.48 |
1.93 |
4.44 |
以前のSOTA結果 |
6.70 |
1.82 |
3.50 |
使用上のヒント
バッチビームサーチ
- FireRedASR-LLMでバッチビームサーチを行う場合は、発話の入力長が似ていることを確認してください。発話長に大きな差がある場合、短い発話に繰り返し問題が発生する可能性があります。データセットを長さでソートするか、
batch_size
を1に設定して繰り返し問題を回避することができます。
入力長の制限
- FireRedASR-AEDは最大60秒の音声入力をサポートしています。60秒を超える入力は幻聴問題を引き起こす可能性があり、200秒を超える入力は位置符号化エラーを引き起こします。
- FireRedASR-LLMは最大30秒の音声入力をサポートしています。より長い入力に対する動作は現在不明です。
🔧 技術詳細
本モデルに関する詳細な技術情報は、技術レポートをご参照ください。
📄 ライセンス
このプロジェクトはApache-2.0ライセンスの下で公開されています。
謝辞
以下のオープンソースの成果に感謝します。
引用
@article{xu2025fireredasr,
title={FireRedASR: Open-Source Industrial-Grade Mandarin Speech Recognition Models from Encoder-Decoder to LLM Integration},
author={Xu, Kai-Tuo and Xie, Feng-Long and Tang, Xu and Hu, Yao},
journal={arXiv preprint arXiv:2501.14350},
year={2025}
}