Home

Awesome

<div align="center"> <h1> 星辰语音大模型-超多方言ASR </h1> </div> <p align="center"> 🤗 <a href="https://huggingface.co/Tele-AI/TeleSpeech-ASR1.0" target="_blank">Hugging Face</a>️ • 🤖 <a href="https://www.modelscope.cn/models/TeleAI/TeleSpeech-ASR1.0/summary" target="_blank">ModelScope</a> • 🐾 <a href="https://gitee.com/Tele-AI/TeleSpeech-ASR" target="_blank">gitee</a> </p>

目录

模型开源

星辰超多方言语音识别大模型v1.0,由30万小时无标注多方言语音数据进行预训练,并利用内部30种有标注数据进行微调,打破单一模型只能识别特定单一方言的困境,可支持理解粤语、上海话、四川话、温州话等30种方言

本次开源三个模型:两个30万小时无标注语音预训练模型和一个KeSpeech数据集8种方言微调模型。发布版本和下载链接见下表

模型版本参数量下载链接字典备注
pretrain_base0.09 BTeleSpeech-ASR1.0-base30万小时无标注语音预训练模型
pretrain_large0.3 BTeleSpeech-ASR1.0-large30万小时无标注语音预训练模型
finetune_large_kespeech0.3 BTeleSpeech-ASR1.0-large-kespeechdict.char7531.txt基于pretrain_large,采用KeSpeech数据集8种方言微调训练

环境配置

<a id="fairseq安装"></a>

$ git clone https://github.com/pytorch/fairseq
$ cd fairseq
$ pip install --editable ./
$ pip install -r requirements.txt
$ pip install kaldiio timm editdistance soundfile

数据准备

特征提取

<a id="特征提取"></a>

$ cat train/data.list
utt:X0000000000_100638174_S00037	feat:/data/raw_nnaudio.test.1.ark:2983479385	feat_shape:363,40	text:不惜在这种试验中毁灭包括自己在内的一切	token:不 惜 在 这 种 试 验 中 毁 灭 包 括 自 己 在 内 的 一 切	tokenid:[TOKENID]	token_shape:19,5537
utt:X0000000001_100849618_S00006	feat:/data/raw_nnaudio.test.1.ark:2984296665	feat_shape:345,40	text:在他们收到足够建立大统一模型的数据后	token:在 他 们 收 到 足 够 建 立 大 统 一 模 型 的 数 据 后	tokenid:[TOKENID]	token_shape:18,5537
...

字典准备

是 2
好 3
...
<blank> 0
<unk> 1
是 2
好 3
...
<sos/eos> 5536

微调模型推理流程示例*

  1. fairseq环境准备,修改data2vec_dialect/path.sh文件中/path/to/fairseq为fairseq安装路径
  2. 利用kaldi提取音频特征,准备data.list格式文件,参考特征提取,并命名为以 .tsv 结尾的文件
    • data.list中texttoken是为了微调和统计CER使用,若只想拿到解码结果,data.list中的texttoken只需保证有内容即可
  3. 进入data2vec_dialect目录,并修改run_scripts/decode.sh文件,参考推理与解码阶段
  4. 在data2vec_dialect路径下,执行run_scripts/decode.sh

*仅经过微调后的finetune模型支持直接推理,无监督预训练模型pretrain_basepretrain_large需要先在标注数据上训练后,再进行推理,详见预训练模型微调表征训练下游任务

预训练模型微调

<a id="预训练模型微调"></a>

微调阶段

<a id="推理与解码阶段"></a>

推理与解码阶段

表征训练下游任务

<a id="表征训练下游任务"></a>

开源数据集结果

模型版本Aishell-1 (%)WenetSpeech* (%)Babel (%)KeSpeech (%)
pretrain_base4.718.3 / 16.422.110.9
pretrain_large4.014.3 / 13.019.18.1

*WenetSpeech中的结果为分别使用 train_s/train_m训练后,在Test_Meeting上的CER

<a id="KeSpeech各方言上结果"></a> KeSpeech各方言上结果(CER%)

模型版本普通话北京西南中原东北兰银江淮冀鲁胶辽
pretrain_large4.618.238.747.627.899.7212.898.919.30

声明与协议

声明

我们在此声明,不要使用TeleSpeech模型及其衍生模型进行任何危害国家社会安全或违法的活动。同时,我们也要求使用者不要将TeleSpeech模型用于没有安全审查和备案的互联网服务。我们希望所有使用者遵守上述原则,确保科技发展在合法合规的环境下进行。

我们已经尽我们所能,来确保模型训练过程中使用的数据的合规性。然而,尽管我们已经做出了巨大的努力,但由于模型和数据的复杂性,仍有可能存在一些无法预见的问题。因此,如果由于使用TeleSpeech开源模型而导致的任何问题,包括但不限于数据安全问题、公共舆论风险,或模型被误导、滥用、传播或不当利用所带来的任何风险和问题,我们将不承担任何责任。

协议

社区使用TeleSpeech模型需要遵循《TeleSpeech模型社区许可协议》。TeleSpeech模型支持商业用途,如果您计划将TeleSpeech模型或其衍生品用于商业目的,您需要通过以下联系邮箱 tele_ai@chinatelecom.cn,提交《TeleSpeech模型社区许可协议》要求的申请材料。审核通过后,将特此授予您一个非排他性、全球性、不可转让、不可再许可、可撤销的商用版权许可。