作者:賈志剛
英特爾邊緣計算創新大使
01OpenVINO介紹
OpenVINO2024.2版本跟之前版本最大的不同是OpenVINO2024.2分為兩個安裝包分別是基礎包與生成式AI支持包,新發布的GenAI開發包支持C++與Python語言接口調用,支持多種LLM加載與推理部署能力,實現了OpenVINO對CNN網絡、生成式模型、LLM網絡主流模型的全面推理支持。安裝包下載地址如下:
https://docs.openvino.ai/install
02OpenVINO生成式AI支持
OpenVINO2024版本支持大量文本、圖像、音頻生成模型,如 Llama 2、MPT、OPT、Stable Diffusion、Stable Diffusion XL。這樣可以開發多模式應用程序,從而實現一次寫入、隨處部署的功能。OpenVINO支持的生成式AI方式主要包括以下三種方式分別是:
Hugging Face:通過 Optimum Intel 擴展,使用 OpenVINO 作為 Hugging Face 框架(轉換器、擴散器)的后端。
OpenVINO GenAI 風格:使用 OpenVINO 生成式AI的APIs (Python and C++)
基礎 OpenVINO:OpenVINO 原生 API(Python 和 C++)與自定義管道代碼一起使用
03三種部署方式好處與不同
Hugging Face API 易于學習,提供簡單的界面,并隱藏了模型初始化和文本生成的復雜性,以獲得更好的開發人員體驗。但是,它具有更多的依賴項、更少的自定義項,并且無法移植到 C/C++。
OpenVINO GenAI Flavor 通過自動管理文本生成循環、標記化和調度等基本任務來降低 LLM 實現的復雜性。原生 OpenVINO API 提供了更多的實踐體驗,需要手動設置這些功能。這兩種方法都旨在最大程度地減少依賴關系和整體應用程序占用空間,并允許在 C++ 應用程序中使用生成模型。
建議從擁抱臉框架開始,嘗試不同的模型和場景。然后,如果需要進一步優化,該模型可以與 OpenVINO API 一起使用。Optimum Intel 提供的接口支持使用神經網絡壓縮框架 (NNCF) 進行模型優化(權重壓縮),并將模型導出為 OpenVINO 模型格式,以便在原生 API 應用程序中使用。
04LLM推理支持
像 GPT 這樣的大型語言模型 (LLM) 是變革性的深度學習網絡,能夠完成從文本生成到語言翻譯的廣泛自然語言任務。OpenVINO2024優化了這些模型的部署,增強了它們的性能并集成到各種應用中。下面的代碼展示了如何將 LLM 與 OpenVINO20204 結合使用,從模型加載和轉換到高級用例
Python版本開發包安裝
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版本較低導致無法生成分詞得OpenVINO文件,所以直接推理掛,然后更新到最新版本就好,相關支持依賴包支持版本(親測有效)
如您所見,只需要幾行代碼就能建立一個LLM生成的流水線。這是因為從 Hugging Face Optimum-Intel 導出模型后,它已經存儲了執行所需的所有信息包括分詞器/反分詞器和生成配置,從而能夠獲得與 Hugging Face 生成匹配的結果。我們提供 C++ 和 Python API 來運行 LLM、最少的依賴項列表和對應用程序的添加。
Python語言測試代碼:
C++語言測試代碼
C++里面跑出來得結果:
-
英特爾
+關注
關注
61文章
10017瀏覽量
172420 -
生成式AI
+關注
關注
0文章
518瀏覽量
555 -
OpenVINO
+關注
關注
0文章
97瀏覽量
242
原文標題:OpenVINO? 2024.2 - 三行代碼完成生成式AI部署 | 開發者實戰
文章出處:【微信號:英特爾物聯網,微信公眾號:英特爾物聯網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
請問前三行是什么意思?
請問這三行代碼是固定這樣寫的嗎?
使用STM32CubeMX和X-CUBE-AI生成代碼
三行搞定獨立按鍵
STM32之三行按鍵宏定義
什么是三行按鍵?有什么用
三行代碼完成AI模型的部署!
什么是生成式AI?生成式AI的四大優勢
Sweetviz讓你三行代碼實現探索性數據分析
![Sweetviz讓你<b class='flag-5'>三行</b><b class='flag-5'>代碼</b>實現探索性數據分析](https://file1.elecfans.com/web2/M00/AA/46/wKgZomUt-EqAAQKKAAOFzqufO18581.jpg)
Sweetviz: 讓你三行代碼實現探索性數據分析
![Sweetviz: 讓你<b class='flag-5'>三行</b><b class='flag-5'>代碼</b>實現探索性數據分析](https://file1.elecfans.com/web2/M00/A8/95/wKgaomUt-EqAGYW3AAMx1RzYHJM779.jpg)
NVIDIA數字人技術加速部署生成式AI驅動的游戲角色
![NVIDIA數字人技術加速<b class='flag-5'>部署</b><b class='flag-5'>生成</b><b class='flag-5'>式</b><b class='flag-5'>AI</b>驅動的游戲角色](https://file1.elecfans.com/web2/M00/C7/83/wKgZomYUo5aAGs_tAABjD6mp1Pc955.png)
評論