邊云協同終身學習通過(1)多任務遷移學習適應不同邊緣局點數據異構,實現“千人千面”精準預測;(2)未知任務增量處理在小樣本下越學越聰明,逐步實現AI工程化與自動化;(3)借助云側知識庫來記憶新情景知識,避免災難性遺忘;(4)邊云協同架構使得在應用云上資源的同時保證數據安全合規與邊緣AI服務離線自治,希望從根本上解決上述邊云協同機器學習的挑戰。
1 當前機器學習落地技術挑戰
1.1 當前機器學習落地有哪些問題?
近二十年來,機器學習已廣泛應用于數據挖掘、計算機視覺、自然語言處理、生物特征識別、搜索引擎、醫學診斷、檢測信用卡欺詐、證券市場分析、DNA序列測序、語音和手寫識別、戰略游戲和機器人等領域。
在實際業務落地過程中,大部分大型云平臺提供商均已提供機器學習算力等資源服務,同時支持多種機器學習框架等以提供開放靈活的部署環境。但是,機器學習模型所需的數據往往并非從云平臺中產生,而是從傳感器、手機、網關等邊緣設備中產生。數據從邊側產生,而云端需從邊側采集數據以訓練和不斷完善機器學習模型。在實際落地時,當前機器學習需面對以下問題:
(1)海量設備數據導致延遲和成本問題
· 即使有100Mbps的專網連接,將10TB的數據運送到云端也需要10天。
· 大量邊緣連接設備每天生成數百兆字節甚至TB數據,帶來的延遲和成本對客戶和服務提供方來說往往是難以承受的。
(2)數據壓縮導致的延遲和精度問題
· 遷移所有數據通常不切實際,往往需要對數據進行“壓縮”(如特征工程、難例識別等)并傳輸到云端,而數據壓縮過程容易引入新的延遲。
· 壓縮數據不一定能代表完整數據集信息,容易導致精度損失。
(3)邊側數據隱私和計算實時性問題
上述問題的本質來源是數據在邊緣產生,而算力卻在云端更為充足。也就是說,在機器學習服務將邊緣產生的數據轉換為知識的過程中,一方面需要在邊緣快速響應并處理本地產生的數據,另一方面需要云上算力與開發環境的支持。隨著邊緣設備數量指數級增長以及設備性能的提升,邊云協同機器學習應運而生,以期打通機器學習的最后一公里。
1.2 當前邊云協同機器學習落地有哪些技術挑戰?
目前邊云協同機器學習的經典模式是: 在云上給定一個數據集,運行機器學習算法構建一個模型,然后將這個模型不作更改應用在多個邊側的多次推理任務上。這種學習范式稱為封閉學習(也稱孤立學習[1]), 因為它并未考慮其他情景學習到的知識和以往學習到的知識。雖然邊云協同機器學習技術的相關研究和應用都有著顯著的進展,然而在成本、性能、安全方面仍有諸多挑戰:數據孤島、小樣本、數據異構及資源受限[2]。
在邊緣云背景下,不同邊側數據分布總是不斷變化,而邊側標注樣本也往往由于成本較高而數量稀少。因而封閉學習需不停標注樣本并重新訓練,這顯然給服務落地帶來巨大挑戰。這種數據分布和數據量上的挑戰分配稱為數據異構和小樣本,屬于邊云協同機器學習的四大挑戰之一。
本文以一個熱舒適預測服務示例介紹相應挑戰,如圖1所示。該服務輸入外界溫度等環境特征,預測不同人員的熱舒適程度(熱、舒適、冷)。由于邊緣節點部署位置從室外變動到室內,對于相同室外溫度特征值x=30,可以看到實際標注的熱舒適標注發生了較大變動。原有室外模型上線預測值整體偏低,要匹配到室內模型,則需要訓練樣本重新調整。即面對分布動態變化的不同邊側數據,由于沒有記憶歷史和不同情景任務知識,封閉學習需要頻繁重新訓練。
圖1 熱舒適預測服務中機器學習模型隨邊側 環境變化示意圖
1.3 當前邊云協同機器學習技術挑戰應如何解決?
從上面的討論可以了解到,當前的封閉學習范式可被用于提供數據同構和大數據的服務,但難以處理數據異構和小樣本的問題,所以并不合適用于建立通用的機器學習系統。伊利諾伊大學芝加哥分校的劉兵教授也在Frontiers of Computer Science中總結,封閉學習范式一系列局限性的根本在于沒有記憶,這導致它通常需要大量的訓練樣本。
對應的范式改進可以從人類的學習過程中得到啟發。可以看到,人類之所以能夠越學越聰明,是由于每個人并非自我封閉地學習,而是不斷地積累過去學習的知識, 并利用其他人的知識, 學習更多知識[1]。借鑒人類這種學習機制,提出終身學習結合邊云協同可以發展出邊云協同終身學習。邊云協同終身學習通過多任務遷移學習適應不同邊緣節點數據異構,實現“千人千面” 精準預測;未知任務增量處理在小樣本下越學越聰明, 逐步實現AI工程化與自動化;借助云側知識庫來記憶新情景知識,避免災難性遺忘;邊云協同架構使得在應用云上資源的同時保證數據安全合規與邊緣AI服務離線自治,從根本上解決上述邊云協同機器學習的挑戰。
2 邊云協同終身學習概念
基于1995年學界提出的終身學習概念[3] ,進一步定義邊云協同終身學習為邊云協同的多機器學習任務持續學習。其中機器學習任務是指在特定情境下運用的模型,如中譯英(給定漢語翻譯為英語)、亞洲植物分類等。正式定義如下:
邊云協同終身學習:給定云側知識庫中N個歷史訓練任務,推理持續到來的當前任務和未來M個邊側任務, 并持續更新云側知識庫。其中, M趨向于無窮大,同時邊側M個推理任務不一定在云側知識庫N個歷史訓練任務當中。
具體來說,邊云協同終身學習的一般流程如圖2所示。
圖2 邊云協同終身學習流程示意圖
(1)初始化知識庫:在云側知識庫中存儲和維護過去N個任務(記為第T-N到T-1個任務)中訓練并累積的知識。
(2)學習當前任務:在邊側設備面對當前任務(記為第T個任務)時,基于云側知識庫先驗知識訓練第T個任務。注意,第T個任務并不一定在歷史的N個任務當中。
(3)更新知識庫:將學習到的邊側第T個任務知識反饋到云側知識庫并更新。
(4)學習未來任務:持續學習未來M個任務(記為第T+1到T+M個任務)。與上面第T個任務利用過去N個任務知識(從T-N到T-1)類似,第T+1個任務的邊側任務知識則利用過去N+1個云側任務知識(從T-N到T) 。以此類推,直到完成第T+M個任務,結束整個流程。
邊云協同終身學習具備以下三大功能點:
(1)邊云協同持續學習:能夠基于云側算力和邊側數據合作完成持續推理與訓練,能夠在推理運行時增強模型訓練能力。
(2)邊云協同多任務知識維護:以云側知識庫作為中心,實現跨邊云的任務知識共享,處理邊側任務同時維護云端知識。
(3)邊側處理云側未知任務:需要邊側能夠發現和處理云端知識庫未知任務。其中未知任務是指運行或測試過程中發現的新任務,比如其應用情景或模型在知識庫當前知識之外。
3 Sedna邊云協同終身學習特性
KubeEd g e是一個開源的邊緣計算平臺,它在Kubernetes原生的容器編排和調度能力之上,擴展實現了邊云協同、計算下沉、海量邊緣設備管理、邊緣自治等能力。KubeEdge還將通過插件的形式支持5G MEC、AI云邊協同等場景,目前在很多領域都已落地應用[3]。
KubeEdge AI SIG于2020年12月提出了KubeEdge子項目開源平臺Sedna, 架構如圖3所示。Sedna基于KubeEdge提供的邊云協同能力,實現AI的跨邊云協同訓練和協同推理能力。支持現有AI類應用無縫下沉到邊緣,快速實現跨邊云的增量學習、聯邦學習、協同推理等能力,最終降低邊云協同機器學習服務構建與部署成本、提升模型性能、保護數據隱私等[2]。
圖3 Sedna整體架構
在本次0.3版本更新中,Sedna發布了業界首個邊云協同終身學習的開源特性。Sedna終身學習將基于邊側數據和云側算力,逐步實現適應邊側業務與模型異構“千人千面”的高可信自動化人工智能。
Sedna的邊云協同終身學習作業分為三個階段:訓練、評估和部署,維護一個全局可用的知識庫(KB) 服務于每個終身學習作業(Lifelong Learning Job)。架構如圖4所示。
圖4 Sedna邊云協同終身學習架構
(1)啟動Training Worker基于開發者的AI模型和訓練數據集進行多任務遷移學習,實現任務的知識歸納,包括:樣本屬性、AI模型、模型超參等。
(2)Training Worker完成對知識庫的更新后,啟動評估數據集的Evaluation Worker,基于部署者定義的評估策略判斷符合下發部署約束的任務模型。
(3)Global Manager捕獲評估任務的完成狀態后通知Edge初始化啟動Inference Worker進行推理服務。邊緣節點基于Sedna Lifelong Learning API進行推理,并進行未知任務上云判別。
(4)通過對接第三方打標系統和知識庫的遷移學習,Local Controller基于預配置規則監聽新數據變化并按配置的策略觸發Training Worker進行增量學習,重訓練完成后重新下發邊緣側。
其中,當前Sedna選用的模塊化方案和樣本遷移方案使得開源的邊云協同終身學習特性能夠實現模型無關:(1)同一個特性能夠同時支持結構化和非結構化不同模型,在特性中模型可插拔;(2)同一個特性能夠同時支持分類、回歸、目標檢測、異常檢測等。
4 基于Sedna終身學習實現:樓宇熱舒適 預測控制
4.1 背景
(1)智能樓宇是智慧城市的重要組成部分
樓宇是大量先進工業產品的“使用方”,引領其制造、運行和維護,在這一波能源革命和工業革命中占據重要地位。
現今樓宇都有自控系統,通常它們都在邊緣,這使得很多關于樓宇的應用更傾向于部署在邊緣側,其中一類應用是熱舒適度預測。由于人們80%的工作和生活都在樓宇中度過,提高工作效率和生活舒適度(如通過樓宇智能化等方式)就顯得尤為重要。
(2)熱舒適度預測服務于智能樓宇
熱舒適度被定義為樓宇中的人對環境冷熱的滿意程度。它提供了一種定量的評估,把室內冷熱環境參數的設定與人的主觀評估聯系起來。而樓宇中辦公或者居住人員的熱舒適程度是建筑及其系統設計方案中的一個重要考量因素。在空調系統運作時,一旦熱舒適度被預測出來,那么就能將其用于調整樓宇內空調的控制策略。比方說,一種基于熱舒適度的控制策略,是基于假定的空調參數設定以及溫濕度等環境特征下,給出預計的人體熱舒適程度,然后搜索尋優出舒適度最高的空調設定。所以,這種情況下要實現舒適度最大的空調控制就依賴于較高精度的舒適度預測。
原有熱舒適度的預測要么需要房間中安裝額外設備,要么需要人工反饋,部署環境復雜、人工操作頻繁使得這種情況下熱舒適度的采集準確度非常低。據此,基于機器學習的熱舒適度預測方法被提出,它能降低部署要求、不需要人工反饋,因而更具備實用價值。
(3)熱舒適度預測服務實際部署時數據異構和小樣本問題較為突出
由于人員個體差異、房間與城市差異等,不同個體、不同地點對于熱舒適的感受是不一樣的,那么就會導致相同的環境溫度和空調設定下對應的人員的熱舒適度標簽值不一樣,從而導致較為突出的數據異構問題。
熱舒適度預測主要針對樓宇中的房間人員個體,具有個性化的特點。在環境因素變化較多的情況下,邊側房間人員個體的熱舒適度樣本通常有限,往往不足以支撐對單個人員進行個性化模型的訓練,從而導致較為突出的小樣本問題。
除了小樣本問題之外,增量學習也能夠一定程度解 決歷史與當前情景的數據異構(時間上的數據異構)。但這種邊云協同增量學習范式通常不具備用于記憶的知識庫,導致很難處理非時間上的數據異構。比方說,對于有多個人員的房間,在同一時刻會存在不同人員上的數據異構。這種情況不僅是同一個人不同時間上的數據異構,增量學習變得不太足夠。此時就需要使用邊云協同終身學習了。
4.2 方案
圖5是邊云協同終身學習的熱舒適預測方案架構,邊云協同終身學習的熱舒適預測方案主要有兩個步驟。
圖5 邊云協同終身學習的熱舒適預測方案架構
(1)創建舒適度預測終身學習任務
舒適度預測終身學習任務被創建后,Sedna知識庫中會生成舒適度預測的知識庫實例,知識庫會利用多地點多人員的歷史數據集進行初始化,并提供推理和更新接口給邊側應用。
(2)部署邊云協同舒適度預測應用
舒適度預測應用被部署后,應用會通過邊側的設備數據采集接口獲取到多聯機空調系統的設定參數和當前溫濕度等環境特征信息。應用通過調用Sedna Lib庫終身學習接口,從知識庫中尋找對應的任務信息:
· 如果被判定為已知任務,例如已經出現過的人員在已知的溫濕度條件下,則直接獲取對應模型進行推理;
· 如果被判定為未知任務,例如是新來的人員,則通過知識庫來獲取針對未知任務的模型進行推理。并將這些模型和模型之間的關系寫入到知識庫中,以完成知識庫的更新操作,使得知識庫得到積累。
4.3 效果
本次案例基于開源Ashrae Thermal Comfort II數據集。在這個開源數據集中,收錄了全球28個國家99個城市1995~2015年之間樓宇內人員熱舒適真實數據,目標是構建一個機器學習分類模型,給定環境特征,預測人群的熱傾向(Thermal Preference)。熱傾向分為三類,希望更冷(覺得熱)、不希望變更(覺得舒適)、希望更熱(覺得冷)。
案例結果如圖6和圖7所示,整體分類精度與單任務增量學習對比,相對提升5.12%(其中多任務提升1.16%) 。使用終身學習前后的預測效果在KotaKinabalu數據中預測率相對提升24.04%,在Athens數據中預測率相對提升13.73%。
圖6 ATCII各城市Sedna終身學習預測精度對比
圖7 ATCII各城市Sedna終身學習預測精度相對提升
作者簡介:
鄭子木 (1991-),廣東人,博士,現就職于華為云邊緣云創新實驗室,研究方向為邊緣AI、多任務遷移學習及AIoT。發表AI算法與系統、分布式計算等領域國際頂級會議及期刊論文十余篇,多次獲得最佳會議論文獎項及華為公司技術貢獻獎項。目前正帶領團隊參與云原生計算基金會KubeEdge SIG AI的開源工作。
參考文獻:
[1] B. Liu. Lifelong machine learning: a paradigm for continuous learning[J]. Frontiers of Computer Science, 2017, 11 (3) : 359 - 361.
[2] 加速AI邊云協同創新! KubeEdge社區建立Sedna子項目[EB/OL]. 2021-01-29.
[3] KubeEdge架構解讀: 云原生的邊緣計算平臺[EB/OL]. 2020-10-20.
[4] kubeedge/Sedna[EB/OL] 2021-03-30.