PaddleSpeech 又带着新功能和大家见面了。本次更新,为开发者们带来了基于端到端语音识别模型 Conformer 的中英文混合语音识别方案,通过命令行和 Python 可以快速体验,也根据 PaddleSpeech 模型训练方案定制与业务场景相关的语音识别模型。欢迎广大开发者使用 NVIDIA 与飞桨联合深度适配的 NGC 飞桨容器,在 NVIDIA GPU 上体验 PaddleSpeech 中英文混合语音识别方案。
本次 PaddleSpeech 发布的中英文语音识别预训练模型 Conformer_talcs 以通过 PaddleSpeech 封装的命令行工具 CLI 或者 Python 接口快速使用,开发者们可以基于此搭建自己的智能语音应用,也可以参考示例训练自己的中英文语音识别模型。
示例链接:
https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/tal_cs/asr1
快速体验
使用命令行工具 CLI 快速体验语音识别效果,命令如下:
```bash
paddlespeech asr --model conformer_talcs --lang zh_en --codeswitch True --input ./ch_zh_mix.wav -v
# 终端输出:今天是 monday 明天是 tuesday
```
Python 接口快速体验,代码实现如下:
```python
import paddle
from paddlespeech.cli.asr import ASRExecutor
asr_executor = ASRExecutor()
text = asr_executor(
model='conformer_talcs',
lang='zh_en',
sample_rate=16000,
config=None,
ckpt_path=None,
audio_file='./ch_zh_mix.wav',
codeswitch=True,
force_yes=False,
device=paddle.get_device())
'ASR Result: \n{}'.format(text)) print(
ASR Result:
今天是 monday 明天是 tuesday
```
1.中英文语音识别技术
1.1 中英文语音识别难点
中英文语音识别相较于单语言的语音识别而言,主要难点如下:
1) 数据量少
中英混合数据相较于单语言的数据更少。目前开源的中文语音识别数据集如 WenetSpeech(10000 小时有监督,2500 小时弱监督,10000 小时无监督)、英文语音识别数据集 Giga Speech(10000 小时有监督,33000 小时无监督)都达到了万小时级别,但是混合的开源中英文语音识别数据只有 SEAME (120小时)和 TAL_CSASR (587小时) 两个开源数据,混合数据集比单语言数据集会更少。
2) 中英相似发音易混淆
中英文语音识别需要一个单一的模型来学习多种语音,相似但具有不同含义的发音通常会导致模型的复杂度和计算量增加,同时由于它需要区分处理不同语言的类似发音,因此在模型建模时就需要按照不同语言区分不同的建模单元。
1.2 PaddleSpeech 中英文语音识别方案
1.2.1 模型选择与介绍
本方案使用了一种端到端语音识别模型 Conformer U2 模型,其采用了 Joint CTC/Attention with Transformer or Conformer 的结构。训练时使用 CTC 和 Attention Loss 联合优化,并且通过 dynamic chunk 的训练技巧,使 Shared Encoder 能够处理任意大小的 chunk(即任意长度的语音片段)。其还使用 CTC-Prefix Beam Search 和 Attention Decoder 的方式进行解码,得到最终结果,同时实现了流式和非流式的语音识别,支持控制推理延迟。
本次 PaddleSpeech 开源的预训练模型,是非流式的端到端识别 Conformer U2 模型,chunk 中包含全部上下文信息,需要整句输入进行识别。如果你想训练流式中英文语音识别模型,也可以参考 PaddleSpeech 的 Conformer U2/U2++模型流式语音识别的示例训练自己的流式中英文语音识别模型。
示例链接:
https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/wenetspeech/asr1
Conformer U2 结构示意图[1]
1.2.2 数据集介绍
本次使用了 TAL_CSASR 中英混合语音数据集。语音场景为语音授课音频,包括中英混合讲课的情况,总计 587 小时语音。
数据集下载地址:https://ai.100tal.com/dataset
数据集介绍[2]
1.2.3 中英混合语音识别建模单元
在中文语音识别系统中,常采用音素、汉字、词等作为声学模型的建模单元,在英文语音识别系统中则常采用英文音素、国际音标、子词等作为声学模型的建模单元。
本次 PaddleSpeech 开源的预训练中英文语音识别模型是采用端到端语音识别模型 Conformer U2,未接入语言模型,使用了中文字/词加英文子词的建模方法,将中英文分开建模,通过模型推理,直接得到识别后的结果。
1.2.4 试验结果对比
由于本项目使用的是中英文混合数据集,所以我们选择混合错误率(MER,Mix Error Rate)作为评价指标,中文部分计算字错误率(CER,Character Error Rate),英文部分计算词错误率(Word Error Rate)。测试数据集选择 TAL_CSASR 中已经划分好的测试集。由于不同的解码方式识别的效果不同,这里我们使用 Attention、CTC Greedy Search、CTC Prefix Beam Search、Attention Rescoring 四种解码方式进行试验,解码效果最佳为 Attention Rescoring,混合错误率 MER 为 0.084,折算为我们常说的语音识别正确率 91.6%。
1.2.5 进一步优化与效果提升
当前中英文语音识别方案的效果还有进一步提升的空间,比如在 Conformer U2 模型后面加入 Language Model,通过语言模型学习中英文语言信息, PaddleSpeech 中提供了基于 N-Gram 的语言模型训练方案。此外,可以在训练过程中加入 Language ID,使用 token 级别或者帧级别的语言 ID 标注信息,可以进一步提高中英文语音识别的效果。如果你有更大的中英文混合数据集或者是场景相关的数据集,可以通过微调或者进一步训练,提高在业务场景中的识别效果。
2.PaddleSpeech 语音识别技术介绍
除了中英文混合的 Conformer U2 模型以外,飞桨语音模型库 PaddleSpeech 中包含了多种语音识别模型,能力涵盖了声学模型、语言模型、解码器等多个环节,支持多种语言。目前 PaddleSpeech 已经支持的语音识别声学模型包括 DeepSpeech2、Transfromer、Conformer U2/U2 ++,支持中文和英文的单语言识别以及中英文混合识别;支持 CTC 前束搜索(CTC Prefix Beam Search)、CTC 贪心搜索(CTC Greedy Search)、注意力重打分(Attention Rescoring)等多种解码方式;支持 N-Gram 语言模型、有监督多语言大模型 Whisper、无监督预训练大模型 wav2vec2;同时还支持服务一键部署,可以快速封装流式语音识别和非流式语音识别服务。
通过 PaddleSpeech 提供的命令行工具 CLI 和 Python 接口可以快速体验上述功能。通过 PaddleSpeech 精品项目合集,可以在线体验 PaddleSpeech 的优秀项目,上面更有核心开发者精心打造的《飞桨 PaddleSpeech 语音技术课程》,帮助开发者们快速入门。
项目传送门:
https://aistudio.baidu.com/aistudio/projectdetail/4692119?contributionType=1
如果想了解更多有关 PaddleSpeech 的内容,欢迎前往 PaddleSpeech 主页学习 PaddleSpeech 的更多用法,Star 关注,了解 PaddleSpeech 最新资讯。
PaddleSpeech 地址
欢迎微信扫码加入 PaddleSpeech 社区,与核心开发者们一起交流。
3. NGC 飞桨容器介绍
如果您希望体验 PaddleSpeech 的新特性,欢迎使用 NGC 飞桨容器。NVIDIA 与百度飞桨联合开发了 NGC 飞桨容器,将最新版本的飞桨与最新的 NVIDIA 的软件栈(如 CUDA)进行了无缝的集成与性能优化,最大程度的释放飞桨框架在 NVIDIA 最新硬件上的计算能力。这样,用户不仅可以快速开启 AI 应用,专注于创新和应用本身,还能够在 AI 训练和推理任务上获得飞桨+ NVIDIA 带来的飞速体验。
最佳的开发环境搭建工具 - 容器技术
容器其实是一个开箱即用的服务器。极大降低了深度学习开发环境的搭建难度。例如你的开发环境中包含其他依赖进程(redis,MySQL,Ngnix,selenium-hub 等等),或者你需要进行跨操作系统级别的迁移
容器镜像方便了开发者的版本化管理
容器镜像是一种易于复现的开发环境载体
容器技术支持多容器同时运行
最好的 PaddlePaddle 容器
NGC 飞桨容器针对 NVIDIA GPU 加速进行了优化,并包含一组经过验证的库,可启用和优化 NVIDIA GPU 性能。此容器还可能包含对 PaddlePaddle 源代码的修改,以最大限度地提高性能和兼容性。此容器还包含用于加速 ETL (DALI, RAPIDS)、训练(cuDNN, NCCL)和推理(TensorRT)工作负载的软件。
PaddlePaddle 容器具有以下优点:
适配最新版本的 NVIDIA 软件栈(例如最新版本 CUDA),更多功能,更高性能
更新的 Ubuntu 操作系统,更好的软件兼容性
按月更新
满足 NVIDIA NGC 开发及验证规范,质量管理
通过飞桨官网快速获取
环境准备
使用 NGC 飞桨容器需要主机系统(Linux)安装以下内容:
Docker 引擎
NVIDIA GPU 驱动程序
NVIDIA 容器工具包
有关支持的版本,请参阅 NVIDIA 框架容器支持矩阵和 NVIDIA 容器工具包文档。
不需要其他安装、编译或依赖管理。无需安装 NVIDIA CUDA Toolkit。
NGC 飞桨容器正式安装:
要运行容器,请按照 NVIDIA Containers For Deep Learning Frameworks User’s Guide 中 Running A Container 一章中的说明发出适当的命令,并指定注册表、存储库和标签。有关使用 NGC 的更多信息,请参阅 NGC 容器用户指南。如果您有 Docker 19.03 或更高版本,启动容器的典型命令是:
docker run --gpus all --shm-size=1g --ulimit memlock=-1 -it --rm nvcr.io/nvidia/paddlepaddle:22.08-py3
https://www.paddlepaddle.org.cn/documentation/docs/zh/install/install_NGC_PaddlePaddle_ch.html
*详细产品介绍视频
【飞桨开发者说|NGC飞桨容器全新上线 NVIDIA产品专家全面解读】 https://www.bilibili.com/video/BV16B4y1V7ue?share_source=copy_web&vd_source=266ac44430b3656de0c2f4e58b4daf82
4.飞桨与 NVIDIA NGC 合作介绍
NVIDIA 非常重视中国市场,特别关注中国的生态伙伴,而当前飞桨拥有超过 535 万的开发者。在过去五年里我们紧密合作,深度融合,做了大量适配工作,如下图所示。
今年,我们将飞桨列为 NVIDIA 全球前三的深度学习框架合作伙伴。我们在中国已经设立了专门的工程团队支持,赋能飞桨生态。
为了让更多的开发者能用上基于 NVIDIA 最新的高性能硬件和软件栈。当前,我们正在进行全新一代 NVIDIA GPU H100 的适配工作,以及提高飞桨对 CUDA Operation API 的使用率,让飞桨的开发者拥有优秀的用户体验及极致性能。
以上的各种适配,仅仅是让飞桨的开发者拥有高性能的推理训练成为可能。但是,这些离行业开发者还很远,门槛还很高,难度还很大。
为此,我们将刚刚这些集成和优化工作,整合到三大产品线中。其中 NGC 飞桨容器最为闪亮。
NVIDIA NGC Container – 最佳的飞桨开发环境,集成最新的 NVIDIA 工具包(例如 CUDA)。
NGC 飞桨容器系列文章
BEV、单目和激光雷达 3D 感知算法开箱即用,无缝衔接 Apollo!
ERNIE 3.0 Tiny 新模型,压缩部署“小”“快”“灵”!欢迎在 NGC 飞桨容器中体验 PaddleNLP 最新版本
YOLOv8 来啦!一文带你解读 YOLO "内卷"期的模型选型以及在 NGC 飞桨容器中快速体验!
在 NGC 上玩转新一代推理部署工具 FastDeploy,几行代码搞定 AI 部署
在 NGC 上玩转飞桨自然语言处理模型库 PaddleNLP!信息抽取、文本分类、文档智能、语义检索、智能问答等产业方案应有尽有!
在 NGC 上玩转图像分割!NeurIPS 顶会模型、智能标注 10 倍速神器、人像分割 SOTA 方案、3D 医疗影像分割利器应有尽有!
在 NVIDIA NGC 上搞定模型自动压缩,YOLOv7 部署加速比 5.90,BERT 部署加速比 6.22
在 NVIDIA NGC 上体验轻量级图像识别系统
在 NVIDIA NGC 上体验一键 PDF 转 Word
PaddleDetection 发新,欢迎在 NVIDIA NGC 飞桨容器中体验最新特性!
NVIDIA Deep Learning Examples 飞桨 ResNet50 模型上线训练速度超 PyTorch ResNet50
学习指南|NVIDIA 携手百度,为您解密 NGC 飞桨容器,快快关注“器”度不凡!
更多精彩仍在继续...
敬请关注
即刻点击 “阅读原文” 或扫描下方海报二维码,在 NVIDIA On-Demand 上观看 GTC 精选回放,包括主题演讲相关精选、中国本地精选内容、生成式 AI 专题以及全球各行业及领域最新成果!