RM新时代网站-首页

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

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

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

OpenVINO? 賦能千元級『哪吒』AI開發(fā)套件大語言模型 | 開發(fā)者實戰(zhàn)

研揚科技AAEON ? 2024-01-06 08:05 ? 次閱讀

以下文章來源于英特爾物聯(lián)網(wǎng) ,作者武卓

作者:英特爾AI軟件布道師 武卓 博士

人工智能的飛速發(fā)展中,大語言模型,如Stable-Zephyr-3b,已成為研究和應(yīng)用的熱點。這些模型以其強大的文本理解和生成能力在多個領(lǐng)域大放異彩。然而,大多數(shù)高性能模型通常需要昂貴的計算資源,使得它們的應(yīng)用受限于有限的環(huán)境。本文將探討在OpenVINO的賦能下,如何在不足千元的AI開發(fā)板上部署Stable-Zephyr-3b模型,構(gòu)建聊天機器人,成為實現(xiàn)AI無處不在愿景的重要組成部分之一。

Stable Zephyr 3B是一個先進的大語言模型,擁有30億參數(shù),它在多個語言處理任務(wù)上顯示出了優(yōu)異的性能。這個模型特別是在大小相對較小的情況下,比許多流行模型都要出色,這表明了它高效的參數(shù)使用和強大的學習能力。該模型的訓練靈感來自于HugginFaceH4的Zephyr 7B訓練管道,這是一個專注于高效訓練和性能優(yōu)化的系統(tǒng)。Stable Zephyr 3B是在混合的數(shù)據(jù)集上進行訓練的,包括了公開可用的數(shù)據(jù)集和通過直接偏好優(yōu)化(DPO)技術(shù)生成的合成數(shù)據(jù)集。DPO是一種優(yōu)化技術(shù),它直接在模型的偏好上施加約束,以產(chǎn)生更高質(zhì)量的數(shù)據(jù)供模型學習。

該模型的性能評估是基于MT Bench和Alpaca Benchmark,這兩個基準都是在業(yè)界公認的,用以衡量語言模型在多種任務(wù)上的效能。通過這些嚴格的評估,Stable Zephyr 3B展現(xiàn)了其在理解和生成語言方面的卓越能力。更多關(guān)于模型的架構(gòu)、訓練過程、使用的數(shù)據(jù)集以及在各項評估中的表現(xiàn)的信息可以在模型卡片中找到。

此文使用了研揚科技針對邊緣AI行業(yè)開發(fā)者推出了哪吒(Nezha)開發(fā)套件以信用卡大?。?5 x 56mm)的開發(fā)板-哪吒(Nezha)為核心,哪吒采用Intel N97處理器(Alder Lake-N),最大睿頻3.6GHz,IntelUHD Graphics內(nèi)核GPU,可實現(xiàn)高分辨率顯示;板載LPDDR5內(nèi)存、eMMC存儲及TPM 2.0,配備GPIO接口,支持Windows和Linux操作系統(tǒng),這些功能和無風扇散熱方式相結(jié)合,為各種應(yīng)用程序構(gòu)建高效的解決方案,適用于如自動化、物聯(lián)網(wǎng)網(wǎng)關(guān)、數(shù)字標牌和機器人等應(yīng)用。

要在這些資源有限的設(shè)備上運行如Stable-Zephyr-3b這樣的大型模型,模型的壓縮和優(yōu)化是關(guān)鍵。借助OpenVINO提供的模型優(yōu)化工具NNCF,可以將模型量化壓縮為INT4精度的模型,從而可以大幅度減少模型的大小和計算需求,而保持相對較高的性能。接下來,就讓我們通過我們常用的OpenVINO Notebooks倉庫中關(guān)于Stable Zephyr 3B模型的Jupyter Notebook代碼和拆解,來進一步了解具體步驟吧。(Jupyter notebook代碼地址:

https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/273-stable-zephyr-3b-chatbot )

第一步:安裝相應(yīng)工具包

為了方便模型轉(zhuǎn)換步驟和模型性能評估,我們將使用llm_bench(https://github.com/openvinotoolkit/openvino.genai/tree/master/llm_bench/python )工具,該工具提供了一種統(tǒng)一的方法來估計大語言模型(LLM)的性能。它基于由Optimum-Intel提供的管道,并允許使用幾乎相同的代碼來估計Pytorch和OpenVINO模型的性能。

首先git clone llm_bench所在的代碼倉庫:

from pathlibimport Path

import sys

genai_llm_bench = Path("openvino.genai/llm_bench/python")

ifnot genai_llm_bench.exists():

!git clone https://github.com/openvinotoolkit/openvino.genai.git


sys.path.append(str(genai_llm_bench))

并進行相關(guān)Python包的安裝:

%pip uninstall -q -y optimum-intel optimum

%pip install -q --extra-index-url https://download.pytorch.org/whl/cpu -r ./openvino.genai/llm_bench/python/requirements.txt

%pip uninstall -q -y openvino openvino-dev openvino-nightly

%pip install -q openvino-nightly


第二步:將模型轉(zhuǎn)換為OpenVINO IR格式,并利用NNCF將模型權(quán)重壓縮為INT4精度
llm_bench提供了一個轉(zhuǎn)換腳本,用于將大語言模型轉(zhuǎn)換為與Optimum-Intel兼容的OpenVINO IR格式。它還允許使用NNCF將模型權(quán)重壓縮為INT8或INT4精度。要啟用INT4的權(quán)重壓縮,我們應(yīng)該使用--compress_weights 4BIT_DEFAULT 參數(shù)。權(quán)重壓縮算法旨在壓縮模型的權(quán)重,并可用于優(yōu)化大模型的占用空間和性能。與INT8壓縮相比,INT4壓縮進一步提高了性能,但會引入輕微的預(yù)測質(zhì)量下降。

model_path = Path("stable-zephyr-3b/pytorch/dldt/compressed_weights/OV_FP16-4BIT_DEFAULT")


convert_script = genai_llm_bench / "convert.py"


!python $convert_script --model_id stabilityai/stable-zephyr-3b --precision FP16 --compress_weights 4BIT_DEFAULT --output stable-ze

第三步:評估模型性能

openvino.genai / llm_bench / python / benchmark.py腳本允許在特定輸入提示上估計文本生成管道的推理,給定最大生成分詞的數(shù)量。模型性能評估以時延為主。

benchmark_script = genai_llm_bench /"benchmark.py"


!python $benchmark_script -m $model_path -ic512 -p"Tell me story about cats"

運行結(jié)果如下:

wKgaomWyIQ6AGxQ-AAS7PdK1uEA461.png

第四步:應(yīng)用狀態(tài)變換來自動處理模型狀態(tài)

Stable Zephyr是一種自回歸的解碼器變換器模型,它通過緩存先前計算的隱藏狀態(tài)來優(yōu)化生成過程和內(nèi)存使用,避免每次生成新令牌時重復計算。隨著模型和注意力塊的增大,處理長序列的緩存策略可能對內(nèi)存系統(tǒng)構(gòu)成挑戰(zhàn)。因此,OpenVINO提出了一種轉(zhuǎn)換策略,將緩存邏輯內(nèi)置于模型中以降低內(nèi)存消耗并優(yōu)化性能。您可以通過在轉(zhuǎn)換步驟中使用--stateful標志添加有狀態(tài)轉(zhuǎn)換來估計模型性能。

stateful_model_path = Path("stable-zephyr-3b-stateful/pytorch/dldt/compressed_weights/OV_FP16-4BIT_DEFAULT")
!python $convert_script --model_id stabilityai/stable-zephyr-3b --precision FP16 --compress_weights 4BIT_DEFAULT --output stable-zephyr-3b-stateful --force_convert --stateful

第五步:利用Optimum-Intel加載模型并在基于Gradio搭建的用戶界面上運行模型
同樣地,這個模型也可以用Optimum-Intel工具包里定義的OVModelForCausalLM 流水線來加載模型和運行推理,代碼如下:

from utils.ov_model_classesimport register_normalized_configs

from optimum.intel.openvinoimport OVModelForCausalLM

from transformers import AutoConfig


# Load model into Optimum Interface

register_normalized_configs()


ov_model = OVModelForCausalLM.from_pretrained(model_path, compile=False, config=AutoConfig.from_pretrained(stateful_model_path, trust_remote_code=True), stateful=True)

和我們的很多大預(yù)言模型和生成式AI的Notebook示例代碼一樣,在這個Notebook中,我們也提供了基于Gradio編寫的用戶友好的使用界面。最終在我們的哪吒開發(fā)板上運行該模型的推理。

整個的步驟就是這樣!現(xiàn)在就開始跟著我們提供的代碼和步驟,動手試試用OpenVINO在哪吒開發(fā)板上運行基于大語言模型的聊天機器人吧。

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

    關(guān)注

    87

    文章

    30728

    瀏覽量

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

    關(guān)注

    1791

    文章

    47183

    瀏覽量

    238241
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    196
收藏 人收藏

    評論

    相關(guān)推薦

    AI語言模型開發(fā)步驟

    開發(fā)一個高效、準確的大語言模型是一個復雜且多階段的過程,涉及數(shù)據(jù)收集與預(yù)處理、模型架構(gòu)設(shè)計、訓練與優(yōu)化、評估與調(diào)試等多個環(huán)節(jié)。接下來,AI
    的頭像 發(fā)表于 12-19 11:29 ?45次閱讀

    NVIDIA發(fā)布小巧高性價比的Jetson Orin Nano Super開發(fā)者套件

    NVIDIA近期推出了一款全新的生成式AI超級計算機——Jetson Orin Nano Super開發(fā)者套件。這款開發(fā)者套件以其小巧的尺寸
    的頭像 發(fā)表于 12-19 11:28 ?272次閱讀

    語言模型開發(fā)框架是什么

    語言模型開發(fā)框架是指用于訓練、推理和部署大型語言模型的軟件工具和庫。下面,AI部落小編為您介紹
    的頭像 發(fā)表于 12-06 10:28 ?115次閱讀

    云端AI開發(fā)者工具怎么用

    云端AI開發(fā)者工具通常包括代碼編輯器、模型訓練平臺、自動化測試工具、代碼管理工具等。這些工具不僅降低了AI開發(fā)的門檻,還極大地提高了
    的頭像 發(fā)表于 12-05 13:31 ?111次閱讀

    使用英特爾哪吒開發(fā)套件部署YOLOv5完成透明物體目標檢測

    英特爾的哪吒(Nezha)開發(fā)套件是一款專為邊緣AI和物聯(lián)網(wǎng)應(yīng)用設(shè)計的高性能計算平臺,搭載了英特爾 N97處理器、內(nèi)置英特爾 UHD Graphics GPU,并提供高達8GB LPDDR5內(nèi)存
    的頭像 發(fā)表于 11-25 17:15 ?209次閱讀
    使用英特爾<b class='flag-5'>哪吒</b><b class='flag-5'>開發(fā)套件</b>部署YOLOv5完成透明物體目標檢測

    基于哪吒開發(fā)板部署YOLOv8模型

    2024英特爾 “走近開發(fā)者”互動活動-哪吒開發(fā)套件免費試 用 AI 創(chuàng)新計劃:哪吒開發(fā)板是專為
    的頭像 發(fā)表于 11-15 14:13 ?222次閱讀
    基于<b class='flag-5'>哪吒</b><b class='flag-5'>開發(fā)</b>板部署YOLOv8<b class='flag-5'>模型</b>

    OpenVINO? C++ 在哪吒開發(fā)板上推理 Transformer 模型開發(fā)者實戰(zhàn)

    使用OpenVINO定制你的AI助手丨開發(fā)者實戰(zhàn)作者:王國強蘇州嘉樹醫(yī)療科技有限公司算法工程師指導:顏國進英特爾邊緣計算創(chuàng)新大使研揚科技針對邊緣AI
    的頭像 發(fā)表于 09-28 08:01 ?325次閱讀
    <b class='flag-5'>OpenVINO</b>? C++ 在<b class='flag-5'>哪吒</b><b class='flag-5'>開發(fā)</b>板上推理 Transformer <b class='flag-5'>模型</b>|<b class='flag-5'>開發(fā)者</b><b class='flag-5'>實戰(zhàn)</b>

    NVIDIA RTX AI套件簡化AI驅(qū)動的應(yīng)用開發(fā)

    NVIDIA 于近日發(fā)布 NVIDIA RTX AI套件,這一工具和 SDK 集合能夠幫助 Windows 應(yīng)用開發(fā)者定制、優(yōu)化和部署適用于 Windows 應(yīng)用的 AI
    的頭像 發(fā)表于 09-06 14:45 ?436次閱讀

    【xG24 Matter開發(fā)套件試用體驗】初識xG24 Matter開發(fā)套件

    今天帶剛收到xG24 Matter開發(fā)套件的快遞,為大家做個xG24 Matter開發(fā)套件的視頻介紹,帶大家認識一下這款xG24 Matter開發(fā)套件。 EFR32xG24 Explorer
    發(fā)表于 07-11 23:31

    2024 TUYA全球開發(fā)者大會盛大啟幕,Cube AI模型重磅首發(fā)!

    2024TUYA全球開發(fā)者大會上,重磅推出AI模型AI開發(fā)工具、AI小程序
    的頭像 發(fā)表于 05-31 08:15 ?350次閱讀
    2024 TUYA全球<b class='flag-5'>開發(fā)者</b>大會盛大啟幕,Cube <b class='flag-5'>AI</b>大<b class='flag-5'>模型</b>重磅首發(fā)!

    2024 TUYA全球開發(fā)者大會盛大啟幕,Cube AI模型重磅首發(fā)!

    2024 TUYA全球開發(fā)者大會上,重磅推出AI模型、AI開發(fā)工具、AI小程序
    發(fā)表于 05-30 09:13 ?222次閱讀
    2024 TUYA全球<b class='flag-5'>開發(fā)者</b>大會盛大啟幕,Cube <b class='flag-5'>AI</b>大<b class='flag-5'>模型</b>重磅首發(fā)!

    聯(lián)發(fā)科發(fā)布天璣AI開發(fā)套件終端生成式AI應(yīng)用

    聯(lián)發(fā)科近日推出了全新的天璣AI開發(fā)套件,旨在為合作伙伴打造一站式解決方案,以加速終端生成式AI應(yīng)用的開發(fā)。這款套件集合了四大核心模塊,為
    的頭像 發(fā)表于 05-10 11:19 ?589次閱讀

    英特爾開發(fā)套件哪吒』在Java環(huán)境實現(xiàn)ADAS道路識別演示 | 開發(fā)者實戰(zhàn)

    本文使用來自O(shè)penModelZoo的預(yù)訓練的road-segmentation-adas-0001模型。ADAS代表高級駕駛輔助服務(wù)。該模型識別四個類別:背景、道路、路緣和標記。硬件環(huán)境此文使用了英特爾開發(fā)套件家族里的『
    的頭像 發(fā)表于 04-29 08:07 ?551次閱讀
    英特爾<b class='flag-5'>開發(fā)套件</b>『<b class='flag-5'>哪吒</b>』在Java環(huán)境實現(xiàn)ADAS道路識別演示 | <b class='flag-5'>開發(fā)者</b><b class='flag-5'>實戰(zhàn)</b>

    【轉(zhuǎn)載】英特爾開發(fā)套件哪吒”快速部署YoloV8 on Java | 開發(fā)者實戰(zhàn)

    部署到生產(chǎn)系統(tǒng)中。通過簡化的開發(fā)工作流程,OpenVINO開發(fā)者在現(xiàn)實世界中部署高性能應(yīng)用程序和算法。 今天我們將基于哪吒
    的頭像 發(fā)表于 03-23 08:05 ?551次閱讀
    【轉(zhuǎn)載】英特爾<b class='flag-5'>開發(fā)套件</b>“<b class='flag-5'>哪吒</b>”快速部署YoloV8 on Java | <b class='flag-5'>開發(fā)者</b><b class='flag-5'>實戰(zhàn)</b>

    基于英特爾哪吒開發(fā)者套件平臺來快速部署OpenVINO Java實戰(zhàn)

    OpenVINO 工具套件基于OneAPI開發(fā),可以加快高性能計算機視覺和深度學習應(yīng)用開發(fā)速度的工具套件,適用于從邊緣到云的各種英特爾計算平
    的頭像 發(fā)表于 03-21 18:24 ?1473次閱讀
    基于英特爾<b class='flag-5'>哪吒</b><b class='flag-5'>開發(fā)者</b><b class='flag-5'>套件</b>平臺來快速部署<b class='flag-5'>OpenVINO</b> Java<b class='flag-5'>實戰(zhàn)</b>
    RM新时代网站-首页