AI News HubLIVE
站内改写1 分鐘閱讀

在4美元的微控制器上實現流水線並行:拆分42M模型

這個開源項目展示瞭如何在兩個ESP32-S3微控制器上以流水線方式運行Llama架構的大型語言模型,突破了單個芯片的內存限制,支持高達42M參數的模型。這是首個在ESP32級硬件上實現多芯片流水線LLM推理的項目,採用INT4量化和UART通信,速度約為0.5-1.4 tok/s。

來源Hacker News AI作者: Harman-Singh123

近日,一個名為“ESP-32-s3-Story-maker-LLM”的開源項目引起了嵌入式AI社區的關注。該項目成功地在兩個ESP32-S3微控制器上實現了Llama架構大語言模型的流水線並行推理,使得總參數量高達42M,突破了單個ESP32-S3芯片16MB閃存和8MB PSRAM的限制。

該項目由開發者harmansingh4163-ai創建,核心思路是將LLM的層拆分到兩個芯片上。權重採用INT4量化(組內共享32個scale),存儲在內存映射的閃存分區中,完全不佔用RAM。計算時,激活值保持INT8精度,使用整數精確的組內點積,並且每個矩陣乘法行被分配到芯片的兩個LX7核心上並行計算。兩個芯片之間通過UART連接,傳輸速率為460800 bps,數據幀格式為A5 5A | cmd | len | payload | CRC16,每次token的往返數據量約1.2KB,僅佔單token處理時間的3%左右。

為了確保可靠性,項目進行了嚴格的驗證:所有可測試的組件都在硬件之前通過了測試,前向傳播與NumPy參考結果的誤差在3e-7以內;拆分後的流水線模型與完整模型位精確匹配;UART協議經過模糊測試,能正確忽略噪聲並拒絕CRC錯誤的幀。與現有的ESP32 LLM移植項目相比,該項目在參數量和輸出質量上有了顯著提升:單個ESP32-S3運行15M參數模型時,速度約1.4 tok/s,能生成多段落故事;而雙板方案則有望在42M參數模型上達到約0.5 tok/s,生成更連貫的情節。

使用該項目需要一定的硬件和軟件基礎:單板模式需要一塊具有16MB閃存和8MB PSRAM的ESP32-S3,雙板模式則需要兩塊這樣的開發板和三根杜邦線。開發者提供了詳細的步驟,包括模型下載、量化、閃存寫入、固件編譯和硬件連接。項目支持通過串口進行交互,用户可以輸入提示詞生成故事,並通過命令調整温度、top-p採樣、生成長度等參數。未來計劃包括在實測硬件上運行42M模型、利用PIE SIMD指令加速矩陣乘法,以及開發無需PC的觸摸屏用户界面。