当前位置: 首页 > news >正文

​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型

内容来源:@xiaohuggg

Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型

​该模型是由Hugging Face团队开发,它在Whisper核心功能的基础上进行了优化和简化,体积缩小了50%。速度提高了6倍。并且在分布外评估集上的字错误率 (WER) 不超过 1%。
它还可以作为 Whisper 的助手模型用于推测性解码,速度提高了2倍。
主要优点:
速度 - Distil-Whisper 的推理速度是 Whisper 的 6 倍。
尺寸 - 模型大小减少了 49%,更适合资源有限的设备。
准确性 - 词错误率(WER)与 Whisper 相比只有 1% 的差距。
抗噪声 - 在嘈杂环境下仍能保持较高的识别准确性。
减少幻听 - 减少了重复词组的出现,并降低了插入错误率。
推测性解码 - 作为 Whisper 的辅助模型,推理速度提高了 2 倍。

主要方法:

Whisper模型是一个基于大规模弱监督数据训练的语音识别模型,具有1.5亿参数,并在680,000小时的语音识别数据上进行预训练,展现出在多个数据集和领域的强大泛化能力。然而,随着预训练语音识别模型大小的增加,将这些大型模型部署到低延迟或资源受限的环境中变得越来越困难。
为了解决这个问题,研究者们采用了伪标签方法来构建一个大规模的开源数据集(在 9 个不同的开源数据集上接受了 22,000 个小时的训练,涵盖 10 个域、超过 18,000 个说话者),并使用这个数据集来进行知识蒸馏,从而创建了Distil-Whisper模型。
研究者们使用了一个基于词错误率(WER)的启发式方法来筛选高质量的伪标签,以用于训练Distil-Whisper模型。
实验结果:

Distil-Whisper模型在保持原有 Whisper 模型核心功能的基础上,显著提高了处理速度。速度提高了5.8倍,参数减少了51%,并且在零样本迁移设置中对分布外测试数据的WER性能仅下降了1%。
这一速度的提升不仅意味着在相同的时间内可以处理更多的语音数据,而且对于那些需要快速响应的应用场景,如实时语音翻译、实时会议记录等,具有重要的实际意义。
在长音频评估中,Distil-Whisper的表现甚至超过了原始的Whisper模型,这主要是因为它在处理长形音频时产生幻听错误的倾向较低。
此外,Distil-Whisper与Whisper模型共享相同的编码器权重,这意味着它可以作为Whisper的辅助模型,用于推测性解码,从而实现了2倍的推理速度提升,同时确保预测结果与原始模型相同。这使得Distil-Whisper可以作为现有使用Whisper的语音识别管道的即插即用替代品。
由于模型更小,对计算资源的需求也相对较低,这使得它更适合在资源受限的设备上运行,例如在移动设备或边缘计算设备上。这种轻量级的设计也使得 Distil-Whisper 在网络带宽有限或计算能力受限的环境中更为实用。
模型下载:

https:https://huggingface.co/collections/distil-whisper/distil-whisper-models-65411987e6727569748d2eb6

论文:

https://arxiv.org/abs/2311.00430
GitHub:https://github.com/huggingface/distil-whisper

Colab:httphttps://colab.research.google.com/github/sanchit-gandhi/notebooks/blob/main/Distil_Whisper_Benchmark.ipynbain/Distil_Whisper_Benchmark.ipynb

在这里插入图片描述

相关文章:

  • Vue3+TS+Node打造个人博客(前端架构)
  • centOs 6.10 编译 qt 5.15.11
  • MobileSAM论文笔记
  • React Virtual DOM及Diff算法
  • 人工智能基础_机器学习033_多项式回归升维_多项式回归代码实现_非线性数据预测_升维后的数据对非线性数据预测---人工智能工作笔记0073
  • 池化层是有什么作用
  • Redis - 订阅发布替换 Etcd 解决方案
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • 常用免费网站总结(自用)
  • 如何在3DMax中使用超过16个材质ID通道?
  • 避免defer陷阱:拆解延迟语句,掌握正确使用方法
  • 微服务的注册发现和微服务架构下的负载均衡
  • cocos----1
  • 压力测试总共需要几个步骤?思路总结篇
  • 想买GPT4会员却只能排队?来看看背后的故事!
  • 【React系列】如何构建React应用程序
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • Brief introduction of how to 'Call, Apply and Bind'
  • CentOS 7 修改主机名
  • flask接收请求并推入栈
  • JAVA 学习IO流
  • Java多线程(4):使用线程池执行定时任务
  • Laravel 中的一个后期静态绑定
  • mysql 5.6 原生Online DDL解析
  • Promise面试题,控制异步流程
  • Redis 懒删除(lazy free)简史
  • 阿里云前端周刊 - 第 26 期
  • 代理模式
  • 解析 Webpack中import、require、按需加载的执行过程
  • 前端代码风格自动化系列(二)之Commitlint
  • 前嗅ForeSpider教程:创建模板
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 使用docker-compose进行多节点部署
  • 提醒我喝水chrome插件开发指南
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 再谈express与koa的对比
  • 阿里云移动端播放器高级功能介绍
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​Java并发新构件之Exchanger
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #pragma pack(1)
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (1)SpringCloud 整合Python
  • (1)STL算法之遍历容器
  • (C语言)fgets与fputs函数详解
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (安卓)跳转应用市场APP详情页的方式
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (五)c52学习之旅-静态数码管
  • (转)创业的注意事项
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • ***监测系统的构建(chkrootkit )