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

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

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

使用OpenVINO 2024.4在算力魔方上部署Llama-3.2-1B-Instruct模型

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

作者:

劉力 算力魔方創(chuàng)始人

前面我們分享了《三步完成Llama3在算力魔方的本地量化和部署》。2024年9月25日,Meta又發(fā)布了Llama3.2:一個多語言大型語言模型(LLMs)的集合,其中包括:

大語言模型:1B和3B參數(shù)版本,僅接收多種語言文本輸入。

多模態(tài)模型:11B和90B參數(shù)版本,既能接收文本輸入又能接收圖像輸入。

本文將介紹使用OpenVINO 2024.4在算力魔方上部署Llama-3.2-1B-Instruct模型。

1.1Llama 3.2簡介

Llama 3.2的1B和3B參數(shù)版本是一個支持多種語言大型語言模型,其指令調(diào)優(yōu)純文本模型Llama-3.2-1B-Instruct和Llama-3.2-3B-Instruct,針對多語言對話用例進(jìn)行了優(yōu)化,包括代理檢索和摘要任務(wù),性能參數(shù)如下圖所示。

3bc8c1f6-877f-11ef-b8af-92fbcf53809c.png

Llama3.2官方正式支持的語言包括英語、德語、法語、意大利語、葡萄牙語、印地語、西班牙語和泰語。

請讀者用下面的命令把Llama-3.2-1B-Instruct模型的預(yù)訓(xùn)練權(quán)重下載到本地待用。

git clone https://www.modelscope.cn/LLM-Research/Llama-3.2-1B-Instruct.git

1.2算力魔方簡介

算力魔方是一款可以DIY的迷你主機(jī),采用了抽屜式設(shè)計,后續(xù)組裝、升級、維護(hù)只需要拔插模塊。通過選擇不同算力的計算模塊,再搭配不同的 IO 模塊可以組成豐富的配置,適應(yīng)不同場景。

性能不夠時,可以升級計算模塊提升算力;IO 接口不匹配時,可以更換 IO 模塊調(diào)整功能,而無需重構(gòu)整個系統(tǒng)。

本文以下所有步驟將在帶有英特爾i7-1265U處理器的算力魔方上完成驗證。

1.3三步完成Llama-3.2-1B-Instruct的INT4量化和本地部署

把Llama-3.2-1B-Instruct模型的預(yù)訓(xùn)練權(quán)重下載到本地后,接下來本文將依次介紹基于Optimum Intel工具將Llama-3.2-1B-Instruct進(jìn)行INT4量化,并完成本地部署。

Optimum Intel作為Transformers和Diffusers庫與Intel提供的各種優(yōu)化工具之間的接口層,它給開發(fā)者提供了一種簡便的使用方式,讓這兩個庫能夠利用Intel針對硬件優(yōu)化的技術(shù),例如:OpenVINO、IPEX等,加速基于Transformer或Diffusion構(gòu)架的AI大模型在英特爾硬件上的推理計算性能。

Optimum Intel代碼倉連接:https://github.com/huggingface/optimum-intel

1.3.1 第一步,搭建開發(fā)環(huán)境

請下載并安裝Anaconda,然后用下面的命令創(chuàng)建并激活名為llama32的虛擬環(huán)境:

conda create -n llama32 python=3.11#創(chuàng)建虛擬環(huán)境
conda activate llama32#激活虛擬環(huán)境
python -m pip install --upgrade pip #升級pip到最新版

然后安裝Optimum Intel和其依賴項OpenVINO:

pip install optimum-intel[openvino]

1.3.2 第二步,用optimum-cli對Llama-3.2-1B-Instruct模型進(jìn)行INT4量化

optimum-cli是Optimum Intel自帶的跨平臺命令行工具,可以不用編寫量化代碼,實現(xiàn)對Llama-3.2-1B-Instruct模型的量化。

執(zhí)行命令將Llama-3.2-1B-Instruct模型量化為INT4 OpenVINO格式模型:

optimum-cli export openvino --model D:llama3Meta-Llama-3-8B --task text-generation-with-past --weight-format int4 --group-size 128 --ratio 0.8 --sym llama3_int4_ov_model

3c14a5e4-877f-11ef-b8af-92fbcf53809c.png

1.3.3第三步:編寫推理程序llama3_2_int4_ov_infer.py

基于Optimum Intel工具包的API函數(shù)編寫Llama3的推理程序,非常簡單,只需要調(diào)用五個API函數(shù):

編譯并載入Llama-3.2模型到指定DEVICE:OVModelForCausalLM.from_pretrained()

實例化Llama-3.2模型的Tokenizer:tok=AutoTokenizer.from_pretrained()

將自然語言轉(zhuǎn)換為Token序列:tok(question, return_tensors="pt", **{})

生成答案的Token序列:ov_model.generate()

將答案Token序列解碼為自然語言:tok.batch_decode()

完整范例程序如下所示下載鏈接:git clone

https://gitee.com/Pauntech/llama3.git

import openvino as ov
from transformers import AutoConfig, AutoTokenizer
from optimum.intel.openvino import OVModelForCausalLM


ov_config = {"PERFORMANCE_HINT": "LATENCY", "NUM_STREAMS": "1", "CACHE_DIR": ""}
model_dir = "d:\llama3_2_1B_int4" #llama3.2 1B int4模型路徑
DEVICE = "CPU" #可更換為"GPU", "AUTO"...


# 編譯并載入Llama3.2模型到指定DEVICE
ov_model = OVModelForCausalLM.from_pretrained(
  model_dir,
  device=DEVICE,
  ov_config=ov_config,
  config=AutoConfig.from_pretrained(model_dir, trust_remote_code=True),
  trust_remote_code=True,
)


# 實例化Llama3.2模型的Tokenizer
tok = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
# 設(shè)置問題
question = "What's the OpenVINO?" 
# 將自然語言轉(zhuǎn)換為Token序列
input_tokens = tok(question, return_tensors="pt", **{})
# 生成答案的Token序列
answer = ov_model.generate(**input_tokens, max_new_tokens=128)
# 將答案Token序列解碼為自然語言
print(tok.batch_decode(answer, skip_special_tokens=True)[0])

運(yùn)行l(wèi)lama3_2_int4_ov_infer.py:

python llama3_2_int4_ov_infer.py

運(yùn)行結(jié)果,如下所示:

3c430b6e-877f-11ef-b8af-92fbcf53809c.png

1.4總結(jié)

Optimum Intel工具包簡單易用,僅需三步即可完成開發(fā)環(huán)境搭建、Llama-3.2-1B-Instruct模型INT4量化和推理程序開發(fā)?;贠ptimum Intel工具包開發(fā)Llama3推理程序僅需調(diào)用五個API函數(shù),方便快捷的實現(xiàn)將Llama-3.2-1B-Instruct本地化部署在基于英特爾處理器的算力魔方上。

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

    關(guān)注

    1

    文章

    3105

    瀏覽量

    48643
  • Meta
    +關(guān)注

    關(guān)注

    0

    文章

    257

    瀏覽量

    11329
  • 算力
    +關(guān)注

    關(guān)注

    1

    文章

    898

    瀏覽量

    14688
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    166

原文標(biāo)題:三步完成Llama3.2在算力魔方的INT4量化和部署|開發(fā)者實戰(zhàn)

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

收藏 人收藏

    評論

    相關(guān)推薦

    LabVIEW+OpenVINOCPU上部署新冠肺炎檢測模型實戰(zhàn)(含源碼)

    使用LabVIEW+OpenVINOCPU上部署新冠肺炎CT圖像病害分割
    的頭像 發(fā)表于 03-23 13:34 ?1687次閱讀
    LabVIEW+<b class='flag-5'>OpenVINO</b><b class='flag-5'>在</b>CPU<b class='flag-5'>上部署</b>新冠肺炎檢測<b class='flag-5'>模型</b>實戰(zhàn)(含源碼)

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

    FastSAM 模型 | 開發(fā)者實戰(zhàn)》,該文章中我們向大家展示了基于 OpenVINO Python API 的基本部署流程。實際
    的頭像 發(fā)表于 11-17 09:53 ?824次閱讀
    如何使用<b class='flag-5'>OpenVINO</b> C++ API<b class='flag-5'>部署</b>FastSAM<b class='flag-5'>模型</b>

    能RADXA微服務(wù)器試用體驗】Radxa Fogwise 1684X Mini 規(guī)格

    ChatGLM2-6B、AIGC、Llama2、SAM、Whisper等超大參數(shù)模型 還有一份詳細(xì)的英文的規(guī)格表: 另外,能RADXA微服務(wù)器服務(wù)器,還是大學(xué)生集成電路創(chuàng)新創(chuàng)業(yè)大
    發(fā)表于 02-28 11:21

    模型時代的需求

    現(xiàn)在AI已進(jìn)入大模型時代,各企業(yè)都爭相部署模型,但如何保證大模型,以及相關(guān)的穩(wěn)定性和性能
    發(fā)表于 08-20 09:04

    介紹STM32cubeIDE上部署AI模型的系列教程

    介紹STM32cubeIDE上部署AI模型的系列教程,開發(fā)板型號STM32H747I-disco,值得一看。MCUAI原文鏈接:【嵌入式AI開發(fā)】篇四|部署篇:STM32cubeID
    發(fā)表于 12-14 09:05

    英特爾獨(dú)立顯卡上部署YOLOv5 v7.0版實時實例分割模型

    本文將介紹基于 OpenVINO 英特爾獨(dú)立顯卡上部署 YOLOv5 實時實例分割模型的全流程,并提供完整范例代碼供讀者使用。
    的頭像 發(fā)表于 12-20 11:32 ?3904次閱讀

    使用OpenVINO?魔方上加速stable diffusion模型

    魔方一款可以DIY的迷你主機(jī),采用了抽屜式設(shè)計,后續(xù)組裝、升級、維護(hù)只需要拔插模塊。通過選擇計算模塊的版本,再搭配不同額IO模塊可以組成豐富的配置,適應(yīng)不同場景。
    的頭像 發(fā)表于 05-25 14:34 ?618次閱讀
    使用<b class='flag-5'>OpenVINO</b>?<b class='flag-5'>在</b><b class='flag-5'>算</b><b class='flag-5'>力</b><b class='flag-5'>魔方</b>上加速stable diffusion<b class='flag-5'>模型</b>

    OpenNCC上部署人臉檢測模型

    電子發(fā)燒友網(wǎng)站提供《OpenNCC上部署人臉檢測模型.zip》資料免費(fèi)下載
    發(fā)表于 06-27 10:34 ?0次下載
    <b class='flag-5'>在</b>OpenNCC<b class='flag-5'>上部署</b>人臉檢測<b class='flag-5'>模型</b>

    PODsys:大模型AI平臺部署的開源“神器”

    的大模型研發(fā)工具和框架。平臺的部署過程中,大模型研發(fā)機(jī)構(gòu)常常需要面對一系列的問題:大
    的頭像 發(fā)表于 11-08 09:17 ?829次閱讀
    PODsys:大<b class='flag-5'>模型</b>AI<b class='flag-5'>算</b><b class='flag-5'>力</b>平臺<b class='flag-5'>部署</b>的開源“神器”

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

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

    Optimum Intel三步完成Llama3魔方的本地量化和部署

    Llama3 是Meta最新發(fā)布的開源大語言模型(LLM), 當(dāng)前已開源8B和70B參數(shù)量的預(yù)訓(xùn)練模型權(quán)重,并支持指令微調(diào)。
    的頭像 發(fā)表于 05-10 10:34 ?946次閱讀
    Optimum Intel三步完成<b class='flag-5'>Llama</b>3<b class='flag-5'>在</b><b class='flag-5'>算</b><b class='flag-5'>力</b><b class='flag-5'>魔方</b>的本地量化和<b class='flag-5'>部署</b>

    亞馬遜云科技正式上線Meta Llama 3.2模型

    亞馬遜云科技宣布,Meta的新一代模型Llama 3.2,包括其首款多模態(tài)模型,現(xiàn)已在Amazon Bedrock和Amazon SageMaker中正式可用。
    的頭像 發(fā)表于 10-11 09:20 ?424次閱讀

    亞馬遜云科技上線Meta Llama 3.2模型

    亞馬遜云科技近日宣布,Meta公司的新一代模型Llama 3.2已在其平臺上正式上線。該模型包括Meta首款多模態(tài)模型,現(xiàn)已在Amazon
    的頭像 發(fā)表于 10-11 18:08 ?393次閱讀

    Meta發(fā)布Llama 3.2量化版模型

    近日,Meta開源Llama 3.21B與3B模型后,再次為人工智能領(lǐng)域帶來了新進(jìn)展。10月
    的頭像 發(fā)表于 10-29 11:05 ?247次閱讀

    使用OpenVINO Model Server在哪吒開發(fā)板上部署模型

    OpenVINO Model Server(OVMS)是一個高性能的模型部署系統(tǒng),使用C++實現(xiàn),并在Intel架構(gòu)上的部署進(jìn)行了優(yōu)化,使用Open
    的頭像 發(fā)表于 11-01 14:19 ?111次閱讀
    使用<b class='flag-5'>OpenVINO</b> Model Server在哪吒開發(fā)板<b class='flag-5'>上部署</b><b class='flag-5'>模型</b>