人工智能系统研究的9大挑战和4大趋势
摘要:近年來,隨著計算機視覺、語音識別、機器翻譯的技術的發展和商業化,及諸如數字廣告和智能基礎設施等基于機器學習的后臺技術的普遍部署,人工智能已經從實驗室的研究項目變成了實際生產系統不可或缺的關鍵技術。正是因為積累的海量數據、計算能力前所未有的發展高度、機器學習方法的不斷進展、系統軟件和架構的持續創新、及方便這些技術落地的開源項目和云計算平臺,促使了人工智能技術的廣泛應用。
>>>>?
下一代人工智能系統將更廣泛地影響我們的生活,人工智能將會通過與環境交互替人類進行更關鍵的和更加個性化的決策。若想要人工智能發揮更大的作用,我們將面臨諸多極具挑戰性的問題:我們需要人工智能系統可以在各種極端情況下及時做出安全的決策,比如在各種惡意攻擊情況下具備魯棒性,在保證隱私的情況下具備處理跨多組織多個人的共享數據的能力。隨著摩爾定律的終結,存儲和處理數據的能力將受限,這些挑戰也將變得更加難以解決。在這篇文章里,我們將總結在系統領域、體系結構領域、安全領域等方面的具體研究方向。
四大趨勢:
關鍵性任務的人工智能(Mission-critical AI)
個性化人工智能(Personalized AI)
跨多組織機構的人工智能(AI across organizations)
后摩爾定律時期的人工智能(AI demands outpacing the Moore's Law
九大挑戰:
持續學習(Continual learning)
魯棒決策(Robust decisions)
可解讀的決策(Explainable decisions)
安全飛地(Secure enclaves)
對抗學習(Adversarial learning)
在保密數據上的共享學習(Shared learning on confidential data)
特定領域定制的硬件(Domain specific hardware)
組件化的AI系統(Composable AI systems)
跨云端和邊緣的系統(Cloud-edge systems)
自二十世紀60年代最初提出模擬人類智能的構想以來,人工智能已經成為一種被廣泛應用的工程技術,它利用算法和數據可以解決包括模式識別、學習、決策等多種問題,被工程和科學中越來越多的學科所使用,同時也需要其他多種學科的研究所支持,成為計算領域一門交叉學科技術。
計算機系統近年來推動了人工智能技術的發展,并行計算設備[31, 58, 90]和高擴展性軟件系統[32, 46, 114]的進步促進了機器學習框架[14, 31, 98]和算法[18, 56, 62, 91]的發展,使人工智能可以處理真實世界的大規模問題;存儲設備、眾包、移動APP、物聯網、數據采集成本的迅速降低[1, 40, 80]促使了數據處理系統和人工智能技術的進一步發展[87]。在很多實際任務中,人工智能已經接近甚至超過了人類,成熟的人工智能技術不僅大大提高了網絡搜索和電子商務等主流產品的服務質量,也促進了物聯網、增強現實、生物技術、自動駕駛汽車等新興產業的發展。
許多應用需要人工智能系統與現實世界的交互來進行決策,例如無人駕駛飛機、機器人手術、醫療診斷治療、虛擬助手等。由于現實世界是不斷變化的,有時甚至是意料之外的變化,這些應用需要持續(continual learning)學習、終身學習(life-long learning)[96, 109]和永動學習(never-ending learning)[76]。終身學習通過高效地轉化和利用已經學過的知識來完成新的任務,并且要最大程度降低突發性遺忘帶來的問題[71]。永動學習每次迭代處理一個任務集合,隨著這個任務集合的不斷變大,處理結果的質量每次迭代后越來越好。
為了滿足以上這些需求,我們要面臨諸多艱巨的挑戰,比如如何主動探索不斷動態變化的環境、如何在惡意攻擊和噪音輸入情況下做出安全穩定的決策、如何提高決策的可解讀能力、如何設計模塊化架構以簡化應用系統構建等。另外,由于摩爾定律的終結,我們也不能寄希望于計算和存儲能力的增強來解決這些下一代人工智能系統的問題。
解決這些難題需要體系結構、軟件和算法的協同創新。這篇文章并不是解決人工智能算法和技術上的某些特定問題,而是分析系統方面的研究對人工智能技術發展的重要性,提出若干有意義的系統方面的研究方向。
人工智能在過去二十年飛速發展的原因歸結于三點:1)大數據,2)高擴展性的計算機和軟件系統,3)開源軟件(Spark、TensorFlow、MXNet、Caffe、PyTorch、BigDL)及公有云服務(Amazon AWS、Google Cloud、MS Azure)的興起和流行,這使研究人員可以很容易的租用GPU服務器或者FPGA服務器來驗證他們的算法。
雖然人工智能已經應用到了眾多應用領域,但是人類希望在更多領域發揮人工智能的作用,包括健康醫療、交通運輸、工業制造、國防、娛樂、能源、農業、銷售業等等領域。大規模系統和機器學習框架已經幫助人工智能取得了一定程度的成功,我們期待計算機系統能夠可以更進一步地促進人工智能的發展。我們需要考慮如下幾個人工智能發展的趨勢來應對挑戰。
3.1?? ?關鍵性任務的人工智能(Mission-critical AI)
從銀行交易到自動駕駛,再到機器人手術和家居自動化,人工智能開始涉及到一些關鍵性任務,這些應用往往與人們的生命安全息息相關。如果人工智能要在動態變化的環境中部署,人工智能系統必須能夠不斷地適應新環境并且學習新技能。例如,自動駕駛汽車應該快速適應各種無法預料的危險路況(如事故或冰面道路),這可以通過觀察其它汽車處理這些危險的行為進行實時學習;還有基于人工智能的入侵檢測系統必須在入侵行為發生后立刻迅速地檢測到新的攻擊行為。另外,這些關鍵性任務也必須能夠處理各種噪聲數據及防范各種惡意的人為攻擊。
挑戰:通過與動態變化的環境不斷交互,設計可以不斷學習和自適應的人工智能系統,使其可以做出及時、穩定、安全的決策。
3.2?? ?個性化人工智能(Personalized AI)
從虛擬助理到自動駕駛和政治競選,考慮用戶行為(如虛擬助理要學習用戶的口音)和用戶偏好(如自動駕駛系統要學習用戶的駕駛習慣和偏好)的個性化決策越來越重要。這就需要采集大量敏感的用戶個人信息,對這些敏感信息的濫用有可能會反過來泄漏用戶的隱私。
挑戰:設計支持個性化服務的系統,同時要保護用戶的隱私和保證用戶的安全。
3.3?? ?跨多組織機構的人工智能(AI across organizations)
各大公司利用第三方數據來提升他們自己的人工智能服務的質量[27],許多醫院開始共享他們的數據來防止疫情暴發,金融機構也會共享他們的數據來提升各自的欺詐檢測能力。以前是一個公司利用自己業務收集的數據進行處理分析并提供服務,而未來將是多個公司共享數據來提供服務,這種趨勢將導致數據壟斷到數據生態系統的變革。
挑戰:設計多組織機構數據的共享機制,支持跨多組織機構的人工智能系統,同時要保障各組織機構自己數據的保密性,甚至是共享給競爭對手的數據也要保證數據的隱私信息不被泄露。
3.4?? ?后摩爾定律時期的人工智能(AI demands outpacing the Moore’s Law)
處理和存儲大數據的能力是近年來人工智能成功的關鍵因素,然而匹配人工智能進步需求的大數據處理能力將變得越來越困難,主要有以下兩點原因:
第一,數據量持續以指數級規模增長。2015年思科白皮書[25]聲稱,萬物網(Internetof Everything)設備采集的數據量到2018年將達到400ZB,幾乎是2015年估計數據量的50倍;近期研究[100]預測,到2025年,為了處理人類基因組,我們需要計算機處理能力有3到4個數量級的增長,這就需要計算機處理能力每年至少以2倍的速度增長。
第二,相對于數據爆炸,計算硬件設備處理能力的增長遇到了瓶頸[53]。DRAM內存和磁盤容量預計在未來十年才能翻倍,而CPU性能預計在未來二十年才能翻倍,這種不匹配的增長速度意味著,在未來,存儲和處理大數據將變得異常困難。
挑戰:開發針對特定用途(domain-specific)的架構和軟件系統,以適應后摩爾定律時期人工智能應用的需要,這包括針對特定人工智能應用的定制芯片、以提高數據處理效率為目的的邊緣-云聯合計算系統(edge-cloud systems)、以及數據抽象技術和數據采樣技術。
這一部分討論如何利用系統、安全、體系結構領域的創新成果來解決之前提出的若干挑戰和問題。我們總結了9個研究方向,可以分類為三大主題,包括:動態環境下的處理技術、安全的人工智能、人工智能定制的體系結構。下圖總結了人工智能的4大趨勢和9大研究方向的關聯關系。
4.1?? ?動態環境下的處理技術(Acting in dynamic environments)
相對于目前主流的針對靜態數據進行學習,未來的人工智能應用將會在動態性更強的環境下進行,這種動態性體現為突發性、不可預期性、不可重復性等方面。例如,一隊機器人負責維護一座辦公樓的安全,當其中一個機器人壞掉或者一個新機器人加入后,其它機器人能夠統一地更新各自的巡邏路徑、巡邏目的、協同控制機制。或者由于某機器人自己的異常行為(比如被惡意控制)或者外部環境變化(比如電梯失靈)導致的環境突發性變化,所有機器人必須要重新迅速調整自己的策略。這就要求人工智能系統即使沒有相關處理經驗情況下也能快速響應的能力。
研究課題1:持續學習(Continuallearning)。目前許多人工智能系統,包括電影推薦、圖片識別、自動翻譯等,都是通過離線訓練和在線預測完成的。也就是說,這些任務不是基于動態數據的持續學習來完成的,而是通過對某個時間段的靜態數據進行定期學習來完成的,利用定期學習得到的模型來預測未來。通常這種定期學習每一天進行一次,通過學習前一天的數據來更新模型,最好的情況也是每小時進行一次,但是預測和決策是需要每分每秒都發生的,定期學習有可能是利用過時的數據學習,這就導致了定期學習無法適應持續動態變化的環境,特別是對于關鍵性任務定期學習就會更加危險了。甚至于某些任務需要人工智能能夠持續地學習和適應異步的變化,這就使持續學習變得更加困難了。
適應動態環境的學習在某些方面可以應用在線學習(online learning)[17]解決,在線學習基于隨時到來的數據更新模型,但是傳統在線學習只能簡單地應對數據的變化,不能應對環境變化(比如機器人的例子),另外傳統在線學習需要對它的動作及時進行收益打分反饋以更新自己的模型,不能適應反饋延遲的復雜情況(比如下棋時的收益反饋只能在整局棋結束才知道,即輸或者贏)。
這些情況可以利用增強學習(Reinforcementlearninig)來解決,增強學習的核心任務是學習一個策略函數,它以最大化某長遠收益為目標,建立一個觀察值到輸出行為的映射關系。比如在自動駕駛中以避免碰撞為目標,建立一個汽車攝像頭拍攝的圖像到減速動作的映射,或者在推薦系統中以增加銷售量為目標,建立一個用戶訪問網頁請求到顯示某廣告動作的映射。增強學習算法根據用戶動作對環境的影響變化來更新模型策略,如果由于環境的變化又導致了收益的變化,它也會相應地更新模型策略。增強學習其實在某些領域已經取得了很大的成功,包括在十五子棋[108]、學習行走[105]、基本運動技能的學習[86]等領域都可以達到很好的效果。但是,它需要對每一個應用進行有針對性的調整。近期將深度神經網絡和增強學習結合的方法(深度增強學習?Deep RL)可以達到更加穩定學習效果并適用于不同應用領域,包括近期Google的AlphaGo [95],另外在醫療診斷[104]和資源管理[33]等方面都取得了成功。
支持增強學習的系統(Systems forRL):現在許多增強學習應用依賴于模擬現實世界的反饋來解決復雜任務,通常需要萬億次的模擬來搜索可行解空間,例如在智能游戲中嘗試不同變種的游戲設置,或者在機器人模擬中試驗不同的控制策略。每次模擬嘗試可能僅需要幾毫秒,但是每次模擬需要的時間極不穩定,比如可能僅需要走幾步棋就輸了,也可能需要走幾百步棋贏了。現實世界部署增強學習系統需要處理來自眾多不同接收器觀察到的環境變化數據,對應不同接收器的處理任務在處理時間、計算量、資源需求方面可能有很大不同,系統也要具有在固定時間內處理這些異構任務的能力。比如大規模集群系統要能夠在一秒鐘內完成上百萬次的模擬,而現有的系統還遠不能達到這個需求,流行的數據并行系統[59,79,114]每秒僅能處理幾萬或幾千次的模擬,而高性能計算系統和分布式深度學習系統[2,23,82]并不能處理異構的任務,所以我們需要新的支持高效增強學習應用的系統出現。
模擬現實(Simulatedreality, SR):與外部環境交互的能力是增強學習成功的關鍵,然而與現實世界的環境交互可能很久才能得到反饋(甚至幾十秒幾百秒),另外與現實世界環境的交互也可能會造成不可逆的物理傷害,而我們往往需要上百萬次的交互才能學到一個比較好的策略模型,這就使與現實世界的交互變得不太可行。有一些算法可以減少與現實世界交互的次數[99,111,112],更通用的方法是利用模擬現實,這樣就可以在真正做出交互動作之前,利用模擬現實環境不斷進行模擬和預測,執行收益最高代價最小的動作。
模擬現實使學習不但更快而且更安全,想象一個機器人在打掃房間,突然發現一個以前從沒見過的新手機,如果機器人在真實世界中進行一系列的嘗試來學習如果抓起這個手機的話,它可能需要很長時間的嘗試,也可能由于一次用力過猛的嘗試直接捏碎手機。而如果機器人能夠提取手機的形狀信息,并在虛擬現實環境中嘗試不同的動作,學習到手機的硬度、質地、重量等信息,然后在真實環境中使用一個合理的姿勢和力度抓起手機,就可以避免手機被搞壞了。
模擬現實不同于虛擬現實(virtualreality, VR),虛擬現實是模擬一個假想的環境(例如《我的世界》這個游戲,玩家可以在一個隨機生成的3D世界內,以帶材質貼圖的立方體為基礎進行游戲)或者是利用過去的真實世界場景(例如飛行模擬器),而模擬現實是模擬人工智能實體正在交互的那個真實環境。模擬現實也不同于增強現實(augmented reality, AR),增強現實是在真實世界場景中加入虛擬物體。
模擬現實系統最大的挑戰是,為了模擬不斷變化的真實世界環境,需要不斷更新模擬器的參數,同時,要在做出一個動作之前執行很多次的模擬嘗試。因為學習算法與真實世界交互,它可以獲得很多知識來提高模擬準確度,在每次與真實環境交互后都要更新模擬器參數,并在做下一個動作之前完成很多很多次類似“如果這么做結果會怎樣”的嘗試,所以模擬嘗試一定要很快很快。
研究內容:(1)構建支持增強學習的系統,它需要充分利用并行能力,支持動態任務圖(dynamic task graphs),達到毫秒級的反應速度,并且能夠在異構硬件環境中保持反應速度;(2)構建模擬現實系統,可以完全模擬(動態變化的,不可預期的)真實世界環境,并且需要實時的反應速度。
研究課題2:魯棒決策(Robustdecisions)。人工智能替人類做出決策,特別是在關鍵性任務上,它應該能夠在獲得各種不確定的或者是錯誤的輸入和反饋時,能夠做出具有魯棒性的決策。在統計和機器學習領域,防噪聲干擾和魯棒學習是一個核心問題,增加系統層面的支持將會顯著提升傳統方法的性能。例如構建可以追蹤數據來源的系統,對輸出不穩定的數據源特殊照顧,避免不確定性帶來的影響,我們也可以利用從其它數據源獲得的信息來幫助構建基于每個數據源的噪音模型(例如發現遮擋的攝像頭),這些能力要求數據存儲系統具有對數據源檢查和噪音建模的能力。有兩種魯棒性對于人工智能系統尤為重要:(1)在噪音輸入的情況下和惡意虛假反饋情況下的魯棒學習能力;(2)在存在意外輸入(unforeseen inputs)和對抗輸入(adversarial inputs,對抗輸入是扮演攻擊角色,試圖用來引發模型出錯的機器學習模型的輸入)的情況下的魯棒決策能力。
學習系統使用從不可靠的數據源獲得的數據,這些數據可能是打了不正確的標簽,有些時候可能是故意的。例如微軟的Tay聊天機器人就過于依賴與人類的交流來提高對話能力了,當被放在Twitter上與人交流一段時間后,Tay就學壞了[16]?。(在Tay推出一天之后,因為Tay開始有一些種族歧視之類的偏激言論,因此微軟暫時關閉了Tay的Twitter賬號,這些言論明顯的是和網絡上一些有偏激言論的人互動后,被刻意教導而出現的)
除了處理噪聲數據,另外一個研究問題是應對與訓練數據分布完全不同的輸入,我們希望系統能夠判斷出這些反常數據并做出安全的反應動作,比如在自動駕駛中的安全動作就是減速停車,或者是如果有人在旁邊的話,系統能夠把控制權交給人類。最好是設計一個模型可以明確拒絕對其不確信的輸入進行反應,或者是執行一個默認安全的動作,這樣可以大大降低計算開銷并且執行準確可靠的動作。
研究內容:(1)構建具有精確追蹤數據來源能力的人工智能系統,可以將收益變化與每個數據來源進行聯系,能夠自動學習基于每個數據源的噪音模型;(2)設計可以指定決策置信區間的編程接口和語言,允許用戶根據實際應用的安全程度需要指定置信區間,并且能夠標識反常的數據輸入。
研究課題3:可解讀的決策(Explainabledecisions)。除了黑盒預測和決策,人工智能系統往往需要向人類解釋他們的決策,這往往在一些監管性的任務,還有安全和醫療等需要負法律責任的應用上尤為重要。這里的可解讀性并不是可理解性(interpretable),可理解性只是強調人工智能算法的輸出對于某領域的專家是可以理解的,而可解讀性的意思是能夠指出輸入數據的那些屬性導致了這個輸出結果,并且能夠回答反事實問題(counterfactual questions,雖然沒有實際發生,但是假設發生了會怎樣)或者回答“如果XX會怎樣?”的問題。例如在醫療診斷中,我想要知道X射線檢查出來某個器官的哪些指標(如大小、顏色、位置、形式)導致了這個診斷結果,如果那些指標稍微變化一點的話結果會有什么樣的變化,或者是我想知道是否有其他指標組合也會導致同樣的診斷,哪些指標組合最有可能導致這個診斷。我們不僅想要解釋這個輸出結果,還要知道哪些其他的輸入也會導致這個結果,這種因果推斷(causal inference)是未來許多人工智能任務的必備功能。
實際上,支持決策可解讀性的關鍵一點是,記錄和重現導致某一決策結果的計算過程的能力,這就需要系統層面的支持,系統根據過去導致某決策輸出的輸入數據可以重現計算,或者根據隨機的或者對抗性的輸入,或者根據反事實的輸入,如果系統能夠具有這些根據不同輸入重現計算的能力,就可以幫助人工智能系統分析輸入和輸出的因果關系,提高決策的可解讀能力。例如基于視頻的安全警報系統,它想要找出什么原因導致了一個錯誤警報,可以通過擾動輸入視頻數據(比如遮擋視頻圖像的某些區域),或者是通過用近期相似的歷史數據來嘗試,看這些嘗試是否會導致同樣的錯誤警報,或者是看對警報發生概率的影響。這樣的系統支持也能幫助提高新模型的統計判斷能力和訓練測試效果,例如設計一些有解讀能力的新模型。
研究內容:構建具有交互診斷分析能力的AI系統,它可以完全重現執行過程,并可以幫助分析那些對結果起關鍵作用的輸入,這可以是通過嘗試各種擾動的輸入來嘗試重現決策結果,甚至是使系統具有因果推斷能力。
4.2?? ?安全的人工智能(Secure AI)
安全是個廣泛的課題,人工智能應用普及和發展的關鍵往往都是安全相關的問題。例如,執行關鍵性任務的人工智能應用,個性化學習,跨組織結構的學習,這些都需要系統具有很強的安全性。安全問題的涉及面很廣,我們這里只關注兩大類安全問題。第一類是攻擊者影響決策的正確性:攻擊者可以通過破壞和控制AI系統本身,或者通過特意改變輸入來使系統不知不覺地做出攻擊者想要的決定。第二類是攻擊者獲取AI系統訓練的保密數據,或者破解加密模型。接下來,我們討論三個有前途的研究方向來抵御這種攻擊。
研究課題4:安全飛地(Secureenclaves)。(飛地:某國家擁有一塊與本國主體分離開來的領土,該領土被其他國家包圍,則該領土被稱為飛地。比如在西德與東德尚未合并前,原本柏林境內屬于美英法占領區所合并的西柏林市,四周皆被蘇聯控制的東德領土包圍,是最出名的一塊飛地)公共云的迅速崛起以及軟件棧的復雜性日益增加,AI應用程序受到攻擊的風險大大增加。二十年前,大多數應用程序都運行在商業操作系統(如Windows或SunOS)之上,位于企業防火墻后部署的單個服務器上。今天,各企業公司可能在公共云上的分布式服務器上運行AI應用程序,這些租用的服務器是他們無法控制的,很可能與其競爭對手共享的一個復雜的軟件棧,操作系統本身運行在虛擬機管理程序之上或在容器內。而且這些應用程序直接或間接地共享著其他系統,如日志攝取系統,存儲系統和數據處理框架。如果這些軟件組件中的任何一個受到危害,AI應用程序本身可能會受到影響。
處理這些攻擊的一般方法是提供一個“安全飛地”抽象,就是一個安全的硬件執行環境,它保護飛地內運行的應用程序免受在飛地外運行的惡意代碼的影響。最近的例子是英特爾的軟件防護擴展(SGX)[5],它提供了一個硬件隔離的執行環境。SGX內部的代碼可以根據輸入數據進行計算,即使是受損的操作系統或管理程序(在飛地之外運行)也無法看到這些代碼或數據。SGX還提供了遠程認證[6],一個協議使遠程客戶端能夠驗證該飛地是否正在運行預期的代碼。ARM的TrustZone是另一個硬件飛地的例子。另一方面,云服務提供商開始提供物理保護的特殊裸機實例,它們部署在安全的“保險柜”中,只有授權人員通過指紋或虹膜掃描進行身份驗證才有權訪問。
一般來說,使用任何飛地技術,應用程序開發人員必須信任飛地內運行的所有軟件。而事實上,即使在硬件飛地里,如果在飛地內運行的代碼受到入侵,也可能泄露解密的數據或影響決策。由于小型代碼庫通常更容易保護,所以一個研究的方向是將AI系統的代碼拆分成在飛地內運行的代碼,并且讓其盡可能少,然后在不可信環境下通過利用密碼技術運行另一部分代碼。另一種確保飛地內的代碼不會泄露敏感信息的方法是開發靜態和動態驗證工具以及沙盒方法(sandboxing)[9,12,93]。
請注意,除了最小化可信計算區域之外,分割應用程序代碼還有兩個額外好處:增加功能性和降低成本。首先,某些功能可能在飛地內不可用,例如用于運行深度學習(DL)算法的GPU處理,或未經審查/移植以在安全飛地內運行的服務和應用程序。其次,由云提供商提供的安全實例可能比常規實例貴得多。
研究內容:建立利用安全飛地的AI系統,以確保數據的保密性、用戶隱私和決策正確性,將AI系統的代碼拆分為在飛地內運行的最小代碼庫和在飛地外運行的代碼,保證該飛地不泄露信息和不損害決策的正確性。
研究課題5:對抗學習(Adversariallearning)。機器學習算法的自適應特性使學習系統面臨新型的攻擊,比如通過惡意地改變訓練數據或決策輸入來影響決策的正確性。有兩種廣泛的攻擊類型:閃避攻擊(evasion attacks)和藥餌攻擊(data poisoning attacks)。
閃避攻擊發生在推理階段,攻擊者試圖制作被學習系統錯誤分類的數據[47,103]。比如略微改變一個停車標志的形象,雖然人類仍然認為它是一個停車標志,但自動駕駛汽車可能視為一個避讓標志。
藥餌攻擊發生在訓練階段,對手將藥餌數據(例如,具有錯誤標簽的數據)注入訓練數據集中,導致學習系統學習錯誤的模型,從而使攻擊者具有了導致學習器錯誤分類的輸入數據?[73,74,113]。如果用于再訓練的弱標記數據是從不可信或不可靠的來源收集的,定期進行再訓練的學習系統特別容易受到這種攻擊。隨著新的AI系統不斷地與動態環境交互來學習,處理藥餌攻擊變得越來越重要。
現在還沒有什么有效的解決方案來防范閃避攻擊,所以有一些研究挑戰:解釋為什么對抗攻擊往往容易發現,發現可以有效地防御攻擊者的方法,評估防御措施的防御能力。對于藥餌攻擊,研究挑戰包括如何檢測藥餌輸入數據,以及如何建立適應不同類型藥餌攻擊的學習系統。另外,因為數據來源被認定為具有欺詐性或因監管原因被明確撤回的數據源,我們可以利用重現技術(參見研究課題3:可解讀的決策)和增量計算來有效地消除這些來源對學習模型的影響。正如前面所指出的,這種能力是通過在數據存儲系統中將建模與數據來源和有效計算結合起來實現的。
研究內容:構建具有對抗學習能力的AI系統,在訓練和預測期間,通過設計新的機器學習模型和網絡體系結構追蹤欺詐數據源,在去掉欺詐數據源后重現或重做計算以獲取新的正確的決策。
研究課題6:在保密數據上的共享學習(Sharedlearning on confidential data)。如今,每家公司通常都會收集數據,分析數據,并使用這些數據來實現新的功能和產品。然而,并不是所有的企業都擁有像Google,Facebook,微軟和亞馬遜這樣的大型AI公司所擁有的大量數據。展望未來,我們期待越來越多的公司會收集有價值的數據,會出現更多的第三方數據服務公司,并從多個公司組織的數據中獲取更多的好處(參見第3節)。
事實上,根據我們與工業界的合作經歷,我們發現這種情況越來越多。一家大銀行為我們提供了一個場景,他們和其他銀行希望將他們的數據匯集在一起,并使用共享的學習來改進他們的合作欺詐檢測算法。雖然這些銀行在金融服務方面是競爭對手,但這種“合作”對于減少由于欺詐活動而造成的損失對他們來說至關重要。另外,一個非常大的醫療保健提供商描述了一個類似的情景,其中有競爭關系的多家醫院希望共享數據來訓練一個預測流感暴發的共享模型,但是分享的數據不能用作其他目的。這將使他們能夠提高對流行病的反應速度并控制疾病暴發,在關鍵地點迅速部署流動疫苗接種車。同時,每家醫院都要保護自己醫院數據中病人的隱私信息。
共享學習的關鍵挑戰是如何利用屬于不同(可能是競爭關系的)組織的數據學習模型,但同時不會在訓練過程中泄漏這些數據的隱私信息。一種可能的解決方案是將所有數據集中在硬件飛地上學習這個模型,但是因為硬件飛地還沒有被廣泛部署,在某些情況下,由于監管約束或者數據量太大,數據無法復制到硬件飛地上。
另一個比較有前途的方法是使用安全多方計算(MPC)[13,45,70]。MPC允許n方(每方都有私人輸入)計算輸入的聯合功能,而沒有任何一方知道其他方的輸入。但是,雖然MPC對于簡單的計算是有效的,但是對于復雜的計算,比如模型訓練來說,它有一個非常大的開銷。一個有趣的研究方向是研究如何將模型訓練分成(1)局部計算和(2)MPC計算,這樣我們就可以最小化MPC的計算復雜度。
雖然在不影響數據保密的情況下訓練模型是實現共享學習的重要一步,但是還有其他問題。模型服務,即基于模型的推斷,仍然可能泄露數據的隱私信息[42,94]。應對這一挑戰的一個方法是使用差分隱私(differential privacy)技術[36,37,39],這是一種在統計數據庫中的流行技術。差分隱私為每個查詢增加了噪聲,以保護數據隱私[35]。差分隱私的一個核心概念是隱私預算(privacy budgets),該隱私預算限制了提供隱私保證的查詢數量。
在將差分隱私應用于模型服務時,有三個有趣的研究方向:首先,利用模型和預測的固有統計特性,應用差分隱私處理復雜模型和推理;其次,盡管理論研究很多,但目前實際應用的差異性隱私系統很少,一個重要的研究方向是構建工具和系統,以便為實際的應用程序提供差分隱私的保護能力,包括智能地選擇哪個隱私機制用于給定的應用程序,并自動將非差分隱私計算轉換為差分隱私計算;最后,在持續學習中數據隱私是時間相關的,即新數據的隱私遠比舊數據的隱私更重要。例如股票市場和在線投標,新數據的隱私是最重要的,而歷史數據是不重要的甚至有時是公開的,可以開發具有自適應隱私預算的差分隱私系統,只為最新的數據的進行差分隱私保護,另一個研究方向是在數據公開后進一步發展差分隱私[21,38 ]。
即使我們能夠在訓練和決策過程中保護數據隱私,但是這還不夠。事實上,即使數據隱私得到保證,組織和公司也可能拒絕分享其數據,因為這些數據可能改進競爭對手的服務質量。因此,我們需要研究激勵機制以鼓勵組織和公司共享其數據或其數據的副產品。具體而言,我們需要制定一些方法,讓這些組織相信通過共享數據可以得到比不共享數據更好的服務(即更好的決策)。這就要求確定某個組織提供的數據的質量,這個問題可以通過排除法來解決,不論組織的數據是否包含在訓練集中,都可以比較其性能,然后提供與組織提供的數據質量成反比的噪聲來破壞決策,這可以激勵組織提供更高質量的數據。總體而言,這種激勵機制需要置于機制設計的框架內,以便組織機構制定個人數據共享策略。
研究內容:構建具有如下兩個功能的人工智能系統(1)可以跨多個數據源進行學習,而不會在訓練或決策期間泄漏數據的隱私信息;(2)提供激勵策略,以促使潛在競爭組織共享其數據。
4.3?? ?AI定制的體系結構(AI-speci!carchitectures)
對AI的需求將會帶來系統和硬件架構的雙重革新。這些新式架構既可以提升性能,同時也會通過提供易于組合的豐富的模塊化庫來簡化下一代AI應用的開發。
研究課題7:特定領域定制的硬件(Domainspecific hardware)。處理和存儲巨量的數據的能力是AI成功的關鍵因素之一(見2.1節),但是維持這種處理存儲能力增長的速度將會越來越具有挑戰性。正如第3部分所說,數據持續仍然呈指數級地增長,但40多年來支撐計算機工業發展的性能、成本、能耗方面的改進速度將放緩:
摩爾定律的終結導致晶體管不會變得太小,
登納德縮放定律(Dennardscaling)的失效使得電能限制了芯片的承載規模,
我們已經從一個低效的處理器/芯片過渡到了一個芯片裝載多個高效處理器,但是阿姆達爾定律(Amdahl’s Law)說明了并行處理的極限.
設計專用領域的處理器是保持處理器消耗能源帶來性能上提升的方法之一。這些處理器只會做少量的特定任務但是會將它們做到極致。因此摩爾定律下的處理器性能的快速提升一定是基于計算機架構的革新而不是半導體工藝的改進。未來的服務將會涉及到比過去更加多元化的處理器。一個具有開拓性的專用領域處理器的例子就是谷歌的張量處理單元(Tensor Processing Unit, TPU),它在2015被部署在谷歌的數據中心并由數十億人使用。相較于同期的CPU和GPU,它將深度神經網絡的前饋階段的執行速度提升了15到30倍,而且每瓦特的性能也提升了30到80倍。此外,微軟已宣布在他的Azure云平臺上部署了FPGA[88]。一系列的包括英特爾、IBM以及一些例如Cerebras和Graphcore這種初創公司在內的公司都在開發針對AI的特殊硬件,這會保持超越當前主流處理器的巨大性能提升的規律[19,48,54,78]。
考慮到DRAM也顯露出了同樣的極限,人們正在開發一些新奇的技術成為它的繼任者。來自英特爾和鎂光的3D XPoint旨在保持類DRAM訪存性能的基礎上提供10倍的存儲能力。STTMRAM想要發展有類似于DRAM的擴展限制的閃存技術。因此云端可能會有更多級的存儲和記憶能力,包含更廣泛的技術。有了這些越來越多樣化的處理、記憶和存儲的設備之后,如何讓服務匹配到硬件資源便成為一個挑戰性更大的難題。相比于包括一個機柜頂部交換機和數十臺服務器每個配備兩個CPU、1TB的DRAM和4TB的閃存的經典標準機架設計,這些快速的變化要求我們建設更加靈活的云計算平臺。
例如,UCBerkeley Firebox項目[41]提出了一種多機架的超級計算機,它可以通過光纖將數以千計的處理器芯片與DRAM芯片和非易失性的存儲介質鏈接起來,提供低延時、高帶寬和長距離的傳輸能力。像這樣的硬件系統可以支撐系統軟件基于恰當比例和類型的專用領域的處理器、DRAM和NVRAM來提供計算服務。這種大規模分離式的資源可以極大提升愈加多樣化的任務到與之匹配的多樣化資源的分配。這對AI的工作負載十分有價值,它可以從大規模存儲中獲得顯著的性能提升,并且適合應對多樣化的資源需求。
除了性能提升之外,新的硬件架構也會帶來其他額外功能,例如對安全的支持。盡管英特爾的SGX和ARM的TrustZone正在涉足硬件安全環境,但在它們可以完全應用于AI應用之前還有很多工作要做。特別是現存的安全環境顯示出包括定址存儲在內的多種資源極限,它們僅是服務于一般目的的CPU。打破這種限制,提供這些包括GPU和TPU在內的專用處理器之上的通用硬件抽象便是未來的研究方向。此外,像RISC-V的開放指令集處理器代表著一種令人激動的開發新安全特性的大環境趨勢。
研究內容:(1)設計專用領域的硬件架構來以數量級為單位提升性能降低AI應用消耗的能源,或者加強這些應用的安全性。(2)設計AI軟件系統,利用這些專用領域的架構、資源分離式的結構和未來的非易失性存儲技術。
研究課題8:組件化的AI系統(Composable AI systems)。模塊化和組件化技術在軟件系統快速更新中扮演著重要的角色,他們使開發人員能夠基于現有組件快速構建產生新的系統。這樣的例子包括微內核操作系統,LAMP棧,微服務架構和網絡。與此相反的是,現有的AI系統則是一整塊的,這便導致系統很難開發測試和更新。
與此類似,模塊化和組件化將會成為提升AI系統開發速度和應用度的關鍵,這會使在復雜系統中集成AI更加地容易。接下來,我們探討幾個關于模型和動作組合的研究問題。
模型組合(modelcomposition)對于開發更加復雜強大的AI系統至關重要。在一個模型服務系統中組合多種模型并以不同模式應用它們可以取得決策精度、延遲和吞吐量之間的折中效果。例如,我們可以序列化的查詢模型,每一個模型可以反饋一個高準確度的決策或者說“我不知道”,然后決策會被傳遞到下一個模型。按照從最高到最低的“我不知道”比率和從最低到最高的延遲度來對模型加以排序,我們就可以同時優化延遲度和精確度了。
要想充分應用模型組合,仍然有很多難題亟待解決。例如(1)需要設計一種聲明式語言(declarative language)來描述這些組件之間的拓撲結構和應用的性能目標,(2)為每個組件提供包括資源需求量、延時和產能在內的精確的性能模型,(3)通過調度和優化算法來計算出這些組件執行的計劃,以及以最低消耗將組件匹配到相應的資源上來滿足延時和吞吐量要求。
動作組合(actioncomposition)是將基本的決策/動作序列組織成低級原語,也稱為選項(options)。例如對于無人駕駛汽車,某一個選項可以是當在高速公路上行駛時變更車道,執行的動作包括了加速減速,左右轉向,打開轉向燈等。對于機器人,某一個原語可以是抓取物體,執行的工作包括轉動機器人的關節。選項已經在層級學習中被廣泛的研究[30,34,84,97,102,110],它可以通過讓代理選擇一系列既存的選項來完成給定的任務而不是從更長的低級動作列表中選擇,以此來極大地加速對新環境的學習或適應性。
豐富的選項庫會使得新AI應用的開發就像當前的web開發人員通過調用強大的web接口以幾行代碼開發出應用一樣,通過簡單的組合恰當的選項來實現。另外,選項可以提升響應能力,因為基于選項來選擇下一個動作要比在原始動作空間中選擇一個動作簡單得多。
研究內容:設計AI系統和接口,使得模型和動作以一種模塊化和靈活的方式進行組合,同時應用這些接口來開發豐富的模型和選項庫以此極大簡化AI應用的開發。
研究課題9:跨云端和邊緣的系統(Cloud-edgesystems)。當今很多AI應用例如語音識別、自然語言翻譯是部署在云上的。接下來我們預計跨邊緣設備和云端的AI系統將快速增加。一方面,將當前僅在云上部署的AI系統例如用戶推薦系統,遷移他們的部分功能到邊緣設備上,這樣可以提高安全性、保護隱私和降低時延(包括解決無法連接網絡的問題)。另一方面,當前部署在邊緣設備上的AI系統例如自動駕駛汽車、無人機和家用機器人都需要與云端共享數據且利用云端的計算資源來更新模型和策略[6]。
然而由于多種原因,要開發跨云和邊緣的系統富有挑戰。首先,邊緣設備和云端數據中心服務器之間的計算能力相差很大。未來這種差距會更大,因為包括智能手機和輸入板在內的邊緣設備相較于數據中心的服務器有嚴格的電量和體積大小的極限。第二,各邊緣設備之間在計算資源和能力上存在異構性,從低級的ARM或支持物聯網設備的RISC-V CPU到自動駕駛汽車和軟件平臺的高性能GPU。這種異構性導致應用開發的難度加大。第三,邊緣設備的硬件和軟件更新周期要遠遠慢于數據中心。第四,隨著存儲能力提升速度的放緩而數據產生速度的持續加快,再去存儲這些海量數據可能不再可行或者變得低效。
有兩種方法可以解決云和邊緣設備的融合。一個是通過多目標軟件設計和編譯技術將代碼重定義到多樣化的平臺上面。為了解決邊緣設備多樣化的情況和升級運行在這些設備上的應用的困難,我們需要定義新的軟件棧來抽象多種設備,將硬件能力以通用API的形式暴露給應用。另一個可能的方向是開發編譯器和及時編譯技術從而有效的編譯正在運行的復雜算法,使它們能夠在邊緣設備上運行。這可以使用近期的代碼生成工具,例如TensorFlow和XLA、Halide和Weld。
第二個通用方法是設計適應于在云和邊緣云上分割執行的AI系統。例如,模型組合(見4.3)可以是在邊緣設備上運行輕量級低精度的模型而在云上運行計算密集型高精度的模型。這種架構可以在不損失精確度的情況下降低延時,而且已經在最近的視頻推薦系統中被采用[59,115]。再比如,動作組合可以是將對層級選項的學習放在云端,而這些選項的執行放在邊緣設備上。
機器人是另一個可以利用邊緣云架構的領域。當前很是缺乏機器人應用的開源平臺。作為當今廣泛使用的這種平臺的ROS被限制只在本地運行而且缺少實時應用所需要的性能優化。為了利用AI研究的新成果,例如共享學習和持續學習,我們需要跨云和邊緣云的系統,他可以允許開發者在機器人和云之間無縫地遷移功能,從而優化決策延時和學習收斂。云平臺可以通過利用來自實時分布式的機器人收集到的信息運行復雜算法持續更新模型,而機器人可以基于之前下載的模型策略在本地持續地執行動作。
為了解決從邊緣設備收集到的大量數據,可以采用適應于學習的壓縮方法來減少處理開銷,例如通過采樣(sampling)和梗概(sketching),這些方法都已經成功的應用在分析工作負載的任務上了[4,10,28,51,81]。一個研究方向就是以系統化的方式利用采樣和梗概的方法來支持多種學習算法和預測任務。一個更大的挑戰是減小存儲消耗,這可能需要刪除數據。關鍵是我們不知道未來數據會如何被使用。這是一個壓縮問題,而且是針對于機器學習算法的壓縮。此外,基于采樣和梗概的分布式方法可以幫助解決該問題,就像機器學習方法在特征選擇或模型選擇策略上的應用一樣。
研究方向:設計跨云端和邊緣的AI系統,(1)利用邊緣設備減小延時、提升安全性并實現智能化的數據記憶技術,(2)利用云平臺來共享各邊緣設備的數據和模型,訓練復雜的計算密集型的模型和采取高質量的決策。
若想使人工智能更好地服務我們,要克服許多艱巨的挑戰,其中許多挑戰與系統和基礎設施有關。人工智能系統需要做出更快、更安全和更易于解讀的決策,確保這些決策在針對多種攻擊類型的學習過程中得到準確的結果,在摩爾定律終結的前提下不斷提高計算能力,以及構建易于整合到現有應用程序中的可組合系統,并且具有跨越云端和邊緣的處理能力。
本文總結了幾個系統、體系結構和安全方面的研究課題,我們希望這些問題能夠啟發新的研究來推動人工智能的發展,使其計算能力更強,具有可解釋性、安全性和可靠性。
來源:全球人工智能
算法數學之美微信公眾號歡迎賜稿
稿件涉及數學、物理、算法、計算機、編程等相關領域。
稿件一經采用,我們將奉上稿酬。
投稿郵箱:math_alg@163.com
總結
以上是生活随笔為你收集整理的人工智能系统研究的9大挑战和4大趋势的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 来自顶级名校推荐的英文书单,留着慢慢啃!
- 下一篇: 推荐系统--矩阵分解(4)