8 年老设备“逆天改命”!硬核开发者把大模型塞进 U 盘,树莓派 Zero W 变身 AI 神器

   日期:2025-03-02    作者:pn5em 移动:http://g8akg8.riyuangf.com/mobile/quote/3216.html
整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)

在 AI 计算资源日益紧张的今天,如何在资源受限的设备上运行大语言模型(LLM)成为了许多开发者关注的焦点,也是他们探索的方向:Exo 工具可以在日常使用的设备上运行自己的 AI 集群、Radxa 也发布了在单板计算机上运行 R1 的教程……这些尝试都表明,将 LLM 部署到轻量级硬件上并非不可能。

于是在这种背景下,近来技术爱好者 Binh Pham 开始了新一轮“硬核改造”:他成功在树莓派 Zero W 上实现了本地运行 LLM,并将其封装进了一个 USB 设备,命名为 LLMStick。

图片

某种程度上,你也可以把它看作是一款“AI U 盘”:用户只需将其插入电脑,就可以通过创建文本文件的方式与 LLM 交互,无需任何技术背景。


图片

树莓派 Zero W:在极限环境下的 LLM 挑战

大体来说,这款自制的 AI U 盘外壳由 3D 打印而成,内部搭载了一块树莓派 Zero W 单板计算机,并配备了一块扩展板,以增加 USB 接口,使其能够直接插入主机使用。

其中,树莓派 Zero W 诞生于 2017 年,距今已有 8 年历史,其硬件规格十分有限:

● CPU:Broadcom BCM2835(ARMv6 架构,单核 1GHz)

● RAM:512MB

● 802.11n WiFi + 蓝牙 4.1(BLE)

图片

相比之下,如今许多主流 LLM赖于 ARMv8-A 架构,并且通常需要 GPU 或 NPU(神经网络处理单元) 来加速推理计算——很显然,Binh Pham 选择的树莓派 Zero W 完全没有这些硬件优化。


图片

源码魔改:llama.zero 诞生

为了让 LLM 在极限硬件上运行,Binh Pham 最初选择了 llama.cpp 作为推理引擎。

llama.cpp 是一个专为资源受限设备优化的开源 LLM 推理框架,能够在 CPU 上运行 Meta Llama 等大语言模型。可即便如此,在树莓派 Zero W 上运行 llama.cpp 依然困难重重,其中最大的障碍是:由于树莓派 Zero W 使用的是 ARMv6 架构,而 llama.cpp 的代码优化仅针对 ARMv8-A 及以上——这种架构差异会导致编译错误,因为 llama.cpp 依赖于特定的 Arm Neon 指令集,而这在树莓派 Zero W 的处理器上不可用。

面对这一挑战,Binh Pham 选择了一条十分硬核的解决方案——直接修改 llama.cpp 的源码,手动删除或调整所有不兼容 ARMv6 的部分。这意味着:

● 逐行审查源码,替换或移除了所有依赖于 ARMv8 架构的优化部分;

● 调整数据处理逻辑,使代码适配 ARMv6 指令集,确保在老旧架构上依然可以正常编译和运行;

● 优化编译流程,确保树莓派 Zero W 有限的内存不会导致编译崩溃。

这项工作不仅需要深厚的 ARM 架构知识,还要求对 llama.cpp 的底层实现极度熟悉。整个修改过程耗时数周,最终,Binh Pham 成功编写了一个适用于 ARMv6 的精简版 llama.cpp,并将其命名为 llama.zero。

图片

图片

打造 LLMStick:即插即用的 USB AI 设备

解决架构兼容问题后,Pham 进一步优化了 LLM 交互方式。他选择让树莓派 Zero W 运行在 USB Gadget Mode(USB 设备模式)下,这样设备可以被识别为一个 USB 存储设备,实现无缝交互。

图片

具体来说,LLMStick 的使用方式非常简单:

(1)将 LLMStick 插入电脑的 USB 端口,它会显示为一个存储设备。

(2)用户在 USB 盘中创建一个文本文件,输入 prompt(提示词)。

(3)LLMStick 运行 llama.zero 进行推理计算,然后将生成的文本写回文件。

这种设计有效地将树莓派 Zero W 转变为一个便携式即插即用的 AI USB 设备,用户可以随时随地进行离线推理,而不需要专门的软件界面。


图片

运行效果:性能堪忧,远未达到实用标准

不过,尽管 Binh Pham 确实成功地在树莓派 Zero W 上运行了LLM,但其性能表现仍然存在局限性。在实际测试中,Binh Pham 使用 15M 到 136M 等参数规模不同的 LLM 模型,并设定 64 tokens 为生成上限,最终测试结果如下:

● Tiny15M 模型:每个 token 生成时间为 223ms;

● Lamini-T5-Flan-77M 模型:每个 token 生成时间为 2.5s;

● SmolLM2-136M 模型:每个 token 生成时间为 2.2s。

从这些数据可以看出,即使是最小的模型,其生成速度仍然难以支撑实际应用,而规模较大的模型其速度则几乎慢得无法接受——Binh Pham 的实验虽然具有探索意义,但对于许多实际应用场景来说,在老旧、低功耗硬件上运行 LLM 并不现实。

许多开发者注意到了 Binh Pham 的这个项目,并提出了一个值得思考的问题:为什么不直接使用树莓派 Zero 2W 呢?显然,如果目标仅是实现 LLM 运行,树莓派 Zero 2W 是更好的选择:采用 ARMv8 架构,能直接运行 llama.cpp,无需大幅修改源码;四核 Cortex-A53 性能更强,能够运行更大的 LLM,提升推理速度;两者尺寸相同,Zero 2W 可作为 Zero W 的近乎无缝替代品。

然而,Binh Pham 依然坚持使用树莓派 Zero W,不少人猜测他可能是为了增加挑战性,也可能是想向开发者证明:即使是 8 年前的硬件,也能在合理优化后运行 LLM。

目前,Binh Pham 已经在 GitHub 上开源了 llama.zero 项目,并提供了完整的 llama.zero 编译教程和如何将树莓派 Zero 作为 USB 设备使用的指南,感兴趣的开发者可前往查看:https://github.com/pham-tuan-binh/llama.zero。

参考链接:

https://www.tomshardware.com/raspberry-pi/raspberry-pi-zero/pi-zero-llm-usb-stick

https://www.cnx-software.com/2025/02/20/llmstick-an-ai-and-llm-usb-device-based-on-raspberry-pi-zero-w-and-optimized-llama-cpp/


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号