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

    文章

    5099

    浏览量

    134468
  • 人工智能
    +关注

    关注

    1813

    文章

    49741

    浏览量

    261570
  • 开发板
    +关注

    关注

    25

    文章

    6125

    浏览量

    113386
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    利用超微型 Neuton ML 模型解锁 SoC 边缘人工智能

    的框架小 10 倍,速度也快 10 倍,甚至可以最先进的边缘设备上进行人工智能处理。在这篇博文中,我们将介绍这对开发人员意味着什么,以及使用 Neuton 模型如何改进您的开发和终端
    发表于 08-31 20:54

    中科创达旗下创通联达即将举办RUBIK Pi 3端侧人工智能技术巡演

    人工智能技术加速向端侧渗透,驱动产业智能化转型的战略机遇期,全球领先的智能物联网产品和解决方案提供商Thundercomm(创通联达)将于
    的头像 发表于 08-15 15:56 932次阅读

    挖到宝了!人工智能综合实验箱,高校新工科的宝藏神器

    和生态体系带到使用身边 ,让我们技术学习和使用上不再受制于人。 三、多模态实验,解锁AI全流程 它嵌入了2D视觉、深度视觉、机械手臂、语音识别、嵌入式传感器等多种类AI模块,涵盖人工智能领域主要
    发表于 08-07 14:30

    挖到宝了!比邻星人工智能综合实验箱,高校新工科的宝藏神器!

    和生态体系带到使用身边 ,让我们技术学习和使用上不再受制于人。 三、多模态实验,解锁AI全流程 它嵌入了2D视觉、深度视觉、机械手臂、语音识别、嵌入式传感器等多种类AI模块,涵盖人工智能领域主要
    发表于 08-07 14:23

    关于人工智能处理器的11个误解

    应用,以及哪些是真实情况而哪些只是炒作,仍存在诸多误解。GPU是最佳的人工智能处理器尽管GPU人工智能的实现过程中发挥了关键作用,而且如今
    的头像 发表于 08-07 13:21 879次阅读
    关于<b class='flag-5'>人工智能</b>处理器的11个误解

    轻松上手边缘AI:MemryX MX3+结合Orange Pi 5 Plus的C/C++实战指南

    AI 和边缘计算快速发展的时代,MemryX MX3+ 加速卡凭借其 20 TOPS 的强大性能和低功耗(5 TFLOPS/W),成为边缘智能应用的理想选择。结合
    的头像 发表于 05-28 08:01 1014次阅读
    轻松上手边缘AI:MemryX MX3+结合<b class='flag-5'>Orange</b> <b class='flag-5'>Pi</b> <b class='flag-5'>5</b> Plus的C/C++实战指南

    八大亮点带你提前“解锁” 2025全球人工智能终端展!

    人工智能行业协会与深圳会展中心管理有限责任公司联合主办,以“智联万物·端启未来”为主题,汇聚全球顶尖人工智能技术与智能终端产品,将全方位展示人工智能
    发表于 05-20 14:15 1366次阅读
    八大亮点带你提前“解锁” 2025全球<b class='flag-5'>人工智能</b>终端展!

    上海和晟仪器参与2025人工智能助力PI 及特种高分子产业对接论坛

    2025年,人工智能浪潮席卷各行业之际,“人工智能助力PI及特种高分子产业对接论坛”盛大召开,成为行业内瞩目的焦点。上海和晟仪器科技有限公司作为试验机、环境类仪器及热分析仪制造的佼佼
    的头像 发表于 04-27 10:05 605次阅读
    上海和晟仪器参与2025<b class='flag-5'>人工智能</b>助力<b class='flag-5'>PI</b> 及特种高分子产业对接论坛

    开售RK3576 高性能人工智能主板

    ,HDMI-4K 输出,支 持千兆以太网,WiFi,USB 扩展/重力感应/RS232/RS485/IO 扩展/I2C 扩展/MIPI 摄像头/红外遥控 器等功能,丰富的接口,一个全新八核拥有超强性能的人工智能
    发表于 04-23 10:55

    Cognizant将与NVIDIA合作部署神经人工智能平台,加速企业人工智能应用

    -Cognizant将与NVIDIA合作部署神经人工智能平台,加速企业人工智能应用 Cognizant将在关键增长领域提供解决方案,包括企业级AI智能体、定制化行业大型语言模型及搭载N
    的头像 发表于 03-26 14:42 578次阅读
    Cognizant将与NVIDIA合作部署神经<b class='flag-5'>人工智能</b>平台,<b class='flag-5'>加速</b>企业<b class='flag-5'>人工智能</b>应用

    如何在 Raspberry Pi 5 设置 Raspberry Pi AI Kit

    本指南将帮助您在RaspberryPi5安装RaspberryPiAIKit。这将使您能够使用HailoAI神经网络加速器运行rpicam-apps摄像头演示。如果您在开始安装人工智能
    的头像 发表于 03-25 09:44 568次阅读
    如何在 Raspberry <b class='flag-5'>Pi</b> <b class='flag-5'>5</b> <b class='flag-5'>上</b>设置 Raspberry <b class='flag-5'>Pi</b> AI Kit

    FPV蘑菇头天线:为何成为FPV爱好者的首选

    深圳安腾纳天线|FPV蘑菇头天线:为何成为FPV爱好者的首选
    的头像 发表于 03-17 09:06 1758次阅读

    《CST Studio Suite 2024 GPU加速计算指南》

    。 2. 操作系统支持:CST Studio Suite不同操作系统持续测试,可在支持的操作系统使用GPU计算,具体参考相关文档。 3. 许可证:
    发表于 12-16 14:25

    Banana Pi 携手 ArmSoM 推出人工智能加速 RK3576 CM5 计算模块

    的直接替代品。 ArmSoM 在其创建过程中写道:“ArmSoM-CM5 是一款由 Rockchip RK3576 第二代 8nm 高性能 AIOT(人工智能物联网)平台驱动的计算模块。它集成了四核
    发表于 12-11 18:38

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

    AIOT(人工智能物联网)平台驱动的计算模块。它集成了四核 [Arm] Cortex-A72 @ 2.2GHz 和四核 Cortex-A53 @ 1.8GHz,以及专用的 NEON 协处理器、6
    的头像 发表于 12-11 18:36 2769次阅读
    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>