TTTdas commited on
Commit
a1aa275
1 Parent(s): f2d80dc

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +150 -3
README.md CHANGED
@@ -1,3 +1,150 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ ---
4
+
5
+ <div align="center">
6
+ <h1>
7
+ 星辰语音大模型-超多方言ASR
8
+ </h1>
9
+ </div>
10
+
11
+ 星辰超多方言语音识别大模型v1.0,由30w小时无标注多方言语音数据进行训练,打破单一模型只能识别特定单一方言的困境,可支持理解粤语、上海话、四川话、温州话等30多种方言
12
+
13
+
14
+ 本次发布版本和下载链接见下表
15
+
16
+ | 模型版本 | 参数量 | 下载链接 |
17
+ |---------------------|-------|---------------------|
18
+ | pretrain_base | 0.09 B | [TeleSpeech-ASR1.0-base](https://huggingface.co/Tele-AI/TeleSpeech-ASR1.0/blob/main/base.pt) |
19
+ | pretrain_large | 0.3 B | [TeleSpeech-ASR1.0-large](https://huggingface.co/Tele-AI/TeleSpeech-ASR1.0/blob/main/large.pt) |
20
+
21
+
22
+ # 环境配置
23
+ 环境依赖
24
+ * PyTorch version >= 1.13.0
25
+ * Python version >= 3.8
26
+ * 数据准备、程序训练需要使用kaldi,请确保已正确安装:https://github.com/kaldi-asr/kaldi
27
+ * 若已有提好的特征,程序运行时可以使用wenet开源框架中kaldi_io.py实现的方法替换kaldiio.load_mat,从而无需安装kaldi
28
+
29
+ ## 微调
30
+
31
+ <a id="fairseq安装"></a>
32
+ * 安装fairseq及其依赖
33
+ ```shell script
34
+ $ git clone https://github.com/pytorch/fairseq
35
+ $ cd fairseq
36
+ $ pip install --editable ./
37
+ ```
38
+
39
+ * 安装kaldiio
40
+ ```shell script
41
+ $ pip install kaldiio
42
+ ```
43
+
44
+ ## 表征训练下游任务
45
+
46
+ * 确保fairseq已正确[安装](#fairseq安装)
47
+
48
+ * 安装表征训练任务运行所需依赖
49
+ ```shell script
50
+ $ cd wenet_representation
51
+ $ pip install -r requirements.txt
52
+ ```
53
+
54
+ # 数据准备
55
+ ## 特征提取
56
+
57
+ * 利用kaldi提取40维mfcc特征,参数设置参考`mfcc_hires.conf`
58
+ * 为各数据集准备训练用文件`data.list`,以`\t`分隔:
59
+ ```
60
+ $ cat train/data.list
61
+ utt:X0000000000_100638174_S00037 feat:/data/raw_nnaudio.test.1.ark:2983479385 feat_shape:363,40 text:不惜在这种试验中毁灭包括自己在内的一切 token:不 惜 在 这 种 试 验 中 毁 灭 包 括 自 己 在 内 的 一 切 tokenid:[TOKENID] token_shape:19,5537
62
+ utt:X0000000001_100849618_S00006 feat:/data/raw_nnaudio.test.1.ark:2984296665 feat_shape:345,40 text:在他们收到足够建立大统一模型的数据后 token:在 他 们 收 到 足 够 建 立 大 统 一 模 型 的 数 据 后 tokenid:[TOKENID] token_shape:18,5537
63
+ ...
64
+ ```
65
+
66
+ ## 字典准备
67
+
68
+ * 微调阶段,需要准备fairseq格式的 `dict.${label}.txt`,例如
69
+ ```
70
+ 是 2
71
+ 好 3
72
+ ...
73
+ ```
74
+
75
+ * 预训练模型表征训练ASR任务阶段,需要准备wenet格式的`lang_char.txt`,相比于`dict.${label}.txt`额外添加`<blank>`, `<unk>`, `<sos/eos>`3个token,例如
76
+ ```
77
+ <blank> 0
78
+ <unk> 1
79
+ 是 2
80
+ 好 3
81
+ ...
82
+ <sos/eos> 5536
83
+ ```
84
+
85
+ # 预训练模型微调
86
+
87
+ ## 微调
88
+ * 准备`train.tsv`和`dev.tsv`,保存于同一训练目录下
89
+ ```
90
+ $ ln -s /path/to/train/data.list /path/to/train/train.tsv
91
+ $ ln -s /path/to/dev/data.list /path/to/train/dev.tsv
92
+ ```
93
+ * 进入data2vec_dialect路径,修改`path.sh`文件中`/path/to/fairseq`为fairseq安装路径
94
+ * 将`run_scripts/run_d2v_finetune.sh`中`/path/to/fairseq`和`/path/to/data2vec_dialect`路径替换;修改`task.data`为`.tsv`保存路径,如`task.data=/data/wenetspeech/train`
95
+ * 执行
96
+ ```shell script
97
+ $ bash run_scripts/run_d2v_finetune.sh
98
+ ```
99
+
100
+ ## 解码
101
+ * 同样修改`run_scripts/decode.sh`中的模型路径、测试数据路径等
102
+ * `dataset.gen_subset`为测试数据路径下`tsv`文件的名称,可配置多个
103
+ * 执行
104
+ ```shell script
105
+ $ bash run_scripts/decode.sh
106
+ ```
107
+
108
+ # 表征训练下游任务
109
+
110
+ * 进入wenet_representation路径,修改`path.sh`文件中`fairseq`, `data2vec_dialect`, `wenet_representation`相关路径
111
+
112
+ * 连续表征训练与解码:
113
+ * 配置`run_d2v.sh`中dataset相关内容,执行
114
+ ```shell script
115
+ $ bash run_d2v.sh
116
+ ```
117
+
118
+ * 离散表征训练与解码:
119
+ * 首先根据`data.list`,准备离散表征对应训练文件`data.list.discrete`,修改`wenet/discrete_token/kmeans_d2v.yaml`中`model_dir`和`user_dir`,执行
120
+ ```
121
+ $ bash wenet/discrete_token/dump_feat.sh
122
+ ```
123
+ * 再配置`run_discrete.sh`中dataset相关内容,执行
124
+ ```
125
+ $ bash run_discrete.sh
126
+ ```
127
+ # 开源数据集结果
128
+ * 我们选择了多个开源中文数据集进行验证,以测试集上的字错误率 (Character Error Rate, CER) 结果作为衡量标准
129
+ * 在Aishell-1上我们选择其Train集作为有监督数据进行训练,在Test集上统计CER
130
+ * 在WenetSpeech上,我们分别使用100小时训练集Train_s和1000小时训练集Train_m分别作为有监督数据进行训练,在Test_Meeting测试集上统计CER
131
+ * Babel为NIST(美国国家标准与技术研究院)举办的低资源粤语电话识别任务数据集,我们使用其提供的训练集与测试集统计CER
132
+ * KeSpeech为中文多方言测试集,我们使用1396小时训练集作为有监督数据进行训练,选择提供的Test测试集统计CER
133
+
134
+ | | Aishell-1 | WenetSpeech*| Babel | KeSpeech |
135
+ | ----------| -------- | ------- | ---- | ---- |
136
+ | base_300k | 4.7 | 18.3 / 16.4 | 22.1 | 10.9 |
137
+ | large_300k | 4.0 | 14.3 / 13.0 | 19.1 | 8.1 |
138
+
139
+ *WenetSpeech中的结果为分别使用 `train_s/train_m`,在Test_Meeting上的CER
140
+
141
+ # 声明与协议
142
+ ## 声明
143
+ 我们在此声明,不要使用TeleSpeech模型及其衍生模型进行任何危害国家社会安全或违法的活动。同时,我们也要求使用者不要将TeleSpeech模型用于没有安全审查和备案的互联网服务。我们希望所有使用者遵守上述原则,确保科技发展在合法合规的环境下进行。
144
+
145
+ 我们已经尽我们所能,来确保模型训练过程中使用的数据的合规性。然而,尽管我们已经做出了巨大的努力,但由于模型和数据的复杂性,仍有可能存在一些无法预见的问题。因此,如果由于使用TeleSpeech开源模型而导致的任何问题,包括但不限于数据安全问题、公共舆论风险,或模型被误导、滥用、传播或不当利用所带来的任何风险和问题,我们将不承担任何责任。
146
+
147
+ ## 协议
148
+ 社区使用TeleSpeech模型需要遵循《[TeleSpeech模型社区许可协议](./TeleSpeech模型社区许可协议.pdf)》。TeleSpeech模型支持商业用途,如果您计划将TeleSpeech模型或其衍生品用于商业目的,您需要通过以下联系邮箱 [email protected],提交《TeleSpeech模型社区许可协议》要求的申请材料。审核通过后,将特此授予您一个非排他性、全球性、不可转让、不可再许可、可撤销的商用版权许可。
149
+
150
+ ---