作者:賈志剛
英特爾邊緣計算創(chuàng)新大使
01OpenVINO介紹
OpenVINO2024.2版本跟之前版本最大的不同是OpenVINO2024.2分為兩個安裝包分別是基礎(chǔ)包與生成式AI支持包,新發(fā)布的GenAI開發(fā)包支持C++與Python語言接口調(diào)用,支持多種LLM加載與推理部署能力,實現(xiàn)了OpenVINO對CNN網(wǎng)絡(luò)、生成式模型、LLM網(wǎng)絡(luò)主流模型的全面推理支持。安裝包下載地址如下:
https://docs.openvino.ai/install
02OpenVINO生成式AI支持
OpenVINO2024版本支持大量文本、圖像、音頻生成模型,如 Llama 2、MPT、OPT、Stable Diffusion、Stable Diffusion XL。這樣可以開發(fā)多模式應(yīng)用程序,從而實現(xiàn)一次寫入、隨處部署的功能。OpenVINO支持的生成式AI方式主要包括以下三種方式分別是:
Hugging Face:通過 Optimum Intel 擴(kuò)展,使用 OpenVINO 作為 Hugging Face 框架(轉(zhuǎn)換器、擴(kuò)散器)的后端。
OpenVINO GenAI 風(fēng)格:使用 OpenVINO 生成式AI的APIs (Python and C++)
基礎(chǔ) OpenVINO:OpenVINO 原生 API(Python 和 C++)與自定義管道代碼一起使用
03三種部署方式好處與不同
Hugging Face API 易于學(xué)習(xí),提供簡單的界面,并隱藏了模型初始化和文本生成的復(fù)雜性,以獲得更好的開發(fā)人員體驗。但是,它具有更多的依賴項、更少的自定義項,并且無法移植到 C/C++。
OpenVINO GenAI Flavor 通過自動管理文本生成循環(huán)、標(biāo)記化和調(diào)度等基本任務(wù)來降低 LLM 實現(xiàn)的復(fù)雜性。原生 OpenVINO API 提供了更多的實踐體驗,需要手動設(shè)置這些功能。這兩種方法都旨在最大程度地減少依賴關(guān)系和整體應(yīng)用程序占用空間,并允許在 C++ 應(yīng)用程序中使用生成模型。
建議從擁抱臉框架開始,嘗試不同的模型和場景。然后,如果需要進(jìn)一步優(yōu)化,該模型可以與 OpenVINO API 一起使用。Optimum Intel 提供的接口支持使用神經(jīng)網(wǎng)絡(luò)壓縮框架 (NNCF) 進(jìn)行模型優(yōu)化(權(quán)重壓縮),并將模型導(dǎo)出為 OpenVINO 模型格式,以便在原生 API 應(yīng)用程序中使用。
04LLM推理支持
像 GPT 這樣的大型語言模型 (LLM) 是變革性的深度學(xué)習(xí)網(wǎng)絡(luò),能夠完成從文本生成到語言翻譯的廣泛自然語言任務(wù)。OpenVINO2024優(yōu)化了這些模型的部署,增強(qiáng)了它們的性能并集成到各種應(yīng)用中。下面的代碼展示了如何將 LLM 與 OpenVINO20204 結(jié)合使用,從模型加載和轉(zhuǎn)換到高級用例
Python版本開發(fā)包安裝
pip install openvino-genai==2024.2.0
pip install optimum-intel -i https://pypi.tuna.tsinghua.edu.cn/simple
安裝optimum
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple optimum auto-gptq
pip install openvino-tokenizers
OpenVINO加速支持
pip install --upgrade-strategy eager optimum[openvino,nncf]
export HF_ENDPOINT=https://hf-mirror.com
optimum-cli export openvino --model "TinyLlama/TinyLlama-1.1B-Chat-v1.0" --weight-format fp16 --trust-remote-code output
需要注意一下版本匹配問題,因為我之前安裝了optimum版本較低導(dǎo)致無法生成分詞得OpenVINO文件,所以直接推理掛,然后更新到最新版本就好,相關(guān)支持依賴包支持版本(親測有效)
如您所見,只需要幾行代碼就能建立一個LLM生成的流水線。這是因為從 Hugging Face Optimum-Intel 導(dǎo)出模型后,它已經(jīng)存儲了執(zhí)行所需的所有信息包括分詞器/反分詞器和生成配置,從而能夠獲得與 Hugging Face 生成匹配的結(jié)果。我們提供 C++ 和 Python API 來運(yùn)行 LLM、最少的依賴項列表和對應(yīng)用程序的添加。
Python語言測試代碼:
C++語言測試代碼
C++里面跑出來得結(jié)果:
-
英特爾
+關(guān)注
關(guān)注
61文章
9949瀏覽量
171693 -
生成式AI
+關(guān)注
關(guān)注
0文章
502瀏覽量
471 -
OpenVINO
+關(guān)注
關(guān)注
0文章
92瀏覽量
196
原文標(biāo)題:OpenVINO? 2024.2 - 三行代碼完成生成式AI部署 | 開發(fā)者實戰(zhàn)
文章出處:【微信號:英特爾物聯(lián)網(wǎng),微信公眾號:英特爾物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論