約新台幣300元的 ESP32-S3 跑近3,000萬參數模型:記憶體分層成關鍵

烏克蘭開發者 slvDev 近日展示開源專案「ESP32-AI」,讓一個擁有2,890萬參數的語言模型,在售價約10美元、約新台幣300元的 ESP32-S3 微控制器上完全離線運作。根據專案資訊,模型可透過連接至晶片的小型螢幕即時輸出文字,生成速度約為每秒9.5個詞元(tokens/s),過程不需要連線至伺服器。

這項成果受到關注的原因,並非模型具備接近雲端大型語言模型的能力,而是開發者在極有限的記憶體資源下,完成近3,000萬參數模型的部署。其核心做法,是借鑑 Google Gemma 系列採用的 Per-Layer Embeddings(逐層嵌入)技術,重新安排模型資料在不同記憶體中的儲存方式。

ESP32-S3 的硬體限制

ESP32-S3 僅配備512KB SRAM、8MB PSRAM 與16MB Flash。若依照一般模型載入方式,直接將近3,000萬參數的模型與相關資料放入速度較快的記憶體,容量很快便會耗盡,難以完成推論。

slvDev 的做法,是把模型中規模最大的部分移至容量較大但讀寫速度較慢的 Flash,同時將需要頻繁運算的核心資料保留在速度較快的 SRAM 中,藉此在容量與效能之間取得平衡。

逐層嵌入降低記憶體壓力

  • 分層儲存:約2,500萬參數的嵌入表儲存在 Flash,而不是占用有限的高速記憶體。
  • 降低讀取量:模型每生成一個 token,只需從 Flash 讀取少量資料。
  • 保留核心運算空間:真正需要高速存取的模型部分,則留在 SRAM 等較快記憶體中。

經過4-bit 量化後,這個模型的總大小縮減至14.9MB。專案資料顯示,系統生成每個 token 時,約只需從 Flash 讀取450位元組(Bytes),因此能在 ESP32-S3 的硬體條件下完成推論。

若與過去同類晶片約26萬參數的公開運行紀錄相比,這次部署的參數規模提升超過百倍。不過,這項比較主要反映可部署模型的規模差異,並不代表模型能力或實際應用效能同步提升至相同程度。

模型用途有限,重點在架構驗證

ESP32-AI 採用以 TinyStories 資料集訓練的模型,因此主要用途是生成簡短、連貫的虛構故事。它不具備回答常識問題、遵循指令、撰寫程式碼或掌握現實世界知識的能力。

換言之,這個專案更接近一項架構與部署技術的概念驗證,而不是用來取代雲端大型語言模型的通用人工智慧系統。其展示重點,在於證明低成本微控制器也能透過量化、記憶體分層及資料配置,承載參數規模遠超硬體直覺限制的神經網路。

對邊緣運算與物聯網的啟示

這項實作顯示,AI 推論不一定必須依賴昂貴 GPU 或雲端服務。只要模型架構、記憶體布局與工作負載經過針對性設計,低成本嵌入式裝置也有機會執行特定用途的神經網路。

未來若將類似方法應用於具備明確領域知識的模型,可能有助於在物聯網與邊緣裝置上實現離線推論。不過,實際部署仍須考量模型能力、Flash 讀取延遲、功耗、資料更新方式,以及裝置能否承受長時間運作等限制。.

Related Articles

Stay Connected

0FansLike
0FollowersFollow
22,800SubscribersSubscribe
spot_img

Latest Articles