返回首頁

邊緣 AI/推論系統

ESP32-S3 以分層嵌入在 16MB Flash 跑 2,890 萬參數模型,生成速度約每秒 9.5 token

開源專案 esp32-ai 把多數參數移入記憶體映射 Flash,只讓小型 Transformer 核心留在快速記憶體,讓約 8 美元的微控制器完全離線生成文字。成果證明分層模型可下沉到韌體,但 TinyStories 等級輸出仍不能等同通用語言理解或裝置控制能力。

Popolon · CC BY-SA 4.0 · Image source
zh-Hant

開源專案 esp32-ai 近日在技術社群受到關注:開發者把一個 2,890 萬參數、4-bit 量化後約 14.9MB 的語言模型部署到 ESP32-S3。測試硬體僅有雙核心 240MHz LX7、512KB SRAM、8MB PSRAM 與 16MB Flash,模型仍能以約每秒 9至9.5個 token 生成短篇故事,推論過程不依賴網路、手機或外部伺服器。專案同時提供訓練、匯出、量化、主機端數值驗證及燒錄流程,而非只有預先錄製的展示。

關鍵並非更快的矩陣核心,而是重新安排參數所在的記憶體層級。約 2,500 萬個參數屬於分層嵌入表,被放進可記憶體映射的 Flash;每生成一個 token,只讀取少數相關列。負責實際 Transformer 運算的稠密核心約 56 萬參數,連同工作緩衝區留在較快的 SRAM或PSRAM。這與 Google 在 Gemma 3n 使用的 per-layer embeddings 思路相近:讓容量大的查找資料停留在便宜、較慢的記憶體,避免每一步都搬運完整模型。對受記憶體頻寬限制的 MCU 而言,這比單純縮小權重更重要。

工程價值在於證明生成式模型可以成為韌體的一部分,適合研究離線文字介面、窄域分類、感測資料摘要及網路中斷時的降級處理;資料無須離開裝置,也能降低雲端延遲與持續費用。不過目前模型以 TinyStories 為主要資料來源,展示的是簡單敘事與模式學習,不是可靠問答、推理或控制器。參數量也被大型嵌入表拉高,不能直接與同規模稠密模型比較。下一步應觀察真實指令資料上的準確率、尖峰記憶體與功耗量測,以及錯誤輸出能否被確定性的韌體規則安全地限制。

來源

  1. slvDev/esp32-ai
  2. Gemma 3n model overview
  3. Running a 28.9M-Parameter LLM on an $8 Microcontroller