- Advertisement -
首頁 標籤 NLP

NLP

- 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

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

時至今日,全球各地,從制定相關決策的政府機關,大型上市公司與夾縫求生存的中小企業,無一不提出數位轉型、扶植新創、組織創意轉型等方向。而此篇文章將試圖探討在現今的技術條件與市場期待心理下,是否能夠因為使用新技術、或者開闢新賽道進行聊天機器人的市場突圍? 聊天機器人無法滿足使用者期待 科技的快速發展來自人追求快速、方便的本性,但人類的想法與思緒十分複雜,因此聊天機器人難以全面滿足使用者的需求。回想日常生活的溝通情境,當人們在日常溝通的時候,除了說出口的字句,對方的肢體動作與眼神有沒有影響到自身的判斷?讀者是否會自行腦補一些情境?尤其跟老闆、同事或下屬進行具目的性的談判對話時,語句之外的線索顯得更重要。 聊天機器人不夠聰明的原因,是它距離人類多模態交互的能力還很遙遠。現今最普遍和流行的生活應用,當屬智慧音箱(如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

NLU成就智慧金融投顧

人工智慧技術已逐漸滲透到金融領域,國內外金融機構紛紛搶占風口。舉例來說,摩根大通和高盛公司均表示要在人工智慧領域進行大規模的投資;中國的四大銀行也分別攜手網路公司,開啟智慧金融的合作。 智慧投顧逐漸崛起,是否導入市場商用化只是時間問題,而關鍵的驅動要素,當然還是技術的突破。由過去我們談到的自然語言處理(NLP),轉換到自然語言理解(NLU),其中的進程不只是數據結構處理的差異,重點還是在目標性的差異。過去的重點是轉換結構來做分析,所謂的自然語言理解則是希望從語意得到理解,而我認為理解語言的內容在投資市場是非常重要的。 金融投顧領域的機器學習時代已經到來,我們必須開始思考,人類能用機器學習預測股價嗎?借由智慧投顧的推進,能否讓自然語言理解(NLU)走得更快些?自然語言理解又如何實現預測股價漲跌?本文將探討NLU在智慧投顧領域應用的全新解讀,並探索NLU在金融領域的創新應用。 機器也能感測情緒 在過去,投資金融產業普遍依賴各式各樣的人工。可能是一個天資聰穎的分析師,每天晨起讀報、蒐集資訊,依照其個人經驗去理解、歸納訊息,進而提出對於產業的看法。這些分析師們的經驗其實難以被流傳、被傳遞。若要幫助分析師解決這個問題,我認為透過人工智慧的幫助來做,就是一個很重要的方式。 我們都知道,人們時常會由於新聞報導恐慌性的買入賣出,到底哪些消息會影響人們買賣股票的意願,其中都是有關聯可循的,但是卻又沒有人可以將其道理整理清晰。因此,「情緒偵測」便是在智慧投顧應用中非常重要的一環。因為消息與人們的情緒反應之間是一個弱關聯,但是透過深度的規則,還是可以幫助我們去挖掘出其中的連結。 在語言建模應用中使用長短記憶模型LSTM)並不是太稀奇的事,相信很多人都已經有使用該模型的經驗,但是如果討論到股市漲跌,就必須進一步考慮股民的情緒反應;必須要知道在新聞出來之後,股民會有什麼感受,而不同的狀況又會對股價有何影響。另一方面,也由於在金融市場時常看到的資料不只是短文章,然而使用LSTM處理長文章是非常痛苦的。因此,目前我們的處理方式是把文章切斷成為短篇,或是分句處理,從其中找出情緒。 在NLP方法中,有很多技巧可以協助我們做到一些簡單的情感識別。當然現在也有許多新方法與新技術,然而不變的是,我們該如何從稀疏的語言表徵裡面找到情緒的關鍵、找到有意義的結果,這才是最重要的。因此,Word Embedded是一個在語言模型當中至關重要的部分(圖1)。另外一部分,我們希望了解這些關鍵是甚麼,並從過去的文本中,找到引發情緒的關鍵要素,了解人們究竟為何恐慌。這時候就會使用到Attention Model,也就是注意力的機制。 圖1 Word Embedded確保LSTM能在稀疏的語言表徵中找到規則。 詞向量?字向量? 另一方面,在語言識別的討論之中,大家最常問的問題還是在於詞向量與字向量的使用選擇。到底該用詞向量模型還是字向量模型,也始終是我們一直遇到的問題。 在一整篇的文章結構裡面,我們必須透過不同層級,其中包含字的層級、詞的層級,去把我們擷取到的特徵作建模。但通常這裡會有一個疑慮,就是要使用字模型好?還是詞模型好? 而語言對於機器來說非常困難,因此要用甚麼方法做其實也沒有正確答案;關於這個大哉問,總是有各式各樣的思考與討論。但我認為,由於英文是基於26個字母的排列組合,因此使用字模型依然不太有效率,因此在英文的語意理解應用中,建議走詞模型。 但如果是中文,我的答案是兩者皆可。在中文語境中,如果我們使用較為常見的詞模型,因為詞本身已經是一個凝聚語意的常見單位,所以能夠讓我們有效率的保持句子語意。但是,也由於中文的最小單位依然是字,因此就算走字模型也不會有OOV(Out of Vovabulary)的問題。詞模型與字模型,皆為中文語意理解適用(圖2)。 圖2 英文建議使用詞模型;中文則詞模型與字模型兩者皆可。 然而,金融投顧是一個很特別的產業,股票市場對於不同產業都必須要有相當深入的觀察,因此在相關新聞報導中,非常容易遇到專業詞彙。當語意理解應用到金融市場中時,不在字典裡的詞將會讓人非常頭痛。這也是我們目前所在努力的方向,希望能夠做出一個有效率的字模型並開放使用,進而推廣中文語意理解的發展。 (本文由尹相志口述,記者程倚華整理)
0
- Advertisement -
- Advertisement -

最新文章

- Advertisement -

熱門文章

- Advertisement -

編輯推薦

- Advertisement -