作者:陸向陽
雖然創客Maker熟悉的微控制器MCU、單板電腦SBC也能執行(或稱推論)AI,即近年來倡議的TinyML、Edge AI,但都是以感知式的Perception AI應用為主,例如拿出一張照片,讓MCU判別照片中是否有貓?是否有黃貓?或說一段話,讓SBC判別講話的人是誰?講哪一國的語言?此也稱判定式、鑑別式AI。
不過在ChatGPT風靡後整個業界流行的是生成式Generative AI/GenAI,或稱大語言模型LLM,GenAI的模型巨大,需要大儲存空間、大運算力才能即時獲得推論結果,意即要同時用上雲端上的多台伺服器,若用個人電腦執行將很緩慢,必須將模型輕量化瘦身才行,如此更遑論硬體資源更受限的MCU、SBC了。
但是總有人對限制發起挑戰,近期就有兩則以MCU、SBC執行LLM的技術嘗試,一是用只有8美元的ESP32-S3 MCU來跑2,890萬個參數的Gemma模型,另一是用RPi 5 SBC來跑大語言模型,但卻是以裸機(Bare Metal)方式來跑,以下分別更深入說明。
逐層嵌入技術讓MCU能跑LLM

圖1 ESP32-AI讓ESP32-S3 MCU可以跑2,890萬個參數的LLM(圖片來源:GitHub上的slvDev)
ESP32-S3的模組板通常只有512KB SRAM、0-16MB PSRAM、0-32MB Flash(此次為8MB PSRAM、16MB Flash),理論上512KB SRAM根本不足以載入總量達2,890萬個參數的LLM,但因為運用了Gemma 3n(Gemma可視為Google封閉大語言模型Gemini的開放衍生版)的逐層嵌入(Per-Layer Embedding)技術,將2,500萬個參數放在Flash內的查詢表(lookup table)中,而在執行AI推論時,只會把約450Bytes的資料從Flash讀取到SRAM或PSRAM中進行運算。
另外,模型已經透過量化手法減少容量,加權的精度降至4-bit,如此整個模型約14.9MB容量,可以放入16MB Flash內儲存。更具體地說,快速執行的部份放在SRAM,次之放在PSRAM,最慢的放在Flash。
如此,ESP32-S3可以在完全不倚賴外部運算支援下,獨自實現GenAI推論工作,每秒約可產生9.88個Token,每個Token約需要94.9mS的運算時間,而推論出的結果是透過一個簡單的顯示器來顯示。
有趣的是,玩家目前已經訓練出兩個模型,一個叫Barista,是一個可以回答義式濃縮咖啡Espresso問題的專家;另一個是TinyStories,顧名思義是專門用來生成微故事、小故事的。
NightRun讓RPi 5裸機執行LLM
在正式說明前先解釋一下何謂裸機(Bare Metal),一般而言電腦開機後是先進入作業系統(如Windows),而後才能開啟與執行各種應用程式(如Word、Excel),但裸機是開機後直接執行應用程式,從頭到尾不需要作業系統。
裸機的好處是沒有作業系統耗佔硬體資源,應用程式幾乎全面掌控所有硬體資源,硬體利用率拉到最高,缺點也因為沒有作業系統,要更換、更新應用程式時會比較繁瑣耗時,通常用於長期固定執行或非常苛求硬體利用率的場合。
最近GitHub一個名為NightRun的專案即是讓SBC可以裸機跑LLM,把NightRun軟體裝在SD記憶卡(需6GB以上的儲存空間)上,接上RPi 5,然後開機,就可以執行Llama 3.2-1B Instruct、Llama 3.2-3B Instruct、Granite 4.1-3B或Qwen3-4B Instruct 2507等模型。
其中Llama 3.2-1B Instruct只要4GB RAM版的RPi 5即可,其他的模型需要8GB、16GB RAM版的RPi 5才行。也因為開機後簡單引導就進入應用程式,不需要載入作業系統,所以開機也非常快,只要10秒。
若更進一步技術剖析,畢竟純LLM只是單純接收輸入、推論出結果,但輸入跟輸出還是需要有簡單的外部程式負責處理,這一塊NightRun是倚賴UEFI開機程式來代勞,由其讀取儲存的資料、輸入的資料、儲存的資料等,所以嚴格而論不算完全的裸機,應該說是高程度裸機。
另外,各位或許會好奇推論效能如何,以8GB RAM版RPi 5而言,在推論Granite 4.1 3B Q4_K_M模型時,每秒可以處理6.2個Token(提示文字),每秒可以輸出3個Token(結果)。
附帶一提的,NightRun也可以用於一般x86電腦,但必須是使用UEFI的BIOS規範的電腦,近年來的電腦幾乎都是。不過在一般電腦上跑的意義相對小,因為其硬體資源相對寬裕,不太需要裸機執行。
另一個有趣的是,NightRun是用上AI撰寫成的,用上了Claude AI,且主要用Rust程式語言(高度嚴謹、高度資訊安全、高度硬體資源利用率的程式語言)撰寫成。
結語
最後,各位可能覺得上述的軟體技術僅能視為巧門特技,並不正規,或許可能一直是如此,但今日企業常用的虛擬化軟體技術,也很長一段時間僅被視為特技,如此卻已經成熟普及,因此各類技術都值得持續觀察,或許有一日成為不可小覷的關鍵技術唷!
(責任編輯:謝嘉洵)
- 軟體技術讓MCU、SBC能跑輕量化LLM - 2026/09/02
- 【活動報導】Hack to Refund#2:挑戰Arduino Nano 33 BLE Sense Rev2開發任務 - 2026/08/11
- 月之暗面Kimi K3模型技術觀察 - 2026/07/29
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!


