RM新时代网站-首页

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

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

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

簡單兩步使用OpenVINO?搞定Qwen2的量化與部署任務(wù)

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 2024-04-26 09:39 ? 次閱讀

工具介紹

英特爾 OpenVINO 工具套件是一款開源 AI 推理優(yōu)化部署的工具套件,可幫助開發(fā)人員和企業(yè)加速生成式人工智能 (AIGC)、大語言模型、計算機視覺和自然語言處理等 AI 工作負載,簡化深度學習推理的開發(fā)和部署,便于實現(xiàn)從邊緣到云的跨英特爾 平臺的異構(gòu)執(zhí)行。

模型介紹

近期通義千問團隊發(fā)布了其 Qwen 大模型的第二代架構(gòu) Qwen2,這是一個基于 Transformer 結(jié)構(gòu) decoder-only 模型,而 Qwen1.5 作為 Qwen2 架構(gòu)的 Beta 版本,已經(jīng)率先在 Hugging Face 及魔搭社區(qū)進行了發(fā)布。

Qwen1.5 版本本次開源了包括 0.5B、1.8B、4B、7B、14B 和 72B 在內(nèi)的六種大小的基礎(chǔ)和聊天模型,同時,也開源了量化模型。不僅提供了 Int4 和 Int8 的 GPTQ 模型,還有 AWQ 模型,以及 GGUF 量化模型。為了提升開發(fā)者體驗,Qwen1.5 的代碼合并到 Hugging Face Transformers 中,開發(fā)者現(xiàn)在可以直接使用 transformers>=4.37.0 而無需 trust_remote_code。此外,Qwen1.5 支持了例如 vLLM、SGLang、AutoGPTQ 等框架對Qwen1.5的支持。Qwen1.5 顯著提升了聊天模型與人類偏好的一致性,并且改善了它們的多語言能力。所有模型提供了統(tǒng)一的上下文長度支持,支持 32K 上下文, 基礎(chǔ)語言模型的質(zhì)量也有所改進。

f533d052-030b-11ef-a297-92fbcf53809c.png

圖:基于Optimum-intel與OpenVINO部署生成式AI模型流程

英特爾為開發(fā)者提供了快速部署 Qwen2的方案支持。開發(fā)者只需要在 GitHub 上克隆示例倉庫[1],進行環(huán)境配置,并將 Hugging Face 模型轉(zhuǎn)換為 OpenVINO IR 模型,即可進行模型推理。由于大部分步驟都可以自動完成,因此開發(fā)者只需要簡單的工作便能完成部署,目前該倉庫也被收錄在 Qwen1.5 的官方倉庫[2]中,接下來讓我們一起看下具體的步驟和方法:

[1] 示例倉庫:

https://github.com/OpenVINO-dev-contest/Qwen2.openvino

[2] 官方倉庫:

https://github.com/QwenLM/Qwen1.5?tab=readme-ov-file#openvino

01

模型轉(zhuǎn)換與量化

當您按倉庫中的 README 文檔完成集成環(huán)境配置后,可以直接通過以下命令運行模型的轉(zhuǎn)化腳本,這里我們以 0.5B 版本的 Qwen1.5 為例:

python3 convert.py --model_id Qwen/Qwen1.5-0.5B-Chat --output {your_path}/Qwen1.5-0.5B-Chat-ov

這里首先會基于 Transformers 庫從 Hugging Face 的 model hub 中下載并加載原始模型的 PyTorch 對象,如果開發(fā)者在這個過程中無法訪問 Hugging Face 的 model hub,也可以通過配置環(huán)境變量的方式,將模型下載地址更換為鏡像網(wǎng)站或者通過魔搭社區(qū)下載,并將 convert.py 腳本的 model_id 參數(shù)配置為本地路徑,具體方法如下:

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


huggingface-cli download --resume-download --local-dir-use-symlinks False Qwen/Qwen1.5-0.5B-Chat --local-dir {your_path}/Qwen1.5-0.5B-Chat


python3 convert.py --model_id {your_path}/Qwen1.5-0.5B-Chat --output {your_path}/ Qwen1.5-0.5B-Chat-ov

在完成模型下載后,該腳本會利用 Optimum-intel 庫中的 OVModelForCausalLM .from_pretrained 函數(shù)自動完成對模型格式的轉(zhuǎn)換,同時該函數(shù)也會根據(jù)用戶指定的模型精度和配置信息,調(diào)用 NNCF 工具完成模型的權(quán)重量化。執(zhí)行完畢后,你將獲取一個由 .xml 和 .bin 文件所構(gòu)成的 OpenVINO IR 模型文件,該模型默認以 int4+int8 的混合精度保存,此外你也可以通過配置 —precision,來選擇不同的模型精度,例如 —precision int8或者 —precision fp16。

f546e67e-030b-11ef-a297-92fbcf53809c.png

圖:量化前后模型大小比較

可以看到相較原始 PyTorch 模型,經(jīng)過 INT4 量化后的模型大小減少將近3/4。此外在這個過程中, int4+int8 量化比例也會自動打印在終端界面上,如下圖所示。

f561621a-030b-11ef-a297-92fbcf53809c.png

圖:量化比例輸出

由于 OpenVINO NNCF 工具的權(quán)重壓縮策略只針對于大語言模型中的 Embedding 和 Linear 這兩種算子,所以該表格只會統(tǒng)計這兩類算子的量化比例。其中 ratio-defining parameter 是指我們提前通過接口預(yù)設(shè)的混合精度比例,也就是 20% 權(quán)重以 INT8 表示,80% 以 INT4 表示,這也是考慮到量化對 Qwen1.5 模型準確度的影響,事先評估得到的配置參數(shù),開發(fā)者也可以通過修改 Python 腳本中的默認配置調(diào)整量化參數(shù):

compression_configs = {
"sym": False,
"group_size": 128,
"ratio": 0.8,
}

其中:

sym 為選擇是否開啟對稱量化策略,對稱量化會進一步提升模型運行速度,但也會在一定程度上降低模型準確性。

group_size為共享量化參數(shù)的通道數(shù)量,該值越大,壓縮比也越高,反之,對模型準確性的影響越小。

ratio 則是 INT4 權(quán)重和 INT8 權(quán)重的混合精度比例。

更多可配置量化參數(shù)也可以參考 OpenVINO 官方文檔[3]。如果遇到新模型,同時不知道如何選擇量化參數(shù)以獲取性能和準確度的最大平衡,開發(fā)者也可以通過這個示例[4]搜索出適合其他模型的量化參數(shù)。此外鑒于 LLM 第一層 Embedding layer 和最后一層操作對于輸出準確度的影響, NNCF 默認會將他們以 INT8 表示,這也是為何在這個示例的 log 打印中,all parameters 顯示的混合精度比例會有所不同。當然開發(fā)者也可以通過在量化參數(shù)中設(shè)置 “all_layers”: True,開關(guān)閉該默認策略。

[3] OpenVINO 官方文檔

https://docs.openvino.ai/2024/openvino-workflow/model-optimization-guide/weight-compression.html

[4] 示例:

https://github.com/openvinotoolkit/nncf/tree/develop/examples/llm_compression/openvino/tiny_llama_find_hyperparams

02

模型部署

最后一步就是模型部署了,這里展示的是一個 Chatbot 聊天機器人的示例,這也是 LLM 應(yīng)用中最普遍,也是最基礎(chǔ)的 pipeline,而 OpenVINO 可以通過 Optimum-intel 工具為橋梁,復(fù)用 Transformers 庫中預(yù)置的 pipeline,基于 OVModelForCausalLM 類中的 generate 方法,進行文本生成任務(wù)部署,以下為該腳本的運行方式:

python3 chat.py --model_path {your_path}/Qwen1.5-0.5B-Chat-ov --max_sequence_length 4096 --device CPU

如果開發(fā)者的設(shè)備中包含 Intel 的GPU產(chǎn)品,例如 Intel ARC 系列集成顯卡或是獨立顯卡,可以在這個命令中將 device 參數(shù)改為 GPU,以激活更強大的模型推理能力。

在終端里運行該腳本后,會生成一個簡易聊天對話界面,接下來你就可以驗證它的效果和性能了。

Starting conversation

用戶

你好

Qwen2-OpenVINO

你好!有什么我可以幫助你的嗎?

用戶

你是誰?

Qwen2-OpenVINO

我是來自阿里云的超大規(guī)模語言模型,我叫通義千問。

用戶

請給我講一個故事

Qwen2-OpenVINO

好的,這是一個關(guān)于一只小兔子和它的朋友的故事。

有一天,小兔子和他的朋友們決定去森林里探險。他們帶上食物、水和一些工具,開始了他們的旅程。在旅途中,他們遇到了各種各樣的動物,包括松鼠、狐貍、小鳥等等。他們一起玩耍、分享食物,還互相幫助解決問題。最后,他們在森林的深處找到了一個神秘的洞穴,里面藏著許多寶藏。他們帶著所有的寶藏回到了家,慶祝這次愉快的冒險。

用戶

請為這個故事起個標題

Qwen2-OpenVINO

"小兔子與朋友們的冒險之旅"

總結(jié)

通過模型轉(zhuǎn)換量化+部署這兩個步驟,我們可以輕松實現(xiàn) 在本地 PC 上部署 Qwen2 大語言模型,經(jīng)測試該模型可以流暢運行在最新 Intel Core Ultra 異構(gòu)平臺及至強 CPU 平臺上,作為眾多 AI agent RAG 等創(chuàng)新應(yīng)用的核心基石,大語言模型的本地部署能力將充分幫助開發(fā)者們打造更安全,更高效的 AI 解決方案。



審核編輯:劉清

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

    關(guān)注

    61

    文章

    9949

    瀏覽量

    171692
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47183

    瀏覽量

    238243
  • 計算機視覺
    +關(guān)注

    關(guān)注

    8

    文章

    1698

    瀏覽量

    45972
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    2423

    瀏覽量

    2640
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    196

原文標題:簡單兩步使用 OpenVINO? 搞定 Qwen2 的量化與部署任務(wù) | 開發(fā)者實戰(zhàn)

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

收藏 人收藏

    評論

    相關(guān)推薦

    如何使用OpenVINO C++ API部署FastSAM模型

    象的位置和邊界。本文將介紹如何使用 OpenVINO C++ API 部署 FastSAM 模型,以實現(xiàn)快速高效的語義分割。在前文中我們發(fā)表了《基于 OpenVINO Python API
    的頭像 發(fā)表于 11-17 09:53 ?913次閱讀
    如何使用<b class='flag-5'>OpenVINO</b> C++ API<b class='flag-5'>部署</b>FastSAM模型

    基于keras利用cv2自帶兩步檢測法進行實時臉部表情檢測

    CV:基于keras利用cv2自帶兩步檢測法對《跑男第六季第五期》之如花片段(或調(diào)用攝像頭)進行實時性別&臉部表情檢測
    發(fā)表于 12-26 10:54

    2搞定拼版!AD通用拼版技巧分享!

    你是不是也看過很多拼版教程,一整篇文章全部都是文字說明和各種圖示,照著一步步去做,都需要一些時間才能勉強搞定。之前我用過AD20的自帶拼版工具,功能上比較簡單,而且菜單沒有全部漢化,對于新手來說
    發(fā)表于 03-29 10:33

    為什么無法通過Heroku部署OpenVINO?工具套件?

    無法通過 Heroku 部署OpenVINO?工具套件: Importeror:libpython3.9.so.1.0:無法打開共享對象文件:無此類文件或目錄
    發(fā)表于 08-14 08:58

    基于兩步映射的輪胎花紋曲面造型方法張勝男

    基于兩步映射的輪胎花紋曲面造型方法_張勝男
    發(fā)表于 03-16 08:00 ?0次下載

    三菱FX2N通過PLC網(wǎng)關(guān)兩步即可接入MQTT平臺

    三菱FX2N通過PLC網(wǎng)關(guān)兩步即可接入MQTT平臺
    發(fā)表于 11-11 16:13 ?840次閱讀
    三菱FX<b class='flag-5'>2</b>N通過PLC網(wǎng)關(guān)<b class='flag-5'>兩步</b>即可接入MQTT平臺

    兩步走 解決開關(guān)電源輸入過壓的煩惱!

    兩步走 解決開關(guān)電源輸入過壓的煩惱!
    的頭像 發(fā)表于 09-27 16:00 ?927次閱讀
    <b class='flag-5'>兩步</b>走 解決開關(guān)電源輸入過壓的煩惱!

    NNCF壓縮與量化YOLOv8模型與OpenVINO部署測試

    OpenVINO2023版本衍生出了一個新支持工具包NNCF(Neural Network Compression Framework – 神經(jīng)網(wǎng)絡(luò)壓縮框架),通過對OpenVINO IR格式模型的壓縮與量化更好的提升模型在
    的頭像 發(fā)表于 11-20 10:46 ?1602次閱讀
    NNCF壓縮與<b class='flag-5'>量化</b>YOLOv8模型與<b class='flag-5'>OpenVINO</b><b class='flag-5'>部署</b>測試

    簡單使用OpenVINO?搞定ChatGLM3的本地部署

    英特爾 OpenVINO? 工具套件是一款開源 AI 推理優(yōu)化部署的工具套件,可幫助開發(fā)人員和企業(yè)加速生成式人工智能 (AIGC)、大語言模型、計算機視覺和自然語言處理等 AI 工作負載,簡化深度學習推理的開發(fā)和部署,便于實現(xiàn)從
    的頭像 發(fā)表于 04-03 18:18 ?2046次閱讀
    <b class='flag-5'>簡單</b>三<b class='flag-5'>步</b>使用<b class='flag-5'>OpenVINO</b>?<b class='flag-5'>搞定</b>ChatGLM3的本地<b class='flag-5'>部署</b>

    阿里通義千問Qwen2大模型發(fā)布

    阿里巴巴最近發(fā)布了其通義千問系列的新成員——Qwen2大模型,并在Hugging Face和ModelScope大平臺上實現(xiàn)了同步開源。這一舉措無疑為人工智能領(lǐng)域的研究者和開發(fā)者們提供了更多選擇和可能。
    的頭像 發(fā)表于 06-07 15:59 ?758次閱讀

    阿里通義千問Qwen2大模型發(fā)布并同步開源

    阿里巴巴集團旗下的通義千問團隊宣布,全新的Qwen2大模型正式發(fā)布,并在全球知名的開源平臺Hugging Face和ModelScope上同步開源。這一里程碑式的事件標志著中國在人工智能領(lǐng)域的又一次重要突破。
    的頭像 發(fā)表于 06-11 15:33 ?1064次閱讀

    Qwen2強勢來襲,AIBOX支持本地化部署

    Qwen2是阿里通義推出的新一代多語言預(yù)訓練模型,經(jīng)過更深入的預(yù)訓練和指令調(diào)整,在多個基準評測結(jié)果中表現(xiàn)出色,尤其在代碼和數(shù)學方面有顯著提升,同時拓展了上下文長度支持,最高可達128K。目前
    的頭像 發(fā)表于 06-27 08:02 ?1033次閱讀
    <b class='flag-5'>Qwen2</b>強勢來襲,AIBOX支持本地化<b class='flag-5'>部署</b>

    基于Qwen-Agent與OpenVINO構(gòu)建本地AI智能體

    Qwen2 是阿里巴巴集團 Qwen 團隊研發(fā)的大語言模型和大型多模態(tài)模型系列。Qwen2 具備自然語言理解、文本生成、視覺理解、音頻理解、工具使用、角色扮演、作為 AI Agent 進行互動等多種能力。
    的頭像 發(fā)表于 07-26 09:54 ?774次閱讀
    基于<b class='flag-5'>Qwen</b>-Agent與<b class='flag-5'>OpenVINO</b>構(gòu)建本地AI智能體

    阿里Qwen2-Math系列震撼發(fā)布,數(shù)學推理能力領(lǐng)跑全球

    阿里巴巴近期震撼發(fā)布了Qwen2-Math系列模型,這一系列模型基于其強大的Qwen2 LLM構(gòu)建,專為數(shù)學解題而生,展現(xiàn)了前所未有的數(shù)學推理能力。Qwen2-Math家族包括1.5B、7B及72B三種規(guī)模,旨在滿足不同場景下的
    的頭像 發(fā)表于 08-12 15:19 ?730次閱讀

    利用OpenVINO部署Qwen2多模態(tài)模型

    多模態(tài)大模型的核心思想是將不同媒體數(shù)據(jù)(如文本、圖像、音頻和視頻等)進行融合,通過學習不同模態(tài)之間的關(guān)聯(lián),實現(xiàn)更加智能化的信息處理。簡單來說,多模態(tài)大模型可以可以理解多種不同模態(tài)的輸入數(shù)據(jù),并輸出相應(yīng)反饋結(jié)果,例如圖像理解,語音識別,視覺問題等。
    的頭像 發(fā)表于 10-18 09:39 ?412次閱讀
    RM新时代网站-首页