0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用英特爾CPU及GPU運行OpenAI-whisper模型語音識別

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 2024-12-03 10:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:金立彥

介紹

Whisper 作為一款卓越的自動語音識別(ASR)系統(tǒng),依托海量且多元的監(jiān)督數(shù)據(jù)完成訓(xùn)練,其數(shù)據(jù)規(guī)模高達 680,000 小時,涵蓋多種語言及豐富多樣的任務(wù)類型,廣泛采擷自網(wǎng)絡(luò)資源,以此鑄就了堅實的性能根基。

從技術(shù)架構(gòu)層面剖析,Whisper 構(gòu)建于先進的 Transformer 框架之上,采用經(jīng)典的編碼器 - 解碼器模型設(shè)計,也就是廣為人知的序列到序列模型范式。運作流程上,先是由特征提取器對原始音頻輸入展開精細處理,將其轉(zhuǎn)換為對數(shù)梅爾頻譜圖,以此完成音頻數(shù)據(jù)的初次 “編碼”,提煉關(guān)鍵特征信息。緊接著,Transformer 編碼器發(fā)揮強大的編碼效能,深度解析頻譜圖蘊含的信息,進而凝練形成一系列編碼器隱藏狀態(tài),為后續(xù)文本生成筑牢信息基石。最終環(huán)節(jié),解碼器粉墨登場,以前續(xù)已生成的文本標記以及編碼器隱藏狀態(tài)作為關(guān)鍵參照條件,遵循自回歸原理,按順序逐次預(yù)測文本標記,精準高效地實現(xiàn)從音頻到文本的轉(zhuǎn)換輸出,展現(xiàn)出高水準的語音識別能力。

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

在本次教程里,我們將聚焦于如何借助 OpenVINO 高效運行 Whisper,解鎖其強大的語音識別功能。為了快速上手、搭建應(yīng)用,我們選用 Hugging Face Transformers 庫中經(jīng)過精心預(yù)訓(xùn)練的 Whisper 模型,充分利用其豐富且優(yōu)質(zhì)的參數(shù)設(shè)定與知識沉淀,作為項目開展的有力基石。緊接著,借助 Hugging Face Optimum Intel 庫,能夠輕松達成模型格式的無縫轉(zhuǎn)換,將原本的模型精準轉(zhuǎn)化為 OpenVINO IR 格式,這種格式專為 OpenVINO 生態(tài)量身定制,在推理速度、資源利用效率等諸多方面優(yōu)勢盡顯,為后續(xù)流暢運行筑牢根基。

尤為值得一提的是,為了全方位簡化用戶在操作過程中的使用體驗,我們引入便捷且高效的 OpenVINO Generate API,依托這一得力工具,去逐一落實 Whisper 自動語音識別的各場景應(yīng)用,無論是實時語音轉(zhuǎn)錄,還是音頻文件批量處理等,都能游刃有余,助力開發(fā)者以更低門檻、更高效率,駕馭 Whisper 與 OpenVINO 協(xié)同帶來的卓越語音識別能力。

準備工作

依賴庫安裝

鑒于教程依托 OpenVINO - GenAI API 來開展各項驗證,相應(yīng)依賴環(huán)境的妥善搭建就成了至關(guān)重要的前置環(huán)節(jié)。為確保整個運行體系的穩(wěn)定性、獨立性與純凈性,強烈推薦借助 Python 的虛擬環(huán)境來執(zhí)行安裝操作。Python 虛擬環(huán)境能夠有效隔離不同項目所需的依賴包及配置信息,避免因版本沖突、庫依賴混淆等常見問題干擾項目推進,讓 OpenVINO - GenAI API 所需的各類依賴組件得以精準、有序且互不干擾地完成部署,為后續(xù)流暢、高效運用該 API 筑牢堅實根基,從而保障整個語音識別功能開發(fā)與實踐過程順遂無憂。

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 時需特別留意,務(wù)必添加 “--extra-index-urlhttps://download.pytorch.org/whl/cpu” 這一參數(shù),若不添加,后續(xù)調(diào)用 ov_genai.WhisperPipeline 方法時會出現(xiàn)找不到該方法的問題。此外,若使用的是 Windows 平臺,還需關(guān)注 numpy 版本情況。鑒于可能存在的版本兼容性問題,建議將 numpy 版本降至 2.0 以下;要是遇到因版本不兼容而彈出提示的狀況,可直接注釋掉源文件,以此確保 openvino-genai 能夠順利安裝與運行。

模型下載

模型下載具備兩種可選方式。其一,借助 Hugging Face Optimum Intel 平臺執(zhí)行下載操作。倘若在此過程中遭遇下載受阻的情形,可靈活通過配置國內(nèi)鏡像站來完成下載路徑的轉(zhuǎn)換,順利達成下載任務(wù)。不過需要注意的是,鑒于相關(guān)模型的數(shù)據(jù)體量頗為龐大,在模型轉(zhuǎn)換階段對內(nèi)存容量有著較高要求,一旦設(shè)備內(nèi)存過小,極有可能致使系統(tǒng)運行異常,甚至出現(xiàn)崩潰狀況。

其二,可選擇直接從 Hugging Face 下載由 intel 預(yù)先轉(zhuǎn)換好的模型,這種方式更為便捷直接,免去了自行轉(zhuǎn)換可能面臨的內(nèi)存等諸多困擾,可按需擇優(yōu)選用。

以下為目前所有支持的模型清單,供參考使用。

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 途徑來獲取所需內(nèi)容,有兩種便捷方式可供選擇。

其一,可前往官方代碼倉庫

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

手動進行下載操作,按照頁面指引與常規(guī)代碼拉取流程,便能順利將相關(guān)資源保存至本地。其二,更為高效的方式則是借助 pip 工具,在命令行輸入 “pip install optimum-intel”,系統(tǒng)便會自動連接網(wǎng)絡(luò)資源,開啟下載與安裝進程,輕松將 optimum-intel 模塊部署到位。

然而,在實際操作過程中,可能會遇到因網(wǎng)絡(luò)限制、服務(wù)器擁堵等因素導(dǎo)致的下載不暢甚至失敗的狀況。此時,巧妙配置國內(nèi)鏡像站就能有效破解難題,確保下載順利推進。具體而言,配置國內(nèi)鏡像站后,下載命令如下(示例以常用的國內(nèi)知名鏡像站為例,實際可按需靈活選用適配鏡像):在命令行輸入 “pip install -i [鏡像站地址] optimum-intel”,比如使用清華鏡像站時,命令便是 “pip install -i https://pypi.tuna.tsinghua.edu.cn/simpleoptimum-intel”,以此借力國內(nèi)優(yōu)質(zhì)鏡像資源,快速、穩(wěn)定地完成下載任務(wù)。

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下載

在模型應(yīng)用場景中,若設(shè)備性能與存儲條件理想,達到轉(zhuǎn)換要求,那我們可自行將模型轉(zhuǎn)換為 OpenVINO 格式,轉(zhuǎn)換完成后便能順暢投入使用,盡享 OpenVINO 帶來的高效推理優(yōu)勢。然而,現(xiàn)實情況復(fù)雜多變,部分設(shè)備受限于硬件規(guī)格,諸如內(nèi)存容量捉襟見肘、處理器性能差強人意,難以滿足模型轉(zhuǎn)換所需條件。但這并不意味著與 OpenVINO 格式模型的便捷體驗失之交臂,借助 Hugging Face 的 API,我們得以另辟蹊徑。只需簡單操作,就能直接從 Intel 的資源庫中獲取已完美轉(zhuǎn)換好的 OpenVINO 格式模型,跳過繁瑣復(fù)雜的轉(zhuǎn)換流程,即便設(shè)備性能欠佳,也能初步體驗其魅力,雖說推理速度或許稍慢一些,可也為更多設(shè)備、更多使用者推開了一扇通往高效模型應(yīng)用的大門。

安裝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

設(shè)置國內(nèi)鏡像

如果無法下載,可以設(shè)置鏡像下載為https://hf-mirror.com,只需要設(shè)置環(huán)境變量即可。

Linux

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

Windows Powershell

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

推理

mport librosa
# 推理設(shè)備,可以是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

總結(jié)

通過本文,您將學(xué)習(xí)如何利用OpenVINO框架結(jié)合Intel的CPU和GPU硬件,快速高效地實現(xiàn)OpenAI Whisper模型的語音識別。OpenVINO作為一個強大的深度學(xué)習(xí)推理優(yōu)化工具,可以顯著提升模型推理的速度和性能,尤其是在Intel的硬件平臺上。在本教程中,我們將詳細介紹如何配置OpenVINO環(huán)境,如何將OpenAI Whisper模型轉(zhuǎn)換為OpenVINO支持的格式,以及如何在Intel的CPU和GPU上運行該模型進行語音識別。

未來,借助OpenVINO框架,您將能夠輕松實現(xiàn)更多語音識別相關(guān)的應(yīng)用案例,例如多語種語音轉(zhuǎn)文本、語音命令識別以及智能助手等。OpenVINO的跨平臺能力和對多種硬件的支持,使其成為AI開發(fā)者進行高效推理加速的理想選擇。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 語音識別
    +關(guān)注

    關(guān)注

    39

    文章

    1779

    瀏覽量

    114101
  • ASR
    ASR
    +關(guān)注

    關(guān)注

    2

    文章

    44

    瀏覽量

    19095
  • Whisper
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    5065

原文標題:開發(fā)者實戰(zhàn)|用英特爾CPU及GPU運行OpenAI-whisper模型語音識別

文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    釜底抽薪,英特爾挖了AMD的GPU墻角

    電子發(fā)燒友網(wǎng)報道(文/黃山明)中央處理器(CPU)作為計算機的運算與控制核心,也是信息處理、程序運行的最終執(zhí)行單元。而說到CPU,就不得不提英特爾與AMD這兩家巨頭,在
    的頭像 發(fā)表于 02-22 09:05 ?4867次閱讀

    為什么無法檢測到OpenVINO?工具套件中的英特爾?集成圖形處理單元?

    在 Ubuntu* Desktop 22.04 上安裝了 英特爾? Graphics Driver 版本并OpenVINO? 2023.1。 運行 python 代碼: python -c
    發(fā)表于 03-05 08:36

    英特爾多款平板電腦CPU將于明年推出

    ` 中關(guān)村在線 據(jù)外媒Phone Arena報道,英特爾多款平板電腦CPU將于明年推出,達到擴大產(chǎn)品的覆蓋范圍,同時也能擴大產(chǎn)品的生產(chǎn)數(shù)量。相信在不久的明天,不管是在入門級還是旗艦級的平板電腦
    發(fā)表于 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
    發(fā)表于 10-17 11:52

    OpenCL平臺和英特爾Stratix 10 FPGA的結(jié)合使用

    18 幅圖像的速度每秒處理 3,015 幅圖像。? 這些數(shù)字表明,英特爾 Stratix 10 FPGA 在處理大批量任務(wù)時完全可媲美其他高性能計算(HPC)器件(如 GPU), 在處理小批量任務(wù)時則比其他器件更快。
    發(fā)表于 07-17 06:34

    英特爾重點發(fā)布oneAPI v1.0,異構(gòu)編程器到底是什么

    。oneAPI是什么?oneAPI是一個統(tǒng)一的、簡化的編程模型,旨在簡化跨多架構(gòu)的開發(fā)過程(如CPU、GPU、FPGA、加速器)。oneAPI包含兩個組成部分:一項產(chǎn)業(yè)計劃和一款英特爾
    發(fā)表于 10-26 13:51

    英特爾媒體加速器參考軟件Linux版用戶指南

    英特爾媒體加速器參考軟件是用于數(shù)字標志、交互式白板(IWBs)和亭位使用模型的參考媒體播放器應(yīng)用軟件,它利用固定功能硬件加速來提高媒體流速、改進工作量平衡和資源利用,以及定制的圖形處理股(GPU)管道解決方案。該用戶指南將介紹和
    發(fā)表于 08-04 06:34

    英特爾cpu命名規(guī)則_英特爾cpu分類有哪些_英特爾cpu性能排行榜

    英特爾CPU是一款CPU處理器,適用于臺式電腦。我們來看看英特爾CPU的命名規(guī)則、英特爾
    發(fā)表于 01-04 14:59 ?4w次閱讀

    英特爾cpu型號及分類_cpu分類及介紹_英特爾最新cpu系列

    英特爾是美國一家主要以研制CPU處理器的公司,是全球最大的個人計算機零件和CPU制造商,它成立于1968年,具有48年產(chǎn)品創(chuàng)新和市場領(lǐng)導(dǎo)的歷史。英特爾
    發(fā)表于 01-04 15:52 ?17.8w次閱讀

    黃仁勛歡迎英特爾進入GPU市場

    數(shù)據(jù)中心市場,也就是GPU加速運算,這免不了要跟AMD、NVIDIA有競爭關(guān)系,特別是對GPU領(lǐng)域的老大NVIDIA來說。NVIDIA應(yīng)該擔心英特爾嗎?
    發(fā)表于 03-26 14:02 ?793次閱讀

    英特爾未來的芯片都將集成語音識別技術(shù)

    據(jù)悉,英特爾目前已經(jīng)與語音識別技術(shù)公司 Sensory 達成了合作,將在以后的 Intel 最新的芯片中集成整合 Sensory 公司的 TrulyHandsfree 語音
    發(fā)表于 12-20 11:29 ?942次閱讀

    解讀英特爾GPU架構(gòu)

    來源:半導(dǎo)體行業(yè)觀察 在英特爾2020年度架構(gòu)日中,英特爾將大量時間用于討論公司的GPU架構(gòu)計劃。雖然這對英特爾來說并非罕見,但目前該公司仍然以CP
    的頭像 發(fā)表于 09-04 16:47 ?6846次閱讀
    解讀<b class='flag-5'>英特爾</b><b class='flag-5'>GPU</b>架構(gòu)

    英特爾放棄同時封裝 CPU、GPU、內(nèi)存計劃

    英特爾CPU、GPU 和內(nèi)存芯片拼接在一個稱為 XPU 的單一封裝上的宏偉計劃已經(jīng)暫緩。英特爾超級計算集團副總裁杰夫·麥克維 (Jeff McVeigh) 透露,該公司的 Falc
    的頭像 發(fā)表于 05-26 15:26 ?1678次閱讀

    重塑翻譯與識別技術(shù):開源語音識別模型Whisper的編譯優(yōu)化與部署

    模型介紹Whisper模型是一個由OpenAI團隊開發(fā)的通用語音識別
    的頭像 發(fā)表于 01-06 08:33 ?4674次閱讀
    重塑翻譯與<b class='flag-5'>識別</b>技術(shù):開源<b class='flag-5'>語音</b><b class='flag-5'>識別</b><b class='flag-5'>模型</b><b class='flag-5'>Whisper</b>的編譯優(yōu)化與部署

    英特爾助力京東云CPU加速AI推理,以大模型構(gòu)建數(shù)智化供應(yīng)鏈

    英特爾助力京東云CPU加速AI推理,以大模型構(gòu)建數(shù)智化供應(yīng)鏈
    的頭像 發(fā)表于 05-27 11:50 ?819次閱讀
    <b class='flag-5'>英特爾</b>助力京東云<b class='flag-5'>用</b><b class='flag-5'>CPU</b>加速AI推理,以大<b class='flag-5'>模型</b>構(gòu)建數(shù)智化供應(yīng)鏈

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品