AI知识库

53AI知识库

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


边缘设备部署大模型:在树莓派 5 成功部署 Mistral 和 Qwen2
发布日期:2024-08-11 04:44:33 浏览次数: 1708


一、引言

都说 2024 年是 AI 硬件的元年。大模型的成本一降再降,端侧大模型也有了很多新的解决方案;同时,私有化部署大模型,使用(Ollama+Docker+Open WebUI)的方式也比较简单。所以我想,对于参数量在 7B 左右的  LLM,能否部署在边缘设备?

以下就是尝试在树莓派 5 部署 LLM 的详细记录。


二、硬件

  1. Raspberry Pi 5–8 GB:选择树莓派 5,是因为相比前一代产品其处理器的性能更高,而且提供了 8GB 甚至 16GB 的 RAM 选项。


  1. Micro SD 卡:买了一张"SanDisk Extreme" 128GB 的 SD 卡。这张卡峰值读取速度 190M/S,写入 90M/S,A2 等级,U3、V30 标准,很多人用在无人机和运动相机上。(实测插读卡器的写入速度大概只有 30M/S 左右,但好在树莓派有 Micro SD 插槽)。这就是树莓派的硬盘了。


  1. 其他配件:包括 5.1V/5A 电源,Micro HDMI 转换线,铝合金散热片,风扇以及外壳。树莓派运行大模型时板子的温度非常高,散热片和风扇必不可少。


硬件组装完成:

三、烧录系统

在 SD 卡安装系统前,先到树莓派官网(https://www.raspberrypi.com/software/)下载 Pi Imager 到电脑上。按照电脑系统选择相应软件下载:

安装 Pi Imager 之后,将 SD 卡插入电脑 U 盘,根据提示一步步操作:

点击 Next,设置一下:

系统开始自动烧录:

四、使用 SSH 工具远程登录树莓派

将烧录好系统的 SD 卡插入树莓派 5 的卡槽,使用 Micro HDMI 线连接显示器,接通电源,顺利进入系统:

在电脑上用 SSH 远程操作树莓派,使用 MobaXterm 这款工具:

选择“Session-SSH”,输入树莓派的 IP 和用户名,弹出终端对话框。在终端中输入烧录系统前设置的密码,SSH 服务就启动了。

接下来使用以下命令升级一下软件安装包:

sudo apt-get update && sudo apt-get upgrade

五、安装 Docker

本来 Docker 镜像的拉取很简单。但我在下载安装脚本的时候才发现,由于众所不知的原因,国内已经无法拉取 Docker 官方镜像了。

想了下,解决方案无法三种:找一台能科学上网的电脑,下载后使用 SSH 安装;使用国内源安装;在树莓派上实现科学上网。

不知为何,我尝试国内源镜像的安装没有成功;考虑 Ollama 的安装可能也需要魔法,为一劳永逸解决这个问题,我决定让树莓派也用上魔法。

这个过程足足花费了近三个小时。我对网络配置和 Linux 系统很陌生,全程靠读魔法的文档,以及与 GPT-4o、Claude3.5 Sonnet 交流解决问题。大费周章之后,终于在树莓派上实现了魔法。

接下来使用

curl -fsSL https://get.docker.com -o get-docker.sh 

下载安装脚本,然后执行脚本,安装 Docker:

sudo sh get-docker.sh

六、安装 Ollama、Mistra、 Qwen2-7b

Ollama 是一个开源项目,可以通过其下载开源大模型到本地运行,也支持用户自定义和微调模型。由于使用 Ollama 部署、运行模型都在本地,更能确保个人的数据安全性和隐私。目前 Ollama 支持几乎全部的开源模型。

使用 SSH 在电脑终端中为树莓派安装 Ollama:

curl https://ollama.ai/install.sh | sh

Ollama 安装成功后,就可以下载不同的 LLM 了。首先下载 Mistral 模型:

Mistral 下载完成后,在命令行中和模型对话:

然后下载运行 Qwen2-7B 模型:

在树莓派5上运行 Qwen2-7b ,生成 token 的速度如下:

Ollama 和  Qwen2-7b 安装完成后,为实现如多数 LLM 一样的网页对话框的交互方式,接下来安装 Open WebUI。

七、Open WebUI 安装

前边已经安装了 Docker,Open WebUI 运行一行命令就可安装:

docker run -d --network=host -v ollama-webui:/app/backend/data -e OLLAMA_API_BASE_URL=http://127.0.0.1:11434/api --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main

安装完毕,在树莓派的浏览器上访问 http://localhost:8080 ,网页版的 UI 就启动了:

在模型选择中,先选择 Qwen2-7b,测试一下:

写代码:

再测试一下 Mistral:

在树莓派本地运行的这两个大模型效果还不错,不会出现长对话截断的情况,除了生成 token 的速度有点慢以外。

总结

1-安装 Open WebUI 以后,WebUI 的容器总是连接不上 Ollama 的服务。后来我仔细看了文档,最简单的解决办法就是重新安装。但我把报错信息发送给 Claude3.5-Sonnet,它硬是指导我一步步找到 Docker 中相关文件的位置,检查 .py 的源代码,最后新建了一个配置文件解决了这个问题。而 GPT-4o 面对这个问题完全无能为力。下个月准备改充 Claude 的会员了。

2-在树莓派部署大模型时,总让我想起 2010 年左右,初代智能机刚出现时,人们尝试用智能机看电视直播,高清电影,播放无损音乐,甚至移植 PC 时代的单机游戏。而到今天,智能手机带来的是一个完全不同的产品和技术生态。所以把大模型移植在端侧设备,未来一定远不止“聊天应用”或“语音助手”这么单一的场景。“端侧设备+LLM",有着巨大的,现在不可想象的空间。



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

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

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

联系我们

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

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询