教程

Raspberry Pi 5 跑本地 Agent:LiteRT + Gemma 实战

Google 在 8 月 11 日展示了一套很有实用价值的 Edge AI 路线:用 LiteRT 在 Raspberry Pi 5 上运行轻量 Gemma 模型,把语音、视觉、Embedding 和小型 Agent 推理全部留在本地。官方给出的 Gemma 4 E2B 数据约为 99 tokens/s 的 prefill、9 tokens/s 的 decode、约 1432 MB 峰值内存;在 Reachy Mini 语音演示中,端到端生成约 27.3 characters/s,接近每分钟 300 个英文单词。更重要的是,LiteRT 不只是跑一个 LLM:它可以让 CPU 负责 Gemma 与语音识别,GPU 持续运行 YOLO 等视觉模型,组成一个无需云 API 的本地多模态 Agent。本文从硬件、模型选择、安装命令、CPU/GPU 分工和隐私边界几个方面,给出一套可复现的 Raspberry Pi 5 Edge Agent 架构。

# Raspberry Pi 5 跑本地 Agent:LiteRT + Gemma 实战 ## 文章摘要 Google 在 8 月 11 日展示了一套很有实用价值的 Edge AI 路线:用 LiteRT 在 Raspberry Pi 5 上运行轻量 Gemma 模型,把语音、视觉、Embedding 和小型 Agent 推理全部留在本地。官方给出的 Gemma 4 E2B 数据约为 99 tokens/s 的 prefill、9 tokens/s 的 decode、约 1432 MB 峰值内存;在 Reachy Mini 语音演示中,端到端生成约 27.3 characters/s,接近每分钟 300 个英文单词。更重要的是,LiteRT 不只是跑一个 LLM:它可以让 CPU 负责 Gemma 与语音识别,GPU 持续运行 YOLO 等视觉模型,组成一个无需云 API 的本地多模态 Agent。本文从硬件、模型选择、安装命令、CPU/GPU 分工和隐私边界几个方面,给出一套可复现的 Raspberry Pi 5 Edge Agent 架构。 --- “本地大模型”以前很容易让人联想到: ```text 高端 GPU 32GB / 64GB 内存 大型台式机 ``` 但很多真正需要 Edge AI 的场景并不追求 70B 模型。 它们更关心: - 断网还能不能工作; - 延迟能不能稳定; - 摄像头数据是否必须上传云端; - 功耗能不能压住; - 硬件成本能不能批量部署。 例如: - 智能摄像头; - 机器人; - 车间终端; - 门店助手; - 离线翻译器; - 边缘网关。 这时 Raspberry Pi 5 + LiteRT + Gemma 的意义就出来了。 ## 先看 Raspberry Pi 5 到底能跑到什么程度 Google 给出的官方数据里,Gemma 4 E2B 通过 LiteRT-LM 在 Raspberry Pi 5 上达到大约: ```text Prefill: 99 tokens/s Decode: 9 tokens/s Peak memory: 1432 MB ``` 9 tokens/s 不是云端 Ultrafast 级别。 但对一个完全本地、没有独立大显卡、功耗很低的设备来说,它已经足以支撑很多交互式任务。 Google 在 Reachy Mini 语音 Demo 中换算出的端到端输出约为: ```text 27.3 characters/s ≈ 300 words/minute ``` 普通英语口语大约是 150 words/minute 左右。 也就是说,模型文本生成本身已经不一定是本地语音 Agent 的主要瓶颈。 ## 模型怎么选:不是越大越好 Google 当前给 Raspberry Pi / Edge 场景列出的 Gemma 家族包括: ### Gemma 3 270M 适合: - 分类; - 情感分析; - 实体抽取; - 微调后的单任务模型。 ### EmbeddingGemma 300M 适合: - 本地 RAG; - 语义搜索; - 分类; - 向量检索。 ### Gemma 3 1B 适合: - 轻量文本生成; - 摘要; - 多语言文本任务。 ### Gemma 4 E2B 适合: - 内存敏感设备; - 连续监听; - 语音/视觉边缘任务; - 低延迟 Agent。 ### Gemma 4 E4B 推理更强,但资源占用也更高。 所以边缘设备的选型逻辑应该是: > 先用最小模型满足任务,再考虑扩大模型。 而不是先问: > Pi 5 能不能硬塞最大的 Gemma? ## LiteRT 在这里承担什么角色? LiteRT 是 Google 面向 On-device AI 的推理 Runtime。 它做的并不只是: > load model → generate text。 完整能力包括: ```text convert quantize benchmark inference CPU / GPU backend ``` 这对 Edge 项目非常重要。 因为部署到 1000 台设备以后,你最怕的不是 Demo 跑不起来。 而是: - 模型格式混乱; - 每台设备性能不同; - 内存峰值失控; - 更新不可重复; - 依赖太重。 统一 Runtime 会直接降低运维难度。 ## 安装 LiteRT CLI Google 当前给出的入门方式非常直接: ```bash python -m venv .venv source .venv/bin/activate pip install litert-cli ``` 准备 Hugging Face Token: ```bash export HUGGING_FACE_HUB_TOKEN= ``` 然后可以直接运行 LiteRT 社区仓库中的 Gemma 模型。 概念命令如下: ```bash litert lm run \ --from-huggingface-repo=litert-community/gemma-4-E2B-it-litert-lm \ gemma-4-E2B-it.litertlm \ --prompt="Summarize the latest sensor alert in 3 bullets." ``` 对于多模态输入,还可以传 attachment。 ## 不要一上来就做“全能 Agent” 边缘设备更适合 Narrow Agent。 例如工厂设备诊断: ```text 温度传感器 振动数据 故障码 ↓ 本地规则 + Embedding 检索 ↓ Gemma E2B ↓ 输出: - 可能原因 - 检查步骤 - 是否需要停机 ``` 这比让 Pi 5: > “像 ChatGPT 一样什么都回答” 更有商业价值。 ## CPU 和 GPU 应该怎么分工? Pi 5 的一个有趣点是: CPU 的通用计算能力很强,而 GPU 更适合持续并行的视觉 / 音频任务。 Google 的 Reachy Mini Pipeline 采用类似结构: ```text Camera ↓ YOLO Object Detection ↓ GPU 持续运行 Microphone ↓ Moonshine ASR ↓ CPU Transcript + Visual Metadata ↓ Gemma 4 E2B ↓ CPU Response ↓ TTS ↓ CPU ``` 关键思想是: > 不要让所有模型抢同一个计算资源。 ## 为什么视觉任务放 GPU 更合理? 摄像头可能 10~30 FPS 连续输入。 如果每帧 Object Detection 都抢 CPU,Gemma 的推理延迟会出现明显抖动。 更合理的是: ```text GPU → 持续视觉感知 CPU → 语言推理 / ASR / 编排 ``` Agent 最终只接收最新视觉结构化结果: ```json { "objects": [ {"label": "person", "position": "left"}, {"label": "box", "position": "center"} ] } ``` 没必要把每一帧都交给 LLM。 ## 本地 Agent 最重要的优势:数据不离开设备 很多 Edge AI 场景的数据非常敏感。 例如: - 车间摄像头; - 家庭音频; - 医疗设备; - 门店客流; - 工业数据。 云端方案通常是: ```text Sensor ↓ Internet ↓ Cloud Model ↓ Result ``` 本地方案: ```text Sensor ↓ Pi 5 ↓ Local Model ↓ Result ``` 网络甚至可以默认关闭。 这直接减少: - 隐私暴露; - 云 API 成本; - 网络不可用风险。 ## 但“离线”不等于“安全” 本地 Agent 仍然要防: - 模型文件被替换; - SD 卡被读取; - 本地 API 无认证; - Prompt Injection; - Agent 误操作 GPIO / 机械设备。 因此需要: ```text Model Hash Signed Update Local Auth Tool Allowlist Physical Safety Limit ``` 如果 Agent 可以控制真实硬件,软件权限必须比普通聊天机器人严格得多。 ## 给本地 Agent 加 RAG:EmbeddingGemma 很合适 假设设备维护手册有 500 页。 不要把全部文档塞进每次 Prompt。 可以: ```text Manual ↓ Chunk ↓ EmbeddingGemma 300M ↓ Local Vector Store ``` 用户问: > “E37 报警是什么意思?” 设备本地: ```text Embed Query ↓ Search Top-K ↓ Gemma E2B 结合检索结果回答 ``` 全流程不需要云端。 ## Agent Tool 设计应该非常克制 比如机器人可以有: ```text look_left look_right move_head speak read_sensor ``` 不要直接给: ```text shell_exec ``` 如果确实需要系统操作,应再加一层受控 Tool API。 例如: ```text LLM ↓ set_led(color="red") ↓ Tool Validation ↓ GPIO ``` 不要: ```text LLM ↓ 生成任意 Python ↓ 直接访问 GPIO ``` ## 性能测试不要只看 Tokens/s Edge Agent 至少看: ```text Cold Start Prefill Decode Peak RAM CPU Usage Temperature Power First Audio Latency End-to-End Task Time ``` Pi 5 长时间高负载还要看: > Thermal Throttling。 如果 Demo 前 1 分钟很快、跑 30 分钟后降频,生产体验仍然会出问题。 ## 推荐的最小实战项目:离线语音设备助手 可以做: ```text Microphone ↓ Moonshine / Local ASR ↓ Intent ↓ EmbeddingGemma 检索本地手册 ↓ Gemma 4 E2B ↓ 回答 + Tool Call ↓ Local TTS ``` Tool 只开放: ```text read_sensor show_status set_indicator ``` 不开放系统 Shell。 这已经是一个完整的、可离线运行的 Edge Agent。 ## 什么时候 Pi 5 不够? 如果你的任务需要: - 大模型长推理; - 高频高清多摄像头; - 高质量实时语音全双工; - 大上下文; - 复杂 Vision-Language Model; Pi 5 很快会到上限。 这时可以考虑: - Hailo AI HAT; - NVIDIA Jetson; - NPU 设备; - Edge + Cloud Hybrid。 Google 也已经预告 LiteRT 将进一步支持 Hailo 加速器。 ## 最终判断 Raspberry Pi 5 上 9 tokens/s 的 Gemma 并不会替代云端 Frontier Model。 但这根本不是 Edge AI 的目标。 Edge AI 真正要解决的是: ```text 低延迟 + 离线 + 隐私 + 低成本 + 可批量部署 ``` 当 Gemma 4 E2B 能在约 1.4GB 峰值内存内运行,而 LiteRT 又能把视觉、语音、Embedding 和语言模型编排在同一块小板子上时,很多过去必须连云的 Agent 场景开始具备完全本地化的可能。 对于机器人、工厂终端、智能摄像头和离线助手,这比“再跑一个聊天 Demo”重要得多。 想继续了解 Edge AI、本地模型、Gemma 和 Agent 实战,可以访问 **智元选**:https://www.zyentorpicks.com/。我们会持续整理能真正跑起来的硬件、模型和工程组合。

提示:AI 生成内容建议人工检查后使用。免费版可能有使用次数限制。