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

news2024/11/7 17:54:48

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

视频中,我们将深入了解利用GPU加速在Orange Pi 5上跑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的机器学习编译

在这里插入图片描述

机器学习编译(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,并下载权重和预构建的库。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用CLI

在这里插入图片描述
在这里插入图片描述
CLI 运行截图

使用Python API

在这里插入图片描述
在这里插入图片描述

评论区Hihg翻了!

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

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

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

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

作者:智能3C派
文章来源:搜狐

推荐阅读

  • 如何更有效的将深度学习算法部署在计算资源有限的设备?
  • LSTM模型分析
  • PointNet系列论文阅读与理解

更多芯擎AI开发板干货请关注芯擎AI开发板专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2229572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

界面控件Kendo UI for Angular 2024 Q3亮点 - 全新的页面模板

随着最新的2024 Q3版本,Progress使用户能够使用现成的页面模板和构建块更快地构建令人惊叹的应用程序,使您的Telerik和Kendo UI开发体验更好。 Telerik和Kendo UI 2024 Q3版本将焦点放在新推出的页面模板和构建块上,每个页面模板和构建块都预…

鸿道Intewell操作系统架构介绍之Intewell-Hyper I 虚拟化构型

鸿道Intewell-Hyper I 虚拟化构型是鸿道Intewell-V虚拟化架构下的构型体系!鸿道Intewell-V是科东软件自主研发的实时虚拟化操作系统,包括鸿道Intewell-Hyper I 和鸿道Intewell-Hyper II。鸿道Intewell-V可以实现多个操作系统在同一物理硬件上并行运行&am…

聊一聊Qt中的Slider和ProgressBar

目录 QAbstractSilder 主要属性 设置值 信号 其他功能 API QSlider 主要功能 控制刻度 信号 用户交互 键盘操作 API QProgressBar API QScrollBar 详细描述 QDial API 一个示例 Slider和ProgressBar从某种程度上都是反应了自己对目标控件的进度状态。在Qt中…

蓝牙BLE开发——红米手机无法搜索蓝牙设备?

解决 红米手机,无法搜索附近蓝牙设备 具体型号当时忘记查看了,如果你遇到有以下选项,记得打开~ 设置权限

讲一讲 kafka 的 ack 的三种机制?

大家好,我是锋哥。今天分享关于【K讲一讲 kafka 的 ack 的三种机制?】面试题?希望对大家有帮助; 讲一讲 kafka 的 ack 的三种机制? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Kafka的消息确认机制&…

SpringFactoriesLoader

1.什么是SPI (面试题) SPI全名Service Provider interface,翻译过来就是“服务提供接口”,再说简单就是提供某一个服务的接口, 提供给服务开发者或者服务生产商来进行实现。 Java SPI 是JDK内置的一种动态加载扩展点的实现。 这个机制在一…

直接内存、死锁、方法句柄

直接内存 1. 不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域 2. 直接内存是在Java堆外、直接向系统申请的内存区间 3. 来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存 4. 通常,访问直接内存的速度会优于Java堆&am…

(七)JavaWeb后端开发1——Maven

目录 1.Maven概述 2.Maven依赖管理 2.1依赖配置 2.2依赖传递 2.3依赖范围 2.4生命周期 1.Maven概述 maven是一款管理和构建java项目的工具 Maven的作用: 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题统一项目结构…

设计一个灵活的RPC架构

RPC架构 RPC本质上就是一个远程调用,需要通过网络来传输数据。传输协议可以有多种选择,但考虑到可靠性,一般默认采用TCP协议。为了屏蔽网络传输的复杂性,需要封装一个单独的数据传输模块用来收发二进制数据,这个单独模…

Web应用安全—信息泄露

从书本和网上了解到Web应用安全的信息泄露的知识,今天跟大家分享点。 robots.txt泄漏敏感信息 漏洞描述:搜索引擎可以通过robots文件可以获知哪些页面可以爬取,哪些页面不可以爬取。Robots协议是网站国际互联网界通行的道德规范&#xff0c…

二、Go快速入门之数据类型

📅 2024年4月27日 📦 使用版本为1.21.5 Go的数据类型 📖官方文档:https://go.dev/ref/spec#Types 1️⃣ 布尔类型 ⭐️ 布尔类型只有真和假,true和false ⭐️ 在Go中整数0不会代表假,非零整数也不能代替真&#…

vue+element上传图片

一、html页面上传图片 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> <…

22_快速diff算法

目录 处理相同的前置元素和后置元素处理相同的前置元素和后置元素-挂载处理相同的前置元素和后置元素-卸载判断是否需要进行 DOM 移动操作如何移动元素 处理相同的前置元素和后置元素 快速 diff 算法是需要经过预处理的&#xff0c;什么是预处理呢&#xff1f;我们来看一下下面…

Redis-事务、锁

文章目录 数据库的事务、锁介绍数据库的锁数据库的事务 Redis的事务介绍Redis的事务操作例子Redis的锁介绍1. 加锁2. 释放锁乐观锁和悲观锁悲观锁&#xff08;Pessimistic Locking&#xff09;乐观锁&#xff08;Optimistic Locking&#xff09;Redis中的锁机制 3. Redlock算法…

微服务基础拆分实践(第一篇)

目录 前言 一、认识微服务 1.1 单体架构 VS 微服务架构 1.2 微服务的集大成者&#xff1a;SpringCloud 1.3 微服务拆分原则 1.4 微服务拆分方式 二、微服务拆分入门步骤 &#xff1a;以拆分商品模块为例 三、服务注册订阅与远程调用&#xff1a;以拆分购物车为例 3.1 …

【NOIP普及组】 过河卒

【NOIP普及组】 过河卒 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 如图&#xff0c;A 点有一个过河卒&#xff0c;需要走到目标 B 点。卒行走规则&#xff1a;可以向下、或者向右。同时在棋盘上的任一点有一个对方的马&#xff08;如上…

功能强大视频编辑软件 Movavi Video Editor Plus 2024 v24.2.0 中文特别版

Movavi Video Editor Plus中文修改版是一款功能强大的视频制作编辑软件&#xff0c;使用能够帮助用户快速从录制的素材中制作成一个精美的电影&#xff0c;支持进行视频剪辑&#xff0c;支持添加背影、音乐和各种音乐&#xff0c;软件使用简单&#xff0c;无需任何的经验和专业…

linux基本指令之文件操作

前言 这次博客的主要目的就是要解决如何快速查看或查找文件&#xff0c;以及讲解文件的一些属性。本次博客还是以基本指令为主来理解linux对文件的操作。 linux下输入输出流的理解 在linux中&#xff0c;我们要对文件进行输入输出时&#xff0c;一般会怎么做呢? 可以通过pr…

JavaEE初阶---网络原理值TCP篇(三)

文章目录 1.延时应答机制2.捎带应答3.面向字节流---粘包问题3.1问题引入3.2解决方法 4.异常情况的处理5.TCP的心跳机制6.TCP/UDP的对比 1.延时应答机制 例如我们的这个剩余空间大小10kb,如果我们直接返回ack,这个发送方的窗口大小只能是10kb&#xff0c;但是如果我们进行延时&…

慢sql优化和Explain解析

要想程序跑的快&#xff0c;sql优化不可懈怠&#xff01;今日来总结一下常用的慢sql的分析和优化的方法。 1、慢sql的执行分析&#xff1a; 大家都知道分析一个sql语句执行效率的方法是用explain关键词&#xff1a; 举例&#xff1a;sql:select * from test where bussiness_…