担任角色:负责人与核心开发(共3人)
项目介绍:催收和客服场景有大量电话语音识别需求,阿里云服务调用成本高,并且存在数据安全与专有名词识别效果差的问题,所以自研语音识别服务。项目采用微服务架构,主要包含前处理服务、语音识别服务和加标点服务。
主要职责:
(1) 调研kaldi和wenet框架,最终选择wenet端到端的框架作为语音识别的服务。
(2) 训练语音识别模型,达到上线的效果;实现模型微调,缩短模型的训练耗时。
(3) 优化C++版本的语音识别服务代码,提供语音识别服务。
(4) 对标阿里语音识别服务的参数和异步调用流程,使用grpc开发前处理服务,支持音频数据的并发、流式传输。输出接口文档。
(5) 进行单元测试、压力测试、保障性能和服务的稳定性;并解决开发过程中遇到的功能、性能问题。
(6) 输出服务日志到ELK平台;并用prometheus、Grafana实时监控服务的QPS、可用性、P99指标。
(7) 使用docker部署服务,Jenkins发布上线,nginx进行负载均衡,搭建高并发高可用服务。
主要业绩:
(1) 经产品测算,使用自研语音识别服务替换阿里云的服务后,每年可节省48万的服务费用。
(2) 目前线上使用的语音识别模型的字错率为5.32%,而阿里云的语音识别服务的字错率为7.29%。
(3) 优化工作:
-- 发现wenet C++版服务代码中的bug: grpc返回的解析结果只有一个。解决bug并提交patch。
---- 相关链接: https://github.com/wenet-e2e/wenet/commit/f54d0ef14901037ad39790bca2df668c1c4d7ab0
-- 模型训练代码中,不支持<unk>标签(unknow),修改代码解决该问题。
-- 解决负载均衡异常的问题:经排查是阿里的SLB对grpc支持不好导致,改用Nginx后解决该问题。
(4) 语音识别服务平台如期上线,目前服务已经稳定运行一年,未出现bug。