作者 英特尔创新大使 黄明显
介绍
Whisper 作为一款卓越的自动语音辨认(ASR)系统,依托海量且多元的监督数据完成练习,其数据规模高达 680,000 小时,涵盖多种语言及丰富多样的任务类型,广泛采撷自网络资源,以此铸就了坚固的性能根基。
从技术架构层面分析,Whisper 构建于先进的 Transformer 框架之上,采用经典的编码器 - 解码器模子设计,也就是广为人知的序列到序列模子范式。运作流程上,先是由特征提取器对原始音频输入展开精细处置惩罚,将其转换为对数梅尔频谱图,以此完成音频数据的初次 “编码”,提炼关键特征信息。紧接着,Transformer 编码器发挥强大的编码效能,深度解析频谱图蕴含的信息,进而凝练形成一系列编码器隐藏状态,为后续文本天生筑牢信息基石。最终环节,解码器粉墨登场,以前续已天生的文本标记以及编码器隐藏状态作为关键参照条件,遵循自回归原理,按序次逐次预测文本标记,精准高效地实现从音频到文本的转换输出,显现出高水准的语音辨认能力。
在本次教程里,我们将聚焦于如何借助 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-url https://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 途径来获取所需内容,有两种便捷方式可供选择。 其一,可前去官方代码仓库GitHub - huggingface/optimum-intel: |