近年來,機器學習(ML)技術(shù),尤其是機器學習的神經(jīng)網(wǎng)路子集,幾乎已經(jīng)迅速入侵了行動設(shè)備硬體和應(yīng)用軟體的所有層面。許多常用且廣泛使用的手機應(yīng)用程序都在後臺運行ML技術(shù),以針對特定用法和行為對設(shè)備進行微調(diào)。當手機的電源管理系統(tǒng)自動微調(diào)性能設(shè)置以延長電池壽命時,這就是機器學習的一個例子。

圖一 : 在所有機器學習案例中,最具挑戰(zhàn)性多媒體的強化功能。 |
|
當行動設(shè)備助理裝置追蹤正常的行車狀況,並發(fā)送有關(guān)火車或下班回家路上交通異常延誤的警示時,這也是機器學習的一種形式。而且,如果社交網(wǎng)路應(yīng)用程序使用你朋友的名字來標記你所上傳的照片,那麼這也是正在運作中的機器學習的最好例證。

圖二 : 社交網(wǎng)路應(yīng)用正是機器學習的最好例證。 |
|
機器學習的重大挑戰(zhàn)
以節(jié)能和數(shù)據(jù)頻寬高效的方式來提供大規(guī)模運算,將成為行動運算晶片開發(fā)人員面臨的最大挑戰(zhàn)。
Arm機器學習事業(yè)部副總裁Steve Roddy指出,上面所提到的範例,都是下載到手機並在CPU或GPU上運行的軟體APP應(yīng)用程序。深度嵌入功能還與行動設(shè)備的硬體緊密相關(guān),例如,高性能的神經(jīng)網(wǎng)路功能可以改善行動設(shè)備中的相機視頻和靜態(tài)影像捕獲品質(zhì)。當行動設(shè)備連接到無線網(wǎng)路或蜂巢式網(wǎng)路時,高級WiFi和5G調(diào)變解調(diào)器將採用與機器緊密耦合的自適應(yīng)機器學習演算法,並最大程度地提高數(shù)據(jù)傳輸速率。
Steve Roddy說,在所有這些機器學習的案例中,技術(shù)上最具挑戰(zhàn)性的是照片與視訊等多媒體的強化功能,通常稱為運算攝影。拍攝10秒鐘視頻或自拍照的消費者,希望在非常高分辨率的感測器上,以每秒60幀的速度執(zhí)行具有智能對焦和曝光的穩(wěn)定流暢視頻擷取;加上透過語音來啟動的命令處理功能,以設(shè)置功能並啟動或停止視頻擷取(自然語言處理)。
在即時視頻上同時運行所有這些功能,將會消耗大量的系統(tǒng)運算處理能力。在今年所宣布用於高階行動領(lǐng)域的最新行動設(shè)備,多數(shù)都採用了Arm架構(gòu)處理器來提供具多核運算效能的15~20 TeraOp/Sec神經(jīng)處理單元(NPU),可以滿足這些應(yīng)用範例中的高運算要求。我們可以預(yù)期,在2020年甚至2021年將超過這些運算的水準,以節(jié)能和數(shù)據(jù)頻寬高效的方式來提供大規(guī)模運算,將成為目前行動運算晶片開發(fā)人員所面臨的最大挑戰(zhàn)。
針對不同應(yīng)用部署機器學習
Arm的機器學習策略,是透過通用軟體層以及功能強大的整合開發(fā)與調(diào)試工具,盡可能將廣泛並支援ML的處理元素組合在一起。每個行動SoC開發(fā)團隊都會在設(shè)計上進行取捨,以針對每種不同的應(yīng)用來部署運算能力和機器學習能力。
SoC設(shè)計人員必須考量面積與成本、靈活性與專用運算能力,以及性能與功耗之間的關(guān)係。這樣的結(jié)果是,沒有兩個行動SoC看起來是完全一樣的。
Arm提供了大量的Cortex CPU、可擴展的Mali GPU與Ethos NPU,因此客戶以異構(gòu)混合架構(gòu)的形式來設(shè)計,以達到其目標市場的正確性能目標。舉例來說,一個典型的新設(shè)計架構(gòu),可能具備有大小核的多核心Cortex CPU、多核心GPU和Ethos NPU的多核混合架構(gòu)。
但是,Steve Roddy說,Arm的工作並不會隨著SoC設(shè)計人員選擇了IP而結(jié)束。Arm可以讓應(yīng)用程序開發(fā)人員編寫一次性應(yīng)用程序,並部署在任何執(zhí)行Arm NN(neural network)的設(shè)備上,而Arm NN也可將ML工作負載指定到設(shè)備(CPU,GPU或NPU)中適當?shù)腁rm IP,開發(fā)人員無需擔心必須針對每種硬體類型調(diào)整應(yīng)用程序。
運算革命
事實上,Arm正與生態(tài)系統(tǒng)各個層面的合作夥伴廣泛合作,Arm的技術(shù)是運算和連接革命的核心,這樣的革命正在改變?nèi)藗兊纳詈推髽I(yè)運營方式。到目前為止,Arm的節(jié)能處理器設(shè)計已實現(xiàn)了超過1500億個晶片的智能計算,並且可以安全地為感測器、智慧手機和超級電腦等產(chǎn)品提供運算能力。
Arm與1,000多個技術(shù)合作夥伴一起站在設(shè)計、保護和管理晶片到雲(yún)端的所有運算領(lǐng)域最前線。基於這些生態(tài)系統(tǒng)的優(yōu)勢和普遍性,人工智能生態(tài)系統(tǒng)已經(jīng)在Arm架構(gòu)上實現(xiàn)了標準化。Arm和生態(tài)系統(tǒng)一直在為AI優(yōu)化的開放軟體和工具等方面進行大量投資,來確保Arm處理器在各種AI應(yīng)用中都能發(fā)揮全部的潛力。
Steve Roddy認為,5G的加速發(fā)展,以及AI、xR和IoT等,正在改變運算需求。面對更身臨其境的應(yīng)用案例,運算性能需要超越當今的水準。這就使得我們必須採用一種截然不同的方法來設(shè)計IP,稱為Total Compute,這種方法是透過在IP、軟體和工具內(nèi)部,以跨IP、軟件和工具的方法進行優(yōu)化,來提供經(jīng)驗基礎(chǔ)的解決方案,提供安全的基礎(chǔ)及複雜系統(tǒng)所需的性能,並透過運算來解決未來的工作挑戰(zhàn)。
建構(gòu)和運行機器學習應(yīng)用程式

圖三 : 機器學習特點是運算量龐大、且需要大量的記憶體頻寬,這正是行動設(shè)備最大挑戰(zhàn)。 |
|
Arm推出神經(jīng)網(wǎng)路機器學習(ML)軟體 Arm NN,這是一項關(guān)鍵技術(shù),可在Arm平臺上輕鬆建構(gòu)並無縫運行機器學習應(yīng)用程式。
實質(zhì)上,Arm NN橋接了現(xiàn)有的神經(jīng)網(wǎng)路框架(例如 TensorFlow 或 Caffe),以及在嵌入式 Linux平臺上運行的底層處理硬體(例如CPU、GPU或新型的Arm機器學習處理器等)。這樣一來,開發(fā)人員就能夠繼續(xù)使用他們首選的框架和工具,透過Arm NN無縫轉(zhuǎn)換,就可以在底層平臺上運行。
機器學習需要經(jīng)過一個訓(xùn)練階段,也就是學習階段(也是先學習「這些是汽車的圖片」),另外還需要經(jīng)過一個推理階段,也就是應(yīng)用所學的內(nèi)容(推論「這是汽車的圖片嗎?」)。這些訓(xùn)練的過程目前通常在伺服器或類似的設(shè)備上發(fā)生,至於推理則大量的移轉(zhuǎn)到網(wǎng)路邊緣來進行,這正是新版本Arm NN的重點所在。
結(jié)語
機器學習工作負載的特點是運算量龐大、且需要大量的記憶體頻寬,這正是行動設(shè)備和嵌入式設(shè)備面臨的最大挑戰(zhàn)之一。隨著運行機器學習的需求日漸增加,對這些工作的負載進行分區(qū)變得越來越重要,以便充分利用可用的運算資源。
軟體開發(fā)人員面臨的挑戰(zhàn)在於很多不同的平臺,這就帶來一個現(xiàn)實問題,CPU通常包含多個內(nèi)核(例如Arm的大小核架構(gòu),甚至還有多種內(nèi)核類型),此外還要考慮GPU,以及許多其他類型的專用處理器,包括Arm機器學習處理器等,這些都是整體解決方案的一部分。在這些應(yīng)用情境中,Arm NN通常可以派上用場。事實上,Arm NN在其中扮演了樞紐角色,既隱藏了底層硬體平臺的複雜性,同時可以讓開發(fā)人員能夠繼續(xù)使用他們的首選的神經(jīng)網(wǎng)路框架。