0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

利用GPU加速在Orange Pi?5上跑LLMs:人工智能愛(ài)好者High翻了!

香橙派 ? 2024-01-22 15:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本期視頻將會(huì)給人工智能愛(ài)好者們帶來(lái)超級(jí)震撼!

視頻中,我們將深入了解利用GPU加速在Orange Pi5上跑LLMs的精彩世界。最近知乎上的一篇文章《利用GPU加速,在Orange Pi上跑LLMs》引起了我們的注意,這篇文章主要展示了GPU加速的LLM在嵌入式設(shè)備上以合適的速度順利運(yùn)行。具體來(lái)說(shuō),是在Orange Pi 5(8G)上,作者通過(guò)機(jī)器學(xué)習(xí)編譯(MLC)技術(shù),實(shí)現(xiàn)了Llama2-7b以2.5 toks/sec的速度運(yùn)行,RedPajama-3b以5 toks/sec運(yùn)行。此外,還在16GB版本的Orange Pi 5上以1.5 tok/sec的速度運(yùn)行Llama-2 13b模型。

下面我們看看他們是如何做到的:

背景

開(kāi)放語(yǔ)言模型的進(jìn)步已經(jīng)催生了跨問(wèn)題回答、翻譯和創(chuàng)意任務(wù)的創(chuàng)新。雖然當(dāng)前的解決方案需要高端的桌面GPU甚至服務(wù)器級(jí)別的GPU來(lái)實(shí)現(xiàn)滿意的性能。但為了使LLM日常使用,我們想了解我們?nèi)绾卧诹畠r(jià)的嵌入式設(shè)備上部署它們。

許多嵌入式設(shè)備配備了移動(dòng)GPU(例如Mali GPU)可以用來(lái)加速LLM的運(yùn)行速度。在這篇文章中,我們選擇了Orange Pi 5,這是一個(gè)基于RK3588的開(kāi)發(fā)板,與Raspberry Pi相似,但也配備了更強(qiáng)大的Mali-G610 GPU。這篇文章總結(jié)了我們首次嘗試?yán)脵C(jī)器學(xué)習(xí)編譯,并為該設(shè)備提供了開(kāi)箱即用的GPU加速。

面向Mali GPU的機(jī)器學(xué)習(xí)編譯

wKgaomWuGSKAXYx7AAIZygnubI8614.png

機(jī)器學(xué)習(xí)編譯(MLC)是一種新興技術(shù),它自動(dòng)編譯和優(yōu)化機(jī)器學(xué)習(xí)工作負(fù)載,并將編譯后的工作負(fù)載部署到廣泛的后端。在寫(xiě)作時(shí),基于Apache TVM Unity,MLC支持的平臺(tái)包括瀏覽器(WebGPU, WASM)、NVIDIA GPU(CUDA)、AMD GPU(ROCm, Vulkan)、Intel GPU(Vulkan)、iOS和MacBooks(Metal)、Android(OpenCL)以及Mali GPU(本文)。

基于通用機(jī)器學(xué)習(xí)編譯實(shí)現(xiàn)Mali代碼生成

MLC是建立在Apache TVM Unity之上的,這是一個(gè)用于在不同硬件和后端上編譯機(jī)器學(xué)習(xí)模型的通用軟件棧。為了將LLM編譯到Mali GPU上,我們復(fù)用了所有現(xiàn)有的編譯流程,沒(méi)有進(jìn)行任何代碼優(yōu)化。更具體地說(shuō),我們成功地部署了Llama-2和RedPajama模型,采取了以下步驟:

·復(fù)用了模型優(yōu)化步驟,包括量化、融合、布局優(yōu)化等;

·復(fù)用了在TVM TensorIR中的定義的通用GPU內(nèi)核優(yōu)化空間,并將其重新運(yùn)用在到Mali GPU;

·復(fù)用了基于TVM的OpenCL代碼生成后端,并將其重新運(yùn)用在到Mali GPU;

·復(fù)用了現(xiàn)有的用戶界面,包括Python API、CLI和REST API。

運(yùn)行方法

本節(jié)提供了一個(gè)分步運(yùn)行指南,以便您可以在自己的Orange Pi設(shè)備上嘗試它。這里我們使用RedPajama-INCITE-Chat-3B-v1-q4f16_1作為運(yùn)行示例。您可以用Llama-2-7b-chat-hf-q4f16_1或Llama-2-13b-chat-hf-q4f16_1(需要16GB的板)來(lái)替換它。

準(zhǔn)備工作

請(qǐng)首先按照這里的指示,為RK3588板設(shè)置OpenCL驅(qū)動(dòng)程序。然后從源代碼克隆MLC-LLM,并下載權(quán)重和預(yù)構(gòu)建的庫(kù)。

# clone mlc-llm from GitHub

git clone --recursive https://github.com/mlc-ai/mlc-llm.git && cd mlc-llm

# Download prebuilt weights and libs

git lfs install

mkdir -p dist/prebuilt && cd dist/prebuilt

git clone https://github.com/mlc-ai/binary-mlc-llm-libs.git lib

git clonehttps://huggingface.co/mlc-ai/mlc-chat-RedPajama-INCITE-Chat-3B-v1-q4f16_1

cd ../../..

使用CLI

從源代碼編譯mlc_llm_cli

cd mlc-llm/

# create build directory

mkdir -p build && cd build

# generate build configuration

python3 ../cmake/gen_cmake_config.py

# build `mlc_chat_cli`

cmake .. && cmake --build . --parallel $(nproc) && cd ..

驗(yàn)證是否編譯成功

# expected to see `mlc_chat_cli`, `libmlc_llm.so` and `libtvm_runtime.so`

ls -l ./build/

# expected to see help message

./build/mlc_chat_cli --help

使用mlc_llm_cli運(yùn)行LLM

./build/mlc_chat_cli --local-id RedPajama-INCITE-Chat-3B-v1-q4f16_1 –device mali

wKgZomWuGSKAU8uVAAH0oewE22c363.png

CLI運(yùn)行截圖

使用Python API

編譯TVM runtime(無(wú)需編譯完整TVM編譯器)

# clone from GitHub

git clone --recursive https://github.com/mlc-ai/relax.git tvm_unity && cd tvm_unity/

# create build directory

mkdir -p build && cd build

# generate build configuration

cp ../cmake/config.cmake . && echo "set(CMAKE_BUILD_TYPE RelWithDebInfo)\nset(USE_OPENCL ON)" >> config.cmake

# build `mlc_chat_cli`

cmake .. && cmake --build . --target runtime --parallel $(nproc) && cd ../..

設(shè)置PYTHONPATH(可按需添加到bashrc或zshrc)

export TVM_HOME=$(pwd)/tvm_unity

export MLC_LLM_HOME=$(pwd)/mlc-llm

export PYTHONPATH=$TVM_HOME/python:$MLC_LLM_HOME/python:${PYTHONPATH}

運(yùn)行下列Python腳本

from mlc_chat import ChatModule

from mlc_chat.callback import StreamToStdout

cm = ChatModule(model="RedPajama-INCITE-Chat-3B-v1-q4f16_1")

# Generate a response for a given prompt

output = cm.generate(

prompt="What is the meaning of life?",

progress_callback=StreamToStdout(callback_interval=2),)

# Print prefill and decode performance statistics

print(f"Statistics: {cm.stats()}\n")

評(píng)論區(qū)Hihg翻了!

這篇文章同時(shí)發(fā)表 Hacker News。在人工智能評(píng)論區(qū),大家的討論熱鬧非凡,令人目不暇接。他們熱烈地討論Orange Pi 5的硬件選項(xiàng)和可擴(kuò)展性,感嘆如此強(qiáng)大的模型,如此實(shí)惠的價(jià)格,將改變游戲規(guī)則,認(rèn)為這一突破將為預(yù)算有限的人工智能愛(ài)好者帶來(lái)了新的可能性。

“這一功能強(qiáng)大的工具使得在Orange Pi 5等設(shè)備上充分發(fā)揮人工智能的潛力變得前所未有的簡(jiǎn)單。對(duì)于開(kāi)發(fā)者和業(yè)余愛(ài)好者來(lái)說(shuō),這都是一個(gè)改變游戲規(guī)則的工具?!?/p>

“通過(guò) GPU加速語(yǔ)言模型編譯,Orange Pi 5已被證明是一款經(jīng)濟(jì)實(shí)惠的人工智能利器。這款設(shè)備擁有令人驚嘆的速度,能以極低的成本運(yùn)行高性能模型,正在徹底改變?nèi)斯ぶ悄茴I(lǐng)域。”

我們欣喜地可以看到,Orange Pi 5正在以其強(qiáng)大的人工智能能力讓越來(lái)越多的人工智能愛(ài)好者加入到創(chuàng)新、創(chuàng)意的世界,不斷進(jìn)行新的實(shí)踐和探索。

聲明:本文內(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)投訴
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4925

    瀏覽量

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

    關(guān)注

    1805

    文章

    48887

    瀏覽量

    247758
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5613

    瀏覽量

    103439
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    輕松上手邊緣AI:MemryX MX3+結(jié)合Orange Pi 5 Plus的C/C++實(shí)戰(zhàn)指南

    AI 和邊緣計(jì)算快速發(fā)展的時(shí)代,MemryX MX3+ 加速卡憑借其 20 TOPS 的強(qiáng)大性能和低功耗(5 TFLOPS/W),成為邊緣智能應(yīng)用的理想選擇。結(jié)合
    的頭像 發(fā)表于 05-28 08:01 ?486次閱讀
    輕松上手邊緣AI:MemryX MX3+結(jié)合<b class='flag-5'>Orange</b> <b class='flag-5'>Pi</b> <b class='flag-5'>5</b> Plus的C/C++實(shí)戰(zhàn)指南

    八大亮點(diǎn)帶你提前“解鎖” 2025全球人工智能終端展!

    人工智能行業(yè)協(xié)會(huì)與深圳會(huì)展中心管理有限責(zé)任公司聯(lián)合主辦,以“智聯(lián)萬(wàn)物·端啟未來(lái)”為主題,匯聚全球頂尖人工智能技術(shù)與智能終端產(chǎn)品,將全方位展示人工智能
    發(fā)表于 05-20 14:15 ?1134次閱讀
    八大亮點(diǎn)帶你提前“解鎖” 2025全球<b class='flag-5'>人工智能</b>終端展!

    上海和晟儀器參與2025人工智能助力PI 及特種高分子產(chǎn)業(yè)對(duì)接論壇

    2025年,人工智能浪潮席卷各行業(yè)之際,“人工智能助力PI及特種高分子產(chǎn)業(yè)對(duì)接論壇”盛大召開(kāi),成為行業(yè)內(nèi)矚目的焦點(diǎn)。上海和晟儀器科技有限公司作為試驗(yàn)機(jī)、環(huán)境類儀器及熱分析儀制造的佼佼
    的頭像 發(fā)表于 04-27 10:05 ?302次閱讀
    上海和晟儀器參與2025<b class='flag-5'>人工智能</b>助力<b class='flag-5'>PI</b> 及特種高分子產(chǎn)業(yè)對(duì)接論壇

    開(kāi)售RK3576 高性能人工智能主板

    ,HDMI-4K 輸出,支 持千兆以太網(wǎng),WiFi,USB 擴(kuò)展/重力感應(yīng)/RS232/RS485/IO 擴(kuò)展/I2C 擴(kuò)展/MIPI 攝像頭/紅外遙控 器等功能,豐富的接口,一個(gè)全新八核擁有超強(qiáng)性能的人工智能
    發(fā)表于 04-23 10:55

    FPV蘑菇頭天線:為何成為FPV愛(ài)好者的首選

    深圳安騰納天線|FPV蘑菇頭天線:為何成為FPV愛(ài)好者的首選
    的頭像 發(fā)表于 03-17 09:06 ?842次閱讀

    Banana Pi 攜手 ArmSoM 推出人工智能加速 RK3576 CM5 計(jì)算模塊

    的直接替代品。 ArmSoM 在其創(chuàng)建過(guò)程中寫(xiě)道:“ArmSoM-CM5 是一款由 Rockchip RK3576 第二代 8nm 高性能 AIOT(人工智能物聯(lián)網(wǎng))平臺(tái)驅(qū)動(dòng)的計(jì)算模塊。它集成了四核
    發(fā)表于 12-11 18:38

    Banana Pi攜手ArmSoM推出人工智能加速 RK3576 CM5

    AIOT(人工智能物聯(lián)網(wǎng))平臺(tái)驅(qū)動(dòng)的計(jì)算模塊。它集成了四核 [Arm] Cortex-A72 @ 2.2GHz 和四核 Cortex-A53 @ 1.8GHz,以及專用的 NEON 協(xié)處理器、6
    的頭像 發(fā)表于 12-11 18:36 ?1294次閱讀
    Banana <b class='flag-5'>Pi</b>攜手ArmSoM推出<b class='flag-5'>人工智能</b><b class='flag-5'>加速</b> RK3576 CM<b class='flag-5'>5</b>

    嵌入式和人工智能究竟是什么關(guān)系?

    人工智能的結(jié)合,無(wú)疑是科技發(fā)展中的一場(chǎng)革命。人工智能硬件加速中,嵌入式系統(tǒng)以其獨(dú)特的優(yōu)勢(shì)和重要性,發(fā)揮著不可或缺的作用。通過(guò)深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)等算法,嵌入式系統(tǒng)能夠高效地處理大量數(shù)
    發(fā)表于 11-14 16:39

    《AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新》第6章人AI與能源科學(xué)讀后感

    幸得一好書(shū),特此來(lái)分享。感謝平臺(tái),感謝作者。受益匪淺。 閱讀《AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新》的第6章后,我深刻感受到人工智能在能源科學(xué)領(lǐng)域中的巨大潛力和廣泛應(yīng)用。這一章詳細(xì)
    發(fā)表于 10-14 09:27

    AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新》第4章-AI與生命科學(xué)讀后感

    很幸運(yùn)社區(qū)給我一個(gè)閱讀此書(shū)的機(jī)會(huì),感謝平臺(tái)。 《AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新》第4章關(guān)于AI與生命科學(xué)的部分,為我們揭示了人工智能技術(shù)在生命科學(xué)領(lǐng)域中的廣泛應(yīng)用和深遠(yuǎn)影響。
    發(fā)表于 10-14 09:21

    《AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新》第一章人工智能驅(qū)動(dòng)的科學(xué)創(chuàng)新學(xué)習(xí)心得

    ,無(wú)疑為讀者鋪設(shè)了一條探索人工智能(AI)如何深刻影響并推動(dòng)科學(xué)創(chuàng)新的道路。閱讀這一章后,我深刻感受到了人工智能技術(shù)科學(xué)領(lǐng)域的廣泛應(yīng)用潛力以及其帶來(lái)的革命性變化,以下是我個(gè)人的學(xué)習(xí)
    發(fā)表于 10-14 09:12

    risc-v人工智能圖像處理應(yīng)用前景分析

    人工智能推薦系統(tǒng)中強(qiáng)大的圖形處理器(GPU)一爭(zhēng)高下。其獨(dú)特的設(shè)計(jì)使得該處理器功耗受限的條件下仍能實(shí)現(xiàn)高性能的圖像處理任務(wù)。 Ceremorphic公司 :該公司開(kāi)發(fā)的分層學(xué)習(xí)處理器結(jié)合了
    發(fā)表于 09-28 11:00

    人工智能ai4s試讀申請(qǐng)

    目前人工智能在繪畫(huà)對(duì)話等大模型領(lǐng)域應(yīng)用廣闊,ai4s也是方興未艾。但是如何有效利用ai4s工具助力科研是個(gè)需要研究的課題,本書(shū)對(duì)ai4s基本原理和原則,方法進(jìn)行描訴,有利于總結(jié)經(jīng)驗(yàn),擬按照要求準(zhǔn)備相關(guān)體會(huì)材料??茨芊裼兄谌腴T(mén)和提高ss
    發(fā)表于 09-09 15:36

    名單公布!【書(shū)籍評(píng)測(cè)活動(dòng)NO.44】AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新

    材料基因組工程的推動(dòng)下,人工智能如何與材料科學(xué)結(jié)合,加快傳統(tǒng)材料和新型材料的開(kāi)發(fā)過(guò)程。 第4章介紹了人工智能在加快藥物研發(fā)、輔助基因研究方面及合成生物學(xué)中的普遍應(yīng)用。 第5章介紹了
    發(fā)表于 09-09 13:54

    FPGA人工智能中的應(yīng)用有哪些?

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)人工智能領(lǐng)域的應(yīng)用非常廣泛,主要體現(xiàn)在以下幾個(gè)方面: 一、深度學(xué)習(xí)加速 訓(xùn)練和推理過(guò)程加速:FPGA可以用來(lái)加速
    發(fā)表于 07-29 17:05

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品