使用OrangePi KunPeng Pro部署AI模型

目录

  • 一、OrangePi Kunpeng Pro简介
  • 二、环境搭建
  • 三、模型运行环境搭建
  • (1)下载Ollama用于启动并运行大型语言模型
  • (2)配置ollama系统服务
  • (3)启动ollama服务
  • (4)启动ollama
  • (5)查看ollama运行状态
  • 四、模型部署
  • (1)部署1.8b的qwen
  • (2)部署2b的gemma
  • (3)部署3.8的phi3
  • (4)部署4b的qwen
  • (5)部署7b的llama2
  • 五、实际效果
  • 六、总结

一、OrangePi Kunpeng Pro简介

OrangePi Kunpeng Pro是一款香橙派联合华为精心打造的高性能开发板,搭载了鲲鹏处理器,可提供8TOPS INT8计算能力,板卡设计很精致,板载资源也非常多:

  • 拥有以太网、Wi-Fi+蓝牙功能,提供多种可选择的网络接入方式。

  • 2个USB3.0 Host、1个支持USB3.0的Type-C接口:可接入鼠标、键盘、USB摄像头等设备,方便板卡操作。

  • 2个HDMI接口、1 个 MIPI DSI 2 Lane接口,提供两种显示方案。

  • 引出了40 pin 扩展口,可扩展UART、I2C、SPI、PWM 和 GPIO 等接口功能。

    板卡完整接口如下图所示:

    image-20240527211819105

板卡扩展出的功能很多,能够满足很多应用场景和行业的开发需求,本文将描述使用OrangePi Kunpeng Pro来部署AI大模型,记录分析模型运行期间板卡的状态和模型运行效果。

二、环境搭建

(1)首先取出板卡,为板卡接入一个HDMI显示屏、一个无线蓝牙鼠标、一个有线键盘,接着接通电源,完成后如下图所示:

image-20240527212859863

(2)随后板卡将自动启动运行openEuler操作系统,接着我们进入终端:

2024-05-25 22-03-42屏幕截图

(3)查看下存储容量:

image-20240527213430653

从上图可知目前可用容量很大,可满足小量级离线模型的存储。

板卡运行openEuler非常流畅,使用体验感非常好。

(4)选择网络接入方式,本文使用Wifi接入。

(5)更改CPU为AI CPU

image-20240527223943524

从上图中可知目前板卡有3个AP CPU和1个control CPU

接着就进行模型运行环境搭建和模型部署了。

三、模型运行环境搭建
(1)下载Ollama用于启动并运行大型语言模型

由于在线下载Ollama速度较慢,故而使用手动方式安装Ollama,首先从下列地址下载Ollama:

https://ollama.com/download/ollama-linux-arm64

image-20240527215103559

完成后将其通过ssh方式传输到板卡。接着将其重名为ollama,便于命令操作,然后将ollama复制到/usr/bin目录中并赋予可执行权限:

sudo chmod +x /usr/bin/ollama
(2)配置ollama系统服务

使用以下命令创建ollama服务描述文件:

sudo touch /etc/systemd/system/ollama.service

并在文件中编辑如下内容:

[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3[Install]
WantedBy=default.target
(3)启动ollama服务

使用下述命令启动ollama服务:

sudo systemctl daemon-reload
sudo systemctl enable ollama
(4)启动ollama

使用下述命令启动ollama:

sudo systemctl start ollama
(5)查看ollama运行状态

使用如下命令查看ollama运行状态:

systemctl status ollama.service

image-20240527220228192

从上图可知目前ollama启动成功。

四、模型部署

通过上述第三小节的步骤后,Ollama模型运行环境就搭建完成,本小节将部署五个模型:1.8b的qwen、2b的gemma、3.8b的phi3、4b的qwen和7b的llama2,测试OrangePi Kunpeng Pro运行模型的实际效果。模型细节如下表所示:

序号模型参数描述
1qwen1.8bQwen是阿里云开发的大型语言模型,1.8b,1.1GB
2gemma2bGemma是由Google DeepMind构建的一系列轻量级的开放模型,大小1.7GB
3phi33.8bphi3是微软开发的开放AI模型系列,3.8b为Mini系列,大小2.4GB
4qwen4bQwen是阿里云开发的大型语言模型,4b,大小2.3GB
5llama27bLlama 2是由Meta平台公司发行的基础语言模型,大小3.8GB
(1)部署1.8b的qwen

使用ollama run qwen:1.8b部署1.8b的qwen模型:

image-20240527224132628

上述模型部署完成后,对其进行问答测试,如下图所示:

image-20240527224902634

效果:运行1.8b的qwen模型,CPU负载没有占满,进行问答测试,回答速度较快,效果很好!

(2)部署2b的gemma

使用ollama run gemma:2b部署2b的gemma模型:

image-20240527224616899

上述模型部署完成后,对其进行问答测试,如下图所示:

image-20240528211400092

效果:运行2b的gemma模型和运行1.8b的qwen模型效果相似,CPU负载同样没有占满,进行问答测试,回答速度快,效果好!

(3)部署3.8的phi3

使用ollama run phi3:3.8b部署3.8b的phi3模型:

image-20240527224701164

上述模型部署完成后,对其进行问答测试,如下图所示:

image-20240527224951824

效果:运行3.8b的phi3模型,进行问答测试,回答速度变慢了。

(4)部署4b的qwen

使用ollama run qwen:4b部署4b的qwen模型:

image-20240527224527759

上述模型部署完成后,对其进行问答测试,如下图所示:

image-20240527225033695

效果:运行4b的qwen模型,进行问答测试,回答问题速度明显变慢:计算生成答案的速度变慢,打印文字的速度也变慢了。

(5)部署7b的llama2

使用ollama run llama2:7b部署7b的llama2模型:

image-20240527224359131

上述模型部署完成后,对其进行问答测试,如下图所示:

image-20240527225127929

效果:运行7b的llama2模型,CPU满负载了,进行问答测试,回答问题速度也明显变得很慢:计算生成答案的速度变慢,打印文字的速度也变慢了。

五、实际效果

上述第四小节描述了运行五个模型的实际使用效果,本小节附上运行1.8b的qwen模型的效果,如下图所示:

didi

(注:因gif图对视频有所处理,以实际运行效果为准!)

六、总结

OrangePi Kunpeng Pro板卡是一块拥有较高计算性能的板卡,本文使用该板卡部署了五个模型(以本文所描述模型为参考),对于1.8b和2b量级的模型来说运行效果还可以,体验较好;对于3.8b和4b量级的模型来说,体验感有所下降,一是计算生成答案的过程变长,二是文字输出存在断续;对于7b量级的模型,体验感更是降了一个层次,文字输出存在明显的断续了。

体验感是一个非理性的名词,因人而异,不同的场景和模型,不同的使用者都可能存在不同的体验,本文所有内容仅供参考和评测!

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

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

相关文章

工作中有哪些超级好用的C/C++程序库?

视频和讲义发布在这里: B站链接

Android Ktor 网络请求框架

Ktor 是一个由 JetBrains 开发的用于 Kotlin 编程语言的应用框架,旨在创建高性能的异步服务器和客户端应用程序。由于完全基于 Kotlin 语言,Ktor 能够让开发者编写出简洁、可读性强且功能强大的代码,特别适合那些已经熟悉 Kotlin 的开发人员。…

调试记录-U盘枚举失败之LPM影响

现象 板子接部分U盘出现枚举失败,看log像是硬件信号问题,如: [ 29.186464] usb usb3-port1: Cannot enable. Maybe the USB cable is bad? [ 30.079624] usb usb3-port1: Cannot enable. Maybe the USB cable is bad? [ 30.080200]…

【高校科研前沿】南科大姜丽光课题组在地球物理学领域TOP期刊Geophys. Res. Lett.发表极端气候频发下水库蓄水状态的相关研究成果

文章简介 论文名称:Reservoir Filling Up Problems in a Changing Climate:Insights From CryoSat‐2 Altimetry 第一作者及单位:汪志伟(硕士研究生 南方科技大学环境学院) 通讯作者及单位:姜丽光(助理教…

JAVA:多线程常见的面试题和答案

请关注微信公众号:拾荒的小海螺 博客地址:http://lsk-ww.cn/ 1、并发编程三要素? 原 子 性 原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。可 见 性 可见性指多…

电脑录屏怎么录?7个电脑录屏软件免费版强势来袭,赶快收藏!

电脑录屏怎么录?相信很多小伙伴们都不知道怎么在Windows电脑上录屏吧?在当今社会,随着互联网的快速发展,越来越多的小伙伴们开始通过制作视频内容来分享知识、展示技能或者记录生活。电脑录屏成为了一种简单高效的方式&#xff0c…

MarkDown语法使用手册

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

RabbitMQ详情

一.MQ简介 什么是MQ MQ本质是队列,FIFO先入先出,队列中存放的内容是message(消息),还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中是常见的上下游“逻辑解耦物理解耦”的消息通信服务。 主…

电脑突然提示:“failed to load steamui.dll”是什么情况?分享几种解决steamui.dll丢失的方法

相信有一些用户正在面临一个叫做“failed to load steamui.dll”的问题,这种情况多半发生在试图运行某个程序时,系统会提示一条错误消息:“failed to load steamui.dll”。那么,为何steamui.dll文件会丢失,又应该如何解…

cf练习5.29

A ac代码 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);using namespace std;int main() {IOSint t;cin>>t;while(t--){int ans0;int a,b;cin>>a>>b;if(b0){if(a%150) ansa/15;else ansa/151;}else if(b!0…

鸿蒙开发接口图形图像:【@ohos.window (窗口)】

窗口 窗口提供管理窗口的一些基础能力&#xff0c;包括对当前窗口的创建、销毁、各属性设置&#xff0c;以及对各窗口间的管理调度。 该模块提供以下窗口相关的常用功能&#xff1a; [Window]&#xff1a;当前窗口实例&#xff0c;窗口管理器管理的基本单元。[WindowStage]&…

Spring Cloud Gateway 集成 Nacos、Knife4j

目录 1、gateway网关配置1.1 pom 配置2.2 配置文件1.3 yaml 配置 2、其他服务配置2.1 pom 配置2.2 配置文件2.3 yaml 配置 3、界面访问4、其他 官方文档地址&#xff1a;Spring Cloud Gateway集成Knife4j 官方完整源码&#xff1a;https://gitee.com/xiaoym/swagger-bootstrap-…

扒出秦L三个槽点,我不考虑买它了

文 | Auto芯球 作者 | 雷慢 比亚迪的有一个王炸“秦L”&#xff0c;再一次吸引了我注意力&#xff0c; 我上一辆车刚卖不久&#xff0c;最近打算买第二辆车&#xff0c; 二手车和新车都有在看&#xff0c; 我又是一个坚定的实用主义者&#xff0c; 特别是现在的经济环境不…

P10-P11【重载,模板,泛化和特化】【分配器的实现】

三类模板&#xff08;类模板&#xff09;&#xff08;函数模板&#xff09;&#xff08;成员函数模板&#xff09; 特化 偏特化&#xff1a;模板参数个数/模板范围 定义的分配器 以上分配器的性能和内存管理有很大不足&#xff08;在分配内存时&#xff0c;会产生很大的内存开…

【C语言训练题库】杨辉三角(下三角型和金字塔型)

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 题目&#xff1a;打印杨辉三角 1. 下三角型 1.1 图例: 1.2. 解析: 1.3. 代码: 1.4. 运行&#xff1a; 2. 金字塔型 2.1 图例 2.2. 解析 2.2.1. 打印金…

php 安装 swoole扩展

一 在swoole官网查询适配版本Swoole 文档 2. php环境为7.3下载 4.8 ​ wget https://pecl.php.net/get/swoole-4.6.6.tgztar -zxvf swoole-4.6.6.tgzcd swoole-4.6.6/usr/local/php7/bin/phpize​ ./configure --enable-openssl --enable-sockets --enable-mysqlnd --enabl…

HCIP-Datacom-ARST自选题库__MPLS多选【25道题】

1.下列描述中关于MPLS网络中配置静态LSP正确的是 当某一台LSR为Egress LSR时&#xff0c;1仅需配置In Label&#xff0c;范围为16~1023 当某一台LSR为Transit LSR时&#xff0c;需要同时配置In Label和Out label&#xff0c;In Label范围为16~1023&#xff0c;0utLabel范围为…

Swift 构造过程

构造过程 一、存储属性的初始赋值1、构造器2、默认属性值 二、自定义构造过程1、形参的构造过程2、形参命名和实参标签3、不带实参标签的构造器形参4、可选属性类型5、构造过程中常量属性的赋值 三、默认构造器结构体的逐一成员构造器 四、值类型的构造器代理五、类的继承和构造…

Vue——计算属性 computed 与方法 methods 区别探究

文章目录 前言计算属性的由来方法实现 计算属性 同样的效果计算属性缓存 vs 方法 前言 在官方文档中&#xff0c;给出了计算属性的说明与用途&#xff0c;也讲述了计算属性与方法的区别点。本篇博客只做自己的探究记录&#xff0c;以官方文档为准。 vue 计算属性 官方文档 …

接口测试系列(一)-什么是接口测试

接口测试系列 为什么要做这个事情&#xff1f; 对自己过往在接口测试上的经验&#xff0c;写一个小结的系列文章&#xff0c;是一个系统性的思考和知识构建。发布的同时&#xff0c;也是希望获得更多感兴趣的同学的意见和反馈&#xff0c;可以把这个部分做的更好。 系列入口&…