使用 AMD GPU 上的 Whisper 进行语音转文字

Speech-to-Text on an AMD GPU with Whisper — ROCm Blogs

2024年4月16日,作者:Clint Greene.

介绍

Whisper是由 OpenAI 开发的高级自动语音识别(ASR)系统。它采用了一个简单的编码器-解码器 Transformer 架构,其中输入的音频被分割成 30 秒的段落,然后被输入到编码器中。解码器可以通过特殊的标记进行提示,以指导模型执行诸如语言识别、转录和翻译等任务。
在这篇博客中,我们将向您展示如何在 AMD GPU 上使用 Hugging Face 和 OpenAI 的官方 Whisper 版本将语音转换为文本。

测试的 GPU 硬件: MI210 / MI250

前提条件: 确保已安装 ROCm 5.7+ 和 PyTorch 2.2.1+

我们建议用户安装最新版本的 PyTorch 和 TorchAudio,因为我们不断发布优化解决方案和新功能。

入门指南

首先,让我们安装必要的库.

pip install datasets ipywidgets transformers numba openai-whisper -q

sudo apt update && sudo apt install ffmpeg

安装完必要的库之后,让我们下载一段美国宪法序言的示例音频文件,之后将用于转录。

wget https://www2.cs.uic.edu/~i101/SoundFiles/preamble.wav

现在,我们已经准备好使用Hugging Face Transformers和OpenAI的Whisper代码库将语音转换为文本。

Hugging Face Transformers

让我们导入必要的库.

import torch
from transformers import pipeline

然后,我们设置用于转录的设备和管道。在这里,我们将下载并使用OpenAI发布的Whisper medium模型的权重来进行英语转录。

device = "cuda:0" if torch.cuda.is_available() else "cpu"

pipe = pipeline(
  "automatic-speech-recognition",
  model="openai/whisper-medium.en",
  chunk_length_s=30,
  device=device,
)

为了将语音转换为文本,我们将音频文件的路径传递给管道:

transcription = pipe("preamble.wav")['text']
print(transcription)

输出:

We, the people of the United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity, to ordain and establish this Constitution for the United States of America.

这是美国宪法序言的正确转录。

OpenAI’s Whisper

同样地,我们也可以使用OpenAI的官方Whisper发布版来进行转录。首先,我们下载中等英文模型权重。然后,为了进行转录,我们再次将音频文件的路径传递给模型。

import whisper

model = whisper.load_model("medium.en")
transcription = model.transcribe("preamble.wav")['text']
print(transcription)

输出:

We, the people of the United States, in order to form a more perfect union, establish justice, ensure domestic tranquility, provide for the common defense, promote the general welfare, and secure the blessings of liberty to ourselves and our posterity, to ordain and establish this Constitution for the United States of America.

结论

我们已经演示了如何使用Hugging Face Transformers库中的Whisper模型以及OpenAI的官方代码发布来转录单个音频文件。如果你计划批量转录文件,我们推荐使用Hugging Face的实现,因为它支持批量解码。关于如何转录批量文件或如何使用Hugging Face数据集的更多示例,请参见官方教程:pipeline tutorial.

<think>嗯,用户想了解insanely-fast-whisper的硬件要求,特别是只有核显的CPU是否能运行。首先,我得回忆一下这个库的特点。它基于OpenAI的Whisper模型,但通过优化技术提高速度,比如模型蒸馏和半精度推理。 接下来,硬件要求方面,核显的CPU是否可行?需要确认该库是否依赖CUDA或特定GPU加速库。如果它支持ONNX Runtime或OpenVINO,可能可以利用Intel的核显进行加速。不过,大多数情况下,这类优化可能还是需要独立显卡,尤其是NVIDIA的,因为很多深度学习框架对CUDA支持更好。 另外,用户可能想知道在只有CPU的情况下性能如何。即使没有独立GPU,库可能仍然可以运行,但速度会较慢。需要查阅官方文档或相关资源,看看是否有提到CPU支持或核显的兼容性。 可能还需要考虑内存和处理器性能。Whisper模型尤其是较大的版本,如large-v2,需要较多内存。核显系统通常内存容量可能有限,但如果是现代CPU,可能还能应付。不过处理长音频时,速度可能不够理想。 最后,建议用户检查官方文档的硬件要求,或者尝试安装看是否有错误提示。如果性能不足,可能需要调整参数,比如使用更小的模型或缩短音频长度。</think>关于**insanely-fast-whisper**的硬件要求,以下是逐步分析: --- ### 1. **项目背景** `insanely-fast-whisper`是基于OpenAI的Whisper语音识别模型的优化版本,主要通过以下技术加速推理: - **模型蒸馏**(缩小模型体积) - **半精度计算**(FP16/INT8量化) - **批处理优化**(并行计算) - **硬件加速库**(如ONNX Runtime、TensorRT等) --- ### 2. **硬件需求分析** #### (1) **纯CPU(含核显)能否运行?** - **可以运行**,但性能取决于: - **CPU性能**:推荐多核处理器(如Intel i5/i7或AMD Ryzen系列) - **内存容量**:至少8GB(处理长音频需16GB以上) - **核显作用**:目前Whisper的PyTorch原实现**不直接依赖核显加速**,但若使用以下优化库可能间接利用核显: - **OpenVINO**(Intel核显优化) - **ONNX Runtime**(支持部分Intel GPU加速) #### (2) **独立显卡(GPU)的优势** - **大幅提升速度**:支持CUDA的NVIDIA显卡(如RTX 3060+)可启用GPU加速,速度提升5-10倍 - **显存要求**: - 基础模型(tiny/base):1-2GB显存 - 大型模型(large-v2):需4GB+显存 --- ### 3. **纯CPU环境下的建议** - **模型选择**:优先使用小模型(如`tiny`/`base`) - **量化优化**:启用FP16或INT8量化(需库支持) - **分段处理**:超长音频分割为短片段 - **代码示例**(启用CPU模式): ```python from insanely_fast_whisper import load_model model = load_model("tiny", device="cpu") # 强制使用CPU ``` --- ### 4. **性能对比参考** | 配置 | 处理1小时音频耗时 | |--------------------|------------------| | Intel i5核显 + CPU | ~30-60分钟 | | NVIDIA RTX 3060 | ~3-5分钟 | --- ### 5. **结论** - **核显CPU可用**,但需接受较慢速度,适合短音频或轻量任务。 - **如需高性能**,建议配备独立GPU(NVIDIA优先)。 建议查阅项目官方文档确认最新优化选项(如是否支持OpenVINO加速核显)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

109702008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值