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
    +关注

    关注

    28

    文章

    4700

    浏览量

    128694
  • 人工智能
    +关注

    关注

    1791

    文章

    46845

    浏览量

    237533
  • 开发板
    +关注

    关注

    25

    文章

    4943

    浏览量

    97188
收藏 人收藏

    评论

    相关推荐

    嵌入式和人工智能究竟是什么关系?

    人工智能的结合,无疑是科技发展中的一场革命。人工智能硬件加速中,嵌入式系统以其独特的优势和重要性,发挥着不可或缺的作用。通过深度学习和神经网络等算法,嵌入式系统能够高效地处理大量数
    发表于 11-14 16:39

    《AI for Science:人工智能驱动科学创新》第6章人AI与能源科学读后感

    幸得一好书,特此来分享。感谢平台,感谢作者。受益匪浅。 阅读《AI for Science:人工智能驱动科学创新》的第6章后,我深刻感受到人工智能在能源科学领域中的巨大潜力和广泛应用。这一章详细
    发表于 10-14 09:27

    AI for Science:人工智能驱动科学创新》第4章-AI与生命科学读后感

    很幸运社区给我一个阅读此书的机会,感谢平台。 《AI for Science:人工智能驱动科学创新》第4章关于AI与生命科学的部分,为我们揭示了人工智能技术在生命科学领域中的广泛应用和深远影响。
    发表于 10-14 09:21

    《AI for Science:人工智能驱动科学创新》第一章人工智能驱动的科学创新学习心得

    ,无疑为读者铺设了一条探索人工智能(AI)如何深刻影响并推动科学创新的道路。阅读这一章后,我深刻感受到了人工智能技术科学领域的广泛应用潜力以及其带来的革命性变化,以下是我个人的学习
    发表于 10-14 09:12

    risc-v人工智能图像处理应用前景分析

    人工智能推荐系统中强大的图形处理器(GPU)一争高下。其独特的设计使得该处理器功耗受限的条件下仍能实现高性能的图像处理任务。 Ceremorphic公司 :该公司开发的分层学习处理器结合了
    发表于 09-28 11:00

    人工智能ai4s试读申请

    目前人工智能在绘画对话等大模型领域应用广阔,ai4s也是方兴未艾。但是如何有效利用ai4s工具助力科研是个需要研究的课题,本书对ai4s基本原理和原则,方法进行描诉,有利于总结经验,拟按照要求准备相关体会材料。看能否有助于入门和提高ss
    发表于 09-09 15:36

    名单公布!【书籍评测活动NO.44】AI for Science:人工智能驱动科学创新

    材料基因组工程的推动下,人工智能如何与材料科学结合,加快传统材料和新型材料的开发过程。 第4章介绍了人工智能在加快药物研发、辅助基因研究方面及合成生物学中的普遍应用。 第5章介绍了
    发表于 09-09 13:54

    FPGA人工智能中的应用有哪些?

    FPGA(现场可编程门阵列)人工智能领域的应用非常广泛,主要体现在以下几个方面: 一、深度学习加速 训练和推理过程加速:FPGA可以用来加速
    发表于 07-29 17:05

    Hailo联手树莓派,开创人工智能新纪元

    近日,人工智能处理器领导品牌Hailo正式宣布与树莓派展开深度合作。Hailo将为树莓派推出专用AI套件,支持树莓派5的全新AI功能。此次强强联合,旨在用精准高效的AI功能帮助广大专业人士和创意爱好者
    的头像 发表于 06-06 16:08 690次阅读

    COP28主席呼吁全球努力利用人工智能的崛起、能源转型和全球南方的增长,加速所有人的可持续发展

    COP28主席Sultan Al Jaber博士巴库能源周开幕式向代表们表示,所有利益相关都需要利用人工智能( AI )的崛起、能源转型和全球南方的增长来
    的头像 发表于 06-04 20:09 473次阅读

    5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V2)

    5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V2) 课程类别 课程名称 视频课程时长 视频课程链接 课件链接 人工智能 参赛基础知识指引 14分50秒 https
    发表于 05-10 16:46

    香橙派推出新款开发板:瑞芯微RK3588S SoC配Orange Pi 5 Pro

    4 月 2 日,香橙派发布了新增款式的 Orange Pi 5 Pro,该新品继承了原先 Orange Pi
    的头像 发表于 04-02 09:57 953次阅读

    5G智能物联网课程之Aidlux下人工智能开发(SC171开发套件V1)

    课程类别 课程名称 视频课程时长 视频课程链接 课件链接 人工智能 参赛基础知识指引 14分50秒 https://t.elecfans.com/v/25508.html *附件:参赛基础知识指引
    发表于 04-01 10:40

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

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

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

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