AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


在基于RK3566的嵌入式开发板上本地部署并运行大模型
发布日期:2024-05-05 18:06:03 浏览次数: 2229


概述

当前,在大模型开源的大背景下,我们已不再满足于通过在线网页、API调用等方式使用大模型,而是希望在本地个人计算机部署运行。众所周知,本地运行大模型,对CPU/GPU有极大的算力要求,个人计算机显得遥不可及。但大模型中也逐渐出现了一些”小”体积的模型,如微软最近开源的phi3mini,这让普通个人计算机离线运行成为可能。而我希望在性能更加局限的嵌入式设备上运行离线大模型,本文将基于RK3566嵌入式开发板(lubancat),介绍离线运行qwen1.5大模型的步骤。

嵌入式环境

  • 处理器:RK3566(4核A55,1.8GHz)

  • 存储:2G RAM + 8G eMMC(可SD卡扩展)

  • 系统:debian 10.13

  • uname信息:Linux lubancat 4.19.232 #5 SMP Sat May 20 08:56:33 CST 2023 aarch64 GNU/Linux

运行框架

本文使用Ollama作为运行框架,Ollama 是一个便于本地部署和运行大型语言模型的工具,它有如下特性:

  • 支持本地运行多种大模型,包括Llama 3、Phi-3、Gemma等

  • 支持跨平台:Linux/macOS/Windows

  • 支持通过GGUF导入模型

硬件环境准备

由于板载仅8G存储空间,Ollama模型下载、解压需至少预留两倍模型文件大小的空间,因此我希望将模型文件存放在SD卡路径上。

由于插入sd卡之后,每次开机需要手动mount到/mnt/sdcard目录,为避免麻烦,可以配置开机自动mount:

在文件的最末行,添加:

这样每次开机,/dev/mmcblk1p2会自动mount到/mnt/sdcard目录:

注:/dev/mmcblk1p2 磁盘名称可以使用sudo fdisk -l进行查询。

安装Ollama

Ollama官方实际上提供了在Linux上一条指令进行在线安装的方式:

但是限于网络环境,无法顺利安装完成,本文介绍通过下载Linux可执行文件进行离线安装的方式:

1.下载ollama可执行文件

Ollama提供了amd64、arm64架构下的二进制,RK3566用后者,浏览器输入如下网址既可下载,可直接在Windows环境下载好,再copy到RK3566板子上。

将可执行文件放置到/usr/bin目录下,并更名为ollama:

配置可执行权限:

2.配置ollama为系统启动服务

为ollama创建一个用户

(官方这步创建了一个ollama用户,并且指定了主目录/usr/share/ollama,后续模型文件也会默认下载到该目录,但我发现权限会导致不少问题,所以我会直接使用root用户,并且我希望自定义模型存放目录,所以这步实际上在本文应该可以忽略)

创建/etc/systemd/system/ollama.service文件:

通过vi编辑填入如下内容:

(为避免权限问题,用户/组直接指定为了root)

配置ollama服务:

填入内容,指定模型存放路径为SD卡下的ollama/目录:

3.启动ollama
4.查询ollama服务启动状态

如果状态信息没有err表示启动无错误产生,下方信息可见其当前处于running状态

运行大模型

Ollama目前已支持常见的多种开源模型,考虑RK3566算力有限,本机将运行模型文件仅300M+的Qwen1.5-0.5B。

初次启动模型,需要从ollama网站下载模型文件,如果出错,多试几次既可。下载速度非常快,实测在无需任何特殊网络环境下,基本可到10M+/s(但不知为何,我在Windows/Linux下都试过下载上G的模型,前面速度10M+/s,但最后几百M速度总会降到1M左右)。

实测响应速度(无加速处理,GIF动图播放完成需重新刷新加载播放):

一些思考

难以想象,这样一个仅有300M+的离线模型,在一个嵌入式设备上,其理解能力、回答能力,已经可以秒杀发展了近十年的互联网“智障”音箱了。一年前,我曾发文总结“当前几种使用ChatGPT的方法”,当时,我们还在寻找各种可以免费在线访问大模型的方式。如今,我们已经可以在个人计算机,甚至一些资源局促的嵌入式设备上,离线运行真正免费的大模型了。我也曾在那篇文章中提到,小爱、小度、天猫精灵等“智障”音箱,应该利用已布局的硬件优势,立即接入大模型,以快速走进千家万户。可惜,目前各大厂商仍基本是以手机端APP的方式提供服务,普及性和可玩性大大降低。

小结

本文介绍了在基于RK3566的嵌入式开发板上本地部署并运行大模型的方法,该方法同样可以适用于其他Linux的嵌入式环境。未来,随着嵌入式设备算力的增强,大模型体积的进一步缩小,我相信将会有更多的离线大模型可以运行在嵌入式终端,并且完全有可能具备离线学习的能力。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询