開發者 slvDev 把 28.9M 參數語言模型塞進約 8 美元的 ESP32-S3,靠 Per-Layer Embeddings 將 25M 參數留在快閃記憶體,端到端約 9.5 tok/s 完全離線生成,較前一代同類晶片模型大約百倍。
28.9M 參數塞進 8 美元晶片
開發者 slvDev 在 GitHub 開源的 esp32-ai 專案中,於一顆售價約 8 美元的 ESP32-S3 微控制器上,跑起一個 28.9M 參數的語言模型。晶片配備 512KB SRAM、8MB PSRAM 與 16MB Flash,全程離線運算,不上傳伺服器,每秒約 9.5 token 把文字寫到外接小螢幕上。模型以 4-bit 量化後僅 14.9MB。相同等級晶片上的前一個公開語言模型只有 260K 參數,這次足足放大約百倍。
Per-Layer Embeddings:把嵌入表搬進快閃記憶體
微控制器的瓶頸是快速記憶體。ESP32-S3 僅有 512KB SRAM,傳統做法要求整個模型都掛在這裡,因而只能跑極小模型。這個專案的關鍵是借用 Google 在 Gemma 3n 與 Gemma 4 提出的 Per-Layer Embeddings 設計:把語言模型中占比最高的嵌入表(約 25M 列)留在慢速 Flash,每個 token 只讀出所需 6 行、約 450 位元組,真正參與計算的少量權重才放進 SRAM。結果是大模型幾乎不用常駐快速記憶體,等於「用查表取代載入」。
能做什麼、不能做什麼
模型以微軟研究院的 TinyStories 資料集訓練,能寫出結構大致連貫的短篇故事,但無法回答問題、遵循指令、寫程式或陳述事實。作者明說,真正有趣的是架構——把大模型塞進微小晶片,而非這個 28.9M 模型能說出什麼。repo 亦公開訓練、量化、消融實驗與片上實測,並保留作者自行更正早期參數統計錯誤的提交歷史。
對硬體決策者的意義
這個專案不是要挑戰雲端 LLM,而是把 Per-Layer Embeddings 從手機、GPU 拉到 MCU 級硬體的工程示範。對物聯網、智慧家居、離線語音與邊緣裝置團隊而言,它指向一條可落地的路徑:在數美元的晶片上保留端側推理能力,同時把雲端依賴與資料外傳風險降到最低。若端側模型需要在信心不足時把任務交給雲端,Cactus Gemma 4 E2B Hybrid 的置信度路由展示了另一種混合架構。專案已獲 1.2k stars、121 forks,採 MIT 授權。若工作負載擴大到大量訓練資料前處理,瓶頸會轉向另一端,可對照〈GigaToken 的 BPE 分詞吞吐實測〉。