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

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

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

使用OpenVINO?在你的本地設(shè)備上離線運(yùn)行Llama3之快手指南

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

人工智能領(lǐng)域,大型語(yǔ)言模型(LLMs)的發(fā)展速度令人震驚。2024年4月18日,Meta正式開(kāi)源了LLama系列的新一代大模型Llama3,在這一領(lǐng)域中樹(shù)立了新的里程碑。Llama3不僅繼承了先前模型的強(qiáng)大能力,還通過(guò)技術(shù)革新,在多模態(tài)理解、長(zhǎng)文本處理及語(yǔ)言生成等多個(gè)方面實(shí)現(xiàn)了質(zhì)的飛躍。Llama3的開(kāi)放性和靈活性也為開(kāi)發(fā)者提供了前所未有的便利。無(wú)論是進(jìn)行模型微調(diào),還是集成到現(xiàn)有的系統(tǒng)中,Llama3都展現(xiàn)了極高的適應(yīng)性和易用性。

除此之外,提到Llama3模型的部署,除了將其部署在云端之外,模型的本地化部署可以讓開(kāi)發(fā)者能夠在不依賴(lài)云計(jì)算資源的情況下,實(shí)現(xiàn)數(shù)據(jù)處理和大模型運(yùn)算的高效率和高隱私性。利用OpenVINO部署Llama3到本地計(jì)算資源,例如AI PC,不僅意味著更快的響應(yīng)速度和更低的運(yùn)行成本,還能有效地保護(hù)數(shù)據(jù)安全,防止敏感信息外泄。這對(duì)于需要處理高度敏感數(shù)據(jù)的應(yīng)用場(chǎng)景尤其重要,如醫(yī)療、金融和個(gè)人助理等領(lǐng)域。

本文將在簡(jiǎn)要介紹Llama3模型的基礎(chǔ)上,重點(diǎn)介紹如何使用 OpenVINO 對(duì)Llama3模型進(jìn)行優(yōu)化和推理加速,并將其部署在本地的設(shè)備上,進(jìn)行更快、更智能推理的 AI 推理。

Llama3模型簡(jiǎn)介

Llama3提供了多種參數(shù)量級(jí)的模型,如8B和70B參數(shù)模型。其核心特點(diǎn)和優(yōu)勢(shì)可總結(jié)如下:

1

先進(jìn)的能力與強(qiáng)大的性能

Llama3模型提供了在推理、語(yǔ)言生成和代碼執(zhí)行等方面的SOTA性能,為大型語(yǔ)言模型(LLMs)設(shè)定了新的行業(yè)標(biāo)準(zhǔn)。

2

增強(qiáng)的效率

采用僅解碼器的Transformer架構(gòu)與群組查詢(xún)注意力(GQA),優(yōu)化了語(yǔ)言編碼效率和計(jì)算資源使用,適用于大規(guī)模AI任務(wù)。

3

全面的訓(xùn)練與調(diào)優(yōu)

在超過(guò)15萬(wàn)億的tokens上進(jìn)行預(yù)訓(xùn)練,并通過(guò)SFT和PPO等創(chuàng)新的指令微調(diào)技術(shù),Llama3在處理復(fù)雜的多語(yǔ)言任務(wù)和多樣化的AI應(yīng)用中表現(xiàn)卓越。

4

開(kāi)源社區(qū)焦點(diǎn)

作為Meta開(kāi)源倡議的一部分發(fā)布,Llama3鼓勵(lì)社區(qū)參與和創(chuàng)新,開(kāi)發(fā)者可以輕松訪問(wèn)其生態(tài)系統(tǒng)并貢獻(xiàn)其發(fā)展。

利用 OpenVINO優(yōu)化和加速推理

如前所述,部署Llama3模型到本地設(shè)備上,不僅意味著更快的響應(yīng)速度和更低的運(yùn)行成本,還能有效地保護(hù)數(shù)據(jù)安全,防止敏感信息外泄。因此,本文將重點(diǎn)介紹如何利用OpenVINO將Llama3模型進(jìn)行優(yōu)化后部署到本地的設(shè)備上。這個(gè)過(guò)程包括以下具體步驟,使用的是我們常用的 OpenVINO Notebooks GitHub倉(cāng)庫(kù)[1]中的llm-chatbot 代碼示例。詳細(xì)信息和完整的源代碼可以在這里[2]找到。

[1]OpenVINO Notebooks GitHub倉(cāng)庫(kù)

https://github.com/openvinotoolkit/openvino_notebooks/tree/latest

[2] 詳細(xì)信息與完整源代碼

https://github.com/openvinotoolkit/openvino_notebooks/tree/latest/notebooks/llm-chatbot

1

由安裝必要的依賴(lài)包開(kāi)始

運(yùn)行 OpenVINO Notebooks 倉(cāng)庫(kù)的具體安裝指南[3]在這里。運(yùn)行這個(gè)llm-chatbot 的代碼示例,需要安裝以下必要的依賴(lài)包。

[3] 具體的安裝指南

https://github.com/openvinotoolkit/openvino_notebooks?tab=readme-ov-file#-installation-guide

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

2

選擇推理的模型

由于我們?cè)?Jupyter Notebook 演示中提供了一組由 OpenVINO 支持的 多語(yǔ)種的大預(yù)言模型,您可以從下拉框中首先選擇語(yǔ)言。針對(duì)Llama3,我們選擇英語(yǔ)。

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

接下來(lái)選擇 “l(fā)lama-3-8b-instruct” 來(lái)運(yùn)行該模型的其余優(yōu)化和推理加速步驟。當(dāng)然,很容易切換到其他列出的任意模型。

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

3

使用 Optimum-CLI進(jìn)行模型轉(zhuǎn)換

Optimum Intel 是 Hugging Face Transformers 和 Diffuser 庫(kù)與 OpenVINO 之間的接口,用于加速 Intel 體系結(jié)構(gòu)上的端到端流水線。它提供了易于使用的cli接口,即命令行接口,用于將模型導(dǎo)出為OpenVINO中間表示(IR)格式。使用下面的一行命令,就可以完成模型的導(dǎo)出。

optimum-cli export openvino --model  --task  

其中,--model參數(shù)是來(lái)自HuggingFace Hub的模型ID或帶有模型ID的已經(jīng)將模型下載到本地目錄的路徑地址(使用.save_pretrained方法保存),--task是導(dǎo)出模型應(yīng)解決的支持任務(wù)之一。對(duì)于LLM,它將是text-generation-with-past。如果模型初始化需要使用遠(yuǎn)程代碼,則應(yīng)額外傳遞--trust-remote-code遠(yuǎn)程代碼標(biāo)志。

4

模型權(quán)重壓縮

盡管像 Llama-3-8B-Instruct 這樣的 LLM 在理解和生成類(lèi)人文本方面變得越來(lái)越強(qiáng)大和復(fù)雜,但管理和部署這些模型在計(jì)算資源、內(nèi)存占用、推理速度等方面帶來(lái)了關(guān)鍵挑戰(zhàn),尤其是對(duì)于AI PC這種客戶(hù)端設(shè)備。權(quán)重壓縮算法旨在壓縮模型的權(quán)重,并可用于優(yōu)化大型模型的模型占用空間和性能,其中權(quán)重的大小相對(duì)大于激活的大小,例如大型語(yǔ)言模型(LLM)。與INT8壓縮相比,INT4壓縮可以進(jìn)一步壓縮模型大小,并提升文本生成性能,但預(yù)測(cè)質(zhì)量略有下降。因此,在這里我們選擇模型權(quán)重壓縮為INT4精度。

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

5

使用 Optimum-CLI進(jìn)行權(quán)重壓縮

當(dāng)使用Optimum-CLI導(dǎo)出模型時(shí),您還可以選擇在線性、卷積和嵌入層上應(yīng)用FP16、INT8位或INT4位權(quán)重壓縮。使用方法非常的簡(jiǎn)便,就是將--weight格式分別設(shè)置為fp16、int8或int4。這種類(lèi)型的優(yōu)化允許減少內(nèi)存占用和推理延遲。默認(rèn)情況下,int8/int4的量化方案將是不對(duì)稱(chēng)的量化壓縮。如果您需要使用對(duì)稱(chēng)壓縮,可以添加--sym。

對(duì)Llama-3-8B-Instruct模型進(jìn)行INT4量化,我們指定以下參數(shù):

compression_configs = {
    "llama-3-8b-instruct": {
      "sym": True,
      "group_size": 128,
      "ratio": 0.8,
    },
}

--group size參數(shù)將定義用于量化的組大小,為128。

--ratio參數(shù)控制4位和8位量化之間的比率。這意味著80%的層將被量化為int4,而20%的層將量化為int8。

運(yùn)行Optimum-CLI進(jìn)行模型的下載及權(quán)重壓縮的命令如下:

optimum-cli export openvino --model "llama-3-8b-instruct" --task text-generation-with-past --weight-format int4 --group-size 128 --ratio 0.8 –sym

運(yùn)行上述命令后,模型將從Hugging Face Hub自動(dòng)下載Llama-3-8B-Instruct模型,并進(jìn)行相應(yīng)的模型壓縮操作。

對(duì)于模型下載有困難的開(kāi)發(fā)者,也可以從ModelScope開(kāi)源社區(qū)的以下鏈接:

Meta-Llama-3-8B-Instruct:

https://modelscope.cn/models/LLM-Research/Meta-Llama-3-8B-Instruct

Meta-Llama-3-70B-Instruct:

https://modelscope.cn/models/LLM-Research/Meta-Llama-3-70B-Instruct

通過(guò)Git的方式進(jìn)行下載:

git clone https://www.modelscope.cn/LLM-Research/Meta-Llama-3-8B-Instruct.git

經(jīng)過(guò)權(quán)重壓縮后,我們可以看到,8B模型的體積大小已經(jīng)被壓縮為僅有5GB左右。

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

6

選擇推理設(shè)備和模型變體

由于 OpenVINO 能夠在一系列硬件設(shè)備上輕松部署,因此還提供了一個(gè)下拉框供您選擇將在其上運(yùn)行推理的設(shè)備。考慮到要對(duì)模型尺寸和性能需求,在這里我們選擇搭載了英特爾酷睿 Ultra7 155H處理器的 AI PC上的GPU 作為推理設(shè)備。

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

7

使用 Optimum Intel 實(shí)例化模型

Optimum Intel可用于從將下載到本地并完成了權(quán)重壓縮后的模型進(jìn)行加載,并創(chuàng)建推理流水線,通過(guò)Hugging FaceAPI使用OpenVINO Runtime運(yùn)行推理。在這種情況下,這意味著我們只需要將 AutoModelForXxx 類(lèi)替換為相應(yīng)的 OVModelForXxx 類(lèi)。

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

8

運(yùn)行聊天機(jī)器人

現(xiàn)在萬(wàn)事具備,在這個(gè) Notebook 代碼示例中我們還提供了一個(gè)基于 Gradio 的用戶(hù)友好的界面?,F(xiàn)在就讓我們把聊天機(jī)器人運(yùn)行起來(lái)吧。

f02fb4b8-030b-11ef-a297-92fbcf53809c.gif

小結(jié)

整個(gè)的步驟就是這樣!現(xiàn)在就開(kāi)始跟著我們提供的代碼和步驟,動(dòng)手試試用 OpenVINO 在本地設(shè)備上運(yùn)行基于Llama3大語(yǔ)言模型的聊天機(jī)器人吧。



審核編輯:劉清

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

    關(guān)注

    1791

    文章

    47274

    瀏覽量

    238467
  • 聊天機(jī)器人
    +關(guān)注

    關(guān)注

    0

    文章

    339

    瀏覽量

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

    關(guān)注

    2

    文章

    2448

    瀏覽量

    2701
  • OpenVINO
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    201

原文標(biāo)題:使用OpenVINO?在你的本地設(shè)備上離線運(yùn)行Llama3之快手指南 | 開(kāi)發(fā)者實(shí)戰(zhàn)

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【飛騰派4G版免費(fèi)試用】仙女姐姐的嵌入式實(shí)驗(yàn)室五~LLaMA.cpp及3B“小模型”O(jiān)penBuddy-StableLM-3B

    目使用了C++重寫(xiě)了LLaMA模型,使其能夠在硬件較弱的設(shè)備使用CPU運(yùn)行LLaMA模型,不需要較高的顯卡性能 獲取
    發(fā)表于 12-22 10:18

    無(wú)法在AMD Ryzen CPU運(yùn)行OpenVINO trade怎么解決?

    在 AMD Ryzen CPU 運(yùn)行OpenVINO?推理。 收到錯(cuò)誤消息: libva error: vaGetDriverNameByIndex() failed with unknown libva error, dr
    發(fā)表于 08-15 06:46

    在Raspberry Pi從源代碼構(gòu)建OpenVINO 2021.3收到錯(cuò)誤怎么解決?

    在 Raspberry Pi 從源代碼構(gòu)建 OpenVINO?2021.3。 運(yùn)行OpenVINO?推理,并收到錯(cuò)誤消息: ModuleNotFoundError:沒(méi)有
    發(fā)表于 08-15 08:24

    無(wú)法在OpenVINO trade Docker中運(yùn)行OpenCV怎么解決?

    運(yùn)行命令:docker run -ditu root:root --name=openvino -h \"openvino\" --privileged \\ --device
    發(fā)表于 08-15 08:29

    了解快手作品是否熱門(mén)的3種方法

    ? ? ? ?很多小伙伴發(fā)布作品之后,就一心撲在快手作品,看自己的快手評(píng)論、快手點(diǎn)贊、快手播放的數(shù)量情況如何,那么我們?cè)趺粗雷约旱?/div>
    發(fā)表于 03-27 11:30 ?3928次閱讀

    快手指優(yōu)先開(kāi)源硬件設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《最快手指優(yōu)先開(kāi)源硬件設(shè)計(jì).zip》資料免費(fèi)下載
    發(fā)表于 06-09 10:36 ?0次下載
    最<b class='flag-5'>快手指</b>優(yōu)先開(kāi)源硬件設(shè)計(jì)

    百度智能云國(guó)內(nèi)首家支持Llama3全系列訓(xùn)練推理!

    4月18日,Meta 正式發(fā)布 Llama 3,包括8B 和 70B 參數(shù)的大模型,官方號(hào)稱(chēng)有史以來(lái)最強(qiáng)大的開(kāi)源大模型。
    的頭像 發(fā)表于 04-20 09:20 ?405次閱讀
    百度智能云國(guó)內(nèi)首家支持<b class='flag-5'>Llama3</b>全系列訓(xùn)練推理!

    Llama 3 王者歸來(lái),Airbox 率先支持部署

    前天,智算領(lǐng)域迎來(lái)一則令人振奮的消息:Meta正式發(fā)布了備受期待的開(kāi)源大模型——Llama3Llama3的卓越性能Meta表示,Llama3在多個(gè)關(guān)鍵基準(zhǔn)測(cè)試中展現(xiàn)出卓越性能,超越了業(yè)內(nèi)先進(jìn)的同類(lèi)
    的頭像 發(fā)表于 04-22 08:33 ?647次閱讀
    <b class='flag-5'>Llama</b> <b class='flag-5'>3</b> 王者歸來(lái),Airbox 率先支持部署

    高通支持Meta Llama 3在驍龍終端上運(yùn)行

    高通與Meta攜手合作,共同推動(dòng)Meta的Llama 3大語(yǔ)言模型(LLM)在驍龍驅(qū)動(dòng)的各類(lèi)終端設(shè)備實(shí)現(xiàn)高效運(yùn)行。此次合作致力于優(yōu)化
    的頭像 發(fā)表于 05-09 10:37 ?434次閱讀

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

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

    【AIBOX上手指南】快速部署Llama3

    Firefly開(kāi)源團(tuán)隊(duì)推出了Llama3部署包,提供簡(jiǎn)易且完善的部署教程,過(guò)程無(wú)需聯(lián)網(wǎng),簡(jiǎn)單快捷完成本地化部署。點(diǎn)擊觀看Llama3快速部署教程:Step.1準(zhǔn)備部署包進(jìn)入Firefly下載中心
    的頭像 發(fā)表于 06-06 08:02 ?666次閱讀
    【AIBOX上<b class='flag-5'>手指南</b>】快速部署<b class='flag-5'>Llama3</b>

    源2.0-M32大模型發(fā)布量化版 運(yùn)行顯存僅需23GB 性能可媲美LLaMA3

    北京2024年8月23日?/美通社/ -- 近日,浪潮信息發(fā)布源2.0-M32大模型4bit和8bit量化版,性能比肩700億參數(shù)的LLaMA3開(kāi)源大模型。4bit量化版推理運(yùn)行顯存僅需
    的頭像 發(fā)表于 08-25 22:06 ?313次閱讀
    源2.0-M32大模型發(fā)布量化版 <b class='flag-5'>運(yùn)行</b>顯存僅需23GB 性能可媲美<b class='flag-5'>LLaMA3</b>

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

    前面我們分享了《三步完成Llama3在算力魔方的本地量化和部署》。2024年9月25日,Meta又發(fā)布了Llama3.2:一個(gè)多語(yǔ)言大型語(yǔ)言模型(LLMs)的集合。
    的頭像 發(fā)表于 10-12 09:39 ?588次閱讀
    使用<b class='flag-5'>OpenVINO</b> 2024.4在算力魔方上部署<b class='flag-5'>Llama</b>-3.2-1B-Instruct模型

    如何使用 Llama 3 進(jìn)行文本生成

    使用LLaMA 3(Large Language Model Family of AI Alignment)進(jìn)行文本生成,可以通過(guò)以下幾種方式實(shí)現(xiàn),取決于你是否愿意在本地運(yùn)行模型或者使
    的頭像 發(fā)表于 10-27 14:21 ?388次閱讀

    用Ollama輕松搞定Llama 3.2 Vision模型本地部署

    Ollama 是一個(gè)開(kāi)源的大語(yǔ)言模型服務(wù)工具,它的核心目的是簡(jiǎn)化大語(yǔ)言模型(LLMs)的本地部署和運(yùn)行過(guò)程,請(qǐng)參考《Gemma 2+Ollama在算力魔方幫你在LeetCode解題》,一條命令完成
    的頭像 發(fā)表于 11-23 17:22 ?1044次閱讀
    用Ollama輕松搞定<b class='flag-5'>Llama</b> 3.2 Vision模型<b class='flag-5'>本地</b>部署