對於快速擴展的物聯網(IoT),「本地思考,全球行動」是最高指導原則。傳統上,決策形成一向都集中在雲端與網路的中心,所有的資料與智慧都往內部移動。這樣為網路技術與商業模型帶來龐大的壓力。未來人們必須刻意把多數的「思考」向網路的終端移動,讓中央系統空出來,以資料趨勢與規律的整合為基礎,進行較長期的策略性決定。
本文將討論如何為終端運算能力帶來重大改變與提升,不管是微小的微控制器或是多核心閘道。文中不採取「一體適用」的方式,而是提供運算擴充性、功耗效率、決定論與介面選項的獨特組合。如此一來,可讓快速且自主地執行戰術行動成為可能,並能遠離資料中心、緩解頻寬壓力、提升安全性,同時降低延遲並改善可靠性。
聯網運算實現資訊全面共享
過去30年左右的時間內,人們看到運算需求出現大幅成長,期間經歷過許多階段。運算工作站原本相當特別。讀者的公司、學校可能都曾有過工作站,夠幸運的話,讀者的桌上可能也曾有過一台。如果是早期的使用者,則家裡可能也有過。少數幾台威力強大的電腦,則是與眾多用戶共享。
接下來是個人運算年代,那段期間,大家桌上都有電腦,許多人家中也有。在那之後,可以看到行動運算年代,此時大家口袋裡隨身攜帶可能比十年前任何東西都要強大的運算裝置。
最後,來到聯網運算年代,在此期間的所有裝置、終端節點、閘道器與伺服器都連上網路,並在全球共享資訊。
從30年前數量相對很少的電腦,到現在,人們處於四處都是運算裝置的世界裡。而且,這些裝置由於連上超大型的智慧網路,愈發彰顯它們的價值。這個智慧網路的商業可能性,可說無可限量。然而,擴充卻成了問題。根據市場調研機構Gartner指出,一般家庭來到2022年可能擁有超過500個智慧裝置。這是個龐大數量的裝置,都需要聯網、保全與管理(圖1)。
運算裝置有多少?以1990年代創業的Arm為例,迄今其矽晶圓夥伴已經出貨超過1,650億顆晶片。其中的500億顆是在過去四年內出貨,同時預計未來四年將再出貨1,000億顆。
如此驚人的成長,大多將出現在物聯網。這些物聯網裝置的價值多半來自透過與某個中心進行連接,以便對用戶與供應商提供服務。
智慧在哪裡?
目前假定是智慧存在於雲端,也就是網路的中心。
目前假定
這種方式的優點是把所有的資料集中在一個地方,但同時也有一些顯著且逐漸增生的問題。基本上,這意謂著人們必須耗費時間、電力與金錢,把資料從終端裝置一路上傳到中心來進行分析,然後再把分析與行動傳回終端裝置上(圖2)。
因此,系統就把所有資料都傳送到雲端。把所有資料傳到雲端進行處理,然後把動作再一路回傳給終端,這花費太多時間、成本,並讓隱私保護遭到破解,耗費電力,而且無法擴充。某物聯網新創公司創辦人便曾表示,人們總說雲端是擴充人工智慧(AI)的方式,但對他而言卻是實行AI的障礙。沒有雲端可消化這麼多資料。
較好的方法是把智慧內建在閘道器內,或是終端裝置本身。這樣可以降低延遲、提升隱私保護與安全性,並降低頻寬。利用這種方法,傳送到伺服器的資料對於服務供應商而言更具價值,因為只有從資料轉化而來的高品質資訊會被送到中心整合,並轉換為真正的商業價值。
終端運算優點
把智慧移到終端可以提供許多的優點(圖3)。它改善本地的自主性,提升資安與隱私保護,同時強化安全性。它同時也讓人們降低能源的消耗(每個裝置少個幾毫瓦,一兆個裝置加起來就是龐大的能耗),降低延遲並減少對頻寬的需求。往終端移動的解決方案可以擴充至龐大的數量與網路,比集中式的方法好上許多。
是時候導入本地思考
所以,人們導出一個新的原則:「本地思考」(圖4)。在終端進行思考,而不是在中心。不過,人們仍然必須在系統終端常見的限制條件下運作:裝置必須省電、合乎成本效益,裝置往往須以電池驅動,通常實際體積也很小。
以下簡述三種會影響將智慧往終端移動的關鍵技術,分別是資安、數位訊號處理(DSP)與機器學習(ML)。
解構分析嵌入式裝置
典型的嵌入式裝置因感測到周遭環境的某些輸入,進而啟動某種控制輸出。在系統單晶片(SoC)內部,關鍵的IP區塊可能包括輸入/輸出與應用專屬的類比介面、編碼與資料的記憶體,當然還有用來進行必要運算的中央處理器(CPU)(圖5)。關鍵的設計條件為,其具有足夠且合適類型的運算能力、裝置必須省電、必須有可用的適當支援,包括軟體、IP、即時作業系統(RTOS)、中介軟體與開發工具等,同時,必須落實適當的安全層級。
請留意,就算沒有連接外部系統,安全性仍是保護資料與韌體完整性與機密性、以及控制裝置生命週期管理的關鍵要素。而安全性機制也可能對製造商與供應鏈提供保護,以驗證裝置憑證確保不是偽造或複製品。把裝置連上外部的中央系統會增添全新層級的複雜性,並在許多方面影響設計條件。
聯網裝置以連接性進行延伸
當裝置安全連上「雲端」以啟用物聯網服務,雲端必須要能夠「信任」這個裝置,而這也讓安全性需求顯而易見且更加重要。服務是透過裝置與雲端同時運行的軟體啟動;例如,處理過程擷取到裝置區域內的資料,並把與「有興趣」事件或情況相關的資訊傳到雲端,然後在雲端轉化成長期的、可執行的洞察。
物聯網裝置也必須能夠進行管理,這包括裝置首次連上雲端必須進行配置裝置、通訊時需進行憑證鑑別、管控更新與安全補丁,並在裝置生命週期結束時中止運作。
實體的連接需要適合的傳送層安全性,以確保私人資料不會外洩,並避免各種通訊攻擊,包括中間人攻擊。可見安全性的需求涉及這個設計的許多部分,包括身分識別、連接性與裝置的生命週期管理。
安全性提升架構/IP暨設計基礎
首先,來看如何打造安全解決方案的基礎(圖6)。
安全架構與IP
Arm於2017年推出平台安全架構(PSA)。這是一種用來分析威脅、架構安全設計與實施安全解決方案的公開方法。
分析階段非常重要。並非所有的安全性解決方案,都可以適用至所有的解決方案。例如,無法實體接近的裝置可能不需要緩解實體的安全威脅。在所有案例中,設計者所採用的安全性解決方案必須適當,並與找出的威脅成比例。
PSA探討四種主要類型的威脅(圖7):
・實體:侵入式與非侵入式
・軟體:緩衝器溢位、中斷與惡意軟體
・通訊:中間人、脆弱的RNG與程式碼漏洞
・生命週期:程式碼降級、所有權變更、生產過剩與除錯攻擊
當前已有可對應這四個主要威脅類型的硬體與軟體IP,像是TrustZone可協助因應軟體威脅的保護;CryptoCell硬體IP協助因應通訊威脅的保護;Cortex-M35P、SecureCore處理器與CryptoIsland可協助因應實體攻擊的保護;而Kigen則可協助因應通訊攻擊的保護。
隨著獨立憑證程序的導入,硬體與軟體製造商及供應商現在可以根據平台安全架構的要求,為他們的產品取得認證。這讓產品設計人員在選擇經過認證的元件組成合規產品時更為簡便。
協助加速安全裝置設計
Corstone之類的參考設計可提供SoC設計人員良好的解決方案,加速打造安全的設計。範圍廣泛的各種系統,考慮到條件受限、主流與多元嵌入式設計。例如基於條件受限的設計以Cortex-M微處理器為基礎建構;因應主流設計則結合多個處理器;至於高度嵌入式設計,則使用Cortex-A處理器來提升效能(圖8)。
伴隨的套裝軟體包括安全性、RTOS與韌體的支援。從這些設計出發可以顯著縮短設計時間,更快把產品推出。
DSP函數追求最佳化
需要執行的多數智慧行為,要看是否可以取用優化的軟體程式庫,特別是像DSP與神經網路加速等函數。這兩者之間彼此密切相關。
供終端裝置用的可擴充DSP效能
許多處理器擁有執行DSP演算法的能力,其中分成好幾個效能層級。以下的圖9便顯示可用的效能點範圍。
例如Cortex-M4處理器就擁有許多DSP指令,可以提升效能。Cortex-M33處理器大約提供10%的效能提升。不過,目前效能最高的Cortex-M7處理器,針對許多演算法也提供50%至75%的效能提升。
Cortex-M55利用Helium微控制器向量延伸指令集(MVE)的首次實作,在DSP的效能達成另一次的顯著提升。 若想取得更高的效能,改用Cortex-A處理器值得考慮。Cortex-A裝置中體型最小的Cortex-A32,提供比Cortex-M4增加200%到400%的效能。
不過,針對這樣複雜的演算法要擠出最大效能,往往非常困難,且必須仰賴專業知識與非常小心的優化。好消息是,有龐大的生態系可作為後盾。
多樣化DSP生態系支援處理器
例如針對上述的Cortex-M處理器,便有CMSIS-DSP程式庫。這個程式庫經過優化,屬於開放原始碼,並可免費取用。設計者可從網站下載並搭配完整配套的原始碼,運用在產品上。而取得原始碼後,可以依據自己的需求量身調整(圖10)。
CMSIS-DSP是相當基本的程式庫,針對DSP函數提供許多常見的實施基礎。如果其未能提供讀者想要的或不夠高階,尚有數量龐大的生態系夥伴與專業軟體,可以支援各種常見的需求,進而容易找到並使用影像處理、感測器融合、馬達控制等功能。而且,該生態系統仍持續朝新領域擴展中。
多樣化DSP生態系支援Neon功能處理器
Cortex-A處理器則提供更高的運算效能。這些額外的效能,多數是透過專門的指令集Neon達成,它是威力強大且多功能的向量處理指令集,擁有專屬的暫存器庫。
Neon獲得Arm Development Studio編譯器的支援,以及其它來源編譯器的支援。此外,還有各種利用Neon實作效果良好的程式庫與解決方案可用,其中多數是開放原始碼且立即可用。
機器學習能力重要性漸趨顯著
最後,便談到機器學習這個越來越重要的領域。目前各界對於這個領域的興趣極高。展現這種興趣最為強烈的,莫過於為那些條件受限的裝置賦予有意義的智慧,也就是人們常在邊緣網路看到的那種裝置。
機器學習解決方案彈性且可擴充
讀者可能會問機器學習的殺手級應用是什麼?但可以很容易地反問這個問題:有哪個應用不會被機器學習影響?今日機器學習在大量場合進行,而Arm也涉入其中的每個層面。超過95%透過人工智慧帶動的裝置,屬於行動、智慧家庭與物聯網市場區塊;其它5%則屬於基礎架構。
從上述資料人們可以推斷,今日AI驅動裝置的出貨量中,有超過九成是使用Arm的架構。
還有,進行機器學習不僅只有一種方法。許多不同的Arm IP組合都可達成同樣的效果,但各有不同的優缺點。若從不斷線(Always-on)、裝置隨時喚醒(Always-aware)到資料中心,這些機器學習架構可以進行擴充,以滿足持續變化的使用場景需求(圖11)。
Ethos-N類神經網路處理器則鎖定行動與消費裝置的機器學習使用場景,而Ethos-U55裝置則瞄準微控制器空間內需要較高能源效率的使用場景。
各種IP支援機器學習應用使用到的不同運算能力組合,範圍從標準的Cortex處理器,到繪圖處理器(GPU),以及專門的類神經網路處理器(NPU)。如此廣泛的選項,對於協助設計人員在智慧需求與成本、耗電量及其它更多限制條件間求取平衡,極為重要。 所有架構都可以在許多不同的異質系統中彼此結合。例如,不斷線功能可以靠小型但高效的處理器達成,並在同樣的實體裝置內搭配威力更強大的處理器與加速器。 這一切都可受惠於範圍廣泛的軟體支援、專用的類神經網路套裝軟體(如開放原始碼的CMSIS-NN神經網路程式庫),以及一些更為通用型的運算函式庫。它們都可無縫橫跨各種基本運算硬體,支援同樣的機器學習API。
智慧視覺帶至多元嵌入系統示例
在此舉出一個把視覺能力帶進多元嵌入裝置系統的例子。如圖12的設計便包括可以提供不斷線能力的Cortex-M處理器,必要時可以搭配可進行重量級處理的Cortex-A處理器,並獲得專屬影像處理、物件偵測與機器學習加速器的支援。不論哪一種IP組合,多數軟體堆疊元件也可取得。在圖12右下方可以看到針對各種安全威脅提供對應的專屬安全性IP,以及提供安全身分管理的Kigen嵌入式SIM次系統。
落實本地思考勢在必為
在本文中已檢視三大關鍵技術,以促成智慧朝條件受限的終端裝置轉移—安全性、數位訊號處理與機器學習。或許未來還可討論功能性安全對各種醫療與汽車應用越來越重要的特性,或者如何將技術範圍輕易從需求最小的單位,擴充到需求最嚴格的系統,以及IP如何讓打造異質系統更加簡單。這些系統結合了高效率及成本效益,以及良好的處理能力,進而融合在相同裝置裡。
因此,「沒有任何雲端可消化這麼多資料」,這話應該是正確的。而且,為了防止該情況發生,人們需要「本地思考」,盡可能善用終端裝置的運算能力。
(本文作者為Arm嵌入式解決方案總監)