Linux系统上部署Whisper-large-v3-turbo

Linux系统上部署Whisper-large-v3-turbo

截至当前时间(2025年2月25日),Whisper 的最新语音模型为 large-v3-turbo。以下是关于 Whisper large-v3-turbo 的详细介绍:
一、发布背景
OpenAI 在 2024 年 10 月1日举办的 DevDay 活动日中,宣布推出了 Whisper large-v3-turbo 语音转录模型。
二、模型特点
高效推理:
large-v3-turbo 在质量几乎没有下降的情况下,速度比 large-v3 快 8 倍。
large-v3-turbo 共有 8.09 亿参数,但解码器层数减少到 4 层,而 large-v3 有 32 层解码器层。
低资源占用:
large-v3-turbo 所需的 VRAM 为 6GB,而 large-v3 需要 10GB。
模型大小适中:
large-v3-turbo 的模型大小为 1.6GB,介于 medium(7.69 亿参数)和 large(15.5 亿参数)之间。
三、性能表现
OpenAI 表示,large-v3-turbo 在保持高质量识别效果的同时,显著提高了推理速度,降低了资源占用,使得模型在更多场景下的应用成为可能。
四、使用建议
如果您正在使用 Whisper 模型进行语音识别任务,并希望获得更高的推理速度和更低的资源占用,建议尝试使用 large-v3-turbo 模型。
您可以从 Hugging Face 等平台下载 large-v3-turbo 模型,并按照 Whisper 的使用文档进行加载和使用。
五、总结
Whisper large-v3-turbo 是 Whisper 系列语音模型中的最新成员,它以高效的推理速度、低资源占用和适中的模型大小,为用户提供了更加优秀的语音识别体验。如果您对语音识别任务有需求,不妨尝试使用这一最新的模型版本。

Whisper large-v3-turbo 与 faster whisper large-v3 相比模型性能与准确性

一、
性能与准确性平衡:Whisper large-v3-turbo 在保持较高准确性的同时,实现了推理速度的大幅提升。虽然参数数量和解码器层数有所减少,但通过先进的优化技术(如蒸馏或量化),模型在性能和准确性之间取得了良好的平衡。
特定场景表现:Whisper large-v3-turbo 专为多语言转录任务微调,不适合翻译任务。在纯语音转录方面,它的表现更为优异。同时,它在处理高质量录音时效果更佳。
二、
faster whisper large-v3:适用于对识别准确率有较高要求,同时对推理速度要求不是非常苛刻的场景。例如,需要处理多种语言的语音内容,且对实时性要求不是特别高的应用。
Whisper large-v3-turbo:适用于对推理速度有严格要求,同时对资源消耗有较高限制的场景。例如,需要处理大量音频数据,且对实时性要求较高的应用,如会议记录、在线教育和视频字幕生成等。
三、
Whisper large-v3-turbo 与 faster whisper large-v3 相比,在推理速度、资源消耗方面具有显著优势,同时保持了较高的准确性。因此,在需要处理大量音频数据,且对实时性要求较高的应用场景中,Whisper large-v3-turbo 是更为理想的选择。而在对识别准确率有更高要求,但对实时性要求不是特别高的场景中,faster whisper large-v3 仍然是一个不错的选择。

官网: https://huggingface.co/

安装方式:

  1. 创建虚拟环境
为了避免依赖冲突,建议在虚拟环境中进行部署。创建并激活一个新的虚拟环境:
如果不知道 conda如何安装
找作者这篇文章 最后面有安装conda教程

https://blog.csdn.net/yhl18931306541/article/details/129141060?spm=1001.2014.3001.5501

打开上方网址,划到最后位置,按照作者的一步一步来即可
conda create --name whisper python=3.11.7
conda activate whisper

2.进入到虚拟环境执行下方命令

pip install --upgrade transformers datasets[audio] accelerate
pip install ffmpeg

import torch
from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline
from datasets import load_dataset

# 选择计算设备
device = "cuda:4" if torch.cuda.is_available() else "cpu"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32

# 加载模型
# model_id = "openai/whisper-large-v3-turbo"
# 这里模型我使用上面命令指定好然后使用代理下载到本机,再上传至linux系统上的
model_id = "/data/.cache/huggingface/hub/models--openai--whisper-large-v3/snapshots/06f233fe06e710322aca913c1bc4249a0d71fce1"

model = AutoModelForSpeechSeq2Seq.from_pretrained(
            model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True
            )
model.to(device)

processor = AutoProcessor.from_pretrained(model_id)

# 使用管道进行语音识别
pipe = pipeline(
            "automatic-speech-recognition",
             model=model,
             tokenizer=processor.tokenizer,
             feature_extractor=processor.feature_extractor,
             torch_dtype=torch_dtype,
             device=device,
    )

# 加载数据集
# dataset = load_dataset("distil-whisper/librispeech_long", "clean", split="validation")
# 数据集也需要下载,执行命令会自动下载的
dataset = load_dataset("/data/.cache/huggingface/hub/datasets--distil-whisper--librispeech_long/snapshots/164d3b41852b1eebe89f1dc0e6e0042f16835ea0", "clean", split="validation")
sample = dataset[0]["audio"]

# 识别单个音频文件并返回时间戳
result = pipe("/opt/src/REC1119.wav", return_timestamps=True)
# print("Pipeline result text:")
# print(result["text"])
# 先将下方 print打开,查看时间戳信息结构
# print(result)

# 然后将时间戳文本结构写到下方
# 打印包含时间戳的文本
for segment in result["chunks"]:
    start_time, end_time = segment["timestamp"]
    text = segment["text"]
    
    # 打印时间戳和对应文本
    print(f"[{start_time:.2f}s -> {end_time:.2f}s] {text}")

执行报错:

raise ValueError("ffmpeg was not found but is required to load audio files from filename") from error
# 解决
conda install ffmpeg

执行结果

{‘text’: ‘你好你好你好你好’, ‘chunks’: [{‘timestamp’: (0.0, 1.4), ‘text’: ‘你好’}, {‘timestamp’: (1.4, 2.94), ‘text’: ‘你好’}, {‘timestamp’: (2.94, 4.0), ‘text’: ‘你好’}, {‘timestamp’: (4.0, 5.44), ‘text’: ‘你好’}, ]}
[0.00s -> 1.40s] 你好
[1.40s -> 2.94s] 你好
[2.94s -> 4.00s] 你好
[4.00s -> 5.44s] 你好
[5.44s -> 5.96s] 你好
[5.96s -> 6.50s] 你好
在这里插入图片描述
在这里插入图片描述

### Transformers 和 Tokenizers 版本兼容性及适配方法 #### 检查并更新版本 为了确保 `transformers` 库的最佳性能和稳定性,建议始终使用最新的稳定版本。可以利用命令来查看当前安装的 `transformers` 版本: ```bash pip show transformers ``` 这有助于确认是否已经安装了最新版[^1]。 #### 确认兼容性 该模型不仅与 Hugging Face 的各种库兼容——包括 `Transformers`、`Tokenizers` 和 `Transformers.js`,而且其分词器基于 `openai/tiktoken` 进行了适应性的开发[^2]。这意味着,在大多数情况下,官方推荐的 `transformers` 和 `tokenizers` 组合应该能够很好地协同工作。 然而,当遇到特定问题时,可能需要手动调整两个包的具体版本号以达到更好的配合效果。通常来说,保持两者处于相近或相同的次要版本(minor version)会有助于减少潜在冲突的可能性。 对于某些特殊情况下的导出需求,比如通过 Optimum CLI 将模型转换为 OpenVINO 支持的形式时,则需特别注意指定正确的参数组合,如下所示: ```bash optimum-cli export openvino \ --model openai/whisper-large-v3-turbo \ --library transformers \ --task automatic-speech-recognition-with-past \ --framework pt models/whisper-large-v3-turbo ``` 此过程中的选项设置也会影响最终系统的运行效率以及与其他组件间的交互情况[^4]。 #### 解决版本不匹配的方法 如果确实遇到了由于版本差异引起的问题,可以通过以下方式尝试解决问题:确保所有依赖项都已升级到最新状态;仔细阅读相关文档了解是否存在针对特定版本发布的注意事项;最后还可以考虑降级部分软件包至之前稳定的发布版本直至找到最合适的搭配方案为止[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值