当前位置:AIGC资讯 > AIGC > 正文

Whisper JAX:闪电般快速的语音识别框架

Whisper JAX:闪电般快速的语音识别框架

whisper-jaxJAX implementation of OpenAI's Whisper model for up to 70x speed-up on TPU.项目地址:https://gitcode.com/gh_mirrors/wh/whisper-jax

Whisper JAX 是一个针对 OpenAI 的 Whisper 模型优化的高效 JAX 实现。它基于 Hugging Face Transformers 的 Whisper 实现,提供了比原生 PyTorch 版本快 70倍 的运行速度,堪称当前最快的 Whisper 应用工具。

快速上手:兼容多平台的 JAX 编程

Whisper JAX 兼容 CPU、GPU 和 TPU,无论是独立应用还是作为推理端点都游刃有余。您可以通过简单的步骤,在 Cloud TPU 上快速启动,如在 Kaggle 笔记本中,仅需约 30 秒即可完成 30 分钟音频的转录。此外,该模型在 Hugging Face Spaces 中也有实时演示可供体验。

安装指南

确保已经安装了最新版本的 JAX 包之后,通过 pip 即可安装 Whisper JAX:

pip install git+https://github.com/sanchit-gandhi/whisper-jax.git

要更新到最新版本,只需运行:

pip install --upgrade --no-deps --force-reinstall git+https://github.com/sanchit-gandhi/whisper-jax.git

使用流程:高效管道处理

利用 FlaxWhisperPipeline 类,可以轻松进行预处理和后处理,以及数据并行计算。该类支持 JAX 的 pmap 函数进行跨设备数据并行,首次调用时会进行 JIT 编译,随后的调用将得益于缓存而大幅提升速度。

半精度计算与批处理

您可以选择半精度(jnp.float16jnp.bfloat16)以加速计算,且不会影响模型权重精度。批处理功能允许将长音频分割为30秒段,并平行处理,实现实时高效的转录。正确选择批次大小,几乎无损准确率的同时,速度提升可达10倍。

功能多样化:任务定制与时间戳预测

除了默认的语音转文本外,还可以设置 task 参数实现语音翻译。启用 return_timestamps 将返回每个单词的时间戳,便于更精细的分析。

微调与自定义:灵活的模型使用方式

对于高级用户,可以选择直接使用模型,单独加载处理器,手动包装 pmap 来进行自定义处理。此外,支持从 PyTorch 检点转换为 Flax 并推送到 Hugging Face Hub,以便后续直接加载使用。

面向未来,超越边界

无论您是需要进行大规模音频转录,还是寻求高性能的语音识别解决方案,Whisper JAX 都是一个理想的选择。其卓越的速度性能和灵活性,为研究人员和开发人员提供了强大工具,解锁更多可能。

现在就加入 Whisper JAX 的世界,释放语音识别潜力,开启高效处理的新篇章!

whisper-jaxJAX implementation of OpenAI's Whisper model for up to 70x speed-up on TPU.项目地址:https://gitcode.com/gh_mirrors/wh/whisper-jax

总结

### Whisper JAX总结
**概述**:
Whisper JAX 是一个高度优化的语音识别框架,基于OpenAI的Whisper模型,采用JAX实现,为CPU、GPU和TPU提供了惊人的性能提升。与官方PyTorch版本相比,Whisper JAX在运行速度上可达到70倍的提升,是目前最快的Whisper应用工具。
**特点与优势**:
- **跨平台兼容性**:支持在不同硬件平台上运行,包括CPU、GPU和TPU,轻松部署于各种环境中。
- **极速启动**:在Cloud TPU等高性能设备上,能在极短时间内完成长音频的转录处理,如在Kaggle笔记本中,30秒即可转录完30分钟音频。
- **实时演示**:通过Hugging Face Spaces提供实时演示,帮助用户快速了解和使用。
- **易于安装**:通过pip命令即可安装或更新至最新版本,安装过程简单快速。
- **高效管道处理**:利用`FlaxWhisperPipeline`类,实现数据的预处理、并行处理和后处理,支持JIT编译,后续调用速度更快。
- **高性能计算**:支持半精度计算(`jnp.float16`或`jnp.bfloat16`),在不影响模型精度的同时大幅提升计算速度。批处理功能允许将长音频分割并平行处理,实现高效转录。
**功能多样化:**
- **任务定制**:除了基本的语音转文本功能,还可以设置翻译任务,支持多种语言之间的语音翻译。
- **时间戳预测**:可以通过设置参数返回每个单词的时间戳,为音频内容分析提供精细支持。
**灵活性与应用:**
- **自定义处理**:高级用户可以直接使用模型或单独加载处理器,通过自定义`pmap`实现更复杂的处理逻辑。
- **模型转换**:支持将PyTorch模型检查点转换为Flax模型,并上传至Hugging Face Hub,实现跨平台、跨框架的无缝集成。
**未来展望:**
Whisper JAX以其卓越的速度性能和灵活的应用方式,为研究人员和开发人员提供了强大的语音识别工具,不仅适用于大规模音频数据的转录,也是高性能语音识别解决方案的首选。未来,随着技术的进一步发展和应用场景的拓宽,Whisper JAX将进一步释放语音识别的潜力,开启高效处理的新篇章。
**项目地址**:
https://gitcode.com/gh_mirrors/wh/whisper-jax
**安装指令**:
```bash
pip install git+https://github.com/sanchit-gandhi/whisper-jax.git
```
更新指令:
```bash
pip install --upgrade --no-deps --force-reinstall git+https://github.com/sanchit-gandhi/whisper-jax.git
```

更新时间 2024-10-03