Barret李靖's banner
Barret李靖's profile picture

Barret李靖

@Barret_China81,374 subscribers

AI Engineer | Lifelong Learner | Dad of 2 | Cloud Native | Sharing insights and experiences | 小胡子哥,一个有趣的灵魂

Shorts

Distil-Whisper:让语音识别的速度提高 5.8 倍,参数减少 51%,准确度保持在 99%。 Whisper 在语音识别方面表现卓著,但是它有一个明显的缺点:训练出来的小模型支持的语言比较少,而大模型推理速度又很慢。如果你有海量的数据需要处理,或者对实时性要求略高,那使用 Whisper 可能会让你比较头疼。 你可以使用工程手段来加速推理,例如将语音分片后并发处理然后合并结果,但这里涉及到本地计算资源瓶颈的问题,以及合并分片时容错处理的问题,工程复杂度比较高。 《Distil-Whisper: Robust Knowledge Distillation via Large-Scale Pseudo Labelling 》, Whisper 的 Large-v2 model 生成了一系列的 soft targets(也就是概率分布),然后复制 Whisper 网络的第一层和最后一层解码器,最后生成了一个更小、更快效果更好的蒸馏模型 Distil-Whisper。论文数据写的是:速度提高了 5.8 倍,参数减少了 51%,准确度保持在 99%。 这个模型的效果之所以不错,主要还是得益于训练数据的完备,它结合了九个公开可用的语音识别数据集,合并后包含 21170 小时的语音数据,涵盖超过 18260 名说话者和 10 个不同的领域;自从 Whisper 大力出奇迹(它从互联网爬取了 68w 小时的数据,未公开)以后,相信后续语音领域的论文都会配置更庞大的数据集。 Distil-Whisper 目前开源在 Hugging Face 上,模型地址: Demo: Demo 会把模型下载到本地,然后通过 WebGPU 直接在网页上跑起来,测试了下效果,还是挺不错的。 目前仅支持英文,如果想让它支持中文,需要使用同样海量的中文语料数据,重新做一次知识蒸馏,但我觉得即便是这样做,效果也不一定好,因为 Whisper 本身对中文、韩语等支持就不太优秀,这个信息可以从 Whisper 的论文中找到数据支撑。 下面这个视频是 Whisper 和 Distil-Whisper 的对比效果:

Distil-Whisper:让语音识别的速度提高 5.8 倍,参数减少 51%,准确度保持在 99%。 Whisper 在语音识别方面表现卓著,但是它有一个明显的缺点:训练出来的小模型支持的语言比较少,而大模型推理速度又很慢。如果你有海量的数据需要处理,或者对实时性要求略高,那使用 Whisper 可能会让你比较头疼。 你可以使用工程手段来加速推理,例如将语音分片后并发处理然后合并结果,但这里涉及到本地计算资源瓶颈的问题,以及合并分片时容错处理的问题,工程复杂度比较高。 《Distil-Whisper: Robust Knowledge Distillation via Large-Scale Pseudo Labelling 》, Whisper 的 Large-v2 model 生成了一系列的 soft targets(也就是概率分布),然后复制 Whisper 网络的第一层和最后一层解码器,最后生成了一个更小、更快效果更好的蒸馏模型 Distil-Whisper。论文数据写的是:速度提高了 5.8 倍,参数减少了 51%,准确度保持在 99%。 这个模型的效果之所以不错,主要还是得益于训练数据的完备,它结合了九个公开可用的语音识别数据集,合并后包含 21170 小时的语音数据,涵盖超过 18260 名说话者和 10 个不同的领域;自从 Whisper 大力出奇迹(它从互联网爬取了 68w 小时的数据,未公开)以后,相信后续语音领域的论文都会配置更庞大的数据集。 Distil-Whisper 目前开源在 Hugging Face 上,模型地址: Demo: Demo 会把模型下载到本地,然后通过 WebGPU 直接在网页上跑起来,测试了下效果,还是挺不错的。 目前仅支持英文,如果想让它支持中文,需要使用同样海量的中文语料数据,重新做一次知识蒸馏,但我觉得即便是这样做,效果也不一定好,因为 Whisper 本身对中文、韩语等支持就不太优秀,这个信息可以从 Whisper 的论文中找到数据支撑。 下面这个视频是 Whisper 和 Distil-Whisper 的对比效果:

124,195 views

如果你的浏览器经常开大几十个 Tab,然后找不到目标页,给你推荐一个 Chrome 插件:AI Group Tabs, 它会利用 Chrome 的 Tab Group API 帮你一键搞定所有 Tab 的分类和命名,超级实用。目前项目还在持续迭代中,你可以过去给作者提更多需求,或者直接贡献你的代码。

如果你的浏览器经常开大几十个 Tab,然后找不到目标页,给你推荐一个 Chrome 插件:AI Group Tabs, 它会利用 Chrome 的 Tab Group API 帮你一键搞定所有 Tab 的分类和命名,超级实用。目前项目还在持续迭代中,你可以过去给作者提更多需求,或者直接贡献你的代码。

87,526 views

Videos

Barret_China's profile picture

微软研发的 AutoGen 框架太强大了,它是一个多代理框架,利用它可以轻松定制一系列工作任务。 举一个常见的例子:我们要实现一个爬虫程序,抓取并保存网页图片。如果把这个任务丢给 ChatGPT,它会直接返回一串可执行代码,但是代码通常会存在问题,例如执行报错、缺少依赖等,你需要反复跟 ChatGPT 对话来完善程序。当然,我们也可以设定一个复杂 Prompt,要求它调用 ChatGPT 的代码执行插件,如果存在报错,则继续修正程序。 这个任务如果交给 AutoGen 来实现,将会变得无比简单,几行代码就可以搞定: 1)定义一个 Assistant Agent,它的任务是解决问题 2)定义一个 UserProxy Agent,它的任务是替代人询问问题,同时在本地执行程序 这两个 Agent 都不需要给他们设置 Prompt。当我们把爬虫任务交给 UserProxy 后,它会理解任务,然后询问 Assistant 应该如何做,Assistant 会把操作过程告诉 UserProxy,接着 UserProxy 会根据指示在本地安装依赖,然后创建文件执行代码,如果执行出现错误,它会把详细报错提交给 Assistant,依次循环,直到可以获取到最终的结果。任务结束的时候,你会看到目标图片已经保存到本地磁盘了。 利用这个框架可以做的事情非常多,它提供的能力也十分完善,可以在项目的 notebook 中找到很多最佳实践: P.S. 为了确保安全,还是建议你在 Docker 环境中执行程序,UserProxy 有一个 code_execution_config 配置,将 use_docker 配置为 True 即可;另外,它还有一个 human_input_mode 参数,设置为 NEVER,表示整个过程都不需要人参与,也可以设置为其他值,它会等待人的输入后再进行下一步操作,这个设计可以让人参与到任务执行过程,避免跑偏。

Barret李靖

516,965 views • 2 years ago

Barret_China's profile picture

看到一个可以将文章直接转换成 PPT 演讲的工具,Paper2Video,一篇文章+一个头像+一段语音样本,它就能帮你生成一个生动的演讲解说视频。对于偏专业和学术性的场景,这个工具几乎能承担起人工完成的工作,做学术汇报和做课程的朋友有福了😄 仔细阅读了源码和论文,它的实现方式颇为精妙,整个 PPT 的渲染,主要基于 Beamer 这个声明式布局框架: 1)首先让大模型对内容做一次通篇的解说,并做好摘要分段,确保能够把核心知识表达清晰; 2)对于每页 PPT 的布局,通过视觉模型判断是否存在溢出、错位、拥挤等情况,如果存在类似的问题,就会让布局模块生成多套拼接方案,对图片和文字进行缩放后进行不同组合,再由视觉模型从中挑选出最优的一张; 3)过程中还添加了一个虚拟鼠标,方便捕获观众的注意力,也让整个呈现更具动态感与交互感; 4)口型采用的是 Hallo2,这是一种支持长时长、高分辨率、音频驱动的人像动画模型,能够让头像与语音同步地做口型/表情动画。 这个工具主要解决的还是论文汇报场景,不过有几个思路值得借鉴,包括如何将文章内容做拆解、如何做好 PPT 排版,如何做好口型等。 稍微改改,应该也能适配到更大众化的领域,例如做自动培训视频、技术方案的交互式解说,甚至产品手册的可视化呈现,把 Paper2Video 升级成 Doc2Video。

Barret李靖

58,053 views • 7 months ago

No more content to load