0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用英特尔CPU及GPU运行OpenAI-whisper模型语音识别

英特尔物联网 来源:英特尔物联网 2024-12-03 10:14 次阅读

作者:金立彦

介绍

Whisper 作为一款卓越的自动语音识别(ASR)系统,依托海量且多元的监督数据完成训练,其数据规模高达 680,000 小时,涵盖多种语言及丰富多样的任务类型,广泛采撷自网络资源,以此铸就了坚实的性能根基。

从技术架构层面剖析,Whisper 构建于先进的 Transformer 框架之上,采用经典的编码器 - 解码器模型设计,也就是广为人知的序列到序列模型范式。运作流程上,先是由特征提取器对原始音频输入展开精细处理,将其转换为对数梅尔频谱图,以此完成音频数据的初次 “编码”,提炼关键特征信息。紧接着,Transformer 编码器发挥强大的编码效能,深度解析频谱图蕴含的信息,进而凝练形成一系列编码器隐藏状态,为后续文本生成筑牢信息基石。最终环节,解码器粉墨登场,以前续已生成的文本标记以及编码器隐藏状态作为关键参照条件,遵循自回归原理,按顺序逐次预测文本标记,精准高效地实现从音频到文本的转换输出,展现出高水准的语音识别能力。

2d8d6a88-ae3a-11ef-93f3-92fbcf53809c.png

在本次教程里,我们将聚焦于如何借助 OpenVINO 高效运行 Whisper,解锁其强大的语音识别功能。为了快速上手、搭建应用,我们选用 Hugging Face Transformers 库中经过精心预训练的 Whisper 模型,充分利用其丰富且优质的参数设定与知识沉淀,作为项目开展的有力基石。紧接着,借助 Hugging Face Optimum Intel 库,能够轻松达成模型格式的无缝转换,将原本的模型精准转化为 OpenVINO IR 格式,这种格式专为 OpenVINO 生态量身定制,在推理速度、资源利用效率等诸多方面优势尽显,为后续流畅运行筑牢根基。

尤为值得一提的是,为了全方位简化用户在操作过程中的使用体验,我们引入便捷且高效的 OpenVINO Generate API,依托这一得力工具,去逐一落实 Whisper 自动语音识别的各场景应用,无论是实时语音转录,还是音频文件批量处理等,都能游刃有余,助力开发者以更低门槛、更高效率,驾驭 Whisper 与 OpenVINO 协同带来的卓越语音识别能力。

准备工作

依赖库安装

鉴于教程依托 OpenVINO - GenAI API 来开展各项验证,相应依赖环境的妥善搭建就成了至关重要的前置环节。为确保整个运行体系的稳定性、独立性与纯净性,强烈推荐借助 Python 的虚拟环境来执行安装操作。Python 虚拟环境能够有效隔离不同项目所需的依赖包及配置信息,避免因版本冲突、库依赖混淆等常见问题干扰项目推进,让 OpenVINO - GenAI API 所需的各类依赖组件得以精准、有序且互不干扰地完成部署,为后续流畅、高效运用该 API 筑牢坚实根基,从而保障整个语音识别功能开发与实践过程顺遂无忧。

pip install -q "torch>=2.3" "torchvision>=0.18.1" --extra-index-url https://download.pytorch.org/whl/cpu
pip install -q "transformers>=4.45" "git+https://github.com/huggingface/optimum-intel.git" --extra-index-url https://download.pytorch.org/whl/cpu
pip install -q -U "openvino>=2024.5.0" "openvino-tokenizers>=2024.5.0" "openvino-genai>=2024.5.0" --extra-index-url https://download.pytorch.org/whl/cpu
pip install -q datasets "gradio>=4.0" "soundfile>=0.12" "librosa" "python-ffmpeg<=1.0.16"
pip install -q "nncf>=2.14.0" "jiwer" "typing_extensions>=4.9"
pip install -q "numpy<2.0"

在安装 openvino-genai 时需特别留意,务必添加 “--extra-index-urlhttps://download.pytorch.org/whl/cpu” 这一参数,若不添加,后续调用 ov_genai.WhisperPipeline 方法时会出现找不到该方法的问题。此外,若使用的是 Windows 平台,还需关注 numpy 版本情况。鉴于可能存在的版本兼容性问题,建议将 numpy 版本降至 2.0 以下;要是遇到因版本不兼容而弹出提示的状况,可直接注释掉源文件,以此确保 openvino-genai 能够顺利安装与运行。

模型下载

模型下载具备两种可选方式。其一,借助 Hugging Face Optimum Intel 平台执行下载操作。倘若在此过程中遭遇下载受阻的情形,可灵活通过配置国内镜像站来完成下载路径的转换,顺利达成下载任务。不过需要注意的是,鉴于相关模型的数据体量颇为庞大,在模型转换阶段对内存容量有着较高要求,一旦设备内存过小,极有可能致使系统运行异常,甚至出现崩溃状况。

其二,可选择直接从 Hugging Face 下载由 intel 预先转换好的模型,这种方式更为便捷直接,免去了自行转换可能面临的内存等诸多困扰,可按需择优选用。

以下为目前所有支持的模型清单,供参考使用。

model_ids = {
  "Multilingual models": [
    "openai/whisper-large-v3-turbo",
    "openai/whisper-large-v3",
    "openai/whisper-large-v2",
    "openai/whisper-large",
    "openai/whisper-medium",
    "openai/whisper-small",
    "openai/whisper-base",
    "openai/whisper-tiny",
  ],
  "English-only models": [
    "distil-whisper/distil-large-v2",
    "distil-whisper/distil-large-v3",
    "distil-whisper/distil-medium.en",
    "distil-whisper/distil-small.en",
    "openai/whisper-medium.en",
    "openai/whisper-small.en",
    "openai/whisper-base.en",
    "openai/whisper-tiny.en",
  ],}

Hugging Face Optimum Intel

若计划通过 Hugging Face Optimum Intel 途径来获取所需内容,有两种便捷方式可供选择。

其一,可前往官方代码仓库

https://github.com/huggingface/optimum-intel.git

手动进行下载操作,按照页面指引与常规代码拉取流程,便能顺利将相关资源保存至本地。其二,更为高效的方式则是借助 pip 工具,在命令行输入 “pip install optimum-intel”,系统便会自动连接网络资源,开启下载与安装进程,轻松将 optimum-intel 模块部署到位。

然而,在实际操作过程中,可能会遇到因网络限制、服务器拥堵等因素导致的下载不畅甚至失败的状况。此时,巧妙配置国内镜像站就能有效破解难题,确保下载顺利推进。具体而言,配置国内镜像站后,下载命令如下(示例以常用的国内知名镜像站为例,实际可按需灵活选用适配镜像):在命令行输入 “pip install -i [镜像站地址] optimum-intel”,比如使用清华镜像站时,命令便是 “pip install -i https://pypi.tuna.tsinghua.edu.cn/simpleoptimum-intel”,以此借力国内优质镜像资源,快速、稳定地完成下载任务。

optimum-cli export openvino --model [模型] --library transformers --task
automatic-speech-recognition-with-past --framework pt [保存路径]

如:

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

Hugging FaceAPI下载

在模型应用场景中,若设备性能与存储条件理想,达到转换要求,那我们可自行将模型转换为 OpenVINO 格式,转换完成后便能顺畅投入使用,尽享 OpenVINO 带来的高效推理优势。然而,现实情况复杂多变,部分设备受限于硬件规格,诸如内存容量捉襟见肘、处理器性能差强人意,难以满足模型转换所需条件。但这并不意味着与 OpenVINO 格式模型的便捷体验失之交臂,借助 Hugging Face 的 API,我们得以另辟蹊径。只需简单操作,就能直接从 Intel 的资源库中获取已完美转换好的 OpenVINO 格式模型,跳过繁琐复杂的转换流程,即便设备性能欠佳,也能初步体验其魅力,虽说推理速度或许稍慢一些,可也为更多设备、更多使用者推开了一扇通往高效模型应用的大门。

安装Hugging Faceapi

pip install huggingface_hub

下载模型

import huggingface_hub as hf_hub
# 模型id
model_id = "Intel/whisper-large-v2-onnx-int4-inc"
# 模型保存的位置
model_path = "whisper-large-v2-onnx-int4-inc"


hf_hub.snapshot_download(model_id, local_dir=model_path)

具体所支持模型可以查看:

https://huggingface.co/Intel

设置国内镜像

如果无法下载,可以设置镜像下载为https://hf-mirror.com,只需要设置环境变量即可。

Linux

export HF_ENDPOINT=https://hf-mirror.comCopy

Windows Powershell

$env:HF_ENDPOINT = "https://hf-mirror.com"

推理

mport librosa
# 推理设备,可以是CPU,GPU,NPU
device = “”
en_raw_speech, samplerate = librosa.load(音频文件, sr=16000)
import openvino_genai
ov_pipe = openvino_genai.WhisperPipeline(str(model_path), device=device.value)
start = time.time()
genai_result = ov_pipe.generate(en_raw_speech)
print('generate:%.2f seconds' % (time.time() - start)) # 输出推理时间
print(f"result:{genai_result}")

2d9d6dfc-ae3a-11ef-93f3-92fbcf53809c.png

总结

通过本文,您将学习如何利用OpenVINO框架结合Intel的CPU和GPU硬件,快速高效地实现OpenAI Whisper模型的语音识别。OpenVINO作为一个强大的深度学习推理优化工具,可以显著提升模型推理的速度和性能,尤其是在Intel的硬件平台上。在本教程中,我们将详细介绍如何配置OpenVINO环境,如何将OpenAI Whisper模型转换为OpenVINO支持的格式,以及如何在Intel的CPU和GPU上运行该模型进行语音识别。

未来,借助OpenVINO框架,您将能够轻松实现更多语音识别相关的应用案例,例如多语种语音转文本、语音命令识别以及智能助手等。OpenVINO的跨平台能力和对多种硬件的支持,使其成为AI开发者进行高效推理加速的理想选择。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语音识别
    +关注

    关注

    38

    文章

    1731

    浏览量

    112592
  • ASR
    ASR
    +关注

    关注

    2

    文章

    43

    浏览量

    18702
  • Whisper
    +关注

    关注

    0

    文章

    3

    浏览量

    4985

原文标题:开发者实战|用英特尔CPU及GPU运行OpenAI-whisper模型语音识别

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    釜底抽薪,英特尔挖了AMD的GPU墙角

    电子发烧友网报道(文/黄山明)中央处理器(CPU)作为计算机的运算与控制核心,也是信息处理、程序运行的最终执行单元。而说到CPU,就不得不提英特尔与AMD这两家巨头,在
    的头像 发表于 02-22 09:05 4590次阅读

    英特尔多款平板电脑CPU将于明年推出

    ` 中关村在线 据外媒Phone Arena报道,英特尔多款平板电脑CPU将于明年推出,达到扩大产品的覆盖范围,同时也能扩大产品的生产数量。相信在不久的明天,不管是在入门级还是旗舰级的平板电脑
    发表于 12-19 16:48

    如何才能在英特尔CPU第8代的主板上运行Windows Vista

    如何才能在英特尔CPU第8代的主板上运行Windows Vista以上来自于谷歌翻译以下为原文how can i make it possible to run Windows Vista on a motherboard wi
    发表于 10-17 11:52

    OpenCL平台和英特尔Stratix 10 FPGA的结合使用

    18 幅图像的速度每秒处理 3,015 幅图像。† 这些数字表明,英特尔 Stratix 10 FPGA 在处理大批量任务时完全可媲美其他高性能计算(HPC)器件(如 GPU), 在处理小批量任务时则比其他器件更快。
    发表于 07-17 06:34

    英特尔重点发布oneAPI v1.0,异构编程器到底是什么

    。oneAPI是什么?oneAPI是一个统一的、简化的编程模型,旨在简化跨多架构的开发过程(如CPUGPU、FPGA、加速器)。oneAPI包含两个组成部分:一项产业计划和一款英特尔
    发表于 10-26 13:51

    英特尔媒体加速器参考软件Linux版用户指南

    英特尔媒体加速器参考软件是用于数字标志、交互式白板(IWBs)和亭位使用模型的参考媒体播放器应用软件,它利用固定功能硬件加速来提高媒体流速、改进工作量平衡和资源利用,以及定制的图形处理股(GPU)管道解决方案。该用户指南将介绍和
    发表于 08-04 06:34

    英特尔cpu命名规则_英特尔cpu分类有哪些_英特尔cpu性能排行榜

    英特尔CPU是一款CPU处理器,适用于台式电脑。我们来看看英特尔CPU的命名规则、英特尔
    发表于 01-04 14:59 3.9w次阅读

    英特尔cpu型号及分类_cpu分类及介绍_英特尔最新cpu系列

    英特尔是美国一家主要以研制CPU处理器的公司,是全球最大的个人计算机零件和CPU制造商,它成立于1968年,具有48年产品创新和市场领导的历史。英特尔
    发表于 01-04 15:52 17.6w次阅读

    黄仁勋欢迎英特尔进入GPU市场

    数据中心市场,也就是GPU加速运算,这免不了要跟AMD、NVIDIA有竞争关系,特别是对GPU领域的老大NVIDIA来说。NVIDIA应该担心英特尔吗?
    发表于 03-26 14:02 678次阅读

    英特尔想让CPUGPU和FPGA说“同一种语言”

    英特尔的技术活动“互联日”(Interconnect Day) 上,英特尔处理器互联架构部主任 Stephen Van Doren 指出了现如今 PCI-e 作为互联技术的瓶颈所在:科技行业正在
    发表于 06-11 17:50 933次阅读

    英特尔未来的芯片都将集成语音识别技术

    据悉,英特尔目前已经与语音识别技术公司 Sensory 达成了合作,将在以后的 Intel 最新的芯片中集成整合 Sensory 公司的 TrulyHandsfree 语音
    发表于 12-20 11:29 864次阅读

    解读英特尔GPU架构

    来源:半导体行业观察 在英特尔2020年度架构日中,英特尔将大量时间用于讨论公司的GPU架构计划。虽然这对英特尔来说并非罕见,但目前该公司仍然以CP
    的头像 发表于 09-04 16:47 6544次阅读
    解读<b class='flag-5'>英特尔</b><b class='flag-5'>GPU</b>架构

    英特尔放弃同时封装 CPUGPU、内存计划

    英特尔CPUGPU 和内存芯片拼接在一个称为 XPU 的单一封装上的宏伟计划已经暂缓。英特尔超级计算集团副总裁杰夫·麦克维 (Jeff McVeigh) 透露,该公司的 Falc
    的头像 发表于 05-26 15:26 1298次阅读

    重塑翻译与识别技术:开源语音识别模型Whisper的编译优化与部署

    模型介绍Whisper模型是一个由OpenAI团队开发的通用语音识别
    的头像 发表于 01-06 08:33 3472次阅读
    重塑翻译与<b class='flag-5'>识别</b>技术:开源<b class='flag-5'>语音</b><b class='flag-5'>识别</b><b class='flag-5'>模型</b><b class='flag-5'>Whisper</b>的编译优化与部署

    英特尔助力京东云CPU加速AI推理,以大模型构建数智化供应链

    英特尔助力京东云CPU加速AI推理,以大模型构建数智化供应链
    的头像 发表于 05-27 11:50 517次阅读
    <b class='flag-5'>英特尔</b>助力京东云<b class='flag-5'>用</b><b class='flag-5'>CPU</b>加速AI推理,以大<b class='flag-5'>模型</b>构建数智化供应链