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

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

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

如何將Llama3.1模型部署在英特爾酷睿Ultra處理器

英特爾物聯(lián)網(wǎng) ? 來源:英特爾物聯(lián)網(wǎng) ? 作者:虞曉瓊 ? 2024-07-26 09:51 ? 次閱讀

作者:虞曉瓊 博士

東莞職業(yè)技術(shù)學(xué)院

本文從搭建環(huán)境開始,一步一步幫助讀者實(shí)現(xiàn)只用五行代碼便可將Llama3.1模型部署在英特爾酷睿Ultra 處理器上。請(qǐng)把文中范例代碼下載到本地:

 git clone https://gitee.com/Pauntech/llama3.1-model.git

1.1Meta Llama3.1簡介

7月24日,Meta宣布推出迄今為止最強(qiáng)大的開源模型——Llama 3.1 405B,同時(shí)發(fā)布了全新升級(jí)的Llama 3.1 70B和8B模型。

Llama 3.1 405B支持上下文長度為128K Tokens,在基于15萬億個(gè)Tokens、超1.6萬個(gè)H100 GPU上進(jìn)行訓(xùn)練,研究人員基于超150個(gè)基準(zhǔn)測(cè)試集的評(píng)測(cè)結(jié)果顯示,Llama 3.1 405B可與GPT-4o、Claude 3.5 Sonnet和Gemini Ultra等業(yè)界頭部模型媲美。

50662272-4a6a-11ef-b8af-92fbcf53809c.png

引用自:https://ai.meta.com/research/publications/the-llama-3-herd-of-models

魔搭社區(qū)已提供Llama3.1模型的預(yù)訓(xùn)練權(quán)重下載,實(shí)測(cè)下載速度平均35MB/s。

5096df34-4a6a-11ef-b8af-92fbcf53809c.png

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

 git clone --depth=1 https://www.modelscope.cn/LLM-Research/Meta-Llama-3.1-8B-Instruct.git

1.2英特爾酷睿Ultra處理器簡介

英特爾酷睿Ultra處理器內(nèi)置CPU+GPU+NPU 的三大 AI 引擎,賦能AI大模型在不聯(lián)網(wǎng)的終端設(shè)備上進(jìn)行推理計(jì)算。

1.3Llama3.1模型的INT4量化和本地部署

把Meta-Llama-3.1-8B-Instruct模型的預(yù)訓(xùn)練權(quán)重下載到本地后,接下來本文將依次介紹使用optimum-cli工具將Llama3.1模型進(jìn)行INT4量化,并調(diào)用optimum-intel完成Llama3.1模型在英特爾酷睿 Ultra 處理器上的部署。

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

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

1.3.1搭建開發(fā)環(huán)境

請(qǐng)下載并安裝Anaconda,然后用下面的命令創(chuàng)建并激活名為llama31的虛擬環(huán)境,然后安裝Optimum Intel和其依賴項(xiàng)openvino與nncf。

conda create -n llama31 python=3.11  #創(chuàng)建虛擬環(huán)境
conda activate llama31     #激活虛擬環(huán)境
python -m pip install --upgrade pip  #升級(jí)pip到最新版本
pip install optimum-intel[openvino,nncf] #安裝Optimum Intel和其依賴項(xiàng)openvino與nncf
pip install -U transformers    #升級(jí)transformers庫到最新版本

51234654-4a6a-11ef-b8af-92fbcf53809c.png

1.3.2用optimum-cli

對(duì)Llama3.1模型進(jìn)行INT4量化

optimum-cli是Optimum Intel自帶的跨平臺(tái)命令行工具,可以不用編寫量化代碼,用命令實(shí)現(xiàn)對(duì)Llama3.1模型的量化并轉(zhuǎn)化為OpenVINO格式模型:

optimum-cli export openvino --model D:Meta-Llama-3.1-8B-Instruct --task text-generation-with-past --weight-format int4 --group-size 128 --ratio 0.8 --sym llama31_int4

optimum-cli命令的參數(shù)意義如下:

--model指定了被量化的模型路徑;

--task指定了任務(wù)類型;

--weight-format指定了模型參數(shù)精度;

--group-size定義了量化過程中的組大??;

--ratio決定了量化過程中保留的權(quán)重比例;

--sym表示量化采用的對(duì)稱性模式。

51430a5c-4a6a-11ef-b8af-92fbcf53809c.png

1.3.3編寫推理程序llama31_ov_infer.py

基于Optimum Intel工具包的API函數(shù)編寫Llama3的推理程序,非常簡單,只需五行代碼:

1. 調(diào)用OVModelForCausalLM.from_pretrained()載入使用optimum-cli優(yōu)化過的模型

2. 調(diào)用AutoTokenizer.from_pretrained()載入模型的分詞器

3. 創(chuàng)建一個(gè)用于文本生成的pipeline(流水線)

4. 使用pipeline進(jìn)行推理計(jì)算

5. 輸出生成的文本結(jié)果

Llama3.1模型的推理計(jì)算程序如下所示:

# 導(dǎo)入所需的庫和模塊
from transformers import AutoConfig, AutoTokenizer, pipeline
from optimum.intel.openvino import OVModelForCausalLM
# 設(shè)置OpenVINO編譯模型的配置參數(shù),這里優(yōu)先考慮低延遲
config = {
  "PERFORMANCE_HINT": "LATENCY",       # 性能提示選擇延遲優(yōu)先
  "CACHE_DIR": ""               # 模型緩存目錄為空,使用默認(rèn)位置
}
# 指定llama3.1 INT4模型的本地路徑
model_dir = r"D:llama31_int4"


# 設(shè)定推理設(shè)備為GPU,可根據(jù)實(shí)際情況改為"CPU"或"AUTO"
DEVICE = "GPU"
# 輸入的問題示例,可以更改
question = "In a tree, there are 7 birds. If 1 bird is shot, how many birds are left?"
# 載入使用optimum-cli優(yōu)化過的模型,配置包括設(shè)備、性能提示及模型配置
ov_model = OVModelForCausalLM.from_pretrained(
  model_dir,
  device=DEVICE,
  ov_config=config,
  config=AutoConfig.from_pretrained(model_dir, trust_remote_code=True), # 加載模型配置,并信任遠(yuǎn)程代碼
  trust_remote_code=True,
)
# 根據(jù)模型目錄加載tokenizer,并信任遠(yuǎn)程代碼
tok = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
# 創(chuàng)建一個(gè)用于文本生成的pipeline,指定模型、分詞器以及最多生成的新token數(shù)
pipe = pipeline("text-generation", model=ov_model, tokenizer=tok, max_new_tokens=100)
# 使用pipeline對(duì)問題進(jìn)行推理
results = pipe(question)
# 打印生成的文本結(jié)果
print(results[0]['generated_text'])

運(yùn)行l(wèi)lama31_ov_infer.py,結(jié)果如下所示:

516d1c02-4a6a-11ef-b8af-92fbcf53809c.png

1.4構(gòu)建基于Llama3.1模型的聊天機(jī)器人

請(qǐng)先安裝依賴軟件包:

pip install gradio mdtex2html streamlit -i https://mirrors.aliyun.com/pypi/simple/

然后運(yùn)行:python llama31_chatbot.py,結(jié)果如下所示:

5192cbbe-4a6a-11ef-b8af-92fbcf53809c.png

1.5總結(jié)

基于OpenVINO的Optimum Intel工具包簡單易用,僅需一個(gè)命令即可實(shí)現(xiàn)LLama3.1模型INT4量化,五行代碼即可完成推理程序開發(fā)并本地化運(yùn)行在英特爾酷睿 Ultra 處理器上。

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

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228810
  • 英特爾
    +關(guān)注

    關(guān)注

    60

    文章

    9861

    瀏覽量

    171285
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3112

    瀏覽量

    48658
  • Meta
    +關(guān)注

    關(guān)注

    0

    文章

    258

    瀏覽量

    11330

原文標(biāo)題:五行代碼實(shí)現(xiàn)Llama3.1在英特爾? 酷睿? Ultra處理器上的部署

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    英特爾的十款嵌入式智能處理器

    英特爾公司今日宣布,英特爾面向嵌入式市場(chǎng)為全新2010英特爾? ?
    發(fā)表于 07-29 06:13

    淺析英特爾處理器后面的數(shù)字和字母含義

    英特爾cpu的系列后面都帶著四個(gè)數(shù)字,用來表示區(qū)別不同處理器的型號(hào)、代數(shù)第一位:表示區(qū)別不同處理器的型號(hào)、代數(shù),2開頭就是第二代
    發(fā)表于 07-23 10:02

    凌華科技發(fā)布兩款基于最新的英特爾? ?處理器的模塊化電腦

    多任務(wù)以及卓越的每瓦性能摘要:●基于第13代英特爾? ?處理器,具有先進(jìn)的混合架構(gòu),提供性能核心和能效核心,并優(yōu)化了功耗oExpress-RLP: COM.0 R
    發(fā)表于 02-15 10:30

    英特爾發(fā)布9代處理器,樹立游戲標(biāo)桿

    英特爾針對(duì)游戲和內(nèi)容創(chuàng)作推出臺(tái)式機(jī)全線產(chǎn)品,包括全新第九代英特爾??和英特爾?
    的頭像 發(fā)表于 10-17 17:00 ?5274次閱讀
    <b class='flag-5'>英特爾</b>發(fā)布9代<b class='flag-5'>酷</b><b class='flag-5'>睿</b><b class='flag-5'>處理器</b>,樹立游戲標(biāo)桿

    英特爾12代處理器規(guī)格曝光

    按照計(jì)劃,英特爾最早將在今年年底推出12代英特爾處理器,這代處理器采用全新Alder Lak
    的頭像 發(fā)表于 01-20 10:59 ?7581次閱讀
    <b class='flag-5'>英特爾</b>12代<b class='flag-5'>酷</b><b class='flag-5'>睿</b><b class='flag-5'>處理器</b>規(guī)格曝光

    英特爾發(fā)布新一代移動(dòng)端處理器——Ultra系列

     12月7日的聯(lián)想集團(tuán)“AI PC 產(chǎn)業(yè)創(chuàng)新論壇”上,英特爾中國區(qū)技術(shù)總經(jīng)理高宇透露,新一代 Ultra
    的頭像 發(fā)表于 12-14 17:14 ?1745次閱讀

    英特爾Arrow Lake處理器更名Ultra

    @金豬升級(jí)包強(qiáng)調(diào)Arrow Lake處理器不太可能被稱為15代,更有可能會(huì)被冠名為“Ultra
    的頭像 發(fā)表于 03-04 16:45 ?1321次閱讀

    英特爾推出面向邊緣市場(chǎng)的 / Ultra 處理器PS系列

    其中,Ultra處理器PS系列即為Meteor Lake PS,提供45瓦 and 15瓦兩個(gè)功率選項(xiàng)。主打款為英特爾
    的頭像 發(fā)表于 04-09 16:45 ?943次閱讀

    英特爾二季度對(duì)Ultra處理器供應(yīng)受限

    英特爾首席執(zhí)行官帕特·基辛格最新的財(cái)報(bào)電話會(huì)議上透露,受晶圓級(jí)封裝產(chǎn)能限制,二季度Ultra處理器
    的頭像 發(fā)表于 05-06 11:04 ?617次閱讀

    英特爾Ultra處理器突破500個(gè)AI模型優(yōu)化

    英特爾最新推出的英特爾? ? Ultra處理器
    的頭像 發(fā)表于 05-09 11:18 ?710次閱讀

    已有超過500款A(yù)I模型英特爾Ultra處理器上得以優(yōu)化運(yùn)行

    近日,英特爾宣布全新英特爾 Ultra處理器
    的頭像 發(fā)表于 05-11 09:31 ?640次閱讀

    英特爾Ultra處理器上優(yōu)化和部署YOLOv8模型

    英特爾 Ultra處理器英特爾公司推出的一個(gè)高端處理
    的頭像 發(fā)表于 05-30 17:16 ?1528次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>英特爾</b><b class='flag-5'>酷</b><b class='flag-5'>睿</b><b class='flag-5'>Ultra</b><b class='flag-5'>處理器</b>上優(yōu)化和<b class='flag-5'>部署</b>YOLOv8<b class='flag-5'>模型</b>

    英特爾Ultra處理器出貨量預(yù)計(jì)飆升

    英特爾中國區(qū)董事長王銳近日透露,英特爾Ultra處理器自問世以來,已經(jīng)
    的頭像 發(fā)表于 06-20 09:23 ?690次閱讀

    英特爾Ultra 200V系列處理器發(fā)布

    英特爾近日隆重推出了其革命性的Ultra 200V系列處理器,這一全新x86處理器家族以超高
    的頭像 發(fā)表于 09-10 16:44 ?486次閱讀

    英特爾發(fā)布Ultra 200S系列臺(tái)式機(jī)處理器

    近日,英特爾正式推出了Ultra 200S系列處理器家族,為臺(tái)式機(jī)平臺(tái)帶來了全新的AI PC功能。此次發(fā)布的
    的頭像 發(fā)表于 10-11 17:36 ?436次閱讀