Transformers.js实现浏览器内WebGPU加速的实时语音识别

💡 原文中文,约1000字,阅读约需3分钟。
📝

内容提要

Transformers.js是一个在浏览器中运行的Web机器学习库,支持多种任务,包括语音识别、自然语言处理、计算机视觉、音频和多模态。它使用ONNX Runtime在浏览器中运行模型,并支持将PyTorch、TensorFlow或JAX模型转换为ONNX。演示示例中的Whisper tiny模型可以在CPU上以实时速度运行。

🔎

延伸解读

浏览器内机器学习的实现方式

Transformers.js 通过 ONNX Runtime 在浏览器中直接运行模型,无需服务器支持。它支持将 PyTorch、TensorFlow 或 JAX 模型转换为 ONNX 格式,并提供了与 Hugging Face transformers Python 库相似的 API,使得开发者可以轻松迁移和运行相同的预训练模型。

实时语音识别的性能表现

演示中的 Whisper tiny 模型可以在 CPU 上以实时速度运行,而 whisper-base 模型支持 100 种语言的多语言转录。在 4090 GPU 上,生成速度达到 50tok/s,GPU 占用率仅约 10%,表明模型在浏览器中运行效率较高,且未完全利用硬件资源。

多任务支持与易集成性

Transformers.js 支持自然语言处理、计算机视觉、音频和多模态等多种任务,包括文本分类、物体检测、自动语音识别等。该演示以 WebComponent 形式提供,网络上的任何人都可以轻松将其嵌入自己的网站,降低了实时语音识别功能的集成门槛。

❓

Q&A

Transformers.js是什么?

Transformers.js是一个在浏览器中运行的Web机器学习库,支持多种任务。

Transformers.js支持哪些机器学习任务?

它支持自然语言处理、计算机视觉、音频和多模态等多种任务。

如何将PyTorch模型转换为ONNX格式?

可以使用Optimum轻松将预训练的PyTorch、TensorFlow或JAX模型转换为ONNX。

Whisper tiny模型的性能如何?

Whisper tiny模型可以在CPU上以实时速度运行。

Transformers.js与Hugging Face的transformers库有什么相似之处?

Transformers.js的设计功能与Hugging Face的transformers python库相同,API非常相似。

Whisper-base模型支持多少种语言的转录?

Whisper-base模型支持100种不同语言的多语言转录。

🏷️

标签

➡️

继续阅读