最近開始自學(xué)TensorFlow怨愤,也粗看了Caffe勇吊。和之前較為直觀的電子工程類的思路和經(jīng)驗有很大差異铅匹。自己是一個來自Semicon行業(yè)的Pythoner辅髓,所以針對芯片行業(yè)做了一些粗淺的調(diào)研顺又。
AI的誤解
有幾個明顯的關(guān)于AI的誤解:
- AI必須運行在云端更卒,實際上利用云端的大數(shù)據(jù)和高算力硬件,主要是用來AI模型訓(xùn)練稚照,AI推導(dǎo)對于算力要求要低許多蹂空,可以前置到設(shè)備一側(cè)。
- AI是吹牛果录,AI最近通過智能音箱上枕、機器視覺等場景的應(yīng)用,證明AI不再是虛無縹緲的
- AI就是深度學(xué)習(xí)弱恒,深度學(xué)習(xí)是AI的一種分支辨萍,但的確是最近突破最快的一支。但是AI還有其他的訓(xùn)練方法返弹。
頂級芯片玩家
常見的可以支持AI的通用架構(gòu)主要是:
- FPGA锈玉,包括Xilinx, Intel/Altera
- GPU,包括Nvidia
- CPU义起,主要是Intel/AMD拉背,以及ARM/RISC-V/MIPS
而新架構(gòu)和新名詞太多了,包括Intel Movidius默终,阿里平頭哥椅棺,華為的AI... 傳統(tǒng)的CPU/MCU/SoC越來越多的集成AI加速器和算法:
- ARM推出CMSIS.NN,
- STM的STM32CubeMX.ai也已經(jīng)推出齐蔽,
- NXP的RT1052也開始加載AI
- RK3399集成NPU成為RK3399Pro...
所有這些新進推出的板两疚、卡、棒含滴、模塊诱渤,讓人眼花繚亂,安裝工具谈况、運行代碼源哩、驗證都要花費非常長的時間。所以除非送給我(也不一定有空)鸦做,一般來說励烦,我自己還是采用標(biāo)準(zhǔn)硬件:GPU+CPU+FPGA來做測試。
整個產(chǎn)業(yè)鏈條會以前所未有的速度集成AI泼诱,應(yīng)用場景卻非僅限於智能語音坛掠、機器視覺和自然語言處理。在基礎(chǔ)建設(shè)領(lǐng)域,AI同樣有應(yīng)用場景屉栓,比如管道無損驗傷舷蒲,無線信號預(yù)測,設(shè)備檢測友多,泵機維護牲平,管道巡檢,設(shè)備的姿態(tài)與振動分析 ......
標(biāo)準(zhǔn)化有待時日
我個人覺得未來除了CPU/MCU/SoC架構(gòu)外域滥,在5年內(nèi)會有標(biāo)準(zhǔn)化的NPU架構(gòu)和指令集出現(xiàn)纵柿,至少是針對深度學(xué)習(xí)方向的NPU。以結(jié)束當(dāng)前大量的APU/BPU/VPU等奇怪的命名和五花八門的架構(gòu)启绰。這種玩家可能是某種開源架構(gòu)昂儒,畢竟移植模型也不好玩,也不高效委可。
目前的AI算法的技術(shù)驅(qū)動力主要來自互聯(lián)網(wǎng)渊跋,而非傳統(tǒng)Semicon IDM。例如GAAF/BAT着倾,華為比較另類拾酝,來自傳統(tǒng)蜂窩通訊行業(yè)。而Intel/Nvidia/Xilinx僅僅提供的是硬件卡者,以迎合互聯(lián)網(wǎng)的要求微宝。目前這些互聯(lián)網(wǎng)巨頭都已經(jīng)開始慢慢涉足半導(dǎo)體的架構(gòu)設(shè)計,比如Google TPU/阿里平頭哥的SoC設(shè)計虎眨,很難說NPU的標(biāo)準(zhǔn)化架構(gòu)將來自哪個行業(yè)。華為的新品如果不能夠開源镶摘,那么可能很難校準(zhǔn)化嗽桩。
AI對于半導(dǎo)體行業(yè)的技術(shù)要求
雖然不需要對于模型的構(gòu)建有太多了解,但是對接一系列AI框架和硬件平臺凄敢,要求工程師對于Python AI 框架有初步了解碌冶,并熟悉掌握MCU的C/C++以及匯編級別優(yōu)化。
應(yīng)用方式
使用高算力和大量數(shù)據(jù)在云端進行AI訓(xùn)練模型涝缝,然后在設(shè)備端進行AI推理扑庞。作為設(shè)備端的工程師,需要掌握的是如何把模型移植到目標(biāo)MCU中【艽現(xiàn)在更加傾向于從半導(dǎo)體供應(yīng)商獲得模型和代碼罐氨,集成到最終產(chǎn)品中√苍或者采用AIoT方式栅隐,通過網(wǎng)絡(luò)來獲得推理服務(wù)。
目前,STM32F4xx基于M4租悄,STM32F7基于M7谨究,可以利用FPU/DSP擴展進行部分的AI推理,但是因為使用內(nèi)部Flash泣棋,主頻較低胶哲,比不上NXP RT1052和STM32H7√侗玻可以使用Cortex-A來替代RT1052進行推理鸯屿,畢竟人臉識別之類的在手機上也不是新鮮事了。但是性價比和功耗遠遠比不上RT1052萎胰。所以RT1052卡位很準(zhǔn)碾盟。但是吐槽一下NXP的支持還是不足,居然在Keil MDK里還會出現(xiàn)編譯錯誤技竟。感覺沒有驗證過環(huán)境冰肴,或者沒有判斷依賴條件。
相信STM和國產(chǎn)廠家也會出現(xiàn)大量競品榔组。