WhisperKit [译]

WhisperKit [译]

💡 原文中文,约5400字,阅读约需13分钟。
📝

内容提要

WhisperKit是一个开源项目,旨在赋能开发者和企业在用户设备上部署商业级别的计算负载。它提供了Swift包、示例App和Python工具,以实现Whisper推理功能。该项目的目标是在苹果硅芯片上实现最低延迟和最高吞吐量。通过优化音频编码器和文本解码器,WhisperKit在iPhone和Mac上实现了速度提升。计划在稳定版本发布前引入更多功能和改进。

🔎

延伸解读

实时转录的延迟挑战

WhisperKit 优先优化最低延迟,以实现流式语音转写。但 Whisper 原本并非为低延迟设计,从收集音频到输出首个文本片段需经过多个步骤,总延迟决定了交互响应速度。若推理速度慢于实时,音频会积压,导致延迟增加。WhisperKit 通过优化流程,力求在每秒处理更多文本,但实时性仍受说话速度影响,无法保证所有场景下都能实时。

编码器与解码器的协同优化

WhisperKit 对音频编码器和文本解码器分别优化。编码器利用 Core ML 和神经引擎编译器提示,在 iPhone 12 到 15 上实现 1.86 至 2.85 倍加速,large-v3 延迟从约 650 毫秒降至 350 毫秒。解码器则针对神经引擎调整,并引入量化版本降低内存,响应时间控制在 50 至 100 毫秒,可生成 6 至 12 个文本标记。这些优化共同提升了整体效率。

KV 缓存预计算与推理质量

WhisperKit 通过预计算特殊令牌的 KV 缓存,减少文本解码延迟。这些令牌与语言和任务设定相关,与音频内容无关,因此可提前计算并存储。验证显示,该方法不影响质量和错误率,使流式模式下每秒可处理约 9 至 15 个令牌。此外,针对内存有限的设备,WhisperKit 提供量化模型,并引入推理质量(QoI)评估压缩后的性能,确保在节省内存的同时维持准确性。

❓

Q&A

WhisperKit的主要功能是什么?

WhisperKit旨在帮助开发者和企业在用户设备上部署商业级别的计算负载,提供Whisper推理功能。

WhisperKit如何优化音频编码器和文本解码器?

WhisperKit通过引入Core ML优化音频编码器,并将文本解码器调整到Neural Engine上,从而提高了响应速度和处理效率。

WhisperKit的设计理念是什么?

WhisperKit的设计理念包括灵活性、可扩展性和可预测性,支持用户定制化功能。

WhisperKit的实时语音转写面临哪些挑战?

实时语音转写的挑战包括需要优化处理流程以提高文本输出量,以及处理延迟受说话速度影响。

WhisperKit的自动部署功能是如何实现的?

WhisperKit提供API用于列出和下载特定版本,开发者可以通过whisperkittools发布自定义版本。

WhisperKit的beta版本有什么目的?

WhisperKit的beta版本旨在收集开发者反馈,并在未来几周内迅速迭代,达到稳定版发行候选。

🏷️

标签

➡️

继续阅读