Xilinx 發布reVISIONTM堆棧的背景資料
reVISION: 將全可編程技術擴展至廣泛的視覺導向機器學習應用
本文引用地址:http://www.104case.com/article/201703/345209.htm機器學習的應用正迅速地擴展至越來越多的終端市場,在用戶端、在云端或者在那些基于端處理與基于云的數據分析相結合的混合解決方案中。面向云應用,賽靈思最近推出了可重配置加速堆棧(2016年11月推出),目標直指包括機器學習推斷在內的各種計算加速應用。 面向端應用,賽靈思現在宣布憑借Xilinx? reVISION? 堆棧大幅擴展至廣泛的視覺導向機器學習應用。 全新的reVISION堆棧能夠支持更廣泛的很少或沒有硬件設計專業知識的嵌入式軟件和系統工程師,使其也能利用賽靈思的技術更輕松、更快速地開發視覺導向的機器學習應用。
圖1 賽靈思擴大機器學習應用從端到云的部署
(來源:Machine Learning Landscape - Moor Insights & Strategy Research Paper)
廣泛的賽靈思視覺和機器學習應用
如圖2 所示, 放眼全球,賽靈思已經成為眾多企業構建先進嵌入式視覺系統的最佳選擇。 截至今天,全球已經有23 家汽車制造商在 85 款不同車型的 ADAS 系統中部署了賽靈思先進的嵌入式視覺系統,另外還有數百家嵌入式視覺客戶在其他數千種應用中也部署了賽靈思的先進嵌入式視覺系統。其中至少有40家已經在開發或部署機器學習技術以大幅提高系統的智能。現在,大多數的賽靈思視覺客戶包括具有很強硬件專長的工程師們,都看準了 Zynq? All Programmable SoC 和 MPSoC 的應用。
圖 2 賽靈思嵌入式視覺行業成就
reVISION 的目標應用和使命
賽靈思正在為一些熱門市場的應用提供支持。在這些市場中,差異化至關重要,系統必須響應迅速,最新算法和傳感器必須能夠被快速部署。這些應用包括“專業消費類”應用、汽車、工業、醫療、航空航天、軍用以及高端前沿消費者應用。這些應用通常不包括部署在差異化較低的“夠用就好”或者發展成熟的技術之上的非常大批量的消費類應用或者主流商品化應用在。
如圖 3 所示,眾多的傳統嵌入式視覺應用通過采用機器視覺和傳感器融合技術后都在發生巨變。
圖3 從嵌入式視覺到視覺導向的自主系統
下一代應用包括協作機器人、具有感應和躲避功能的無人機、增強現實、自動駕駛汽車、自動化監視和醫療診斷等。這些系統通常具有三大使命:
1. 系統不僅要會思考,而且還能對情境立即做出“響應”。這就要求一個從感應到處理、分析、決策、通信和控制整個流程中更一致的視圖。同時還要高效實施、部署最新機器學習技術,滿足8位及更深層面的精確性要求。注意,針對機器學習訓練優化的技術繼續偏離對機器學習推斷優化的技術。 賽靈思已經專門為推斷技術優化了其全可編程器件系列。
2. 圖4 下一代視覺導向系統的應用使命
鑒于神經網絡和相關算法的快速變化以及傳感器的快速發展,必須實現靈活性,能通過軟硬件的可重配置性升級系統。
3. 由于許多新系統都連接到了一起(物聯網),因此需要既能與傳統的已有設備通信,也能與未來推出的新設備通信,同時還要能夠進行云端通信。賽靈思將此定義為任意互聯。
賽靈思器件可以獨特地支持以上所有三大使命, 且比其它替代方案擁有顯著的和可測量的優勢。 通過高效的推斷和控制,賽靈思實現了傳感器的最快響應時間,支持最新的神經網絡,算法和傳感器的可重構性,并支持與傳統或新機器、網絡和云的任意連接。
圖5 賽靈思獨特的應用優勢
圖6 廣泛應用的障礙
然而,賽靈思器件的這些優勢原來只有那些擁有硬件或者RTL 設計專長的專業用戶才能受益,對于更廣泛的應用和支持使用行業標準庫和框架進行軟件定義編程,還存在巨大的障礙。 reVISION堆棧的誕生, 解決了這個通往廣泛應用的障礙。
reVISION STACK
圖7 賽靈思reVISION 堆棧
賽靈思 reVISION 堆棧包括用于平臺、算法和應用開發的豐富的開發資源,支持最流行的神經網絡(諸如 AlexNet、GoogLeNet、SqueezeNet、SSD 和 FCN)以及庫元素(如 CNN 網絡層的預定義優化型實現方案,這也是構建定制神經網絡 DNN/CNN 所需的)。配合豐富的滿足加速要求的 OpenCV 功能,支持機器視覺處理。對應用層面的開發來說,賽靈思支持流行的框架,包括用于機器學習的 Caffe 和用于計算機視覺的 OpenVX(將于 2017 年下半年推出)。reVISION 堆棧還包括賽靈思和第三方提供的基于 Zynq SoC 和 MPSoC 的開發平臺。
移除了通往廣泛應用的障礙
reVISION 堆棧支持一大批廣泛的設計團隊無需深層的硬件專業技術,使用軟件定義開發流程就能將機器學習和計算機算法的高效實現方案整合到響應迅速的系統中。
如圖 8 所示,reVISION 開發流程從 熟悉的C、C++ 和/或 OpenCL 語言及相關編譯器技術的基于 eclipse 的開發環境(即 SDSoC 開發環境)啟動。在 SDSoC 環境中,軟件工程師和系統工程師能以 reVISION 硬件平臺為目標,并采用大量的加速就緒型計算機視覺庫,很快還能采用OpenVX框架,從而快速構建應用。
圖8 reVISION 的軟件定義設計流程
對于機器學習,我們可用 Caffe 等流行的框架來培訓神經網絡,用 Caffe 生成的 .prototxt 文件對基于 ARM 的軟件調度器進行配置,從而驅動專門為可編程邏輯預先優化的CNN 推斷加速器。
對計算機視覺和其他專有算法來說,用戶可對軟件代碼進行特征分析,發現瓶頸,并在代碼中標出希望加速并進行“硬件優化”的特定功能?!跋到y優化編譯器”則用來創建加速的實現方案,包括處理器/加速器接口(數據移動器)和軟件驅動器。結合計算機視覺和機器學習功能,該編譯器能創建優化的融合實現方案。
如圖 9 左側所示,專家級賽靈思用戶采用傳統 RTL 設計流程,與 ARM 軟件開發人員合作,要花大量設計時間才能開發出高度差異化的機器學習和計算機視覺應用。
圖9 reVISION 堆棧 —— 移除通往廣泛應用的障礙
為進一步加快設計進程,減少對硬件專家的依賴,賽靈思大約在兩年前推出了基于 C、C++ 和 OpenCL 語言的 SDSoC 開發環境。雖然這幫助其它上千名能夠開發自己的基礎平臺、庫和應用的用戶大幅縮短了開發周期,但仍無法滿足廣泛機器學習應用推廣與部署的要求,而且機器學習也帶來了復雜問題。
評論