owned this note
owned this note
Published
Linked with GitHub
# 【vMaker Edge AI專欄 #12】 AI Maker世代即將展開-大家跟上了嗎?
作者:Jack OmniXRI, 2023/12/15
![vMaker_EdgeAI_12_Fig00](https://hackmd.io/_uploads/rJ5EG9t8a.jpg)
在現今專業分工的時代,很多事情不用透過自己動手作就能享受時代進步所帶來的便利。大家不用自己買布作衣服,不用買食材自己下廚,家裡燈不亮了,房子想重新裝潢一下,不用自己買電線、木材,都有專業人士可以幫忙。但是自己作手作,完成一項可以改變自己生活的事,從來就不是特定專業人士才享有的能力,只是隨著時代的演進,那些父母時代才有的動手作能力及樂趣已逐漸被人們淡忘。
早在1956年瑞典知名家俱商IKEA就推出組合式家俱,讓一般人也能自己 **DIY (Do It Yourself)** 看圖組裝家俱。2005年Make雜誌推出,2006年Maker Faire開始推動 **Maker(自造者或稱創客)** 運動,讓傳統手工製作的精神加入了電子、機械、資通訊(俗稱寫程式)等現代科技,同時許多廠商紛紛推出相應套件、工具及軟體、平台,也有許多樂於分享的人將相關技術無私開源,讓更多人能享受自己動手作的樂趣。2014年美國總統歐巴馬更在白宮主持了Maker活動,並規畫教育創新十年計畫,編列四億美金,培訓十萬名教師推動 **STEM(科學Science、科技Technology、工程Engineering及數學 Mathematics)** 來讓學生們更具動手作的能力。於是這股風潮引爆更多領域,如平價的3D印表機(3DP)、無人機(Drone)、自走車等,從此開啟跨域Maker新世代。
在這股風潮下台灣Maker也不落人後,尤其在擁有強大的電子硬體及資通訊軟體的能力下,2013年由中研院及LASS社群[1]共同推動下,一個螞蟻雄兵的計畫就此誕生,那就是「PM2.5空氣盒子」。大家利用很簡單的PM2.5空氣品質感測器加上平價的硬體、通訊模組、開源的軟體及簡單的外殼,最後再一起串接到共同網站就能監看全台灣的空氣品質,而其整體架構剛好就是「**物聯網(Internet of Things, IoT)**」最基本的核心技術。由於這項技入門容易,價格不高,具教育意義,更能讓老師、家長及學生一起動手作,不限是否具有電子或資通訊背景都能快速速上手,於是全民Maker的時代正式開啟,陸續引爆各種創意及手作風潮。
![vMaker_EdgeAI_12_Fig01](https://hackmd.io/_uploads/HkGXEctIT.jpg)
Fig. 1 Maker Faire Taipei [[影像來源]](https://taipei.makerfaire.com/)
十年過去了,中間發生了很多事,包含知名Maker Faire差點倒掉又易主,很多Maker Space收起來,不禁讓很多人覺得Maker不再是熱點。但從去(2022)年及今年的Maker Faire Taipei活動來看,即便收費仍然有非常多人參加,會場中各種創意及交流,讓人覺得依舊活力十足。不過仔細觀察了一下,會發現熟面孔似乎越來越少,作品的內容和往年相比似乎也沒有太多變化,是大家創意疲乏了嗎?還是Maker精神已融入生活不再需要多說呢?難道已經沒有新的火花可以重新點燃大家的熱情嗎?
去年11月底OpenAI發表**大型語言模型(Large Language Model,LLM)** ChatGPT後,短短一年就讓**生成式人工智慧(AIGC)** 發生翻天覆地的變化,不僅是文字創作、自然對話、影音生成,甚至直接輸入影音而使用文字查詢也變成不再是困難的事。一般學生及大眾不需有太多操作知識,就能像面對真人一樣的對談、交辦工作,彷彿科幻電影情節降臨。這一年來有賴像NVIDIA、INTEL、Microsoft、Google等軟硬體公司的大力推動及各學研單位的努力,僅僅一年就讓遠在天邊(雲端)的技術,可以迅速落地(邊緣),讓高階手機(Mobile)、單板微電腦(SBC)甚至高階單晶片(MCU)也有機會玩AIGC相關應用,這也似乎意味著新一波的「**AI Maker世代**」即將到來,各種新的創意也將遍地開花。
接下來就幫大家整理了一下有哪些硬體、軟體相關技術資源可用,還有哪些創意、應用可能成為AI Maker的新寵。
## 1. 微型AI硬體及適用範圍
![vMaker_EdgeAI_12_Fig02](https://hackmd.io/_uploads/ByDYd9YLp.jpg)
Fig. 2 微型AI常見硬體組合。(OmniXRI整理製作,2023/12/15)
目前依運行模型大小,需選用不同算力及記憶體大小的硬體,才能滿足不同的邊緣型AI應用,大致可分為筆電(AI PC)、手機(SoC)、單板微電腦(MPU)及單晶片(MCU),而為了順利運行通常這些硬體都會搭配神經網路加速單元(Neural Network Processing Unit, NPU, 俗稱AI晶片),否則很難滿足即時反應需求。
一般來說在邊緣端裝置要直接跑大型語言模型(LLM)還要馬上有反應且不能太胡言亂語,那就要使用較大模型(1300億或700億個參數, 130B或70B),透過網路連線到雲端,使用業者提供的API服務(部份免費),而邊緣裝置僅負責處理人機界面,輸入文字、語音、影像等資料,待收到回覆後再顯示文字、影像,播放聲音或影片,很適合用於各種文字、影像、音樂生成等應用。這樣的作法,對硬體要求不高,也不需要有NPU存在,甚至高階MCU也都有機會能完成。常見的API服務如下所示。
* OpenAI: GPT-3.5/4, DallE2/E3
* Google: Vertex AI
* Microsoft Azure: Cognitive Service(DialoGPT)
* Amzon Web Services(AWS): Lex
如果想要離線就能運行LLM,那模型就不能太大,通常是130億或70億或13億個參數(13B或7B或1.3B),以一個參數1 Byte(8 bit)來看,就要有13GB或7GB的記憶體及儲存空間才夠用,所以有時還要透過模型優化工具將其量化、剪枝、壓縮來縮小模型,才能放的進裝置中運行。但缺點就是模型越小,生成能力及正確性也會隨之下降,較適合特定場域中有限回答,如智慧家庭、智慧交通、智慧健康、電商客服等。以下列舉一些常見硬體。當然這些硬體算力較好,也很適合用於影像分類、物件偵測、影像分割等應用。
* **AI PC**: Intel Meteor Lake(14代CPU+iGPU+NPU), AMD Ryzen 8040(CPU+GPU+NPU), Apple M2(CPU+GPU+NPU), Qualcomm Snapdragon X Elite(CPU+GPU+DSP+NPU) …
* **手機平板(SoC)**: Qualcomm Snapdragon 8 Gen 3, 聯發科天磯9300 …
* **單板微電腦(MPU)**: Nvidia Jetson Orin(CPU+GPU), Raspberry Pi 5(CPU), Rockchip RK3588(CPU+NPU), ALIF Ensemble(MPU+MCU+NPU), NXP i.MX93 (MPU+MCU+NPU), TI AM6xA(MPU+MCU+DSP+NPU) …
常見7B LLM模型:
* [Meta Llama2 7B](https://ai.meta.com/llama/)
* [Taiwan-LLM-7B](https://huggingface.co/yentinglin/Taiwan-LLM-7B-v2.1-chat)
* [Mistral 7B](https://mistral.ai/news/announcing-mistral-7b/)
* [Intel Neural-Chat-7b](https://community.intel.com/t5/Blogs/Tech-Innovation/Artificial-Intelligence-AI/Intel-neural-chat-7b-Model-Achieves-Top-Ranking-on-LLM/post/1549386?profile.language=zh-TW)
* [Zepyr-7B-beta](https://huggingface.co/HuggingFaceH4/zephyr-7b-beta)
* [MosaicML MPT-7B](https://github.com/mosaicml/llm-foundry/)
* [TAIDE 7B](https://taide.tw/) (國科會,台灣可信任AI對話引擎,模型尚未正式開放,現僅提供特定單位內測中)
一般Maker常用的Arduino及PRO系列,前者多半為低階單晶片,算力及記憶體極少,較不適用微型AI,而PRO系列雖然沒有NPU加持,但Arm Cortex-M4/M7/M33的內核時脈頻率高,運算速度快,記憶體(Flash & SRAM)較多,已能完成簡單的語音,甚至低解析度的AI影像應用。而最近一年高階MCU+NPU已陸續亮相,雖然算力通常不到0.5TOPS,但對於較複雜的AI視覺模型及應用(如物件偵測、追蹤)還是沒問題的,以下就簡單列出一些已公開的產品。
* [ST STM32N6(MCU+NPU)](https://blog.st.com/stm32n6/)
* [NXP MCX-N(MCU+NPU)](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-n-series:MCX-N-SERIES)
* [Himax WE2(MCU+NPU)](https://www.himax.com.tw/zh/products/intelligent-sensing/always-on-smart-sensing/wiseeye2-ai-processor/)
* [Espressif ESP32-S3(CPU+DSP)](https://www.espressif.com/zh-hans/products/socs/esp32-s3)
* [Realtek RTL8735B(MCU+NPU)](https://www.amebaiot.com/zh/amebapro2-amb82-mini-arduino-getting-started/)
* [Infineon PSoC Edge(MCU+NPU)](https://www.infineon.com/cms/en/product/microcontroller/32-bit-psoc-arm-cortex-microcontroller/32-bit-psoc-edge-arm/)
* [SiFive X390(64bit RISC-V+VLEN)](https://www.sifive.com/cores/intelligence-x390)
## 2. 小型AI開發軟體及平台
有了這些硬體還不夠,因為大家對AI可能還不太懂,一下子難以跨越算法的鴻溝,因此就像開車一樣,大家只要到駕訓班學一些基本操作就能上路,不用懂汽車是如何被設計出來的,所以一個容易上手的AI開發軟體工具及平台就變得很重要。一般AI應用開發分為訓練(Training)及推論(Inference),在邊緣端只需推論就夠了。而很多常用的AI應用多半都已開源,不需重新訓練就能使用,只要適當將模型優化處理就能塞進邊緣裝置中。常見開發工具及平台簡單介紹如下。
* AI PC / 單板微電腦端工具
* Google: [TensorFlow Lite](https://www.tensorflow.org/lite?hl=zh-tw), [Teachable Machine](https://teachablemachine.withgoogle.com/), [MediaPipe](https://developers.google.com/mediapipe)
* Nvidia: [TensorRT](https://developer.nvidia.com/tensorrt)
* Intel: [OpenVINO](https://docs.openvino.ai/)
* Microsoft: [Lobe](https://www.lobe.ai/)
* 單晶片專用型AI函式庫及編譯器
* ST: [CubeAI (local, cloud)](https://stm32ai.st.com/stm32-cube-ai/), [NanoEdge](https://www.st.com/en/development-tools/nanoedgeaistudio.html)
* NXP: [eIQ](https://www.nxp.com/design/design-center/software/eiq-ml-development-environment:EIQ)
* Renesas: [Reality AI](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/reality-ai)
* Infineon: [Imagimob](https://www.imagimob.com/)
* Nordic: [Atlazo](https://www.nordicsemi.com/Nordic-news/2023/08/nordic-to-acquire-ai-ml-technology-in-the-us)
* TDK: [Qeexo](https://qeexo.tdk.com/)
* Google: [TensorFlow Lite for Microcontroller](https://www.tensorflow.org/lite/microcontrollers?hl=zh-tw)
* Arm: [CMSIS-NN](https://github.com/ARM-software/CMSIS-NN), [Android NN SDK](https://www.arm.com/zh-TW/products/silicon-ip-cpu/ethos/arm-nn), [Compute Library](https://www.arm.com/zh-TW/technologies/compute-library), [Vela Compiler](https://developer.arm.com/documentation/101888/0500/NPU-software-overview/NPU-software-tooling/The-Vela-compiler)
* Nuvoton: [Skymizer ONNC Compiler](https://skymizer.com/products/onnc)
*
* 通用型單晶片TinyML開發平台
* [Edge Impulse Studio](https://edgeimpulse.com/)
* [Quick Logic SensiML](https://sensiml.com/)
* [Neuton](https://neuton.ai/)
* [AI Tech. Cainvas](https://www.ai-tech.systems/cainvas/)
* [OctoML](https://octoml.ai/)
## 3. AI小幫手及創意發想
![vMaker_EdgeAI_12_Fig03](https://hackmd.io/_uploads/HJ9odqtLT.jpg)
Fig.3 微型AI常見應用例。(OmniXRI整理製作,2023/12/15)
在Maker眼中,創意、靈感從不缺乏,只是在有沒有動手去作,而不是只存在嘴上和心中。當你又學習到一項新工具或新技術時,如何落實到生活中才是Maker精神。回到100年前,1920年代福特汽車開始大量生產上市時,大多數人想到的是好快的車速,人類真的有辦法操控嗎?馬車真的會被取代嗎?它會不會很危險,很容易撞傷人?這些問題是否和AI世代降臨很像呢?如今大家享受著自動化生產的成果及便捷的交通工具,都是前人努力的結果。只要大家善用工具,相信AI也能成為日常不可或缺的一部份。
為了讓大家更有想像空間,這裡簡單整理了聲音、影像、環境感測、視覺及生成五大領域,不同硬體平台,數十種微型AI應用的實作案例,希望大家能舉一反三,創作出更多有趣的案例並分享給大家,那麼一起成為「AI Maker」就不再是難事了。
* [【Intel DevCup 2021作品集】- 實作組](https://makerpro.cc/intel-devcup/popular-vote-for-practice-group/)、[概念組](https://makerpro.cc/intel-devcup/popular-vote-for-practice-group/)
* [【Intel OpenVINO Notebooks】(含AIGC)](https://github.com/openvinotoolkit/openvino_notebooks)
* [【Nvidia Jetson Community Projects】](https://developer.nvidia.com/embedded/community/jetson-projects)
* [【TinyML應用大全(30組案例分享)】](https://hackmd.io/@OmniXRI-Jack/tinyML_30_porjects)
* [【Hackster.io LLM Projects】](https://www.hackster.io/search?q=LLM&i=projects&sort_by=most_recent)
從以上軟硬體技術及實作案例的介紹,大致可了解到完全離網,在裝置上獨立運行微型AI推論是沒有問題,以下就簡單列出幾項考慮的重點,方便大家未來設計時的參考。
* 感測器類型(聲音、振動、影像、環境…)
* 模型大小及複雜度(模型優化工具、Flash儲存參數量、SRAM計算過程變數量)
* 推論效能(精度、速度…)
* 資料傳輸方式(有線I2C/SPI/MIPI…,無線BLE/WiFi/5G…)
* 耗能(電池、充放電管理、睡眠…)
* 晶片及開發板價格
## 小結
2023年即將結束,各種「**AI Maker世代**」所需的軟硬體及開發工具也陸續到位,以上簡介只是拋磚引玉,相信這將可以再次點燃大家心中的Maker精神,重新把創意具現化,讓AI變成大家生活的小幫手,而不再是遙不可及的技術。
## 參考文獻
[1] LASS環境感測器網路系統
https://lass-net.org/
[2] 許哲豪,"TinyML應用大全(30組案例分享)"
https://hackmd.io/@OmniXRI-Jack/tinyML_30_porjects
[] 許哲豪,"如何結合Google Colab及Intel OpenVINO來玩轉AIGC"
https://omnixri.blogspot.com/2023/12/20231209devfest-taichunggoogle.html
**本文同步發表在[【台灣自造者 vMaker】](https://vmaker.tw/)**
---
OmniXRI 整理製作,歡迎點贊、收藏、訂閱、留言、分享,
###### tags: `vMaker` `Edge AI`