微信扫码
与创始人交个朋友
我要投稿
一、引言
都说 2024 年是 AI 硬件的元年。大模型的成本一降再降,端侧大模型也有了很多新的解决方案;同时,私有化部署大模型,使用(Ollama+Docker+Open WebUI)的方式也比较简单。所以我想,对于参数量在 7B 左右的 LLM,能否部署在边缘设备?
以下就是尝试在树莓派 5 部署 LLM 的详细记录。
Micro SD 卡:买了一张"SanDisk Extreme" 128GB 的 SD 卡。这张卡峰值读取速度 190M/S,写入 90M/S,A2 等级,U3、V30 标准,很多人用在无人机和运动相机上。(实测插读卡器的写入速度大概只有 30M/S 左右,但好在树莓派有 Micro SD 插槽)。这就是树莓派的硬盘了。
其他配件:包括 5.1V/5A 电源,Micro HDMI 转换线,铝合金散热片,风扇以及外壳。树莓派运行大模型时板子的温度非常高,散热片和风扇必不可少。
硬件组装完成:
在 SD 卡安装系统前,先到树莓派官网(https://www.raspberrypi.com/software/)下载 Pi Imager 到电脑上。按照电脑系统选择相应软件下载:
安装 Pi Imager 之后,将 SD 卡插入电脑 U 盘,根据提示一步步操作:
点击 Next,设置一下:
系统开始自动烧录:
将烧录好系统的 SD 卡插入树莓派 5 的卡槽,使用 Micro HDMI 线连接显示器,接通电源,顺利进入系统:
在电脑上用 SSH 远程操作树莓派,使用 MobaXterm 这款工具:
选择“Session-SSH”,输入树莓派的 IP 和用户名,弹出终端对话框。在终端中输入烧录系统前设置的密码,SSH 服务就启动了。
接下来使用以下命令升级一下软件安装包:
sudo apt-get update && sudo apt-get upgrade
本来 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 是一个开源项目,可以通过其下载开源大模型到本地运行,也支持用户自定义和微调模型。由于使用 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。
前边已经安装了 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+中大型企业
2024-03-30
2024-05-09
2024-07-07
2024-07-01
2024-06-24
2024-07-23
2024-06-08
2024-06-05
2024-06-21
2024-07-11
2024-11-12
2024-11-11
2024-10-29
2024-10-22
2024-10-18
2024-10-16
2024-10-15
2024-10-10