0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用GPU加速在Orange Pi 5上跑LLMs:人工智能爱好者High翻了!

香橙派 2024-01-22 15:29 次阅读

本期视频将会给人工智能爱好者们带来超级震撼!

视频中,我们将深入了解利用GPU加速在Orange Pi5上跑LLMs的精彩世界。最近知乎上的一篇文章《利用GPU加速,在Orange Pi上跑LLMs》引起了我们的注意,这篇文章主要展示了GPU加速的LLM在嵌入式设备上以合适的速度顺利运行。具体来说,是在Orange Pi 5(8G)上,作者通过机器学习编译(MLC)技术,实现了Llama2-7b以2.5 toks/sec的速度运行,RedPajama-3b以5 toks/sec运行。此外,还在16GB版本的Orange Pi 5上以1.5 tok/sec的速度运行Llama-2 13b模型。

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

背景

开放语言模型的进步已经催生了跨问题回答、翻译和创意任务的创新。虽然当前的解决方案需要高端的桌面GPU甚至服务器级别的GPU来实现满意的性能。但为了使LLM日常使用,我们想了解我们如何在廉价的嵌入式设备上部署它们。

许多嵌入式设备配备了移动GPU(例如Mali GPU)可以用来加速LLM的运行速度。在这篇文章中,我们选择了Orange Pi 5,这是一个基于RK3588的开发板,与Raspberry Pi相似,但也配备了更强大的Mali-G610 GPU。这篇文章总结了我们首次尝试利用机器学习编译,并为该设备提供了开箱即用的GPU加速。

面向Mali GPU的机器学习编译

wKgaomWuGSKAXYx7AAIZygnubI8614.png

机器学习编译(MLC)是一种新兴技术,它自动编译和优化机器学习工作负载,并将编译后的工作负载部署到广泛的后端。在写作时,基于Apache TVM Unity,MLC支持的平台包括浏览器(WebGPU, WASM)、NVIDIA GPU(CUDA)、AMD GPU(ROCm, Vulkan)、Intel GPU(Vulkan)、iOS和MacBooks(Metal)、Android(OpenCL)以及Mali GPU(本文)。

基于通用机器学习编译实现Mali代码生成

MLC是建立在Apache TVM Unity之上的,这是一个用于在不同硬件和后端上编译机器学习模型的通用软件栈。为了将LLM编译到Mali GPU上,我们复用了所有现有的编译流程,没有进行任何代码优化。更具体地说,我们成功地部署了Llama-2和RedPajama模型,采取了以下步骤:

·复用了模型优化步骤,包括量化、融合、布局优化等;

·复用了在TVM TensorIR中的定义的通用GPU内核优化空间,并将其重新运用在到Mali GPU;

·复用了基于TVM的OpenCL代码生成后端,并将其重新运用在到Mali GPU;

·复用了现有的用户界面,包括Python API、CLI和REST API。

运行方法

本节提供了一个分步运行指南,以便您可以在自己的Orange Pi设备上尝试它。这里我们使用RedPajama-INCITE-Chat-3B-v1-q4f16_1作为运行示例。您可以用Llama-2-7b-chat-hf-q4f16_1或Llama-2-13b-chat-hf-q4f16_1(需要16GB的板)来替换它。

准备工作

请首先按照这里的指示,为RK3588板设置OpenCL驱动程序。然后从源代码克隆MLC-LLM,并下载权重和预构建的库。

# 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 ..

验证是否编译成功

# 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运行LLM

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

wKgZomWuGSKAU8uVAAH0oewE22c363.png

CLI运行截图

使用Python API

编译TVM runtime(无需编译完整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 ../..

设置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}

运行下列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")

评论区Hihg翻了!

这篇文章同时发表 Hacker News。在人工智能评论区,大家的讨论热闹非凡,令人目不暇接。他们热烈地讨论Orange Pi 5的硬件选项和可扩展性,感叹如此强大的模型,如此实惠的价格,将改变游戏规则,认为这一突破将为预算有限的人工智能爱好者带来了新的可能性。

“这一功能强大的工具使得在Orange Pi 5等设备上充分发挥人工智能的潜力变得前所未有的简单。对于开发者和业余爱好者来说,这都是一个改变游戏规则的工具。”

“通过 GPU加速语言模型编译,Orange Pi 5已被证明是一款经济实惠的人工智能利器。这款设备拥有令人惊叹的速度,能以极低的成本运行高性能模型,正在彻底改变人工智能领域。”

我们欣喜地可以看到,Orange Pi 5正在以其强大的人工智能能力让越来越多的人工智能爱好者加入到创新、创意的世界,不断进行新的实践和探索。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4424

    浏览量

    126724
  • 人工智能
    +关注

    关注

    1776

    文章

    43899

    浏览量

    230645
  • 开发板
    +关注

    关注

    25

    文章

    4437

    浏览量

    94084
收藏 人收藏

    评论

    相关推荐

    5G智能物联网课程之Aidlux下人工智能开发

    ://t.elecfans.com/v/25653.html 人工智能 5G AIoT技术实践入门与探索(1) 15分34秒 https://t.elecfans.com/v/27207.html
    发表于 04-01 10:40

    FPGA深度学习应用中或将取代GPU

    ,并在运算速度和吞吐量方面提供了更高的性能。它们的使用寿命也更长,大约是 GPU 的 2-5 倍,并且对恶劣环境和其它特殊环境因素有更强的适应性。 有一些公司已经在他们的人工智能产品中使用了 FPGA
    发表于 03-21 15:19

    嵌入式人工智能的就业方向有哪些?

    嵌入式人工智能的就业方向有哪些? 新一轮科技革命与产业变革的时代背景下,嵌入式人工智能成为国家新型基础建设与传统产业升级的核心驱动力。同时在此背景驱动下,众多名企也纷纷嵌入式
    发表于 02-26 10:17

    Orange Pi OS(OH)发布,开源鸿蒙PC端来了!

    正式向大家宣布一个喜讯:基于OpenHarmony定制研发的Orange Pi OS(OH)即将发布!日前,迅龙开源鸿蒙的工程师团队已经搭载RK3566的开发板Orange
    发表于 10-26 11:32

    ai人工智能机器人

    随着时间的推移,人工智能的发展越来越成熟,智能时代也离人们越来越近,近几年人工智能越来越火爆,人工智能的应用已经开始渗透到各行各业,与生活交融,成为人们无法拒绝,无法失去的一个重要存在
    发表于 09-21 11:09

    Orange Pi Zero用户手册

    1. 什么是 Orange Pi zero 香橙派是一款开源的单板卡片电脑,新一代的 arm 开发板,它可以运行Android 4.4、Ubuntu、Debian 等操作系统,兼容树莓派。香橙派单板
    发表于 09-19 06:54

    《通用人工智能:初心与未来》-试读报告

    作者给出的结论。整体读下来,可以给我们关于通用人工智能全面的了解。作者也反复强调了通用人工智能与专用智能的区别。尤其是人们错误的认为一堆专用智能堆砌起来就是通用
    发表于 09-18 10:02

    基于Orange Pi 5 Plus的DEEPX人工智能产品亮相世界人工智能硬件与边缘AI峰会

    嵌入式平台相连,展示了在机器人上运行的人工智能算法。据美通社报道,DEEPX通过推出突破GPU限制的创新边缘AI开发套件,在创建广阔的边缘AI生态系统方面取得了重
    的头像 发表于 09-15 18:08 469次阅读
    基于<b class='flag-5'>Orange</b> <b class='flag-5'>Pi</b> 5 Plus的DEEPX<b class='flag-5'>人工智能</b>产品亮相世界<b class='flag-5'>人工智能</b>硬件与边缘AI峰会

    Orange Pi Lite用户手册

    电子发烧友网站提供《Orange Pi Lite用户手册.pdf》资料免费下载
    发表于 09-15 16:10 0次下载
    <b class='flag-5'>Orange</b> <b class='flag-5'>Pi</b> Lite用户手册

    可以VisionFive 2玩PSP游戏啦!欢迎各位游戏爱好者体验

    PPSSPP社区和赛昉科技软件团队的共同努力下,PPSSPP 9月最新发布的1.16版本中增加了基于IR的全新RISC-V JIT后端,现在各位游戏爱好者们可以VisionFive 2
    发表于 09-11 17:17

    如何将人工智能应用到效能评估系统软件中去解决

    ,我们可以将其应用到效能评估系统中,进一步提高效能评估的准确性和实用性。   华盛恒辉可以利用人工智能技术,通过对大量数据的分析,来识别和评估各个业务环节的表现,从而对效能进行评估和监测。此外,我们还可
    发表于 08-30 12:58

    AI 人工智能的未来在哪?

    人工智能、AI智能大模型已经孵化;繁衍过程将突飞猛进,ChatGPT已经上线。 世界首富马斯克认为AI对人类是一种威胁;谷歌前CEO施密特认为AI和机器学习对人类有很大益处。 每个国家对核武器的运用有两面性,可造可控;但AI智能
    发表于 06-27 10:48

    【书籍评测活动NO.16】 通用人工智能:初心与未来

    的新一波人工智能正在兴起。自然语言处理、人脸识别、自动驾驶、无人系统等复杂人工智能任务相继取得大的突破,人工智能在很多特定问题(如围棋、《星际争霸》游戏、医疗诊断等)的解决甚至超过了
    发表于 06-21 14:41

    人工智能一例

    这句话里边有几个参数? 如果x=1则执行a 如果是单计算的话只有1这一个参数。 但如果是人工智能的话有如下几个参数, 逻辑门,如果则 未知数,符号x 常量,1 函数,a 很多复杂的智能都可以如此拆分
    发表于 06-10 01:05

    【EASY EAI Nano人工智能开发套件试用体验】EASY EAI Nano人工智能开发套件开箱及硬件初体验

    今天收到了EASY EAI Nano人工智能开发套件,为大家做个开箱及硬件评测。 打开快递包装,引入眼帘的是一个设计精美蓝色的大盒子,盒子里有EASY EAI Nano人工智能开发板、天线、喇叭
    发表于 05-31 19:18