当前位置: 首页 > news >正文

使用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量级的模型,体验感更是降了一个层次,文字输出存在明显的断续了。

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

相关文章:

使用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)部…...

SpringMVC 数据映射VC

从 view 层发送请求到Controller,在Controller中获取参数: 在不输入值时会报400,参数错误 在不输入值时num默认为null 没有找到对应标签名称叫nums的,输入任何值时都报400 设置required默认值为false,即使表单没有nums…...

Clickhouse Bitmap 类型操作总结—— Clickhouse 基础篇(四)

文章目录 创建 Bitmap 对象Bitmap 转换为整数数组计算总数(去重)值指定start, end 索引生成子 Bitmap指定 start 索引和数量限制生成子 Bitmap指定偏移量生成子 Bitmap是否包含指定元素两个 Bitmap 是否存在相同元素一个是否为另一个 Bitmap 的子集求最小…...

202474读书笔记|《我自我的田渠归来》——愿你拥有向上的力量,一切的好事都应该有权利发生

202474读书笔记|《我自我的田渠归来》——愿你拥有向上的力量 《我自我的田渠归来》作者张晓风,被称为华语散文温柔的一支笔,她的短文很有味道,角度奇特,温柔慈悲而敏锐。 很幸运遇到了这本书,以她的感受重新认识一些事…...

SheetJS V0.17.5 导入 Excel 异常修复 Invalid HTML:could not find<table>

导入 Excel 提示错误&#xff1a;Invalid HTML:could not find<table> 检查源代码 发现 table 属性有回车符 Overview: https://docs.sheetjs.com/docs/ Source: https://git.sheetjs.com/sheetjs/sheetjs/issues The public-facing websites of SheetJS: sheetjs.com…...

重学java51.Collections集合工具类、泛型

"我已不在地坛&#xff0c;地坛在我" —— 《想念地坛》 24.5.28 一、Collections集合工具类 1.概述:集合工具类 2.特点: a.构造私有 b.方法都是静态的 3.使用:类名直接调用 4.方法: static <T> boolean addAll(collection<? super T>c,T... el…...

OSPF扩展知识2

FA-转发地址 正常 OSPF 区域收到的 5 类 LSA 不存在 FA 值&#xff1b; 产生 FA 的条件: 1、5类LSA ----假设 R2为 ASBR&#xff0c;90/0 口工作的 OSPF 中&#xff0c;g0/1 口工作在非 ospf 协议或不同 ospf 进程中&#xff1b;若 g0/1 也同时宣告在和 g0/0 相同的 OSPF 进程…...

数据库技术基础

数据库技术基础 导航 文章目录 数据库技术基础导航一、基础概念数据库系统数据库管理系统DBMS分类数据库技术的发展数据库体系结构 二、数据模型数据模型基本概念 三、数据库的控制功能事务概述SOL中事务定义语句日志文件故障种类两个操作Undo/Redo事务故障的恢复系统故障的恢…...

这些项目,我当初但凡参与一个,现在也不至于还是个程序员

10年前&#xff0c;我刚开始干开发不久&#xff0c;我觉得这真是一个有前景的职业&#xff0c;我觉得我的未来会无限广阔&#xff0c;我觉得再过几年&#xff0c;我一定工资不菲。于是我开始像很多大佬说的那样&#xff0c;开始制定职业规划&#xff0c;并且坚决执行。但过去这…...

ch2应用层--计算机网络期末复习

2.1应用层协议原理 网络应用程序位于应用层 开发网络应用程序: 写出能够在不同的端系统上通过网络彼此通信的程序 2.1.1网络应用程序体系结构分类: 客户机/服务器结构 服务器: 总是打开(always-on)具有固定的、众所周知的IP地址 主机群集常被用于创建强大的虚拟服务器 客…...

Red Hat Enterprise Linux (RHEL) 8.10 发布 - 红帽企业 Linux 8 完美终结版

Red Hat Enterprise Linux (RHEL) 8.10 (x86_64, aarch64) - 红帽企业 Linux 红帽企业 Linux 8 完美终结版 请访问原文链接&#xff1a;Red Hat Enterprise Linux (RHEL) 8.10 (x86_64, aarch64) - 红帽企业 Linux&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处…...

.NET 直连SAP HANA数据库

前言 上个项目碰到的需求&#xff0c;IT部门要求直连SAP的HANA数据库&#xff0c;以只读的权限读取SAP部门开发的CDS视图&#xff0c;是个有点复杂的工程&#xff0c;需要从成品一直往前追溯到原材料的产地&#xff0c;和交货单、工单、采购订单有相当程度上的关联 IT部门要求…...

HTML <from>表单

定义&#xff1a;<form>元素定义了一个表单&#xff0c;用户可以在表单中输入数据&#xff0c;这些数据可以被提交到服务器。 属性&#xff1a; action&#xff1a;指定表单提交时的目标URL&#xff08;服务器端脚本的地址&#xff09;。 method&#xff1a;定义提交表…...

Wpf 使用 Prism 实战开发Day28

首页汇总方块点击导航功能 点击首页汇总方块的时候&#xff0c;跳转到对应的数据页面 step1: 在IndexViewModel 中&#xff0c;给TaskBar 里面Target 属性&#xff0c;赋上要跳转的页面 step2: 创建导航事件命令和方法实现 step3: 实现导航的逻辑。通过取到 IRegionManager 的…...

如何让一个普通用户可以读写某个目录

循环设置这个目录以及上面每一级目录的读取和执行权限 sudo chmod -R orx /opt/software/yourdir 然后设置指定用户user1可以读写这个目录 sudo setfacl -Rm u:user1:rwx /opt/software/yourdir 读取acl sudo getfacl -R /opt/software/yourdir -R 是循环读取子目录和文件的意思…...

知识笔记——jieba分词初探

1. 简介 jieba 是python中一个非常好用的 中文分词组件&#xff0c;但它并不是只有分词这一个功能&#xff0c;还提供了很多在分词之上的算法&#xff0c;如关键词提取、词性标注等。 安装方式&#xff1a; pip install jieba2. 分词 支持 3 种分词模式&#xff1a;精确模式…...

GPT-4o:人工智能新纪元的开端

引言 近年来&#xff0c;人工智能领域的发展日新月异&#xff0c;特别是在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;各种生成预训练模型不断推陈出新。自OpenAI发布GPT-3以来&#xff0c;生成预训练模型在文本生成、语言理解等任务中展现了强大的能力。近期&a…...

探索AI去衣技术中的反射应用

在当今数字时代&#xff0c;人工智能&#xff08;AI&#xff09;技术的飞速发展已经渗透到了我们生活的方方面面。其中&#xff0c;图像处理和计算机视觉作为AI的重要分支&#xff0c;正不断推动着创新应用的边界。今天&#xff0c;我们要探讨的是一个颇具争议但又技术上颇为有…...

一款高级管理控制面板主题!【送源码】

AdminLTE是一个完全响应的管理模板。基于Bootstrap5框架和JavaScript插件。高度可定制&#xff0c;易于使用。适用于从小型移动设备到大型桌面的多种屏幕分辨率。AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题。 https://github.com/almasaeed2010/AdminLTE —…...

​用 ONLYOFFICE 宏帮你自动执行任务:介绍与教程

使用 ONLYOFFICE 宏&#xff0c;可以来自动实现一些操作节省更多时间和精力。在本文中&#xff0c;我们集合了一些关于宏的教程&#xff0c;带您了解宏的工作原理&#xff0c;以及一些实例展示。 什么是 ONLYOFFICE 宏 如果您是一名资深 Microsoft Excel 用户&#xff0c;那么…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

微信小程序云开发平台MySQL的连接方式

注&#xff1a;微信小程序云开发平台指的是腾讯云开发 先给结论&#xff1a;微信小程序云开发平台的MySQL&#xff0c;无法通过获取数据库连接信息的方式进行连接&#xff0c;连接只能通过云开发的SDK连接&#xff0c;具体要参考官方文档&#xff1a; 为什么&#xff1f; 因为…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...