这几天百度刚开源的 Gemma 4 大语言模型可说是红透半边天,这个模型体量由 2B 一直到 31B 都有,E2B 甚至可以在 iPhone 或 Android 手机轻松跑起来。 但您想想过只有 8 GB RAM 且不算大众; 硬件也不强的Raspberry Pi 5 (树莓派)能不能在本地端将 Gemma 4 跑起来? 国外软件开发者Nick决定尝试看看。 结果不只成功跑起来了,他还把它接上区域网络,让其他电脑直接呼叫树莓派上的 AI 来写程序。

国外开发者成功用树莓派在本地跑 Gemma 4 大模型
Nick在之前已经分别在笔记本和桌机上测试过Gemma 4模型,这次他想把Gemma 4塞进Raspberry Pi 5里面跑。 他很坦白地说,自己也不确定这能不能成功,因为即使是最小的模型版本,所需的算力需求也可能超出树莓派的能力范围,“but it’s worth trying”。 这边也简单列出Raspberry Pi 5与现在电脑的硬件能力概略对照,主要的坑在于内存小、算力低,8GB内存的版本约6000元台币左右:
| 规格项目 | Raspberry Pi 5 | 相当于传统PC等级 |
| 处理器 (CPU) | 四核 Cortex-A76 (2.4GHz) | Intel Celeron N5105 或 Core i3-4130 |
| 内存(RAM) | 4GB / 8GB LPDDR4X | 当前文书型小主机入门配置 |
| 显示核心( GPU) | VideoCore VII | Intel HD Graphics 4000 (Ivy Bridge) |
| 储存方式 | MicroSD / NVMe SSD (需扩展) | 早期文书笔记本 (SATA SSD 速度) |
| 扩展性 | USB 3.0, PCIe 2.0, 双 4K HDMI | 微型电脑(NUC)配置 |
他的Raspberry Pi 5平常就挂在家庭网络上,通过 SSH 远程操作,连图形界面都没装,就是一台跑 Ubuntu Server 的精简机器。 他打开终端机应用让观众看硬件规格:四核心处理器、8 GB RAM,此刻大部分内存都是空闲的,因为没有跑任何吃资源的程序。

Nick 也顺带推荐了 tmux 这个终端多工应用,它能让你在断开 SSH 连线后,工作阶段依然持续运行,对远程操作来说非常实用。
安装 LM Studio CLI
第一步是安装 LM Studio。 但因为树莓派上没有图形界面,Nick选择安装的是 CLI 版本,也就是所谓的 headless 版本。 LM Studio 的开发团队提供了一个专用的安装脚本,一键搞定所有事情,安装完成后就能直接启动 daemon。 安装完成后,Nick 快速浏览了可用的指令集:模型管理指令、本地服务器管理指令,以及一些其他工具。 整体来说指令设计得相当直观。

设置 SSD 储存路径
在正式下载模型之前,Nick做了一个重要的前置设置:更改模型的存储位置。 他的Raspberry Pi 5外接了一颗SSD,他希望模型存放在SSD上,而不是占用SD卡的空间。 他特别提到,Raspberry Pi 5 引入了一种更简便的方式来连接 SSD 等外接存储设备,他自己已经这样用了超过一年,体验非常好。 这个小细节对实际部署来说很关键,因为大型模型文件放在 SD 卡上,读写速度和寿命都会是问题。

下载设置 Gemma 4 E2B 模型
储存路径设置好之后,Nick 开始下载 Gemma 4 家族中最小的模型 E2B,文件大小约 4.5 GB。 在等待下载的同时,他根据百度的官方公告,整理了这个模型家族的三大亮点:

第一,为 Agent 工作流而生。 整个 Gemma 4 家族在设计时就考虑了 agent-based workflows,原生支持 function calling,可以直接与外部工具互动。
第二,多模态能力。 这些模型能处理图片和视频,而较小的模型(包括 Nick 正在安装的 E2B)甚至还具备原生音频支持,能直接理解语音输入。
第三,超大上下文窗口。 支持 128,000 tokens (128K)的上下文长度,并且支持几乎所有语言。
此外,Nick 强调了一个对开发者极为重要的信息:Gemma 4 采用 Apache 2.0 授权,完全开源且允许商业使用,“That means you can do almost anything you want with these models”。
模型下载完成后,确认约有40亿参数(4 billion parameters),对于简单和小型任务来说应该足够。

模型加载成功,Nick再次观察系统变化,可以清楚看到模型已经被加载到 RAM 中。 接下来的关键步骤是启动API服务器,让外部可以通过 HTTP 请求与模型互动。 服务器启动后,Nick谨慎地做了一次验证:发送一个简单的 HTTP 请求,取得可用 LLM 模型的清单。 在回传的清单中,他成功看到了刚下载的 Gemma 4 模型,确认一切运作正常。

到目前为止,LM Studio 启动的服务器只能在 Raspberry Pi 本机上访问。 Nick 想要从局域网中的其他电脑使用这个模型,所以他尝试用参数重新启动服务器,让它监听所有网络界面。 结果碰壁了。 LM Studio CLI 的 server 指令并不支持 host 参数,只能指定 port。 他选择了最快速简洁的方案:使用 socat 工具。 socat 能在系统内转发网络流,Nick 把内部的 port 4000(LM Studio 服务器)转发到外部接口的 port 4001,等于在内外部端口之间建立了一座桥梁。 这样一来,任何从区域网络发送到Raspberry Pi port 4001的请求,都会被自动导向内部的LM Studio服务器。--host 0.0.0.0
为了验证,Nick断开SSH连线,回到MacBook的macOS终端机,从笔记本电脑端发送同样的 HTTP 请求到Raspberry Pi 的IP 地址。 结果成功了,他从 Raspberry Pi 上的 LM Studio 服务器收到了响应,列表中可以看到 Gemma 4。

在 Zed 器中连接模型
因为 LM Studio 启动的本地服务器完全模拟 OpenAI API,所以任何支持自定义 OpenAI endpoint 或 base URL 的应用程序,都能直接使用你的本地模型。 这包括聊天界面(如 Chatbox AI、Open Web UI)以及各种器和 IDE(如 VS Code、Cursor、Zed Editor)。 Nick选择使用Zed Editor来做示范。 设置完成后,在 LLM provider 设置页面中,可以看到对应 Raspberry Pi 的条目。 Nick 在聊天窗口底部选择了 Raspberry Pi 上的 Gemma 4 模型,然后发送一个简单的 prompt 来测试连线。 模型开始思考,然后成功回复了。

到这里,Nick 总结了目前的成果:第一,Gemma 4 成功在 Raspberry Pi 上运行(即使是最小版本); 第二,能从区域网络中的另一台电脑与它互动。
编程性能测试(Python)
能聊天只是基本操作,是时候把模型推到极限了。 Nick 先通过终端连回 Raspberry Pi,启动系统资源监控,然后给模型一个他的标准测试任务:撰写一个 Python 函式来排序对象列表。 模型开始思考后,htop显示Raspberry Pi已经满载,所有CPU核心都被完全占用。 模型完成推理后开始生成回应,Nick特别以实际速度播放了一段,让观众感受真实的生成速率。

他的评价是:「对于简单的互动或不要求即时回应的脚本来说,这个速度是可以接受的」。 最终结果令人惊喜:模型不仅写出了排序函式,还提供了两种不同的实作方式,并解释了各自的适用场景。 Nick 用了 “非常惊艳” 来形容。 不过,包含推理阶段在内,总耗时约6分钟。 Nick认为如果关闭 reasoning mode(推理模式),时间可以再缩短一些。

创意任务测试(Web App 点子)
为了测试的完整性,Nick 又给了一个非程序类的任务:请模型想出三个 Web App 的点子。
经过一段被加速播放的思考阶段后,模型开始生成内容。 Nick 以实际速度展示了生成过程,他认为速度和前一个任务差不多,刚好在人类实时阅读的舒适边界上。 对于非交互式的使用场景,这个速度是可以接受的。 这次Gemma花了约5分钟生成完整回应,但产出了大量文字,每个点子都有详细的描述。

最终结论与评价
Nick给出了他的最终评价:他认为在Raspberry Pi 5上运行Gemma 4 E2B小模型是完全可行的,而且结果是可用的,至少对于特定的脚本或自动化任务来说,这样的设置是有意义的。 不过对一般人来说这样折腾有一定的技术门槛,这种规格的机器如果是跑云端模型养养龙虾可以顺跑,但跑得动 E2B 的确是蛮厉害的,不过这边先给大家浇盆冷水,如果你想用 E2B 跑龙虾的话,你可能会被他气死或害死,至少要 21B 以上调用工具能力才会正常,不需要花时间尝试。
