博客專欄

        EEPW首頁 > 博客 > 降低MCU運行AI算法的門檻!恩智浦Nano.AI工具鏈解讀

        降低MCU運行AI算法的門檻!恩智浦Nano.AI工具鏈解讀

        發布人:芯東西 時間:2021-05-21 來源:工程師 發布文章
        破解MCU部署AI難題,恩智浦技術專家分享軟件妙招。

        編譯 |  心緣
        編輯 |  漠影
        5月25日,覆蓋輕量級神經網絡模型設計、模型壓縮、AI推理引擎、AI芯片架構創新等主題的GTIC 2021嵌入式AI創新峰會將在北京舉行。屆時,嵌入式AI產業鏈10+位技術大牛及業界專家齊聚,探討物聯網與AI融合賽道的核心議題。峰會前夕,我們與多位嘉賓進行系列深度訪談,提前一睹他們對產業的真知灼見。本期訪談嘉賓為恩智浦半導體IoT解決方案高級經理秦建峰,他將帶來主題為《如何設計高效率MCU AI工具鏈》的演講。秦建峰擁有中國科學技術大學碩士學位,負責AI/ML技術在恩智浦的MCU及MPU上的應用開發,曾帶領團隊獨立研發并發布了全球第一款基于MCU RT106F的低功耗、低成本的人臉識別方案,基于雙目活體算法的方案廣泛應用于門鎖及門禁等產品。他帶領團隊獨立研發的Nano.AI工具鏈,能快速準確地將客戶的算法模型從MPU平臺部署到MCU平臺,達到降功耗和降成本的目的。MCU部署AI應用的痛點、現有AI開源工具鏈的局限性、恩智浦打磨軟件工具的經驗與解法等話題,我們與秦建峰進行了深入交流。

        AI跑在MCU上,存在哪些技術挑戰和痛點?


        在物聯網與AI交匯之處,技術創新的火苗正逾燃逾旺,從芯片大廠到創業公司都在積極涌入嵌入式AI新浪潮,恩智浦正是其中的代表玩家之一。在理解物聯網客戶需求方面,很少有公司能有像恩智浦這樣的深度和廣度。一方面,它是MCU(微控制單元)、應用處理器領域的資深玩家;另一方面,它的物聯網布局還覆蓋到各種無線連接產品、安全功能芯片、超寬帶(UWB)芯片及相應軟件和方案。從與客戶的交流中,秦建鋒發現恩智浦的物聯網客戶有一些共性需求,除了關注成本外,也越來越看重MCU的算力、豐富的AI功能,以及尋求產品的差異化。MCU在低功耗、低成本的物聯網應用中落地廣泛,比如智能門鎖、基于電池的手持端設備,它們不像安防監控設備需要高分辨率、快響應速度,更在乎是否足夠便宜、耐用性好。相比初創公司,恩智浦手中握著沉甸甸的數十年MCU產品經驗,這是它獨有的技術財富。除了持續加固自身技術壁壘外,恩智浦也在思考著怎么解決客戶最棘手的問題。不過,當AI應用逐漸遍及MCU領域,新的挑戰開始出現。第一道難關即是硬件算力的受限和運行內存空間大小的挑戰。囿于低功耗、低成本,有些中低端MCU不支持外擴SDRAM,僅支持內部幾百KB的SRAM和受限到幾十兆空間的Flash。大部分廠商的AP處理器采用基于Arm Cortex-A系列的多核、高主頻CPU,對于浮點數跟定點數的處理能力都非常強,功耗和成本也相對偏高。功耗和成本較低的MCU則往往是單核的,主頻幾百MHz,恩智浦目前主流的是600MHz,1GHz剛剛推出,即便這樣,Arm Cortex-M MCU處理器面向低功耗設計,對于浮點數的處理能力較弱。這些MCU需要設計輕量化的模型,并進行一些量化、裁剪、融合等優化操作。這就帶來第二個難關——目前MCU轉化及量化缺乏成熟且統一的標準。如果廠商可以針對MCU的特點開發一些好工具鏈,就能在MCU上得到相應非常好的性能。而關鍵的難題在于,盡管各開源大廠對自身的訓練框架、引擎級模型支持較好,但對于一些相對復雜或特殊的模型,大概率無法成功地轉化,或者是看似成功,實際上精度丟失比較嚴重。有些推理引擎為了實現跨平臺和兼容性,一定程度上犧牲了性能;有些開源推理引擎因追求大而全,致使體量過于龐大,內存空間浪費嚴重。如果客戶并未深度掌握AI機器學習技術,一旦工具鏈出問題,就無法繼續在MCU上部署AI模型。因此,開源工具鏈是一種選擇,但存在很大的技術風險和不確定性。這也是恩智浦嗅到機會的地方——針對AI在MCU上的部署,客戶需要依賴一些商用工具的支持。
        AI工具鏈已打磨三年降低MCU部署AI門檻


        2018年底啟動研發至今,恩智浦的Nano.AI工具鏈已經打磨了將近三年,目前已到試用階段。傳統AI機器學習模型如果直接在MCU上運行,運行效率非常低,可能與優化后的性能大概相差10倍以上。因此這些模型需要通過開源工具鏈或是廠商自己開發的工具鏈來做轉換。借助AI工具鏈,客戶無需在原始AI模型轉換方面做過多投入,即便缺乏應用經驗,也能比較省力地將其原始算法模型轉換成在MCU上能直接使用的算法庫。在MPU領域,開源標準已經發展的相對成熟,支持范圍較廣,出現問題的可能性較低。但在MCU領域,還沒出現一款足夠成熟好用的AI工具鏈。發現這一空白后,恩智浦決定綜合各類方案的優缺點,打造一個適用于MCU的AI工具鏈,起名為Nano.AI工具鏈,并基于自研工具開發出一些完整解決方案,交予客戶商用。

        恩智浦的AI工具鏈主要包含兩部分,一部分是將原始算法模型轉換成MCU上能夠快速運行的數據和庫,另一部分包含一個輕量級推理引擎,能做出一個能跑在MCU上、只需幾兆Flash甚至幾兆SDRAM的方案。同時,恩智浦也可以將具體的優化措施反饋給客戶,包括從算法、算法、模型本身和源頭上如何做優化從而實現一個更適合在MCU上跑的算法模型。這需要一個相互支持的合作模式。要做出這樣一套AI工具鏈,首先MCU技術團隊需對自家產品的架構優勢等各方面有深入了解。比如,恩智浦之所以能在MCU上實現很多視覺與語音AI應用,是因為恩智浦對自身在總線架構設計上的優勢有信心,像大尺寸cache、大TCM內存,天然就能在MCU上得到很好的AI性能。另外,一些終端方案的大廠會推出自家的工具鏈、算法,但它們主要是服務于自身,同時在對MCU的理解深度方面通常不如芯片廠商。相對而言,恩智浦不是AI軟件公司,而是一家芯片供應商,天然就有幫助客戶解決技術壁壘的意愿,會通過合作幫助客戶解決基于MCU的AI方案的種種技術壁壘。
        恩智浦IoT半導體的競爭力:深入客戶、車規標準、供貨穩定、交鑰匙方案


        AI工具鏈只是恩智浦強化其IoT半導體業務實力的一個能力分支。在交流過程中,秦建峰總結了恩智浦IoT半導體方案的4項競爭力。第一,恩智浦有幾十年的微控制器和應用處理器的產品經驗,在芯片架構積累了一些獨到的能力,并對客戶應用有深入理解,能從廣泛的客戶群中挖掘出很多共性的需求。第二,作為一個領先的汽車芯片供應商,恩智浦在非汽車芯片的很多設計也遵循車規的要求,因此產品質量本身過硬。第三,恩智浦堅持長期供貨,在芯片設計界有優良口碑,能幫客戶降低很多風險。第四,恩智浦長期大量投入軟件和方案,像秦建峰所在的解決方案部門一直幫助客戶基于恩智浦的芯片、算法及工具鏈做交鑰匙方案,進而降低方案開發門檻、減少研發投入,并能及時支持一些定制化需求,使客戶的方案快速投入到市場。例如,恩智浦近兩年已成功推出基于MCU的亞馬遜Alexa方案,其中包含多類算法。如果沒有像恩智浦這樣廠商去牽頭去做,普通客戶很難得到亞馬遜的認證。恩智浦把整個交鑰匙方案做好之后,客戶就能快速出產品。
        下一代MCU將集成更豐富的AI特性


        在秦建峰看來,要衡量一個IoT芯片產品的優劣,首先要找到整體成本和性能表現的一個最佳平衡點,除此以外,還有幾點還需要綜合考慮:一是整體的功耗和方案的可擴展性,二是否引入了太多的第三方,導致開發進度、靈活度受到限制,三是有沒有一個長期路線圖,能確保方案設計存在延續性,可以持續地迭代更新。目前,恩智浦正在規劃的下一代MCU和AP平臺,將集成更豐富的AI功能和無線連接特性,并基于這些芯片路線圖推出更多交鑰匙解決方案,進一步覆蓋語音和視覺AI的一些高性價比應用方案。談及后續計劃,他透露說,恩智浦會在邊緣設備的AI方面持續投入,包括帶有神經網絡加速器的全系列微控制器和應用處理器、完整的機器學習工具鏈,以及基于機器的視覺、聽覺和健康運動數據分析處理等各種AI解決方案。在MCU上運行視覺AI方面,恩智浦已推出基于MCU的語音及人臉識別的一系列完整方案,后續還將推出更多的姿態識別、手勢識別等方案。
        結語:AIoT的核心挑戰:找到AI殺手級應用


        長期來看,如果谷歌、Arm等各大軟硬件廠商持續合作,應該能慢慢形成一些基于MCU的標準,并隨著時間的積淀而做得越來越完備。“很多客戶仍需依賴最終的芯片廠商,來得到一個最優化的MCU部署AI的工具鏈支持。”秦建峰說。在他看來,AIoT芯片領域仍將面臨的挑戰是真正找到AI機器學習的殺手級應用,光有技術是不夠的,最終要跟客戶需求相匹配,找到一些共性的應用來持續推動技術前進。在5月25日(下周二)舉辦的GTIC 2021嵌入式AI創新峰會上,秦建峰將帶來圍繞MCU部署AI應用的主要痛點、如何提升MCU邊緣端AI運算性能和精度等方面的分享,并對恩智浦Nano.AI工具鏈系統框架設計做更詳細地解讀。

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI算法

        技術專區

        關閉
        主站蜘蛛池模板: 德安县| 清涧县| 临武县| 兴国县| 玉屏| 清远市| 武功县| 古浪县| 互助| 故城县| 交口县| 襄汾县| 湾仔区| 中西区| 桂平市| 台前县| 天台县| 七台河市| 文安县| 紫阳县| 师宗县| 光泽县| 红桥区| 康马县| 耒阳市| 平陆县| 萨嘎县| 德州市| 建昌县| 洛浦县| 辉县市| 巩留县| 普兰店市| 汨罗市| 凤冈县| 平凉市| 兴和县| 苍南县| 弋阳县| 卢氏县| 泗水县|