10 美元的开发板,仅有 256MB 内存。这种配置若放在过去,别说大模型推理,就是想跑个像样点的服务都得掂量一番。结果最近看到一个叫 PicoLM 的项目,直接把十亿参数级模型塞了进去。啧,这种项目老鬼一般不会先看“模型多强”,而是先翻代码和运行限制:到底有没有魔法?有没有偷偷依赖一堆东西?
PicoLM 给出的答案挺硬。整个推理程序是纯C写的,编译后单文件大约 80KB,零依赖。运行时内存占用控制在 45MB 左右。
这就有意思了。很多本地 AI 项目,Demo 跑起来不难,真正烦的是后面那堆东西:环境、库版本、编译链、显存、服务进程。以前折腾一些小工具时,最容易卡住的往往不是模型,而是旁边那些“杂活”。证书、环境变量、SDK 版本、日志 —— 一个都少不了。PicoLM 走的是另一条路,把推理引擎本身压到很小。
性能方面,作者测试在树莓派 5 上大约每秒 10 Token,树莓派 4 能到 8 Token,甚至十美元级开发板也能跑出约 1 Token。当然,这个速度别拿去和桌面 GPU 比。重点其实不是快,而是“能不能跑”。对于一些离线助手、嵌入式设备、机器人控制、小型 Agent,这个方向反而更实际。
然而,也别急着吹。把十亿参数模型硬塞进低配硬件,必然要做出不少取舍。速度、上下文长度、模型能力之间怎么平衡,才是后面真正要看的东西。
PicoLM 里面有几个细节挺戳开发者。它针对 ARM 和 x86 做了指令级优化,同时把注意力计算和缓存机制做了精简。上下文缓存还能落盘保存,如果第二次遇到同一段提示词,可以直接跳过重复计算,作者测试速度提升大约 74%。
这个优化其实很像工程里的“抠细节”。不是堆硬件,而是减少没必要的重复工作。作者还把 PicoLM 当成 PicoClaw 的本地大脑,两者组合后可以做一个完全离线运行的Agent。没有联网,没有云端 API,请求链路全在本地。
老鬼看项目,第一眼从不看宣传词,而是盯着三点:能不能少折腾、出错了有迹可循、换个机器能否照跑不误。PicoLM 至少把前两点做到了。它未必能取代云端大模型,但对于预算有限、想探索本地 Agent 的开发者,或者单纯想看看“大模型能否塞进巴掌大的设备”的好奇者,这个项目很值得翻一翻。
GitHub 仓库:RightNow-AI/picolm
更多有趣的本地 AI 项目,欢迎来云栈社区交流。
|