由於雲端伺服器資源有限,為了滿足更低的延遲性與成本、能源效率和提升隱私性等需求,機器學習(ML)正在轉移到邊緣設備進行運算。將資料發送到雲端處理所需要的時間可能會讓人望而卻步,比如自駕車應用中的行人辨識,而且資料發送到雲端所需的頻寬可能很高,更不用說雲端服務本身的成本了,例如執行語音控制的語音辨識功能。

資料來回發送到伺服器和本地端進行運算處理,這兩者之間在電源使用方面需要權衡。機器學習的運算複雜,如果不能有效率地執行任務,很容易耗盡邊緣設備的電池電力。邊緣運算的好處是能將資料保留在終端設備上,這對使用者隱私方面來說非常重要,例如在智慧型手機上運用語音控制功能撰寫機密性的電子郵件。採用語音AI功能對於邊緣運算的推論來說是一個很好的做法,而一種專門用於機器學習語音處理的新型數位訊號處理器(DSP)可以讓網路邊緣終端設備達到更高的性能並提供新的功能。

隨時語音喚醒功能(Always-on voice wake)是機器學習最早應用在邊緣設備上的實例之一。設備必須先聽到關鍵字「Hey Siri」或「OK Google」,才會啟動其他設備並確定下一步的操作動作。如果透過通用應用程式處理器進行關鍵字偵測,則可能需要超過100mW的電源,一天之內就會耗盡智慧型手機的電池電量。第一批導入此功能的手機嵌入一個內建演算法的小型DSP,該DSP的耗電量小於5mW。如今,這些相同的演算法可以運用在專門的語音和機器學習DSP上,採用此方案的智慧麥克風耗電量不到0.5 mW。

一但邊緣設備進行不間斷的語音機器學習,便能在低功耗的情況下執行除了語音辨識以外的更多功能,包含情境感知(contextual awareness),例如設備設置在擁擠的餐廳或繁忙的街道、環境音樂辨識、超音波室辨識(ultrasonic room recognition),甚至能辨識出附近是否有人在叫喊或大笑。這些類型的功能將產生新的、較複雜的應用,改進邊緣設備的功能,使用者也因此受益。

機器學習推論要達到最佳效能和能源效率,硬體設計上必須廣泛地進行客製化,表1中收集了一些具有影響性的技術,實現這些功能將提高邊緣設備的學習推論效率。

神經網路推論所需的算數運算大多數透過矩陣向量乘法(matrix-vector multiplies),這是因為機器學習模型通常以矩陣形式來表示,應用於以向量表示的新刺激物上,改善邊緣運算的機器學習推論時最常用的技術是提高矩陣向量乘法的效率。融合乘法後,再加入累加的乘積累加運算(MAC)是解決此問題的常用方法。

20190502_DSP_NT01P1 影響開發運用在邊緣設備的AI DS之重要技術。

雖然訓練階段對數值精確度(precision)很敏感,但推論階段可以在精確度較低(例如8位元)的情況下,達到相近的結果。限制精確度可以大大地降低邊緣運算的複雜性,因此,英特爾(Intel)和德州儀器(TI)等處理器公司推出了有限精確度(limited precision)的MACs。德州儀器的TMS320C6745每個週期可執行8次8位元的乘積累加運算。此外,樓氏電子的語音DSP每個週期可處理16次16位元乘積累加運。

訓練和推論階段會增加記憶體子系統的負荷量,通常透過改善支援寬字組(wide word widths)的處理器效能來適應此情況。英特爾最近的高效能處理器搭載進階向量延伸指令集512(AVX-512)指令,應用程式可在512位元向量中,每秒每時脈週期納入32個雙精準度,與64個單精度浮點運算,加上8個64位元與16個32位元整數,最高可達2個512位元融合乘加運算(fused-multiply add / FMA)單元。

德州儀器6745使用64位元匯流排來增加記憶體頻寬。樓氏電子(Knowles)的高階語音處理器使用128位元匯流排,在大晶片面積和高頻寬之間取得了良好的平衡。此外,語音機器學習架構(如RNN或LSTM)通常需要回饋(feedback),如此一來會造成晶片架構的額外需求,因為對於資料的依賴性會嚴重地降低管線式架構(pipelined architecture)的資料處理效率。

儘管傳統的機器學習可以處理原始資料,但語音機器學習演算法通常執行頻譜分析(spectral analysis)和特徵擷取(feature extraction)來提供資料給神經網路。加快傳統訊號處理功能的速度,如FFT、音訊濾波器、三角函數和對數,對於提升能源效率來說是必要的。後續運作通常使用各種非線性向量操作,例如sigmoid implemented as作為雙曲切線(hyperbolic tangent)或整流線性單元(rectified linear unit)(所有負數的絕對值函數都更改為零)。這些複雜的非線性操作在傳統處理器上需要許多週期,而這些功能的單週期指令也能降低機器學習語音DSP的功耗。

總而言之,專門用於機器學習和語音處理的高階處理器能夠以低成本實現即時且不間斷的邊緣運算推論能力,同時保有資料隱私。透過支援指令集的架構決策能在低功耗的情況下保持高效能運算,進而達到每個週期多重操作(multiple operations per cycle)和更寬的記憶體匯流排,維持高效能、低能耗的運算。隨著公司不斷開發創新的邊緣運算技術,機器學習的應用只會持續增加。

(參考原文: Machine Learning on DSPs: Enabling Audio AI at the Edge,by Jim Steele)