作者:Jack OmniXRI, 2024/01/15
講到AI相信大家第一時間多半是聯想到大型語言模型(LLM)和生成式AI(genAI, AIGC)應用,可以對話聊天、查詢資料、生成文章圖像和音樂,而這些應用多半需要用到極大的雲端算力才能完成。對於微型AI應用,如語音喚醒(語音命令)、異常偵測(振動、異音、環境感測器)、運動偵測(手勢、跌倒)、影像分類、影像物件偵測、影像姿態偵測(全身、手指)等,通常可利用單晶片(MCU)或微處理器(MPU)配合較小的AI模型就有機會辦到邊緣(離網)就完成推論工作。
在「MCU攜手NPU讓tinyML邁向新里程碑」[1]一文中提到,AI推論主要都是在進行巨量的矩陣乘加運算(MAC),就是「a×b+c」。而加速計算方式可使用「提高工作時脈速度」、「平行/向量指令集加速」、「多核心加速」、「NPU神經網路加速器」等硬體加速作法。而一般單晶片在單核CPU的情況下,最容易達成的作法就是前兩項,而本文將從「平行/向量指令集加速」的角度來為大家說明如何在沒有神經網路加速器NPU時也能順利玩微型AI應用。