- Advertisement -
首頁 標籤 機器學習

機器學習

- Advertisment -

整合多階/類比記憶體運算 AI邊緣功耗難題迎刃而解

雖然使用者可以享受到這些AI應用帶來的益處,但同時仍有隱私、功耗、延遲和成本等諸多疑慮,這些疑慮便成為AI 應用的挑戰。如果有一個能夠從資料來源,執行部分/全部運算(推論)的本地處理引擎,那麼這些問題即可迎刃而解。傳統數位神經網路的記憶體存在功耗瓶頸,難以實現這一目標。為了解決此問題,可以將多階記憶體與類比記憶體內運算方法結合使用,使處理引擎滿足更低的毫瓦級(mW)到微瓦級(μW)功率要求,進而在網路邊緣執行AI推論。 雲端AI面臨隱私/功耗/延遲挑戰 如果透過雲端引擎為AI應用提供服務,使用者必須主動/被動上傳一些資料到雲端,運算引擎則在雲端處理資料並提供預測,然後將預測結果發送給終端用戶使用。以下概述資料處理過程面臨的挑戰(圖1): 1.隱私問題:對於Always-on、Always-aware設備,個人資料或機密資訊在上傳期間或在資料中心保存期限期間可能遭受濫用的風險。 2.不必要的功耗:如果每個資料位元都傳輸到雲端,則硬體、無線電、傳輸裝置以及雲端中不必要的運算都會消耗電能。 3.小批量推論的延遲:如果資料來自邊緣裝置,有時至少需要一秒才能收到雲端系統的回應。當延遲超過100毫秒時,人們便有明顯感知,造成不佳的用戶體驗。 4.資料經濟需要創造價值:感測器隨處可見且價格低廉,能夠蒐集大量資料,但是如果每筆資料都上傳到雲端進行處理的效益不高。 圖1 從邊緣到雲端的資料傳輸 要使用本地處理引擎解決這些挑戰,首先必須針對目標使用案例,利用指定資料集合對執行推論運算的神經網路進行訓練。這通常需要高效能運算和記憶體資源,以及浮點運算。因此,機器學習解決方案的訓練部分仍需在公共、私有雲或本地GPU、CPU和FPGA Farm上實現,同時結合資料集合來生成最佳神經網路模型。神經網路模型的推論運算不需要反向傳播,因此在該模型準備就緒之後,可利用小型運算引擎針對本地硬體進行深度優化。推論引擎通常需要大量乘積累加運算(Multiply Accumulate, MAC)引擎,隨後是啟動層,例如修正線性單元(ReLU)、Sigmoid函數或雙曲正切函數,具體取決於神經網路模型複雜度,以及各層之間的池化層。 大多數神經網路模型需要大量MAC運算。例如,即使是相對較小的「1.0 MobileNet-224」模型,也有420萬個參數(權重),執行一次推論需要多達5.69億次的MAC運算。此類模型中的大多數都由MAC運算主導,因此這裡的重點是機器學習計算的運算部分,同時還要尋找機會來建立更好的解決方案。圖2為一個簡單的完全連接型兩層網路。輸入神經元(資料)透過第一層權重處理。第一層的輸出神經元透過第二層權重處理,並提供預測,例如模型能否在指定影像中找到貓臉 。 圖2 完全連接的兩層神經網路 這些神經網路模型使用「點積」運算計算每層中的每個神經元,如下面的公式所示: Yi=∑i Wi Xi 〗 (為簡單起見,公式中省略了「偏差」項)。 在數位神經網路中,權重和輸入資料儲存在DRAM/SRAM中。權重和輸入資料需要移至某個MAC引擎旁以進行推論。根據圖3,採用這種方法後,大部分功耗都源自於獲取模型參數以及將資料登錄到實際發生MAC運算的ALU。從能量角度來看,使用數位邏輯閘的典型MAC運算消耗約250fJ的能量,但在資料傳輸期間消耗的能量超過運算本身兩個數量級,達到50皮焦(pJ)到100pJ的範圍。實際上,很多設計技巧可以大幅減少記憶體到ALU的資料傳輸,但整個數位方案仍受馮紐曼架構的限制。這意謂著,有大量的機會可以減少功率浪費。如果執行MAC運算的能耗可以從約100pJ減少到若干分之幾pJ,將產生什麼樣的可能性? 圖3 機器學習運算中的記憶體瓶頸 消除記憶體瓶頸並降低功耗 如果記憶體本身可用來消除之前的記憶體瓶頸(圖3),則在邊緣執行推論相關的運算就成為可行方案。使用記憶體內運算的方式,可以大幅減少必須移動的資料量,也就能消除資料傳輸期間浪費的能源。快閃記憶體單元運行時產生的主動功率消耗較低,在待機模式下幾乎不消耗能量,因此可以進一步降低能耗。 以Microchip子公司Silicon Storage Technology(SST)的memBrain技術為例,該解決方案奠基於SST的SuperFlash記憶體技術,這項技術已成為適用於微控制器和智慧卡應用的多階記憶體的公認標準。此解決方案內建一個記憶體內運算架構,允許在儲存權重的位置完成運算。權重毋需資料移動,只有輸入資料需要從輸入感測器,例如相機和麥克風,移動到記憶體陣列中,因此消除了MAC運算中的記憶體瓶頸。 這種記憶體概念基於兩大基本原理:一是電晶體的類比電流回應基於其臨界值電壓(Vt)和輸入資料,二則是基爾霍夫電流定律,即在某個點交匯的多個導體網路中,電流的代數和為零。瞭解這種多階記憶體架構中的基本非揮發性記憶體(NVM)位元單元也十分重要。圖4是兩個ESF3(第3代嵌入式SuperFlash)位元單元,帶有共用的抹除閘(EG)和來源線(SL)。每個位元單元有五個終端:控制閘(CG)、工作線(WL)、抹除閘、來源線和位元線(BL)。透過向EG施加高電壓執行位元單元的抹除操作,同時向WL、CG、BL和SL施加高/低電壓偏置訊號來執行程式設計操作,並且向WL、CG、BL和SL施加低電壓偏置訊號以執行讀取操作。 圖4 SuperFlash ESF3單元 採用這種記憶體架構,用戶可以透過微調程式設計操作,以不同Vt電壓對記憶體位元單元進行程式設計。記憶體技術利用智慧演算法調整記憶體單元的浮柵(FG)電壓,以從輸入電壓獲得特定的電流回應。根據最終應用的要求,可以在線性區域或閾下區域對單元進行程式設計。 圖5說明了在記憶體單元中儲存多個電壓的功能。例如,如果要在一個記憶體單元中儲存一個2位元整數值,需要使用4個2位元整數值(00、01、10、11)中的一個,進行記憶體陣列中,每個單元的程式設計。此時需要使用四個具有足夠間隔的可能Vt值之一,對每個單元進行程式設計。圖5的四條IV曲線分別對應於四種可能的狀態,單元的電流回應取決於向CG施加的電壓。 圖5 ESF3單元中的程式設計Vt電壓 受訓模型的權重透過程式設計設定為記憶體單元的浮柵Vt,因此,受訓模型每一層,例如完全連接層的所有權重,都可以在類似矩陣的記憶體陣列上進行程式設計(圖6)。對於推論運算,數位輸入,如數位麥克風,首先利用數位類比轉換器(DAC)轉換為類比訊號,然後應用到記憶體陣列。隨後該陣列對指定輸入向量並存執行數千次MAC運算,產生的輸出隨即進入相應神經元的啟動階段,隨後利用類比數位數轉換器(ADC)將輸出轉換回數位訊號。然後,這些數位訊號在進入下一層之前進行池化處理。 圖6 用於推論的權重矩陣記憶體陣列 這類多階記憶體架構模組化程度非常高,而且十分靈活。許多記憶體晶片可以結合在一起,形成一個混合了權重矩陣和神經元的大型模型(圖7)。在此案例中,M×N晶片配置透過各晶片間的類比和數位介面相互連接。 圖7 memBrain的模組化結構 截至目前,文章主要討論了該架構的晶片實施方案。提供軟體發展套件(SDK)可幫助開發解決方案,除了晶片外,SDK還有助於推論引擎的開發。SDK流程與訓練框架無關。用戶可以在提供的所有框架,包含TensorFlow、PyTorch等框架中,根據需要使用浮點運算創建神經網路模型(圖8)。創建模型後,SDK可協助量化受訓神經網路模型,並將其映射到記憶體陣列。在該陣列中,可以利用來自感測器或電腦的輸入向量執行向量矩陣乘法。 圖8 memBrain SDK流程 多階記憶體方法結合記憶體內運算功能的優點包括: 1.較低功耗:專為低功耗應用設計的技術。功耗方面的第一個優點是,這種解決方案採用記憶體內運算,因此在運算期間,從SRAM/DRAM傳輸資料和權重不會浪費能量。功耗方面的第二個優點是,快閃記憶體單元在臨界值模式下以較低的電流運行,因此主動功率消耗非常低。第三個優點是待機模式下幾乎沒有能耗,原因是非易失性記憶體單元不需要任何電力即可保存始終開啟設備的資料。這種方法也非常適合在權重和輸入資料的稀疏性時加以利用,如果輸入資料或權重為零,則記憶體位元單元不會啟動。 2.減小封裝尺寸:該技術採用分離柵(1.5T)單元架構,而數位實施方案中的SRAM單元基於6T架構。此外,與6T SRAM單元相比,這種單元是小得多。另外,一個單元即可儲存完整的4位元整數值,而不是像SRAM單元那樣需要4×6=24個電晶體才能實現此目的,從根本減少晶片上占用的空間。 3.降低開發成本:由於記憶體效能瓶頸和馮紐曼架構的限制,很多專用設備,例如NVIDIA的Jetsen或Google的TPU,趨向於透過縮小幾何結構提高每瓦效能,但這種方法解決邊緣運算難題的成本卻很高。採用將類比記憶體內運算與多階記憶體結合的方法,可以在快閃記憶體單元中完成晶片運算,這樣便可使用更大的幾何尺寸,同時降低掩膜成本(Mask Cost)和縮短開發週期。 邊緣運算應用的前景十分廣闊,然而,首先需要解決功耗和成本方面的挑戰,邊緣運算才能得到發展機會。使用能夠在快閃記憶體單元中執行晶片上運算的記憶體方法,可以消除主要障礙。這種方法利用經生產驗證的公認標準類型多階記憶體技術解決方案,且此方案已針對機器學習應用進行優化。 (本文作者為Microchip嵌入式記憶體產品開發總監)
0

意法推內建機器學習內核心高精度傾角計

意法半導體(ST)所推出之IIS2ICLX是一款高精度、低功耗的雙軸數位傾角計,用於工業自動化和結構安全監控等應用,具有可設定的機器學習內核心和16個獨立可設定之有限狀態機,有助於為邊緣裝置節能省電,減少向雲端傳輸的資料量。 不僅內建先進的嵌入式功能,IIS2ICLX還能夠降低系統功耗,延長電池供電節點的續航時間。該感測器固有之特性可簡化與高性能產品的整合,並大幅地減少感測器校準工作量和成本。 IIS2ICLX傾斜計採用MEMS加速度計技術,±0.5 /±1 /±2 /±3g滿量程可選,並透過I2C或SPI數位介面輸出資料。嵌入式補償單元使溫漂保持在0.075mg/°C以內,即使環境溫度發生劇烈變動,感測器的測量精度和重複性表現也非常出色。15μg/√Hz的低雜訊密度可達到高解析度傾角監測,以及結構健康監測所需的低聲壓的低頻震動測量。 IIS2ICLX具有高穩定性和可重複性、高精度和高解析度的優勢,適合於工業應用,例如天線指向監測、雲台調平、叉車和建築機械、調平儀器、設備安裝監測、以及太陽能板安裝和光線追蹤,以及工業4.0應用,例如,機器人和自動駕駛汽車(Autonomous Guided Vehicle, AGV)。 在結構安全監控中,IIS2ICLX可以準確地測量傾斜度和震動,協助評估人員分析高樓等建築物,以及橋樑或隧道等基礎建設結構的完整性。相較採用早期相較昂貴之探測技術的結構安全監控感測器,的電池供電且價格適中的IIS2ICLX MEMS傾斜感測器能夠為更多結構進行安全監控。 許多高精度傾斜計是單軸測量裝置,而2軸IIS2ICLX加速度計卻可以監控兩個坐標軸與水平面的傾斜角(俯仰角和翻轉角),或者將兩個坐標軸合併成單軸,測量物體與水平面單一方向的傾斜角,可重複測量精度,而且解析度更高,同時亦可測量±180°範圍內的傾角。數位輸出可以節省外部數位類比轉換或濾波元件,簡化系統設計,降低物料清單(BOM)成本。 為了簡化IIS2ICLX的開發設計,加速應用開發週期,意法半導體還提供了專門的感測器校準和傾斜角即時運算軟體庫,這些軟體庫屬於STM32Cube的X-CUBE-MEMS1擴充套裝軟體。
0

愛德萬結盟PDF Solutions 打造Advantest Cloud

愛德萬測試(Advantest Corporation)與PDF Solutions宣布建立夥伴關係,合作內容如下:雙方簽訂開發協議,以PDF Exensio軟體分析平台為基礎,建立由Exensio驅動的愛德萬測試雲(Advantest Cloud),供愛德萬公司內部和外部客戶使用;雙方簽訂商業協議,為愛德萬測試平台和PDF Exensio平台提供技術授權;愛德萬向PDF Exensio分析平台簽訂五年期雲端訂閱合約;愛德萬以6,520萬美元左右金額,收購PDF增發普通股3,306,924股。 PDF的雲端大數據分析平台Exensio,橫跨整個半導體價值鏈光譜,從IC設計到晶圓製造、分類、封裝、最終測試和系統級測試皆涵蓋其中,管控上萬組工具以加速產品上市、擴大產能,並提升利潤、產品可靠度與品質。隨著半導體產業朝向更先進的元件持續精進,PDF軟體平台提供的大數據分析服務,包括善用AI與機器學習(Machine Learning, ML),已成為先進製程節點達成產能目標的關鍵,藉此確保元件品質並節省測試與量測成本。 重點是,當半導體業者採用分散式供應鏈來製造、測試與封裝晶片,PDF Exensio平台與資料交換網路(Data Exchange Network, DEX)能為半導體工程師連接起橫跨半導體價值鏈的自動化測試設備(Automated Test Equipment, ATE),推動重要設計並產生製造分析,藉此降低測試成本、提升效能/產能。 愛德萬透過自家先進測試設備將PDF Exensio平台與DEX結合起來,如此一來,無論客戶處於半導體價值鏈的哪一段,都能為他們提供連線、測試、量測與分析能力,幫助他們提升產能、降低測試成本。此次合作也進一步凸顯愛德萬期盼將測試與量測解決方案推往整體半導體價值鏈的決心,並在愛德萬「宏觀設計」願景中寫下重要的里程碑。
0

機器學習邁向物聯網終端 神經網路加值MCU邊緣智慧

基於各方考量,如延遲、耗電量、成本、網路頻寬、可靠性、隱私與安全等,機器學習(ML)演算法正朝物聯網(IoT)終端的應用發展。因此,廠商對於開發類神經網路(NN)解決方案,並將它們部署在微控制器系統這類低功率終端裝置的興趣與日俱增。為促成這類部署,Arm提出CMSIS-NN。這是一種經優化的軟體核心開放原始碼函式庫,可極大化其產品Cortex-M核心的NN效能,而且只需使用最小的經常性記憶體。本文進一步提出NN架構探索的方法,以CIFAR-10數據集的影像檔分類為例,開發適用在條件受限的裝置模型。 MCU降低運算延遲 演算法提升NN準確性 聯網裝置或物聯網過去幾年內快速擴展,到2035年,各區市場的聯網裝置總數預測將達到1兆個。這些物聯網終端裝置通常包含數個可以搜集數據的感測器,包括音訊、視訊、溫度、溼度、GPS位置與加速度等。通常大多數感測器搜集到的數據由雲端的分析工具進行處理,以便運作各式的應用,如工業監控、家庭自動化與健康照護。不過隨著物聯網節點數目增加,對網路的頻寬帶來相當的負擔,同時也增加物聯網應用的延遲性。此外,對雲端的依賴也造成在網路連線不穩定或有限的區域,部署物聯網應用相當具有挑戰性。這個問題的解決方案之一是終端運算,這種運算在數據的源頭、也就是物聯網的終端節點進行,因此可以降低延遲,並節省數據通訊消耗的能源。 類神經網路架構的解決方案,針對如影像分類、語音辨識與自然語言處理等複雜的機器學習應用,已經展現出與人類一樣水準的準確性。有鑑於運算的複雜性與資源的需求,NN的執行絕大多數都局限於高效能的伺服器CPU,或專用硬體(如GPU或加速器)的雲端運算,但會讓物聯網應用增加延遲。而如果在數據的源頭(通常是微控制器)立即進行分類,可以降低整體的延遲以及物聯網終端與雲端間數據通訊的能源消耗。不過在微控制器部署NN,有下列挑戰: ・有限的記憶體使用量:微控制器系統通常只有10幾到100多KB的可用記憶體。整個類神經網路模型,包括輸入/輸出、權重與啟動,都必須在如此小的記憶體上限內運行。 ・有限的運算資源:許多分類任務都有不斷線啟動與即時的要求,這會限制每個類神經網路推論的總運算次數。 這些挑戰可以從裝置與演算法的角度加以應對。一方面在執行類神經網路工作負載時,可以靠優化低階運算核心來達成更佳的效能與更小的記憶體使用量,並藉此提升這些微控制器的機器學習能力,協助微控制器處理更大型與更複雜的NN。另一方面,類神經網路可以靠NN架構的探索設計與優化目標硬體平台。此方法可以在固定的記憶體與運算配置上限內,提升NN的品質,也就是準確性。 下一個段落中,筆者提出CMSIS-NN的概念。CMSIS-NN是大量的高效類神經網路核心,開發目的是讓鎖定智慧物聯網終端裝置的Arm Cortex-M處理器核心上的類神經網路,極大化效能並極小化記憶體的使用量。架構在CMSIS-NN核心基礎上的類神經網路推論,可以達成4.6倍的Runtime/數據傳輸量提升,以及4.9倍的能源效率提升。文章的第三個段落則以使用CIFAR-10數據集的影像分類應用為例,針對微控制器記憶體/運算限制,提出搜尋類神經網路架構的技巧。 CMSIS-NN提升核心Runtime/傳輸量 CMSIS-NN類神經網路核心的總覽(圖1),核心編碼包含兩個部分:NNFunctions與NNSupportFunction。NNFunctions包含實作常見的類神經網路層類型的函數,如卷積、深度可分離卷積結構、全連接(也就是內積)、池化與啟動。這些函數可以讓應用程式碼使用,以實作類神經網路的推論應用。核心API則刻意保持簡單,以便針對TensorFlow、Caffe或PyTorch等所有機器學習框架輕鬆重新鎖定。NNSupportFunctions包含公用的程式函數,例如NNFunctions使用的數據轉換與激勵函數表。應用程式碼也可使用這些函數來建構更複雜的NN模組,如長短期記憶(LSTM)或閘控再流裝置(GRU)單元。 圖1 CMSIS-NN類神經網路核心總覽 對於某些核心,如全連接與卷積的核心,本文會實作不同版本的核心函數。提供一個針對所有網路層參數不必改變就可以通用的基本版本。同時也實作包括進一步優化技巧的其它版本,它們可能具有變形輸入,或是對網路層參數有某些限制。 固定點量化 研究顯示,即便是低精密度定點表示法,NN的運作依然良好。固定點量化可以協助避免進行昂貴的浮點運算,並降低儲存權重與啟動的記憶體使用量,這對資源受限的平台極為關鍵。儘管不同網路或網路層的精密度需求可能不同,CPU很難運行帶有不同位元寬度的資料類型,因此筆者的團隊開發了同時支援8位元與16位元數據的核心。 核心採用跟CMSIS-DSP裡使用的資料類型格式相同,也就是把q7_t當作int8、把q15_t當作int16,並把q31_t當作int32。執行量化時,假定固定點格式具有兩次方的定標。量化格式以Qm.n代表,而代表值是A×2-n,其中的A是整數值而n是Qm.n的一部分,代表該數字針對分數部分使用的位元數,也就是顯示數基點的所在地。跳過偏差用的定標因素,並把它以參數輸出至核心;因為是二次方定標的關係,定標的實作按位元移位操作。 在NN的運算期間,代表不同數據,也就是輸入、權重、偏差與輸出的固定點可能不同。bias_shift與out_shift這兩個輸入參數,則為用來替運算調整不同數據的定標。 下列方程式可以用來估算移動值: 其中的ninput、nweight、nbias 與 noutput,分別是輸入、權重、偏差與輸出中的分數的位元數。 軟體核心優化 這個段落突顯了在CMSIS-NN裡已進行的優化工作,以提升效能並降低記憶體的使用量。 1.矩陣乘法:矩陣乘法是類神經網路中最重要的運算核心。這個工作的實作,是使用CMSIS-DSP內的mat_mult核心。如圖2所示,矩陣乘法核心是以2×2核心實作,與CMSIS的實作類似。因此可以允許部分數據再次使用,也可以節省載入指令的總筆數。累積是使用q31_t資料類型完成,而兩個運算單元都屬於q15_t資料類型。筆者使用相對應的偏差值,讓累加器初始化。運算的執行則是使用專用的SIMD MAC指令_SMLAD。 圖2 具有2×2核心的矩陣乘法的內迴圈。每個迴圈運算兩行與兩列點乘積結果,也就是產生四個輸出 2.卷積:卷積網路層藉由在輸入特徵映射中運算過濾器權重與小型接受區域之間的點乘積,擷取新的特徵映射。通常來說,CPU架構的卷積實作可以解構成輸入紀錄、擴展(也就是im2col與Image-to-column)以及矩陣乘法操作。im2col是把類影像的輸入轉化成「行」,而「行」則代表每個卷積過濾器需要的數據。圖3即為im2col的一個範例。 圖3 具3×3核心、填充1與步數2的im2col的2D影像範例 im2col主要的挑戰之一是記憶體使用量的增加,因為輸入影像中的畫素在im2col輸出矩陣中重複。為了紓解記憶體使用量問題、同時維持im2col的效能優點,卷積核心實作了部分的im2col。核心一次只會擴展兩行,這已經足夠從矩陣乘法核心取得大幅的效能提升,同時把記憶體負擔維持在最小。影像數據格式也會影響卷積的效能,特別是im2col的效率。兩種最常見的影像數據格式是頻道為第一的CHW(頻道-高度-寬度),與頻道為最後的HWC(高度-寬度-頻道)。維度的順序則與數據步數的順序一樣。在HWC格式中,頻道的數據以步數1儲存,沿著橫向寬度的數據則是以頻道數的步數儲存;沿著縱向高度的數據,則以(頻道數×影像寬度)步數儲存。 只要權重與影像的維度順序一樣,數據的布局對於矩陣乘法的運作就沒有影響,im2col只會與寬度及高度的維度一起運作。HWC式樣的布局可以促成高效率的數據移動,因為每個畫素的數據(也就是同樣的x與y位置)是連續地儲存,並且可以用SIMD指令有效率地進行複製。為了驗證這一點,筆者實作CHW與HWC版本,並比較它們在Arm Cortex-M7的Runtime。圖4顯示了實作結果,把HWC輸入固定為16×16×16,並很快輸出頻道數目。當輸出頻道值為零時,代表軟體只執行im2col,並沒有進行任何矩陣乘法的運作。與CHW布局相比,HWC擁有較短的im2col Runtime,但矩陣乘法效能卻相同。因此,本文用HWC數據布局來實作卷積核心。 圖4 CHW與HWC數據布局卷積執行時間的比較。兩種布局都有同樣的矩陣乘法runtime,但HWC的im2col runtime比較短 CMSIS-NN結果 測試卷積神經網路(CNN)的CMSIS-NN核心,CNN則利用CIFAR-10數據集進行訓練。數據集包含6萬個32×32的彩色影像,並分為十個輸出類別。網路拓撲是基於Caffe內提供的內建範例,具有三個卷積網路層與一個完全連結的網路層。所有網路層的權重與激勵數據都量化成q7_t格式。Runtime則是用具有一顆時脈216MHz的Arm Cortex-M7核心的意法半導體(ST)NUCLEO-F746ZG Mbed開發板進行測量。 整個影像分類中的每個影像,大約花費99.1微秒(相當於每秒10.1張影像)。CPU在這個網路運行的運算吞吐量,大約是每秒249百萬運算(MOps)。預先量化的網路針對CIFAR-10測試集達成80.3%的準確率。用Arm Cortex-M7核心運行的8位元量化網路,則達成79.9%的準確率。使用CMSIS-NN核心的最大記憶體使用量約為133KB,此時用部分的im2col來實作卷積以節省記憶體。接下來則進行矩陣乘法。少了部分im2col的記憶體使用量,大約為332 KB,此時神經網路無法在開發板上使用。為了量化CMSIS-NN核心對既有解決方案帶來的優點,選擇使用一個1D卷積函數(來自CMSIS-DSP的arm_conv)、類Caffe池化與ReLU,實作一個基準線版本。 針對CNN應用,表1總結基準線函數與CMSIS-NN核心的比較結果。與基準線函數相比,CMSIS-NN核心的Runtime與吞吐量分別提升2.6倍與5.4倍,節能方面的提升也與吞吐量的提升相近。 硬體條件限制NN模型 這個段落裡,比較使用影像分類應用為範例,說明為部署應用的硬體平台,也就是微控制器選擇正確類神經網路架構的重要性。為此,需要先瞭解微控制器的硬體限制。微控制器通常包含處理器核心、一個當成主記憶體的靜態隨機存取記憶體(SRAM),以及用來儲存編碼與數據的嵌入式快閃記憶體。表2顯示具有Arm Cortex-M核心的一些市售微處理器開發板,它們擁有不同的運算與記憶體容量。 微處理器系統中的記憶體數量,會限制系統可運行的類神經網路模型的大小。除了記憶體限制,類神經網路的龐大運算需求也會為在微控制器上運行NN,帶來另一個關鍵限制:為了維持低耗電,通常都以低時脈運行。因此,必須選擇對的NN架構,來配合部署NN模型的硬體在記憶體與運算上的限制。為了評估在不同硬體限制條件下神經網路的準確性,筆者選擇三個不同尺寸的系統配置,並導出每個配置需要的類神經網路需求(表3)。假定每秒標稱可進行10個影像的分類推論(也就是每秒10幀),以便導出神經網路的需求。 影像分類用神經網路架構 1.卷積神經網路:CNN是電腦視覺應用最受歡迎的類神經網路架構。CNN包含多個依規格化散布的卷積網路層、池化與非線性激勵網路層。卷積網路層將輸入的影像解構到不同的特徵映射,從初始網路層中如邊緣、線條與曲線等低階特徵,到後面網路層的高階/抽象特徵。當代最頂尖的CNN包含100多個到1,000多個這種卷積網路層,而最後擷取的特徵則由完全連結的分類網路層分類至輸出類別。卷積運作是CNN最關鍵的運作,並且非常耗時,有超過九成的時間都花在卷積網路層上。 2.近期的高效NN架構:為了降低CNN的運算複雜性,有人提議用深度可分離卷積網路層當成標準卷積運作的高效率替代品。也有人提出利用2-D深度卷積接著1-D逐點卷積,取代標準的3-D卷積,並提出名為MobileNets的高效率NN類別。ShuffleNets利用混合 頻道上的深度卷積以及群組軟體1×1的卷積,來提升緊湊模型的準確性。MobileNets-V2藉由增加捷徑連接進一步提升效率,並協助深度網路的收斂。整體來說,已經有許多高效率的神經網路架構提案,可以用來開發符合特定硬體預算的NN模型。 硬體條件受限的NN模型的搜尋 筆者使用具捷徑連接的MobileNet架構,它類似讓硬體條件受限的類神經模型,進行搜尋的ResNet模型裡的架構。網路層的數量、每層網路層的特徵數量、卷積過濾器的維度與步數,被當成這次搜尋的超參數。訓練這些超參數的所有組合相當耗時,並且不太實際。因此需要反覆執行超參數的竭盡式搜尋、計算模型的記憶體/運算需求,並且只訓練能配合硬體預算限制的模型。隨後從之前的集用場選擇超參數,以縮小搜尋空間,並繼續下一更新的模型搜尋。圖5為超參數搜尋的範例,這個範例顯示準確性、運算的數量,以及每個模型的參數。 圖5 利用CIFAR-10數據集進行影像分類的類神經網路超參數搜尋vs以泡泡尺寸顯示的運算及參數數量 經過幾個更新後,表4顯示於硬體條件限制內具有最高準確性的模型。請留意,由於這並不是對所有超參數進行的極盡式搜尋,因此在搜尋期間可能會漏掉一些符合硬體條件限制、且準確度極高的類神經網路模型。結果顯示這些模型擴大規模沒有問題,且針對不同的硬體預算,準確性在不同層級出現飽合。例如,針對200KB與每秒20百萬次運算的記憶體/運算預算,模型的準確性大約在85%左右飽合,並且受到硬體的運算能力限制。瞭解類神經網路的準確性是否受運算或記憶體資源限制,對於硬體平台選擇的各種利弊得失,可提供關鍵的洞察。 強化神經網路效能 機器學習演算法已證實可以實現一些人類能力等級的效能,所執行的複雜認知任務。在全新高效類神經網路架構與優化的NN軟體協助下,這些演算法正慢慢地朝物聯網的終端移動,以便類神經網路在這些終端裝置高效運作。在微控制器裝置常見的記憶體/運算限制下,提出執行NN模型搜尋的技巧,並使用影像分類為例,進一步提出優化CMSIS-NN內的NN核心的方法,以便在最小的記憶體使用量下,極大化Cortex-M核心的神經網路效能。 (本文作者Naveen Suda為Arm主任工程師;Danny Loh為Arm機器學習總監)
0

開放不等於免費 CPU客製化必須穩紮穩打

為滿足人工智慧(AI)、物聯網(IoT)、邊緣運算等應用對運算效能的需求,許多晶片供應商都開始探索使用客製化CPU的可能性,盼藉由專為執行某些特定運算任務所設計的指令集跟執行邏輯,來提高運算效能。但魚與熊掌往往難以兼得,這些專為某類運算任務設計的特殊CPU,必然會犧牲其泛用性,與現有應用軟體的相容性問題,也必須審慎應對。 大廠導入RISC-V 小心翼翼試水溫 因此,即便RISC-V這類開放架構CPU廣受業界矚目,採用RISC-V核心的SoC或處理器設計案例數量也快速成長,但若更深入研究RISC-V在這些SoC或處理器中所扮演的角色,就會發現目前RISC-V的應用領域,還是高度集中在不太需要顧慮第三方軟體相容性的範疇。 舉例來說,繪圖晶片(GPU)大廠NVIDIA的GPU晶片內,除了負責執行圖形運算的各種著色器(Shader)之外,還有許多晶片內部的控制跟協調作業需求,必須靠嵌入式CPU來執行。為此,NVIDIA早在十多年前就開始自行發展RISC指令集,並以此設計出自家專用的嵌入式CPU,負責GPU內部的管理跟控制任務。 但經過十多年後,NVIDIA內部的研發團隊認為,已經很難再靠改良現有指令集架構的方法來滿足新的需求,因此,該公司決定發展全新架構,以提供更高的性能。具體來說,新一代嵌入式CPU至少要提供比現有CPU高一倍的效能、支援64位元記憶體定址、快取與高速記憶體等。 經過評估之後,NVIDIA發現,目前市場上的主流CPU核心,還是沒辦法滿足其需求,所以又走回了自行開發的老路。不過,與十多年前NVIDIA必須自己從指令集架構開始發展的情況不同,這次NVIDIA可以用RISC-V指令集架構作為設計起點,來開發新一代CPU,取代已經使用十多年的老CPU。 2016年時,NVIDIA先採用柏克萊大學發展出來的RISC-V處理器Rocket,開發出第一代基於RISC-V的Falcon控制器,在9項客製CPU設計要求中,已能符合7項功能規格。到了2017年,NVIDIA改用自己設計的RISC-V處理器版本,發展出第二代Falcon控制器。 第二代Falcon控制器使用了64位元RISC-V指令集來設計,並根據自身需求,決定需要使用哪些指令,也加入自己的專用指令集,來對CPU設計進行最佳化。第二代Falcon不只滿足所有技術需求,而且效能更好,也幫助他們降低成本,就是因為採用開源設計。 三星電子(Samsung)採用RISC-V的情況也類似。三星早在2017年就已經開發出第一款內建RISC-V核心的晶片,經過三年多的設計迭代,該公司在2019年的RISC-V高峰會上,正式發表了第一款內建SiFive RISC-V核心的5G毫米波前端模組,接下來三星還有意在AI影像感測器、安全管理晶片與AI運算控制器等晶片中導入RISC-V。在5G毫米波前端這款解決方案中,RISC-V核心負責的任務是訊號處理,而非標準CPU所擅長的控制任務。這顯示RISC-V在某種程度上,可以靠著DSP延伸指令集這項擴充能力,取代某些原本要靠數位訊號處理器(DSP)實現的應用。雖然三星並未揭露未來RISC-V在影像感測器中所扮演的角色,但考量到影像感測器就跟5G射頻前端一樣,會有大量的訊號處理任務需求,可以合理推論,RISC-V應該會扮演某種接近DSP的角色。 除了在處理器、SoC內部扮演微控制器或訊號處理器的角色外,儲存相關應用採用RISC-V的速度也相當快。除了威騰(Western Digital, WD)對RISC-V全力相挺,發展出三款基於RISC-V指令集的核心(表1),主要應用在NAND Flash控制器上之外,晶心科技技術長蘇泓萌透露,台灣某SSD控制器大廠的控制器晶片,也已經內建晶心提供的RISC-V核心。 從NVIDIA、三星,以及威騰等NAND Flash控制器的實際應用案例,不難看出這兩家大廠導入RISC-V的過程,是經過深思熟慮的。不管是GPU內部的控制任務,或是5G毫米波前端,其運作所涉及的軟體都是韌體,晶片開發者對此有完全的掌控能力。也因為晶片開發商可以一手掌控,不太需要考慮第三方軟體、應用在客製化CPU上執行的相容問題,所以晶片開發商可以大膽採用自己客製化發展的CPU硬體架構,以功率、效能與晶片面積(Power, Performance, Area)的極致最佳化為設計目標。 在通用處理器或主處理器方面,目前真的採用RISC-V的知名案例並不多見,僅阿里巴巴旗下平頭哥半導體所發表的玄鐵910,是基於RISC-V指令集架構所開發出來的通用處理器。對RISC-V陣營來說,玄鐵910的問世,固然有其里程碑的意義,但從玄鐵910的規格跟性能測試結果來看,跟Arm及x86陣營相比,還是有一段明顯的差距,在軟體、開發工具支援方面,要跟Arm、x86相比,也還有一段不小的距離。 指令集客製不難 難在維繫生態系完整 面對AI、IoT應用開枝散葉,相關應用開發快速且項目多元,標榜使用者可以自行客製化設計的RISC-V乘著這波風潮,在市場上來勢洶洶,作為嵌入式處理器IP龍頭的Arm,又如何看待? Arm應用工程總監徐達勇(圖1)表示,AI、IoT應用無所不在,確實導致市場上出現許多標準CPU指令集不容易照顧到的新應用、新需求。這些新應用很符合商學教科書上所提到的「長尾理論」--個別應用的市場規模或許不大,但累積起來也是一個相當可觀的市場。對Arm來說,如何滿足這類應用的需求,自然是一個必須思考的問題,而Arm所提出的回應,就是在標準指令集之外,開放晶片開發者在共通的框架、格式規定下,進行客製化的指令集定義。 圖1 Arm應用工程總監徐達勇 事實上,客製化指令集在技術層面並不困難,但Arm直到2019年10月才推出Arm Custom Instruction(ACI),是因為有許多技術以外的考量。例如CPU硬體加上客製化指令之後,編譯器(Compiler)、除錯工具(Debugger)等開發工具,以及處理器上執行的軟體等生態系統的配套,能不能支援開發者自己定義的客製化指令,就是一個大問題。客製化指令立意雖好,但實際上使用者/客戶並不多,而且大多是有雄厚研發資源的大廠,因為客戶必須要有定義指令的能力,並自行克服軟體破碎的問題。 經過審慎思考後,Arm決定在其現有架構中,開放部分客製化指令集,滿足客戶彈性修改CPU指令集設計的需求,但客製化必須符合Arm預先定義好的規範,以避免編譯器、除錯工具無法理解這些開發者自訂義的指令。Arm認為,這是兼顧設計者需求與生態系完整的兩全對策。 SSD控制器便是一個對客製化指令需求很高的應用,因為SSD控制器所做的工作重複性很高,但這些工作卻往往得用到許多條標準指令才能完成,導致CPU經常耗費大量資源在抓取指令(Fetch)上。若能將常用的多條指令整合成一條客製化指令,如圖2,便能加快記憶體存取、編譯與寫入的速度,不只能減少指令執行時所占用的記憶體,也能進一步縮小晶片的尺寸、降低功耗。這是客製化指令對某些客戶非常有吸引力的主要原因之一。 圖2 客製化指令集的基本概念與優劣勢 但客製化之後的指令,必須確保編譯器或除錯工具的夠解譯,否則後面的應用產品開發將無法繼續進行下去。為了避免這種情況發生,相關工具配套必須先到位,或是晶片設計者必須自行備妥這些工具。 天底下沒有白吃的午餐,雖然開源常被跟免費畫上等號,但開源絕不等於免費。光是一套完善、成熟的開發工具,就需要投入大量人力進行研發跟維護,這很難是完全免費的。此外,即便是使用RISC-V這類開源架構設計晶片,仍會有工程開發成本,並且承擔市場風險。如果進行成本精算,開發者的總成本不一定會比取得現成的IP授權來得低。 大廠競相投入RISC-V 背後有其戰略用意 SiFive總裁暨執行長Naveed Sherwani對最近幾年RISC-V廣獲業界矚目,聲勢一路看漲的現象,也有一番值得思考見解。他認為,就技術層面來說,RISC-V的自由與彈性,確實是讓不少大廠對RISC-V產生興趣的原因。但RISC-V能有今天一片欣欣向榮的景象,連帶讓SiFive在短短幾年內就累積超過350個設計定案(Tape Out)的實績,且委託客戶不乏一線科技大廠,關鍵還是在每家廠商想要有與眾不同的產品。 標準CPU還是有其存在的價值,不會所有人都需要客製化的CPU,但如果是對自家產品有長遠發展規畫的大廠,最後一定會考慮在CPU裡面添加自訂義的元素,因為這會讓終端產品出現明顯差異化,進而凸顯自己的品牌色彩。蘋果(Apple)、Google、Facebook、Tesla等大廠都自行為特定應用設計專用的SoC,原因也就在此。 其次,既有的CPU架構在應對AI、IoT所帶來的多樣化需求時,確實有些力有未逮之處。不是現有CPU架構無法實現這些應用,而是在效率面、成本面還有很多改善空間。RISC-V填補了這些缺口,進而讓很多本來採用標準CPU架構,甚至是像英特爾(Intel)、Microchip這些本身就擁有自定義CPU架構的供應商,願意在RISC-V上投入資源。 最後,沒有任何一家廠商或是國家,會樂於見到單一技術供應商擁有市場壟斷地位,因為這會帶來許多風險。先不提新興國家的政府或科技企業對此會有疑慮,即便是美國的科技公司,也會想在既有的主流技術之外,扶植新的供應商與其抗衡。在這個時間點上,RISC-V成為一個頗具潛力的替代方案,且因為RISC-V是開源硬體,沒有權利金、授權費的問題,對大廠來說,只要投入少許資源,就能探索新的機會跟可能性,何樂而不為? 總結來說,RISC-V社群能在短時間內如此蓬勃發展,背後不只有單一原因。有發展潛力的技術、AI及IoT等應用趨勢凸顯出標準CPU架構的問題,加上各家廠商與各國政府分散風險的戰略考量,都促成RISC-V爆紅。
0

智慧醫療方興未艾 AI抗疫喜迎順時鐘效應

2020年1月底以來,新型冠狀病毒肺炎(COVID-19)疫情蔓延全球,抗疫儼然成為所有人齊心面對的共同目標,其中科技防疫更是扮演關鍵角色。正因人工智慧(AI)在防疫、診斷、醫療、藥物開發及協作等方面的成效受到肯定,等於幫政府、業界及民眾做了大量的市場教育,可望加速AI在醫療產業的落地應用,對於AI的其他行業應用也勢必將帶來「順時鐘」效應。 AI賦能 防疫科技工具無所不在 從新冠疫情爆發之後,經常在生活周遭或媒體報導中發現各種防疫科技工具,例如機場及車站必備的紅外線熱影像偵測儀、旅遊景點發布警示的無人機、協助消毒的機器人、具備居家照護功能的智慧監視器等,這些裝置有一個最大的共同點—都是AI應用裝置。 事實上,AI早已深入人們生活的不同領域,但如果不是疫情的爆發,可能沒有那麼深刻注意到AI對生活產生的深遠影響。 舉例來說,大家都很習慣公共場所設有非接觸式紅外線熱影像體溫偵測儀,但很多人並未注意到,這類偵測儀過去可能會偵測到動物、手上的熱飲料而發出警訊,甚至可能有動物或車輛亂入,如今加入AI人臉識別或人體移動辨識功能後,就能更精準鎖定人臉進行額溫測量,不會誤判而造成民眾困擾。 另一方面,如果要偵測民眾是否有戴口罩,毋須指派更多人力,只要採用「視訊監控口罩人臉偵測系統」,透過AI、機器學習及電腦視覺技術,就可精準感應人臉的關鍵部位,進而判斷口罩配戴的狀況,即使人臉過小、角度偏移或有遮蔽物,也不會發生誤判,民眾不需特地停下腳步、或刻意走到鏡頭前,可大幅提高檢測效率,這就是AI厲害的地方。 防疫期間每個公眾場所都勤於消毒,但這項工作不僅辛苦、有害人體,也有一定的感染風險,如果派上防疫機器人,就可大量減少人力。這類智慧機器人不僅有殺菌、消毒、清潔的功用,還有智慧導引及運送的功能,在院內走動時會自動轉彎、避開障礙物、抵達目的地,運送醫療器材或文件檔案也不是問題。 圖1  醫療健康AI主要應用與產值 非接觸式當道 遠距照護/智慧測溫受青睞 為了避免人與人之間的實體接觸,許多非接觸式的醫療應用大行其道,包括遠距醫療、智慧照護的使用量大爆發,也讓AI工具在醫療領域的重要性與日俱增,不僅提供醫護人員相關數據與決策判斷,也可協助醫療資源更有效地配置。 舉例來說,有廠商像是愛微科(iWEECARE)就研發出全球最小的智慧體溫貼片產品添寶(Temp Pal),改變傳統量測體溫的方式,以小型體溫貼片搭配雲端監測系統(圖2),其具備自動、遠距、連續監測體溫與預警的功能,透過藍牙傳輸體溫資料到手機App,可在第一時間發現發燒症狀,同時支援一對多,可監測多人的體溫,減少護理人員定期巡床量測體溫的時間,可明顯提升隔離檢疫工作的照護品質。 圖2  智慧體溫偵測平台 醫療機構或健康照護的室內場所,幾乎都設有監視器,但監視器如果升級成AI功能後,就可透過電腦視覺及機器學習技術,偵測出醫護人員或患者是否有按規定消毒或洗手,藉此降低院內感染的機率,同時還可進行室內場域的個體移動足跡分析,用來監測獨居長者的活動狀態,達到遠端照護的目的。 防疫期間所有藥局為了發放口罩,藥師幾乎都是疲於奔命,但如果藉助AI藥物辨識系統,未來藥師將可更輕鬆,也更可保障民眾的用藥安全。目前愈來愈多大型醫療院所已經導入智慧調劑台,藥師可藉由視覺、聽覺、感知等AI提示,透過不同發光模式、位置指示燈、語音指示、抽屜自動裝置、手勢感應等裝置,以便正確取藥,藥師或護理人員不用擔心拿錯劑量或藥物失竊等問題。 針對老年人或慢性病患,業者也推出了具備AI藥物辨識功能的智慧藥盒,拿到藥袋後,可透過App掃描QR code,將用藥資訊及藥品圖片同步上傳雲端及智慧藥盒,再透過AI影像辨識功能藉以辨識藥物,藥盒會透過語音告知這次吃了什麼藥,同時在App記錄用藥資訊,避免錯漏服藥、服錯藥量或減少用藥等情況。 健康社群應運而生  全民攜手對抗病毒 在疫情蔓延期間,民眾對於各種防疫資訊及健康知識的需求高漲,也讓許多健康社群平台大受歡迎(圖3)。例如「WaCare我的健康社群」就邀請許多醫療專家入駐,提供許多與新冠疫情相關的影片,例如如何戴口罩最有效,同時設立疫情專屬即時論壇討論區,協助在線上幫民眾解答疑惑,未來則以打造遠距健康生態系為目標,可透過AI推論引擎與機器學習技術,建構主動式的個人健康風險評估,讓民眾在風險發生前提早獲知預警。 圖3  醫療數據平台的來源 另外,專注在遠距醫療服務的「醫生馬上看」App,為偏鄉、海外人士、留學生、出國旅遊的會員提供遠距醫療服務,不管何時何處都能透過手機App使用專業醫療諮詢,其內建病歷系統可減少緊急醫療時的溝通時間。目前該平台瞄準企業、保險公司、信用卡等客戶,讓企業員工、旅遊平安險客戶、信用卡用戶在出差或出國旅遊時可以安心出遊。 事實上,由於防疫期間居家檢疫或隔離的民眾有遠端醫療的需求,衛生福利部近期還特別放寬通訊診療法的適用範圍,讓醫生在醫院可透過電腦、行動裝置的視訊進行遠端診療及開藥,不再僅限於偏鄉地區或緊急醫療所需,儘管法規的鬆綁只是短暫性,但包括主管機關、醫療院所、醫生、民眾都對通訊診療有更多的認識及實戰演練的機會,對於未來的遠距醫療、線上看診的建置推動,應有一定的正面效果。
0

突破尺寸/功耗/效能天險 智慧推論晶片迎接新典範

未來消費性裝置創新,須仰賴創建更智慧的新型聯網裝置。此一未來,會由更多具有近端機器學習推論能力的知覺型感測器(Perceptive Sensor)所推動。運用這些感測器並同時擴大推論網路,將能推動智慧型裝置在幾乎所有方面的功能與使用者體驗的提升。隱私權亦可透過終端裝置本地推論的運行而獲得改善,因為只有最少量的使用者資料及感測器資訊會上傳至雲端。 機器學習被鎖在雲端 機器學習與智慧型裝置的交會解放了消費性電子產品新一波的創新。然而最佳的機器學習網路處理需求以及低功率處理器效能之間還有極大的差距。目前的解決方案是運用裝置收集並廣播感測器的資料至雲端,而高功率、專用的機器學習處理器則在雲端負責推論,並在完成後將結果透過網際網路回傳至使用者裝置。這個方法雖能提供機器學習的功能,但亦有極明顯的弱點。裝置有限的能量必須消耗一部分以保持持續的網路連線;雲端運算的延遲亦會限制了裝置對推論的應用,並且會破壞使用者體驗。而傳送原始資料的需求則讓裝置難以維護資料安全,並造成隱私權的顧慮。整體而言,這些限制了智慧裝置對機器學習的實際運用。 第一代的低功率機器學習處理器的整體容量與運算能力不足,只能專注在基本網路應用,如語音指令辨識,以及用於攝影機控制及客製化過濾的特徵偵測等。機器學習的核心邏輯絕大部分被減慢的摩爾定律所限制,因此若沒有效能上快速的改善,機器學習就必須維持在雲端。僅有在運算架構出現突破,方能創造出高效能、高正確度的近端推論。 本文意在展望複雜的推論網路可在幾乎任何消費型裝置上執行的未來─現在已極度接近。全新的「智慧型推論裝置」浪潮將會提供近端高效能的機器學習,讓敏感性的使用者資料不必上傳網路及雲端。其能自動化運用機器學習以改善低階裝置的功能以及使用者體驗。其將由快速創新、機器學習的同步處理、處理器設計、裝置設計所驅動,以創造全新的未來使用者體驗。 機器學習推論的突破 近期機器學習所克服的進階挑戰,揭露了新興智慧型推論裝置的絕佳前景。眾多團隊投身機器學習研究與學習/推論的程式碼庫,讓機器學習進入指數型的學習曲線。大部分的進展多與裝置的雲端連線能力或近端處理有關,針對處理較小資料集的研究則是純粹近端處理的最佳候選。裝置近期可以直接運用的創新包含: ・觀察手勢並處置實體世界物體 這項創新在兩個相關領域中已取得進展,可追蹤人類與機器人手臂,及教導機器人執行觸覺操縱。2019年,OpenAI透過在3D模擬中訓練的機器人展現出手指的靈活性,將其知識轉移至現實,並適應現實世界的物理現象。這創造出可以執行複雜任務的彈性,像是解開真實世界的魔術方塊,卻不需要真實世界的訓練。此外,2019年Oculus Quest亦發表了視覺感測器的手部追蹤技術,需要同時使用4具攝影機以進行6個自由度的頭部追蹤。該解決方案在Snapdragon 835處理器及3MB的神經網路架構,以500mW的耗能提供骨骼及數個手勢追蹤。此前非機器學習的解決方案必須使用景深攝影機及專用邏輯,並消耗超過15W的功率,卻僅能提供明顯較差的正確性。 ・以現在的行動衡量未來結果 在Google的DeepMind中,強化學習經過修改而能了解賽局中決策的長期結果。Temporal Value Transport演算法則是用以將未來所得的結果通知現在,結合未來利益的機率於當前的行動中。這種結合未來結果於目前決策的能力能大幅改善機器學習系統在現實世界的決策制定,除可協助裝置進行更複雜決策的制定,還能大幅改善可執行任務的數量以及可應用狀況的複雜度。 智慧型推論裝置 開創全新體驗 運用推論協調裝置功能是未來裝置設計的強大典範。推論驅動的設計可以創造全新等級的使用者體驗,同時改善低階裝置的功能。具有多重網路推論的裝置將用以進行使用者與環境輸入訊號的複雜翻譯而不需要運用到雲端。使用多重同步網路能讓裝置對於使用者與環境輸入訊號有更高層的理解及反應。這些裝置受到影響的邏輯包含: ・智慧型推論裝置啟動  機器學習極適合翻譯聲音、手勢以及視覺輸入,以啟動裝置、節省電池電力並減少雲端資料傳送。 ・雲端運用與資料隱私經衡量 裝置可以運用推論在雲端相關任務上,包含進一步推論,或是非推論的雲端計算。裝置可以在近端進行推論,而不需要提供原始資料至雲端。聲音、影像及感測器資料及其所產生的推論均不需要上傳。裝置可以決定哪些資料需要傳送至雲端,而該邏輯可以透過設計以強化隱私與資料安全性,而不需要因為必須在雲端處理而公開地揭露。 ・推論驅動使用者體驗 在裝置靈活性、真實聲音翻譯及重製、導航、視覺、偵測、辨識等裝置功能的提供上,推論已證明具最佳的表現。推論可以直接用以創造全新使用者等級的功能與體驗,這些都是不具推論能力的裝置所無法提供的。可同時使用一組以上神經網路的處理器,具有能在裝置及使用者層級同時運用視覺、聲音及創新感測器輸入以制定複雜決策的能力。 啟動智慧型推論裝置 啟動感測器或連接至雲端都需要運算、耗電以及成本。若裝置能快速推論,一旦感測器的輸入需要後續對應動作時,處理器便能聰明地啟動、建立無線網路連線,而雲端的任務亦能明確地被指派。以此方式,低功率的推論便能透過把有趣的動作偵測、聲音啟動以及使用者意圖等留在裝置近端處理,節省整體裝置的耗電(圖1)。 圖1 推論驅動設計的智慧裝置運作 智慧型啟動的重要性不應該被低估─裝置可以進入可接受的耗電範圍,而在許多應用中雲端服務可以避免雙位數的誤判。 ・只有當任務短語和語調提出時,更聰明的啟動文字才會觸發裝置和雲端活動。 ・在各種基於攝影鏡頭的應用中,智慧動作感測可預測動作的意向,以避免下游處理。 ・智慧感測處理能減少一般功能處理器的負載,並運用機器學習來聰明地啟動裝置。 雲端運用與資料隱私經衡量 行動與社群應用帶來前所未有規模的運算與隱私挑戰。為雲端所設計的應用,可以把推論移轉至裝置,減少延遲並節省雲端資源。此外,如穿戴式裝置或智慧音箱等產品亦能決定近端、多因子排程以執行不同甚至是多重供應商的雲端服務。雲端雖然有極大的運算能力與資料量,不依賴網路連線的近端裝置則免於網路延遲與不可靠性。能正確在近端執行推論的裝置,因為能在近端分析聲音、影片、空間及其他感測器資料,僅需傳送較少的資料至雲端,能大幅改善機會來保護使用者隱私。 ・機器學習從雲端轉移至近端裝置可以達成低延遲的使用者反應,能大幅改善聲音、攝影機、手勢等輸入的使用者體驗。 ・近端的影片與聲音分析可以在近端執行,僅有在需要進行雲端分析時才將影片或聲音上傳,因而能保護敏感的使用者原始資料流。 ・智慧型應用程式介面亦能讓單一智慧裝置對來自多個供應商的應用程式進行任務分派並進行雲端互動。 推論驅動使用者體驗優化 推論是讓裝置開啟尖端且全新使用者等級功能的核心性能。結合機器學習推論的聲音與視覺處理讓裝置能辨別複雜的指令與語境,而後產生絕佳的成果。可在新興智慧型推論裝置上擴展的功能,包含使用者回應功能像是生物辨識存取、環境回應、有意義的輸入以及衍伸的人類意圖。此外,還包含替身模擬、機器人控制、智慧型感測器控制及導航等功能(圖2)。 圖2 機器學習推論可讓裝置開啟全新使用體驗的尖端功能 智慧型推論裝置機器處理器的期待屬性 能協調智慧型裝置功能的處理器,將運用機器學習技術,同時包含與裝置感測器、核心處理以及功率控制的關鍵介面。其將成為裝置的大腦,以啟動裝置的功能並調配關鍵的處理。理論上,其能提供實用的功能讓裝置因為減少耗能、必要時智慧化啟動裝置功能、確保其能依安排的需求而啟動,而成為更好的產品。在此同時,其能高效率正確地處理複雜的網路,體積又能更小─讓其可以置入體積精巧的平價裝置。 未來智慧型裝置的關鍵考量是其在感測器與耗能之間的關係。許多裝置需要延長電池使用時間。現今,複雜的視覺感測器資料分析會以最大Thermal Design Power(TDP)的狀況下消耗所有的運算資源。智慧型感測器僅有在必要時會啟動處理、無線網路、雲端互動及實體功能。智慧型感測器與裝置功率的減少是加速智慧家庭採用的必要項目。智慧化啟動網路運作及雲端互動可以減少裝置耗能、延長運作時間、增加尖端功能所能保留的電力預算。家用配線是長期的限制,需要許多裝置以電池運作,以增加消費者的採用。現今電池運作的智慧型家用裝置通常使用4個以內的AA電池或是3500mAh的充電電池,而目標運作時間則在3個月以上。運用智慧型感測器,僅在必要時才啟動裝置,在近端處理輸入而不需要無線網路的連線,可以顯著增加其功能,並減少對於電力的需求。 最佳化的效能、架構、軟體、功率以及研發平台的匯集,對於推論成為未來智慧型裝置設計的驅動因素是全部必要的條件。最佳化的推論處理器將在這些屬性上同時擁有優異的表現。 效能 ・高機器學習網路效能/瓦特:能執行高正確性、現代的影片/影像/聲音處理類型網路。 ・一致的加速度:即便在網路程式碼改變,並擴大多重網路類型,仍能提供相對一致的加速度。 架構 ・整合式設計:小尺寸及高度整合,以簡化設計。 ・標準匯流排:使用標準介面與匯流排設計,易於整合至裝置。 ・多重感測器輸入/輸出介面:支援影片、聲音、常見及新興的感測器。 ・可擴充性:在相同的程式碼下,設計架構能擴展至多重ASIC或是更大、更高性能的ASIC。 ・低延遲:整合記憶體架構及快取,以快速處理所擷取的資料,包含聲音及高解析度/多重攝影機影像等。 軟體 ・快速載入:快速並動態載入,同時執行多重機器學習網路。 ・不特定機器學習網路:執行任何神經網路型式或是分層類型。 ・執行及相關多重機器學習處理:運作多重網路並執行橫跨多重推論的分析。 ・一般目的運作:執行程式碼以產生完整形成與裝置運作相關的成果。 電力 ・低TDP:支援電池電力以延長穿戴式裝置及離線操作的使用時間。 ・低熱度限制:低熱度適合支援穿戴式裝置及全被動式運作。 ・快速啟動:由使用者或感測器呼叫可快速、低延遲的啟動加速器,適合底層以低於使用者感知等級的運用。 ・選擇性啟動:命令和控制感測器啟動,支援額外處理,協助裝置平均耗能最小化。 平台 ・強力的SDK及說明文件:軟體工具集,搭配第三方工具的支援,使其易於運用於目標的加速器中。 ・最佳化的預製:針對主要應用的功能區塊,如偵測、分類、除噪等,提供直接替代(Drop-in)的支援。 ・部署工具集:來自主要機器學習平台如MXNet、PyTorch、Caffe及TensorFlow的移植工具等強力支援。 兼顧尺寸/功耗/效能 全新推論處理器登場 新創公司Perceive發表全新的Ergo,是款高度整合的推論處理器,能將所有推論處理卸載至低功率應用及小尺寸裝置。Ergo能以相當於55 TOPS/W的性能執行推論,而在全功率運轉時可以達到4 TOPS,而不會犧牲正確性,或限制可支援網路的類型。Ergo ASIC採用7×7mm FBGA封裝並能以約20mW耗能處理許多網路,最大功率約為120mW,且完全採用被動式散熱。在現場展示中,Ergo在全速運轉之下溫度仍低得可以直接碰觸。 Ergo是設計來執行傳統上僅能在資料中心等級推論處理器上方能運作的網路。現今Ergo可以完整執行YOLOv3,在批量尺寸為1時以246fps處理6400萬組參數。Ergo可以執行傳統上需要超過400MB儲存空間且有超過1億組參數的網路。 與之前設定為低耗電應用的推論處理器相比,Ergo計畫並達成所有之前的處理器及專用加速器擁有相當的每瓦特效能的20倍至100倍的功率效能。現今的推論處理器一般低於5 TOPS/W,而Ergo則可以達到55 TOPS/W以上。 要達成這樣的效能,Perceive發展出全新的運算架構,能維持高正確性,但大幅減少記憶體與耗電量的要求。Ergo新穎的網路表示法(Representation)避開推論對於MAC陣列的需求,並因而精巧至足以在晶片內記憶體執行大型網路。Ergo晶片亦採用積極性功率與時脈閘以增加電源效率。因此,Ergo能在7mm×7mm的封裝內提供極高的正確性。結合了源自數學原理的方法至機器學習、不是依據MAC而設計的架構、沒有外部記憶體、傳統的節電技術,是讓Ergo可以在資料中心等級網路上提供高正確性、效能與效率的原因。 廣泛的移植網路和一致的效能提升,代表該公司已成功創造一種能提供相對於今日推論負載明顯效能改善的架構。此外,該公司亦已展示許多多重網路應用,均與其宣稱的網路容量及性能相符。 Perceive Ergo能直接串接高解析度、高影格率影片感測器,讓多重感測器與即時元資料(Metadata)有機會作為推論處理的額外輸入。此能提供先進的問題解決與多重網路推論,讓其能運用於核心裝置控制與先進的終端使用者功能。有了高效能與網路容量,亦可能推出全新的功能。在此機會之下,軟體設計與訓練出現新的挑戰,對裝置生產廠商成為全新的技術挑戰。Perceive已試著透過工具套件(其中含有針對一般機器學習應用的已可用於部署Ready-to-deploy網路),讓研發更為容易。 Perceive Ergo機器學習網路範例 Perceive Ergo可同時執行多個網路,讓智慧型裝置能採用推論驅動設計。其已使用現今多層次網路如CNN(包含殘差邊緣)、LSTM、RNN及其他網路進行測試。示範的網路包含: 以M2Det進行多重物件偵測 多重層次多重尺度偵測器(M2Det)是新發表的類神經網路(2019年1月),用以進行物件偵測及在地化,設計以偵測尺度差異極大的物件。M2Det是款端到端、單一拍攝物件偵測器,其在現實世界應用極為實用,因為物件可以是在漸進場景中且尺寸及比例差異極大。 以YOLOv3進行多重物件偵測 YOLO是由Joseph Redmon及Ali Farhadi所創造的CNN式類神經網路,可以在影像及影片中辨識並定位高達80個物件類型。現今YOLOv3是資料中心最受歡迎的多重物件偵測器之一。 以專用網路進行聲音事件偵測 最佳化的類神經網路可以以小尺寸的類神經網路辨別多重聲音事件類別,讓其極適合運用搭配較大的視覺處理類神經網路使用。 以ResNet進行臉部辨識 深度殘差學習因較易訓練與絕佳的正確性而受到關注,其為微軟研究院(Microsoft Research)在2015年所發表。多重層次配置的ResNet已運用於大型樣本地區臉部與影像辨識。 Perceive Ergo同步推論類神經網路範例 Perceive Ergo已示範結合這些類神經網路運作,並且以其自身的記憶體/網路權重能力在技術上是足以同時執行多重類神經網路。此處理器能執行全新類神經網路的組合,處理使用內建輸入/輸出埠自多重偵測器所取得的資料。 Perceive...
0

專訪Arm應用工程總監徐達勇 AI與資訊安全共構AIoT願景

5G時代各類裝置的效能要求大幅提高,AI將協助裝置提升智慧化的能力,Arm應用工程總監徐達勇表示,以手機來說,85%的機器學習應用仍在CPU、或者CPU+GPU的處理。雖然市場上有NPU或者APU的選項,但較為少數。以IoT裝置來說,很多機器學習的推論功能也都在Cortex-M4或者Cortex-M7上處理。另外,隨著機器學習(Machine Learning, ML)應用越來越多,未來也將運用到神經網路處理器(Neural Network Processor),比起加速器更為通用。 Arm應用工程總監徐達勇表示,5G時代各類裝置的效能要求大幅提高,AI將協助裝置提升智慧化的能力 Arm近年積極發展AI能力,相關IP都能進行AI運算,徐達勇指出,與Cortex A系列搭配的,會有Ethos-N77、N-57與N-37,以針對不同應用、不同效能的需求。而與Cortex M系列搭配、為低耗能應用的Ethos-U55 NPU。因應未來5G時代在機器學習的需求,Arm提供從CPU底層微架構上的加強,到在CPU上層的軟體框架,包含Arm Neural Network(NN)以及為Cortex M的CMSIS NN。 而裝置聯網的數量呈現爆發性成長,讓許多裝置暴露在資安風險下,Arm當然也意識到這樣的問題,徐達勇認為,先要做威脅分析,釐清是物理攻擊或是軟體攻擊,針對網路攻擊,Arm TrustZone主要防護軟體攻擊,將SoC設計分為Normal World與Secure World,可以保護一些需要高安全防護的應用。Arm Cyptocell/Crptoisland防護物理攻擊,如有人惡意去量CPU或SoC與Memory之間的讀寫然後去破解,就需要更高階的防護等級。Platform Security Architecture(PSA)則是防護架構,從分析、制定架構、實施、最後到裝置認證,PSA提供確認清單,協助用戶檢查其裝置安全要求是否到位。
0

三向直搗技術/智慧應用難關 聊天機器人起腳射門

時至今日,全球各地,從制定相關決策的政府機關,大型上市公司與夾縫求生存的中小企業,無一不提出數位轉型、扶植新創、組織創意轉型等方向。而此篇文章將試圖探討在現今的技術條件與市場期待心理下,是否能夠因為使用新技術、或者開闢新賽道進行聊天機器人的市場突圍? 聊天機器人無法滿足使用者期待 科技的快速發展來自人追求快速、方便的本性,但人類的想法與思緒十分複雜,因此聊天機器人難以全面滿足使用者的需求。回想日常生活的溝通情境,當人們在日常溝通的時候,除了說出口的字句,對方的肢體動作與眼神有沒有影響到自身的判斷?讀者是否會自行腦補一些情境?尤其跟老闆、同事或下屬進行具目的性的談判對話時,語句之外的線索顯得更重要。 聊天機器人不夠聰明的原因,是它距離人類多模態交互的能力還很遙遠。現今最普遍和流行的生活應用,當屬智慧音箱(如Amazon的Echo),一般人在買回去的當下充滿興奮感,嘗試各種指令來挑戰智慧音箱的極限後,就將它放置在屋裡的某一角落,成為一個可有可無的家用品,無法實際融入使用者的生活情境中。即便仰賴大數據和人工智慧(AI)的相關技術持續更新,用戶體驗也漸入佳境,但仍缺乏具代表性的現象級App,無法滿足多數人的使用需求。另一方面,若人們嘗試降低自己對產品的期待,單純利用聊天機器人詢問明確的問題(如天氣),請它做一件明確的事情(如播放音樂),這樣的基本需求可以被滿足。 聊天機器人技術發展三向剖析 聊天機器人是一項技術整合的產物,其中牽涉的技術範圍有電腦視覺、自然語意、機器學習(Machine Learning, ML)與深度學習(Deep Learning, DL)等。本文根據市場調研機構Gartner所提供新興科技發展週期報告,來審視各個技術目前位處的位置、困境、與待解決的問題。 電腦視覺 電腦視覺(Computer Vision, CV)目前處於泡沫化的谷底階段,意即此技術無法滿足使用者的期待,導致大家對於它的創新了無興趣。CV從實驗室的前沿技術,到如今能夠聽懂人類的指令,花了整整半個多世紀,產生瞄準在新零售、醫療、工業製造和網路娛樂等應用的期待。然而,人工智慧情緒識別離開人類的干預,對複雜情感的理解和表達能力,仍須持續的技術突破。其中,利用AI判斷並理解實體環境的CV,不僅是辨識情緒的關鍵技術之一,也被公認為未來三至五年最重要的技術之一,不僅眾多新創企業投入,大企業也紛紛利用自己既有的優勢企圖先布局並搶占先機,現階段大約聚焦在下列4個發展方向: 1. 服務平台:提供機器學習開發工具和雲端服務的商業型平台,讓開發者毋需從頭自行建構。 2. 影音資料庫:利用海量資料進行機器學習的模型訓練,將使用者上傳的相片和影音資料,與個人特徵資訊進行連結,大量使用電腦視覺技術客製化廣告投放以增加營收。 3. 硬體製造:如NVIDIA、英特爾(Intel)的晶片製造。 4. 消費性產品:近期可期待者為手機人機互動的介面。 自然語意 自然語意(Natural Language Procession, NLP)與CV處於泡沫化谷底階段。自然語意發展分為兩大階段,一種是應用傳統的分詞執行自然語言處理,第二階段則是近年由於機器學習快速發展,大家開始應用機器學習執行NLP。透過NLP所能實現的功能包含神經機器翻譯(Neural Machine Translation)、智慧人機交互(就是所謂的聊天機器人,受限於技術,目前只能在特定場景實現多輪次的對話)、機器閱讀理解與機器創作。但如前言所述,現實狀況下,人與人當面溝通,仍會有語意上的誤解,在此情況下,如何期待科技可以奇蹟似地解決這一切?自然語言處理首先透過斷詞、理解詞,接下來是分析句子,包含語法和語義的自然解析這兩個步驟,再轉化為電腦容易處理與計算的形式。上述在處理時,需耗費大量的人力成本,除此之外,還牽涉建構者本身對於所屬領域的專業度、邏輯與理解能力(所謂的人工智慧訓練師)。此外,NLP毫無疑問的是一個未來巨大的市場,無論電腦視覺或是語音識別,想要實現更人性化的功能,就需要NLP的加持,同時可預期隨著NLP技術的不斷發展,將會逐漸呈現NLP、語音與視覺融合發展的趨勢。 機器學習/深度學習 機器學習與深度學習位處在過度期望的高峰階段,各方話題與議題熱度竄升。機器學習指的是可以從資料中歸納規則的方法,是第三波人工智慧發展的代表技術,而在眾多機器學習演算法中,深度學習則是近幾年成長最快,表現最好的技術。遺憾的是,截至目前為止,幾乎每個深度學習實踐者都認同的一件事是:深度學習模型數據效果有限。要實現真正的深度學習需要滿足下列三點,這三點可以協助讀者辨別此項技術到底是人工智慧還是科幻小說。 1. 大量的數據與活動:為了使神經網路能發現新的模型,就需要有大量的數據,這些數據可以透過反覆試驗來處理和分類。 2. 運算能力:假設已有一定量的有意義數據,則需要運算能力,所幸目前已有一系列更低成本的選擇,如微軟Azure等雲端託管服務。 3. 新的敏捷方法:最後,也是最重要的一點,需要採用新的敏捷方法思考和解決問題。 大型資料庫用於訓練精確模型的必要性已成為一個非常重要的問題,同時,需要低效的人工標注數據成為一個更大的挑戰。在當前的深度學習應用中,數據的問題無處不在,由於建基於大規模數據,當滿足所需環境和約束條件時,這些系統會產出令人驚豔的成果;但若不符合上述場景,它也可能完全失效。舉例來說,若有人試圖解決大量翻譯或無人駕駛的問題,則需花很長時間來思考重要數據中的所有因素,需先建構演算法,而在過程中有很高的失敗機率。雖說如此,深度學習和先進模型的興起仍是一次革命性的進步,加速了那些針對以前無法解決的問題之技術解決方案出現,在思維上邁出重要的一步。 聊天機器人短期內破局可能性具困難度 產業中的廠商若以業務角度分析,主要分為三類: 1. 2C公司:產品直接面對用戶,如Amazon的Echo,由於未能滿足人類對於AI的美好想像,距離規模化應用上有大段距離。 2. 2B公司:如金融領域的智慧監管系統、醫療領域的醫療問答和診斷助理等。但是實際效果仍牽涉上述自然語意建構的縝密度,與場景應用設計的順暢度而有不同。 3. 2G公司:為面向政府執行行政業務類的知識庫建構和問答業務,如政府服務大廳的引導型聊天機器人、一站式辦公機器人等。 從生態系統來看,聊天機器人可分為產品,框架(Framework)和平台三類;其中框架是為了加速產品的研發,以SDK或SAAS服務的型態,提供有市場敏感度,或創意點子的需求者可快速架構特定場景和領域的聊天機器人。 短期若要大規模地拓展市場,恐怕有一定的困難度,除非在上述的關鍵技術中突然有突破口,縱然如此,各式場景應用與垂直深化探索仍不斷地激起人們對未來的想像。相信未來的聊天機器人與虛擬生命,將會以更好的體驗和型態呈現在人們面前。 (本文作者任職於優拓資訊)  
0

高通台灣創新中心揭幕 扶植台灣資通訊新創生態系

高通(Qualcomm)宣布位於台北的高通台灣創新中心(Qualcomm Innovation Center, Taiwan)正式啟用,科技部次長許有進日前與美國高通公司副總裁暨台灣與東南亞區總裁劉思泰一同舉行揭幕儀式。高通台灣創新中心將作為高通台灣創新競賽(Qualcomm Innovate in Taiwan Challenge, QITC)基地,提供競賽入圍團隊諮詢與技術支援服務,具體支持台灣具創新性中小企業成長。此外,中心未來也將舉辦多種課程與講座,開放更廣泛的新創生態系成員一同參與。 美國高通公司副總裁暨台灣與東南亞區總裁劉思泰表示,經過第一屆高通創新競賽,高通與台灣新創團隊建立緊密互動關係,深刻體認在堅實的資通訊產業基礎上,台灣新創生態圈的特色在於軟硬體結合,極具競爭力。在第二屆創新競賽開始之際,高通台灣創新中心揭幕運作,格外具有意義。此中心將成為高通與台灣新創生態系互動、交流的平台,並加深高通與台灣的鏈結。 高通台灣創新中心設置實驗室,提供團隊產品開發、量測及除錯的環境。中心設有不同型式之會議室與共同工作空間,作為高通台灣創新競賽基地,也將舉辦尖端科技、新創經營、智慧財產權及專利布局等相關講座,與台灣更廣泛的新創生態系成員互動。競賽入選團隊將能在中心測試與精進其產品或解決方案,增進市場性和競爭力。這座創新中心將成為高通與台灣新創圈溝通平台,充分展現持續投資台灣、扶植台灣資通訊與新創生態系發展的承諾。 第二屆高通台灣創新競賽已於2月12日開放報名,歡迎台灣新創團隊踴躍報名,利用高通行動平台與各項技術於5G、蜂巢式物聯網、機器學習、智慧城市及多媒體等領域開發創新與實用產品。為協助有興趣的新創團隊進一步了解報名與競賽相關事宜,將於3月10日舉行線上直播說明會,歡迎全台優秀新創團隊參加提問。
0
- Advertisement -
- Advertisement -

最新文章

- Advertisement -

熱門文章

- Advertisement -

編輯推薦

- Advertisement -