|

創客AI特技:10美元MCU跑LLM、用Tiny LLM跑虛擬水族箱

   

作者:陸向陽

圖1 用10美元的MCU開發板跑1.35億個參數的LLM(圖片來源:Dsn Industries)

近期Maker圈的LLM特技持續熱燒,例如YouTube上Dsn Industries嘗試將1.35億個參數量的LLM跑在只有10美元的MCU上,更具體而言是一片具有ESP32-S3晶片的開發板。

Dsn想跑的LLM為SmolLM-135M,為了能在資源極有限的MCU上他對模型進行減肥工程,先將權重量化成4-bit整數,如此模型只剩74MB容量。

不過ESP32-S3開發板即便已具備PSRAM也只有8MB,不可能完整載入74MB模型,所以Dsn又用MCU的SPI介面連接一張microSD記憶卡,74MB模型存到卡內,但每次只載入一部份到PSRAM內執行。

然後Dsn也給開發板接一片0.96吋的OLED顯示器(SSD1306),以及用USB連接電腦與開發板(用USB模擬UART串列埠),在電腦上安裝ESP32晶片的專業開發工具ESP-IDF,EPS-IDF具有串列埠監督程式(Serial Port Monitor),用該監督程式來打字,打的字會送到ESP32-S3開發板上。

收到文字後ESP32-S3開始進行AI推論,推論的結果會透過OLED顯示器顯示出文字。從頭到尾都是本地端AI推論,不用連網。

以上是整個運作過程,而之所以說是特技,因為這套系統執行起來非常慢,一個問句輸入後,模型45分鐘後才開始產生回覆,故只是功能驗證正常,實務上不可行。

圖2 在ESP-IDF的串列埠監督器中輸入文字,LLM之後會文字回覆,文字交談內容同時顯示在監督器畫面與OLED顯示器上(圖片來源:Dsn Industries)

用Tiny LLM跑虛擬水族箱

另一個特技同樣與ESP32-S3有關,創客Strato Doumanis做了一個硬體Pocket Tank(口袋水箱),是個小型虛擬水族箱,Pocket Tank上有個1.8吋AMOLED顯示器(解析度368 x 448),裡頭有一片ESP32-S3開發板,板上有8MB PSRAM、16MB Flash,其他硬體配備還包含慣性感測器IMU、即時鐘RTC、電源管理晶片PMIC、充電電池等,整體硬體成本約35美元。

圖3 用AI模型驅動的口袋型虛擬水族箱Pocket Tank(圖片來源:Strato Doumanis)

一樣的問題,無論是8MB PRAM或16MB Flash都不可能原封不動放入LLM,所以Doumanis先在他的Mac mini(使用M4 Pro晶片)桌上型電腦上,將Gemma 2 26B模型進行蒸餾,蒸餾用的情境問題約51,000個,都是跟水族箱有關的情境問題,例如飢餓、有活力、壓力、好奇、個性化、周遭環境變化等。如此蒸餾出只有1,430萬個參數的小模型,容量約57MB。

57MB還是太大,所以再進行量化處理,把權重降至4-bit,如此模型進一步降到7.56MB,然後輸入的Token只允許58個,反正魚沒什麼記憶能力(金魚腦?),過於複雜的描述理應聽不懂。

如此只要下一段文字描述狀態,虛擬的魚就會開始有動作,並可能對魚群產生連鎖反應,例如尋找食物、跟隨其他條魚、探索、休息、逃離危險等。

圖4 可以查看每隻魚的健康狀況、個性等資訊(圖片來源:Strato Doumanis)

LLM接收到提示文字後其實是輪番對每條魚下一些建議,魚依據建議開始有些反應,魚的畫面動作反應約為每秒25至30張畫面的刷新。

由於模型是在ESP32-S3內的第二個核心上執行,每次推論後的決策需要3.6秒,如此逐一對魚下達建議,魚群要一段時間才能大幅改變水族箱的畫面。

有了這些後,玩家可以各種方式跟魚互動,你可以說你正在清潔水族箱玻璃表面的草類,你正在輕敲水族箱玻璃,或用手指抵在玻璃上等,魚就會有些對應反應,魚自身也會從幼魚、成年到老去,然後也會生出新魚(先提是虛擬魚缸有妥善虛擬維護),而開發板上的即時鐘RTC可以用來設定遊玩時間,時間到自動關機儲存進度。

最後,這也讓筆者想到1990年代中後期的電子寵物機,一樣是一種可以放入口袋的電子玩具,主題是飼養一隻寵物雞(之後各種衍生,養鯨魚、恐龍等)。或者是NEC(恩益禧,昔稱日本電氣)在1995年提出的魚八景(さかなはっけい),用多面液晶螢幕構成一個虛擬的水族箱,但畫面極為逼真,如同真的水族箱。

圖5 新版以4K解析度詮釋的魚八景(圖片來源:東信電器株式會社)

之所以會有魚八景,主要是讓住院病患看到魚、鳥等寵物的生靈活動有助於康復,但若真的在醫院內放置真的水族箱,肯定要增加專業的維護人手,在人手吃緊下魚八景成了真實水族箱的替代方案。因此,看似極小型化的LLM似乎無用,但也可能帶來療癒效果。

(責任編輯:謝嘉洵。)

陸向陽

訂閱MakerPRO知識充電報

與40000位開發者一同掌握科技創新的技術資訊!

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *