來源:貿澤電子 作者:Doctor M 隨著移動計算和物聯網 (IoT) 應用的爆炸性增長,數以十億計的移動和聯網設備正在連接到互聯網,并在網絡邊緣生成海量數據。這些數據呈現出分散性、碎片化的特點,云計算雖然有強大的數據處理能力,但很難實現全面的計算覆蓋,而邊緣計算則可以極大地緩解云計算的壓力。 根據Machina Research的預測,到2025年全球物聯網連接數將猛增至270億個。事實上,大多數物聯網設備位于遠離云計算的邊緣側,若在云數據中心收集這些設備產生的數據,會產生非常高的延遲,并占用大量的網絡帶寬。邊緣智能(Edge AI)可依靠設備自身的硬件來處理與機器學習和深度學習相關的數據,此時的物聯網設備不僅是一個數據收集器,更應是具有一定數據處理能力的執行器。 邊緣智能中不可忽視的“軟”技術 Edge AI是一個將邊緣計算和人工智能(AI)結合在一起的系統,其目標是使用機器學習算法處理本地硬件設備生成的數據。Edge AI的優勢不僅是數據處理速度快,出色的靈活性使得智能設備足以支持眾多行業應用。此外,通過增強的安全功能,Edge AI顯著提高了數據的安全性,受Edge AI驅動的設備有助于將安全風險降至最低。 在實際部署中,邊緣設備是能夠在設備本身執行計算任務的終端設備或邊緣服務器,可能需要更多的硬件和軟件來實現最佳的輸出和本地存儲需求。作為邊緣智能的靈魂,Edge AI芯片的作用不言而喻,進入該行業的代表性企業有NVIDIA、Intel、NXP、Xilinx、ST、TI、Maxim等國際知名企業,也有寒武紀這樣的國內后起之秀,他們的產品讓Edge AI的應用更加接近現實世界。 然而,再強大的硬件如果沒有軟件的加持也會失去靈魂,無法發揮其應用的功能。以機器學習(ML)為例,如果將其添加到Edge AI軟件中,可以顯著增強物聯網數據分析和決策的能力。根據Astute Analytica的研究,預計全球Edge AI軟件市場在2021-2027年間將以29.8%的復合年增長率增長,到2027年將形成80.498億美元的市場。 軟件開發工具主要由編譯器、調試器、操作系統、庫等構成,包含了用于開發實時嵌入式處理器系統的大多數標準工具庫,同時還可能添加了專門的應用庫,以及用于軟件開發的特定供應商的開發工具。在Edge AI應用中,大多數供應商使用專用的計算設備如GPU、DSP、FPGA等加速CPU,這種擴展的CPU編程模型需要定制版本的標準開發工具。他們在開發自己的優化軟件工具鏈的同時,還可能與第三方軟件工具供應商合作,以確保其產品得到廣泛支持。 01 JetPack SDK:支持NVIDIA Jetson邊緣計算平臺 NVIDIA Jetson平臺是行業領先的人工智能硬件平臺之一,由英偉達(NVIDIA)公司提供,該平臺包括小型高性能邊緣計算機模組(Jetson模組)、可加速軟件的JetPack SDK,以及包含傳感器、SDK、服務和產品的生態系統。其中的Jetson模組(SOM)包括CPU、GPU、高速接口、內存、電源管理等。 靈活的模塊化產品組合是NVIDIA Jetson的主要優勢。無論是小企業還是大型企業,都可以在一系列Jetson模塊中找到非常適合自身應用的那一款。在四大系列產品中,Jetson Nano模組屬于經濟高效的入門級產品;Jetson TX1模組是為外圍機器學習和AI應用設計的第一代Jetson模塊,主要用在制造業。 新一代的Jetson TX2模組與Jetson TX1引腳兼容但性能提高了一倍,是Jetson Nano性能的2.5倍,但功耗僅有7.5W。該系列中的Jetson TX2i在工業機器人和醫療設備等領域有著廣泛的應用;Jetson Xavier NX是一款外形小巧的量產產品,支持所有熱門AI框架,該模組將高達21 TOP的加速AI計算帶到邊緣端,能并行運行多個現代神經網絡,處理來自多個高分辨率傳感器的數據。Jetson AGX Xavier是專為自主機器打造的邊緣計算機模組,外形緊湊、節能高效,它的性能大約是Jetson TX2i的20倍,是英偉達AI嵌入式系統中性能最高的模組。 圖1:JetPack版本發展情況 (圖源:NVIDIA) 對NVIDIA Jetson平臺而言,除了擁有豐富的硬件模組可供選擇,統一的軟件開發環境和完整的生態系統是其深受行業好評的另一優勢。Jetson平臺中用于軟件加速的JetPack SDK支持所有Jetson模組和開發者套件,是構建AI應用的全面解決方案。經過不斷地演進,目前,JetPack 4.4是版本最高的正式版。 JetPack SDK包含適用于Linux操作系統的最新Linux驅動包 (L4T) 以及用于深度學習、計算機視覺、加速計算和多媒體的CUDA-X加速庫與API。它還包含用于主機和開發者套件的示例、文檔和開發者工具,并支持更高級別的SDK,比如用于視頻分析的DeepStream SDK和用于機器人開發的Isaac SDK。JetPack SDK捆綁了所有Jetson平臺軟件,包括TensorRT、cuDNN、CUDA Toolkit、VisionWorks、GStreamer和OpenCV,所有這些都是在L4T和LTS Linux內核之上構建的。 此外,Jetson還與其他NVIDIA平臺上所用的相同AI軟件和云原生工作流相兼容,能為客戶提供在邊緣端構建軟件定義的智能機器所需的性能和功耗。 02 eIQ:NXP機器學習軟件開發環境 NXP (恩智浦) 的EdgeVerse平臺是一個功能全面的邊緣計算和安全平臺,它通過廣泛的可擴展嵌入式處理產品組合,將實現高性能和高能效計算的構建模塊聚合在一起。該平臺包含NXP業界領先的可擴展嵌入式處理、安全、軟件以及行業解決方案,非常適合物聯網、工業和汽車市場等邊緣應用。具體涉及的產品有i.MX嵌入式處理產品組合和Layerscape應用處理器、K32、LPC和Kinetis微控制器、i.MX RT跨界處理器,以及車用微控制器和處理器等。 · eIQ機器學習(ML)軟件開發環境支持在EdgeVerse微控制器、i.MX RT跨界MCU和i.MX系列應用處理器上使用ML算法。該軟件利用開源的專有技術,可完全集成到恩智浦MCUXpresso軟件開發套件和Yocto開發環境中。 · eIQ擁有一套全面的工作流程工具、推理引擎、神經網絡(NN)編譯器,以及經過優化的數據庫,幫助簡化并加快機器學習開發。最新擴展的eIQ軟件開發環境,添加了全新eIQ Toolkit工作流程工具、基于GUI的eIQ門戶開發環境,以及針對i.MX和i.MX RT設備進行優化的DeepViewRT推理引擎。 · eIQ Toolkit的功能是提供簡單的工作流程以及機器學習應用示例。在eIQ門戶中,該工具套件還有一個基于GUI的開發選項,開發人員可根據自己的喜好選擇使用命令行主機工具。借助eIQ門戶,能輕松創建、優化、調試、轉換并導出機器學習模型,也可以從TensorFlow、ONNX和PyTorch機器學習框架中導入數據集和模型。 推理引擎是機器學習開發項目的核心,也是機器學習應用的運行組件。eIQ機器學習軟件開發環境支持使用針對Glow、ONNX和TensorFlow Lite等i.MX設備和MCU進行優化的開源推理引擎進行推理。新增的DeepViewRT推理引擎是一款經過優化的運行時推理引擎,可在i.MX RT跨界MCU和i.MX 8M系列應用處理器上運行機器學習模型,具有在Arm Cortex-M/A內核、GPU和NPU上運行推理的能力,還可作為恩智浦MCU Xpresso SDK版本和Yocto BSP版本(用于基于Linux操作系統開發)的中間件。 圖2:eIQ機器學習軟件開發環境 (圖源:NXP) 03 Vitis AI:Xilinx人工智能推斷軟件開發工具 Vitis統一軟件平臺是被Xilinx (賽靈思) 視為具有里程碑式意義的產品,這是一款從云到端、從軟件到AI都提供了綜合全面的庫和模型的統一軟件平臺。其中,AI開發人員可以利用Vitis AI高層次框架訓練自己的模型。在Vitis AI架構中,AI Model Zoo開放了一系列來自流行框架Pytorch、Tensorflow、Tensorflow 2和Caffe的現成深度學習模型,適用于在Xilinx硬件平臺(包括邊緣器件和Alveo卡)上進行人工智能推斷。 Vitis AI的開發套件包括:AI優化器 (AI Optimizer) 、AI量化器 (AI Quantizer) 、AI編譯器 (AI Compier) 、AI分析器 (AIProfiler) 。使用Vitis AI,能在邊緣器件上為IoT、自動駕駛及ADAS、醫療成像以及視頻分析等應用實現高效AI計算。 圖3:Xilinx人工智能推斷軟件開發工具Vitis AI內部架構 (圖源:Xilinx) Vitis AI開發套件中的AI優化器采用領先的模型壓縮技術,在對精度影響極小的情況下,將模型的復雜性降低5至50倍,這種深度壓縮技術將AI推斷性能提升到一個新的層次;AI量化器則通過將32位浮點權值和激活量轉換為INT8這樣的定點網絡模型,在不影響預測精度的情況下,大幅降低計算的復雜度。 由于定點網絡模型需要的內存帶寬更少,因此比浮點網絡模型的速度更快,電源效率也更高;AI編譯器的主要作用是將AI模型映射至高效指令集及數據流,還可執行高級優化任務,如層融合和指令排程等,并盡量重復使用片上內存;借助Vitis AI中的AI配置器,程序員能夠深入分析AI推斷實現方案的效率和利用率;Vitis AI庫是一組高層次庫和API,通過深度學習處理器單元(DPU)進行有效的AI推斷,為Xilinx平臺上的AI模型部署提供了易于使用的接口。 結語 邊緣人工智能應用程序能夠在現場處理數據、安全傳輸數據,并提高邊緣人工智能設備的隱私。因無需首先向云端發送數據,邊緣人工智能還有效縮短了生成結果的周轉時間。IoT的高度數據驅動特性進一步說明了現場數據處理對邊緣人工智能應用的需求。現在,許多企業已經認識到,邊緣人工智能不僅僅是一種選擇,更是一個將以各種方式徹底改變行業的未來技術。IDC的分析數據顯示,到2023年,在新的企業IT基礎設施中,超過50%將部署在邊緣,而不是企業數據中心。預計到2024年,邊緣應用的數量將增加800%。 為了在空間尺寸緊張,功耗、散熱和成本受限的環境中高效運行,邊緣人工智能解決方案需要高集成度、高速和低功耗以及高效率的軟硬件產品來支撐。優化的計算架構和芯片產品,讓邊緣計算獲得了可靠的硬件支撐。為了建立一個高效的邊緣人工智能系統,還必須有一個功能全面的軟件環境來助力,現有的邊緣智能芯片的潛力才能得到最大化的發揮。只有“軟”“硬”兩手同時抓,才能形成完整且高效的邊緣智能解決方案。 |