本文来源:阿里云语音AI
FunASR是由通义实验室开源的语音识别框架,集成了语音端点检测、语音识别、标点预测等领域的工业级模型的训练和部署,自开源以来,吸引了众多开发者参与体验和开发。为了支持用户便捷高效的集成语音AI能力,本次推出离线文件转写GPU软件包1.0,支持GPU部署,在长音频测试集上RTF为0.0076,吞吐为1200+。
(图1 FunASR社区软件包发布路线图)
FunASR社区软件包地址👇:
https://github.com/modelscope/FunASR/blob/main/runtime/readme_cn.md
▎离线文件转写GPU软件包1.0
(图2 FunASR离线文件转写GPU1.0 服务架构图)
如图所示,声学模型Paraformer运行在GPU上,其它模块如VAD、PUNC等运行在CPU上(相比于声学模型,其它模型整体耗时占比小,GPU加速带来的提升不明显)。离线文件转写GPU1.0 支持多路并行,GPU1.0 为了减少Padding带来的冗余计算,会对VAD语音段进行排序,同时为了提升显存使用率,采用动态组batch的方法。
目前GPU1.0 只支持单路间数据组batch,后续版本会支持多路间数据组batch,进一步提升计算效率。
▎测试结果
我们采用长音频测试集测试了软件包在GPU A10上的吞吐率,即每小时可以推理多少小时音频。
不同配置下的详细吞吐率指标如下表:
表2 离线文件转写1.0 GPU推理效率测试
结论:作为非自回归模型,Paraformer具有更强的推理效率优势,同时我们通过bladedisc对模型推理进行加速,使得Paraformer在GPU上取得了极致的效率;GPU单路实时率为0.0076,GPU多路并发时吞吐率可达到1200+。
▎使用指南
精简操作,即刻安装!FunASR软件包当前已开源。
开源软件包包地址👇:
https://github.com/modelscope/FunASR/blob/main/runtime/readme_cn.md
>>>步骤如下:
第零步:docker安装(可选)
# 如果您已安装docker,忽略本步骤 curl -O https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/shell/install_docker.sh; sudo bash install_docker.sh
第一步:镜像启动
sudo docker pull \ registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-gpu-0.1.1 mkdir -p ./funasr-runtime-resources/models sudo docker run --gpus=all -p 10095:10095 -it --privileged=true \ -v $PWD/funasr-runtime-resources/models:/workspace/models \ registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-gpu-0.1.1
第二步:服务端启动
cd FunASR/runtime; nohup bash run_server.sh > log.out 2>&1 &
第三步:测试与使用
等待服务端启动后,可以用客户端进行测试,支持python/c++/java/html网页等语言。支持多种音频格式输入(.wav, .pcm, .mp3等),也支持视频输入(.mp4等)。
客户端下载地址👇:
https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/sample/funasr_samples.tar.gz
我们以html网页版本client为例,进行说明:在浏览器中打开samples/html/static/index.html,出现如下页面,输入部署服务器ip与端口号后,可以直接进行体验。
(图5 html网页客户端体验)
同时我们在云端部署了FunASR离线文件转写服务,用户可以直接在浏览器中进行体验: