转自 | 达尔闻说



如果在树莓派5上部署大模型,效果会怎么样呢?


项目介绍

这个项目实现的功能是这样的:

树莓派通过语音识别成文本,并提交给大语言模型的API接口。大语言模型返回的内容,通过屏幕和热敏打印机同时展现出来。

由于热敏打印机打印中文不太方便,通过大语言模型的英文翻译的能力,将我们的语言翻译成英文打印出来。

这样就可以适配到很多的应用场景,比如实时在线翻译问路。

资讯配图

树莓派5可以部署大模型吗?

本次项目使用的是8GB内存的树莓派5。从硬件性能上来看,树莓派搭载了64位的四核Arm Cortex-A76的处理器运行频率能够达到2.4GHz,配备了800MHzVideoCore VII代的GPU,内存也使用了LPDDR4SDRAM2的颗粒。

资讯配图

这样的配置虽然也是一台口袋大小的电脑,但相比Jetson Orin NanoLattepanda sigma来说,还是有一些差距的,尤其是在处理大模型时,对CPU核心数量 CPU的负载,包括频率、内存带宽等方面都有较高的要求。

一般来说,我们选择大模型时,会优先考虑支持CPU运行且内存占用比较小的模型。树莓派5是可以部署一些经过量化或本身参数量较小。

对硬件要求相对较低的大语言模型,这样的大语言模型还是有不少的:

1Qwen-1.8BQwen-4B等版本,模型参数相对较少,最低内存需求一般建议在4GB左右,8GB的树莓派5正好可以匹配这样的应用。

像树莓派5这类算力资源有限的设备上部署大模型,选择一些低于4B的模型,可以提高响应的速度,增加用户的体验。主要的一些应用方向为一些简单的智能语音聊天项目、图像识别的项目,还包括一些人机交互的项目。

2)微软推出的Phi-3-3.8B的大语言模型,也可以在树莓派上成功地运行,使用的是Ollama运行的框架,并且能够获得不错的token速度。

3Llama-3-8B模型也可以跑,只是可能稍微慢一点,通过安装Ollama,可在树莓派5上一键启用对话,并且可以支持32K128K上下文,输出能够达到12K token/s左右。

4)谷歌的Gemma 3的模型,今年刚推出的大模型支持几十种语言的开箱即用,有很多种多模态,能分析图像、文本和短视频等等,在树莓派上部署1B4B都是非常地适合的。

本次项目在树莓派上,就部署了Gemma 3.2 1B的模型,速度很快,能够完成项目需求。

项目实现过程

部署过程基本分为下面几步:
第一步:硬件测试
在这个项目中,虽然使用到的硬件设备比较少,但也需要进行硬件检查,尤其是麦克风和喇叭,需要确认是否工作正常。
测试录音:
资讯配图
测试喇叭:
资讯配图
由于需要将内容展示出来,需要连接一个屏幕,这里使用一个串口屏与树莓派连接,对串口屏进行初始化,信息和文本框架的定义。设计使用gif动画进行内容过渡,最后通过一个绿色屏幕打印出识别到的语音文字内容。
资讯配图
第二步:连接打印机
通过USB接口,将打印机和树莓派连接,并安装驱动文件。在安装时,需要注意使用root权限。
资讯配图
通过命令:lpstat -p,查看打印机状态,并进行树莓派温度打印测试
资讯配图
资讯配图
第三步:安装python库以及Ollama
激活venv虚拟环境,使用命令:source bin/activate,并安装python模块。
资讯配图
使用下面命令安装ollama框架,以及下载模型、查看已经下载的大模型:
curl -fsSL https://ollama.com/install.sh| shollama pull xxx(模型的名字)ollama list
资讯配图
使用下面命令可以进行大模型测试:
ollama run llama3.2:1b --verboseollama run gemma3:4b –verbose
资讯配图
资讯配图
通过测试,发现llama 3.2:1B模型,速度明显要快很多,也能满足最基本的对话要求,所以本次项目就使用llama 3.2:1B模型。
第四步:测试ollama API接口
通过下面命令,检测ollama的运行状态:
Sudo systemctl status ollama.service
资讯配图
检查11434端口是否在监听状态,如果在监听,说明ollama服务正常,正在等待本地请求。
netstat -natp
资讯配图
接下来就可以进行测试,分别是文本到打印机,以及语音到文本的测试。
资讯配图
资讯配图
第五步:代码整合,最终测试
编写final.py的文件,其中有以下几部分组成:导入模型库、定义串口、定义模型、嵌入ollama API接口、嵌入模型llama3.2:1b等内容。
资讯配图
最终效果演示如下:
刚刚我们演示了,在树莓派5上部署大模型的整个过程,从最终演示效果来看,llama 3.2:1B是可以在树莓派5上流畅运行的。
虽然与Jetson Orin Nano和Lattepanda等系列的开发板相比,树莓派5无法部署较大的模型,但对于轻量级的AI任务或者说入门学习,树莓派是非常适合的。
对大语言模型感兴趣的小伙伴,可以通过我们的系列视频,部署自己的大语言模型,然后完成自己的开发任务。
------------ END ------------


资讯配图

单片机常用状态机QP框架的原理


资讯配图

程序员编程最难过的几个阶段!


资讯配图

同样的单片机代码,编译后的hex为啥会变?