详细记录在树莓派5(8GB)上部署量化语言模型的全流程,包括硬件选型、模型推荐及真实性能数据,可替代部分云端API调用。
过去三个月,我一直在用树莓派 5 运行一个 AI Agent。它能写代码、浏览网页、管理邮件,甚至上周还把一个生产级 SaaS 部署到了 DigitalOcean 的 VPS 上。整个搭建过程没有花一分钱的 API 费用——所有推理都在 Pi 本地运行。
这篇文章完整记录了我的搭建过程,哪些可行,哪些不行,以及哪些模型在 ARM 硬件和有限内存下实际运行表现良好。
当时我的 Agent 项目每月要烧掉 40 到 60 美元的 OpenAI API 费用。每次对话、每次代码审查、每次"帮我总结一下"都是按次计费的 API 调用。更糟糕的是,每次 Agent 读取我的邮件或处理我的文件时,我都在向第三方发送个人数据。
Pi 5 改变了这道数学题。它是一台 80 美元的小电脑,却能以足够快的速度运行量化语言模型,实现实时交互。虽然比不上 GPT-4 的速度——但对于一个编程助手、总结工具或自动化工作流 Agent 来说,已经足够了。而且隐私是真实的:数据不会离开你的网络。
以下是我实际在用的配置:
Raspberry Pi 5(8GB RAM 版本——就买这个,别买 4GB 版)
NVMe SSD,通过 Pimoroni NVMe Base 连接(512GB)
主动散热风扇(就用官方那款——没有它 Pi 5 严重发热降频)
官方 27W USB-C 电源适配器
NVMe SSD 不是可选项。我试过用 SanDisk Extreme SD 卡运行模型,那叫一个痛苦——一个 4GB 的模型加载要 30 多秒,而从 NVMe 加载只要 3 秒。SD 卡在持续换模型大约两个月后还坏了。NVMe 速度快得多,而且不会突然挂掉。
如果你用的是 PCIe HAT 而不是 NVMe Base,情况一样——总之确保不要从 SD 卡存储加载模型。
Ollama 是在 ARM Linux 上运行 LLM 的唯一选择。它处理 GGUF 量化、上下文管理,并且开箱即提供一个 OpenAI 兼容的 API。
curl -fsSL https://ollama.com/install.sh | sh
安装就这一步。Ollama 注册为 systemd 服务并自动启动。验证运行状态:
ollama --version
systemctl status ollama
你应该能看到类似 ollama version 0.5.x 的版本号和一个 active 服务状态。如果没有,检查 /var/log/ollama.log——常见问题是缺少 CA 证书(用 apt install ca-certificates 修复)或模型加载器内存不足。
这是大多数 Pi 指南出错的地方。他们推荐了一些听起来很厉害但是在 8GB RAM 上会 OOM-kill 的模型。以下是我在 Pi 5 8GB 上实际跑过的基准测试:
我用 llama3.2:3b 作为日常主力模型。它在 Pi 5 上是速度和质量的最佳平衡点。如果专门做代码生成,qwen2.5-coder:3b 更好——它对 Python 和 JavaScript 的理解程度足以写出可用的函数。
如果你用的是 4GB 的 Pi,就用 llama3.2:1b 或 qwen2.5:0.5b。3B 模型技术上能加载,但几乎不会剩下什么上下文窗口了。
ollama pull llama3.2:3b
首次拉取通过 NVMe 需要几分钟。如果用 SD 卡,去喝杯咖啡吧。
ollama run llama3.2:3b "Write a Python function to check if a domain is available using RDAP"
几秒内你应该能得到响应。如果很慢,检查你的散热——Pi 5 在 80°C 时会热节流,而推理会产生大量热量。
Ollama 默认在 localhost 的 11434 端口暴露 OpenAI 兼容 API,但只监听本机。要让局域网内其他机器也能访问:
sudo systemctl edit ollama
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
sudo systemctl restart ollama
现在你可以从任意地方调用它了:
curl http://your-pi-ip:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.2:3b",
"messages": [{"role": "user", "content": "Hello"}]
}'
这是 OpenAI 兼容的,所以任何支持 OpenAI API 的工具只需改一下 base URL 就能指向你的 Pi。我用 Ollama 作为后端跑 Agent 框架(Hermes Agent),效果和调用 OpenAI 完全一样——只是这次是免费且隐私的。
这才是有趣的部分。本地 LLM 用来聊天是不错,但真正的价值在于能够使用工具、浏览网页、完成多步骤任务的自主 Agent。
我在 Pi 上用 Ollama 作为后端跑 Hermes Agent。这个 Agent 能访问终端、文件系统、网页浏览器和邮件。它能:
关键洞察:如果你给小型模型提供好的工具和清晰的约束条件,它们完全可以做 Agent 工作。3B 模型写不了小说,但如果每一步都定义得很清晰,它完全能执行一个 5 步的部署清单。
一旦你的本地 Agent 能做有用的工作,下一步就是给它配置面向互联网的基础设施。我的做法:
我建了一个 DigitalOcean VPS(6 美元/月,1 vCPU,1GB RAM)并给 Agent 开了 SSH 访问。从那里,Agent 完成了:
从"创建 VPS"到"线上 HTTPS 网站"总耗时约 90 分钟。全部是 Agent 完成的——我只是给了它 Stripe API 密钥并告诉它开工。
重点不在于这有多震撼。重点是一台 80 美元的电脑上的 3B 模型,如果给它合适的工具,就能编排一个真实的部署。这类工作不需要 GPT-4。
长期运行的一些实用建议:
崩溃自动重启:Ollama 作为 systemd 服务运行,会自动重启。但如果你的 Agent 框架也跑在上面,确保它也被包装成 systemd 服务并设置了 Restart=always。
日志轮转:Ollama 和你的 Agent 会产生大量日志。在磁盘填满之前设置 logrotate:
sudo tee /etc/logrotate.d/ollama << 'EOF'
/var/log/ollama.log {
daily
rotate 7
compress
missingok
notifempty
}
EOF
模型管理:模型很大。一个 3B 模型有 2GB,你会积累很多。清理不用的:
ollama list
ollama rm qwen2.5:0.5b # remove models you don't use
监控:我用一个简单的 cron 任务每 5 分钟 ping 一次 Ollama API,挂了就发邮件给我。过度设计了?也许。但我曾经遇到 Ollama 在一次糟糕的模型拉取后崩溃,6 个小时都不知道,这更糟糕。
坦白说下局限性:
上下文窗口:3B 模型加上 4GB RAM 使用量,你大概有 8K tokens 的上下文。够一次对话或单个代码文件,但不够整个代码库。要更长上下文,用 1B 模型——它能塞下 16K+ tokens。
多用户:不要尝试服务多个并发用户。Ollama 在 Pi 上一次只处理一个请求。第二个请求会排队等第一个完成。
速度 vs 云端:12-15 tokens/秒的速度,大约是 GPT-4 的 1/10。对于交互式聊天这足够了——感觉像打字很快的人。对于批量处理(总结 100 份文档),确实慢但价格很香。
热量:持续推理时,Pi 5 在主动散热下达到 75-80°C。没有散热片,会节流到 1GHz,token 速度掉到 3-4/秒。散热风扇不是可选项。
功耗:Pi 5 空闲时约 5W,推理时 8-12W。按平均电价算大约每月 1 美元的电费。对比每月 40-60 美元的 API 费用。
对比云端 API:以下是我追踪了一个月的真实成本 breakdown:
质量差距是真实存在的。不要假装 3B 模型能追上 GPT-4——它不能。但对于 Agent 工作流中模型在做简单决策的场景(我应该运行这个命令吗?接下来该改哪个文件?),3B 足够了。我估计我的 Agent 任务中有 70% 并不能从一个更聪明的模型上受益。剩下 30% 我还是会发到云端。
如果重新开始,我会完全跳过 4GB Pi。8GB 版本多花 20 美元是值得的——当你同时跑一个操作系统、模型服务器和 Agent 框架时,这个余量很重要。
我会第一天就装好 NVMe,而不是试图让 SD 卡工作。我因为 SD 卡性能问题折腾了两周才换。
而且我会从 1B 模型开始,而不是 3B。3B 更好,但 1B 加载更快,给 Agent 的工作内存留得更多,而且足够验证整个流程。等其他都跑通了再升级。
在普通硬件上本地运行 AI 正在快速变好。Pi 5 是一个分水岭——这是能以可用速度运行有用 LLM 的最便宜的电脑。Pi 6(无论什么时候出来)很可能把性能翻倍。
如果你正在为 API 访问付费,而且你做的产品并不需要 GPT-4 级别的智能,先试试这个。搭建一个下午,硬件成本低于两个月的 API 费用,而且整个技术栈都是你的。
我在这个架构上搭建的 Agent 现在驱动着我的域名可用性检查工具(availfind.com)、写文章并提交、管理邮件,而且正在慢慢学习做更多事。它没有 GPT-4 那么聪明,但它是属于我的——它跑在我桌上的一台小机器上,运营成本为零,而且不会把我的数据发送到任何地方。
这比几个 API token 更有价值。而且随着模型变得更好、硬件变得更快,本地和云端的差距只会缩小。现在入场意味着你在构建技能和基础设施,这些会随时间复利增长。
如果你抽屉里有一台 Pi 5,去装个 Ollama 吧。十分钟内你就能和一个本地 LLM 对话了。