树莓派 Zero“硬核改造”:8 年老设备实现本地运行大语言模型
近年来,本地运行大语言模型(LLM)的趋势变得越发明显,越来越多的人开始在个人电脑或系统上部署这些模型。
近日,越南开发者 Binh Pham 进行了一项创新实验,他成功将树莓派 Zero(Raspberry Pi Zero)改造为小型 USB 驱动器,从而使其能够在本地运行LLM,而无需任何额外设备。这一实验主要得益于 llama.cpp 和 llamafile 的支持,这两者结合了指令集和一系列轻量级软件包,致力于提供一种离线的轻量级聊天机器人体验。
然而,树莓派 Zero 已问世八年,因其硬件性能有限,将 llama.cpp 移植到该设备并不容易。Pham首先通过USB接口连接设备,并为其3D打印了一个外壳。
在解决了硬件问题后,项目遇到了新的挑战,即树莓派 Zero W 的512MB内存限制。在尝试将 llama.cpp 编译到该设备时,Pham遇到了失败,此前也无人尝试在树莓派 Zero或One上编译该软件。
问题的关键在于树莓派 Zero的 CPU 采用的是ARMv6架构。为了克服这一障碍,Pham必须对 llama.cpp的ARMv8指令集进行转换,并移除所有基于现代硬件的优化或注释。
经过成功修改 llama.cpp源代码后,Pham专注于软件的运行和用户体验优化。他创建了一个基于文本文件输入的LLM实现,其中文本文件作为主要提示,LLM根据这些提示生成故事,并以完整的输出文件形式返回。
为了测试性能,Pham设定了64个token的限制,并对15M到136M不等的多个模型进行了基准测试。Tiny15M模型每个token处理速度为223毫秒,而较大的 Lamini-T5-Flan-77M模型每个token处理速度为2.5秒,SmolLM2-136M模型每个token处理速度为2.2秒。
这些token处理速度表明,该设备在许多实际应用场景中可能表现得太慢。尽管这一项目具有创新性,但在实际应用中,使用老旧的轻量级硬件运行本地LLM并没有太多实用价值。相比之下,使用更复杂的模型,例如在树莓派 5上运行Deepseek,可能会是更好的选择。
广告声明:文中包含的对外链接,用于传递更多信息,节省甄选时间,结果仅供参考。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。