嵌入式神經網絡處理器的前沿技術介紹、展望、應用
目前而言,AI軟體應用的算法已經到達一個效率瓶頸,在沒有新的算法被提出之前人工智能領域的計算效率無法得到較大的提升,而此時人們将目光聚集到硬體方面,企圖通過更新硬體的計算能力來進一步提高人工智能的計算效率,在這樣的前提下NPU被人們所提出。嵌入式神經網絡處理器(Neural-network Processing Units, NPU)是專門為物聯網人工智能而設計的硬體部門,采用“資料驅動并行計算”的架構,特别擅長處理視訊、圖像類的海量多媒體資料,廣泛應用于加速神經網絡的運算,解決傳統晶片在神經網絡運算時效率低下的問題。
人工智能自1956年被提出後一直處于間歇性熱門的狀态,每當一個新的算法被提出解決了以往的問題時就會讓這個學科火熱起來,然後馬上又遇到了新算法無法解決的問題而逐漸冷門。NPU、TPU等針對人工智能領域的計算晶片的研發能為人工智能算法在硬體層面上分擔一部分工作壓力,在一定程度上解決人工智能算法的性能瓶頸,促進人工智能的發展,也意味着人工智能在硬體領域也得到了發展。
應用方面,一般而言NPU更多的是作為AI軟體的硬體協作部門,例如華為提出的達芬奇架構NPU,與CPU和GPU的不同之處在于其針對張量運算做了特化,非常擅長處理AI軟體中涉及的大量向量運算,進而提高人工智能算法的效率。
NPU在國内的先進與不足
目前國内NPU領域有中科院團隊發明的寒武紀構架NPU以及華為公司發明的達芬奇構架NPU,目前華為的達芬奇NPU已經廣泛應用于華為旗下的手機中,大大提高了部分手機AI功能(例如人工智能相機)的運作效率,中科院也推出了用于伺服器平台的寒武紀NPU晶片,NPU在國内的發展還是領先于世界的。但目前的軟體應用與這兩款NPU對接的難度不小,開發者很難針對NPU平台開發AI應用。簡而言之還需要加強研發類似于CUDA這樣契合軟體與GPU的平台,如何讓AI軟體與NPU硬體更加契合工作,降低NPU軟體的開發難度是目前需要解決的問題。