我在ESP32 Dev Kit V1上运行了完整的LLM模型(仅用81KB内存)

Reddit r/ArtificialInteligence 模型

摘要

一位开发者成功在ESP32 Dev Kit V1上运行了量化至INT4的520万参数MoE LLM,仅使用81KB SRAM,通过从闪存流式加载专家,实现了约每秒5个token的速度。

是的,你没听错:没有API,没有PSRAM,没有标题党,就是一个纯LLM模型在512KB SRAM上运行。该模型大约是520万参数的MoE,有16个专家,量化至INT4。引擎基本上是从Flash流式加载专家到SRAM,每个token只运行一个专家,仅占用约81KB,剩下215KB用于KV缓存和下一版本的改进。我使用了6层、4个注意力头和128个嵌入token——我知道非常小,但仍在提升容量。完整模型量化后的权重约为3.1MB(这也是瓶颈,导致我无法直接增大模型尺寸)。而TPS(每秒token数)一点也不差,事实上非常好,在ESP32 Dev Kit V1上大约有5 TPS。我还添加了一个数学工具(Math Harness),让它能解简单方程,因为模型太小无法自行求解;还加入了Attention Sink,让上下文窗口对于这个仅用81KB内存运行的模型来说更可用。就其尺寸而言,回答质量相当不错。GitHub在此:https://github.com/ahmedbarakat207/espllm 如果你想看看的话:p https://preview.redd.it/k2x5654u0aih1.png?width=640&format=png&auto=webp&s=1bbc700a93aa4a01f8e17b9103613ec0ff8f94d1
查看原文

相似文章

在8美元微控制器上运行2890万参数的大语言模型

Hacker News Top

一位开发者演示了如何在仅8美元的ESP32-S3微控制器上运行一个2890万参数的语言模型,利用Google的逐层嵌入技术将大部分参数存储在闪存中,实现了设备端每秒约9.5个token的文本生成速度。

Echo Dot 2 能以不错的速度运行 28M 参数 LLM

Reddit r/LocalLLaMA

一位开发者展示了如何使用 llama.cpp 在 Amazon Echo Dot 2 上本地运行 28M 参数 LLM,生成速度约 4 tokens/s,通过提示缓存实现约 2.3 秒延迟,从而支持简单的离线语音命令。