支援邊雲協同終身學習特性,KubeEdge子專案Sedna 0.3.0版本釋出!

華為雲開發者社群發表於2021-06-07

摘要:隨著邊緣裝置數量指數級增長以及裝置效能的提升,邊雲協同機器學習應運而生,以期打通機器學習的最後一公里。

本文分享自華為雲社群《支援邊雲協同終身學習特性,KubeEdge子專案Sedna 0.3.0版本釋出! 》,原文作者:技術火炬手 。

1、當前機器學習落地挑戰

當前機器學習落地有哪些問題?

近二十年來,機器學習已廣泛應用於資料探勘、計算機視覺、自然語言處理、生物特徵識別、搜尋引擎、醫學診斷、檢測信用卡欺詐、證券市場分析、DNA序列測序、語音和手寫識別、戰略遊戲和機器人等領域。

在實際業務落地過程中,大部分大型雲平臺提供商均已提供機器學習算力等資源服務,同時支援多種機器學習框架等以提供開放靈活的部署環境。但是,機器學習模型所需的資料往往並非從雲平臺中產生,而是從感測器、手機、閘道器等邊緣裝置中產生。資料從邊側產生,而云端需從邊側採集資料以訓練和不斷完善機器學習模型。在實際落地時,當前機器學習需面對以下問題:

1)海量裝置資料導致延遲和成本問題

- 假設即使有100 Mbps的專網連線,將10TB的資料運送到雲端也需要10天。

- 面對大量邊緣連線裝置每天生成數百兆位元組甚至TB資料,帶來的延遲和成本對客戶和服務提供方來說往往是難以承受的;

2)資料壓縮導致的延遲和精度問題

- 正因遷移所有資料通常不切實際,往往需要對資料進行“壓縮”(如特徵工程、難例識別等)並傳輸到雲端,而資料壓縮過程容易引入新的延遲。

- 壓縮資料不一定能完全代表完整資料集資訊,容易導致精度損失。

3)邊側資料隱私和計算實時性問題

上述問題的本質來源是資料在邊緣產生,而算力卻在雲端更為充足。也就是說,機器學習服務將邊緣產生的資料轉換為知識的過程中,一方面需要在邊緣快速響應並處理本地產生的資料,另一方面需要雲上算力與開發環境的支援。隨著邊緣裝置數量指數級增長以及裝置效能的提升,邊雲協同機器學習應運而生,以期打通機器學習的最後一公里。

當前邊雲協同機器學習落地有哪些挑戰?

目前邊雲協同機器學習的經典模式是:在雲上給定一個資料集執行機器學習演算法構建一個模型,然後將這個模型不作更改應用在多個邊側的多次推理任務上。這種學習正規化稱為封閉學習(也稱孤立學習 [1]),因為它並未考慮其他情景學習到的知識和過去學習到的歷史知識。雖然邊雲協同機器學習技術的相關研究和應用都有著顯著的進展,然而在成本、效能、安全方面仍有諸多挑戰:資料孤島/小樣本/資料異構/資源受限 [2]。

在邊緣雲背景下,1)不同邊側資料分佈總是不斷變化,2)而邊側標註樣本也往往由於成本較高導致數量稀少。因而封閉學習需不停標註樣本並重新訓練,這顯然給服務落地帶來巨大挑戰。這種資料分佈和資料量上的挑戰分配稱為資料異構和小樣本,屬於邊雲協同機器學習的四大挑戰。

支援邊雲協同終身學習特性,KubeEdge子專案Sedna 0.3.0版本釋出!

 

圖1 熱舒適預測服務中機器學習模型隨邊側環境變化示意圖

本文以一個熱舒適預測服務例子介紹相應挑戰,如圖1所示。該服務輸入外界溫度等環境特徵,預測不同人員的熱舒適程度(熱、舒適、冷)。由於邊緣節點部署位置從室外變動到室內,對於相同室外溫度特徵值x=30,可以看到實際標註的熱舒適標註發生了較大變動。這原有室外模型上線預測值整體偏低,要匹配到室內模型,則需要訓練樣本重新調整。也就是說,面對分佈動態變化的邊緣側資料,由於沒有記憶歷史和不同情景任務知識,封閉學習需要頻繁重新訓練。

當前邊雲協同機器學習挑戰應如何解決?

從上面的討論可以瞭解到,當前的封閉學習正規化可被用於提供資料同構和大資料的服務,但難以處理資料異構和小樣本的問題,所以並不合適用於建立通用的機器學習系統。伊利諾伊大學芝加哥分校的劉兵教授也在Frontiers of Computer Science中總結,封閉學習正規化一系列侷限性的根本在於沒有記憶,這導致它通常需要大量的訓練樣本。

對應的正規化改進可以從人類的學習過程中得到啟發。可以看到,人類之所以能夠越學越聰明,是由於每個人並非自我封閉地學習,而是不斷地積累過去學習的知識,並利用其他人的知識,學習更多知識 [1]。借鑑人類這種學習機制,終身學習結合邊雲協同可以發展出邊雲協同終身學習。邊雲協同終身學習1)在邊側同時結合了多工學習和增量學習特性來處理新情景下資料異構和小樣本的問題,2)藉助雲側知識庫來記憶新情景知識,從根本上解決上述邊雲協同機器學習的挑戰。

2、邊雲協同終身學習概念

基於1995年提出的終身學習概念 [3] ,Sedna進一步定義邊雲協同終身學習為邊雲協同的多機器學習任務持續學習。其中機器學習任務是指在特定情境下運用的模型,如中譯英(給定漢語翻譯為英語)、亞洲植物分類等。正式定義如下:

邊雲協同終身學習:給定雲側知識庫中N個歷史訓練任務,推理持續到來的當前任務和未來M個邊側任務,並持續更新雲側知識庫。其中,M趨向於無窮大,同時邊側M個推理任務不一定在雲側知識庫N個歷史訓練任務當中。

支援邊雲協同終身學習特性,KubeEdge子專案Sedna 0.3.0版本釋出!

圖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邊雲協同終身學習特性

KubeEdge 是一個開源的邊緣計算平臺,它在Kubernetes原生的容器編排和排程能力之上,擴充套件實現了邊雲協同、計算下沉、海量邊緣裝置管理、邊緣自治等能力。KubeEdge還將通過外掛的形式支援5G MEC、AI雲邊協同等場景,目前在很多領域都已落地應用 [3]。

KubeEdge AI SIG於20年12月釋出KubeEdge子專案開源平臺Sedna,架構如圖3所示。Sedna基於KubeEdge提供的邊雲協同能力,實現AI的跨邊雲協同訓練和協同推理能力。支援現有AI類應用無縫下沉到邊緣,快速實現跨邊雲的增量學習,聯邦學習,協同推理等能力,最終降低邊雲協同機器學習服務構建與部署成本、提升模型效能、保護資料隱私等 [2]。

支援邊雲協同終身學習特性,KubeEdge子專案Sedna 0.3.0版本釋出!

圖3 Sedna整體架構

在本次0.3版本更新中,Sedna提供了邊雲協同終身學習的特性支援。Sedna終身學習特性將基於邊側資料和雲側算力,逐步實現適應邊側業務與模型異構的高可信自動化人工智慧。

Sedna的邊雲協同終身學習作業分為三個階段:訓練、評估和部署,維護一個全域性可用的知識庫(KB)服務於每個終身學習任務。架構如圖4所示:

1)啟動訓練worker基於開發者的AI基模型和訓練資料集進行多工遷移學習,實現任務的知識歸納,包括:樣本屬性、AI模型、模型超參等。

2)訓練完成對知識庫的更新後啟動對評估資料集的評估worker,基於部署者定義的評估策略判斷符合下發部署的任務模型。

3)GM捕獲評估任務的完成狀態後通知Edge初始化啟動Inference Service進行推理服務。應用呼叫模型推理介面進行推理,並進行未知任務上雲判別。

4)通過對接第三方打標系統和基於知識庫的遷移學習,LC基於預配置規則監聽新資料變化並按配置的策略觸發訓練worker進行增量學習,重訓練完成後重新下發邊緣側。

支援邊雲協同終身學習特性,KubeEdge子專案Sedna 0.3.0版本釋出!

圖4 Sedna邊雲協同終身學習架構

其中,當前Sedna選用的模組化方案和樣本遷移方案使得開源的邊雲協同終身學習特效能夠實現模型無關:1)同一個特效能夠同時支援結構化和非結構化不同模型,在特性中模型可插拔;2)同一個特效能夠同時支援分類、迴歸、目標檢測、異常檢測等。

4、基於Sedna終身學習實現樓宇熱舒適預測控制

4.1背景

智慧樓宇是智慧城市的重要組成部分

樓宇是大量先進工業產品的“使用方”,引領其製造、執行和維護,在這一波能源革命和工業革命佔據重要地位。

現今樓宇都有自控系統,通常它們都在邊緣,這使得很多關於樓宇的應用更傾向於部署在邊緣側,其中一類應用是熱舒適度預測。由於人們80%的工作和生活都在樓宇中度過,提高工作效率和生活舒適度(如通過樓宇智慧化等方式)就顯得尤為重要。

熱舒適度預測服務於智慧樓宇

熱舒適度被定義為樓宇中的人對環境冷熱的滿意程度。它提供了一種定量的評估,把室內冷熱環境引數的設定與人的主觀評估聯絡起來。而提高樓宇中辦公或者居住人員的熱舒適程度是建築及其系統設計方案中的一個重要考量。在空調系統運作時,一旦熱舒適度被預測出來,那麼就能將其用於調整樓宇內空調的控制策略。比方說,一種基於熱舒適度的控制策略,是基於假定的空調引數設定以及溫溼度等環境特徵下,給出預計的人體熱舒適程度。然後搜尋尋優出舒適度最高的空調設定。所以,這種情況下要實現舒適度最大的空調控制就依賴於較高精度的舒適度預測。

原有熱舒適度的預測要麼需要房間中安裝額外裝置,要麼需要人工反饋。部署環境複雜、人工操作頻繁使得這種情況下熱舒適度的採集準確度非常低。據此,基於機器學習的熱舒適度預測方法被提出,它能降低部署要求、不需要人工反饋,因而更具備實用價值。

熱舒適度預測服務實際部署時資料異構和小樣本問題較為突出

由於人員個體差異、房間與城市差異等,不同個體、不同地點對於熱舒適的感受是不一樣的,那麼就會導致相同的環境溫度和空調設定下對應的人員的熱舒適度標籤值不一樣,從而導致較為突出的資料異構問題。

熱舒適度預測主要針對樓宇中的房間人員個體,具有個性化的特點。在環境因素變化較多的情況下,邊側房間人員個體的熱舒適度樣本通常有限,往往不足以支撐對單個人員進行個性化模型的訓練,從而導致較為突出的小樣本問題。

除了小樣本問題之外,增量學習也能夠一定程度解決歷史與當前情景的資料異構(時間上的資料異構)。但這種邊雲協同增量學習正規化通常不具備用於記憶的知識庫,導致很難處理非時間上的資料異構。比方說,對於有多個人員的房間,在同一時刻會存在不同人員上的資料異構。由於這種情況就不僅僅是同一個人不同時間上的資料異構了,增量學習變得不太足夠。此時就需要使用邊雲協同終身學習了。

4.2方案

支援邊雲協同終身學習特性,KubeEdge子專案Sedna 0.3.0版本釋出!

圖5 邊雲協同終身學習的熱舒適預測方案架構

如圖5所示,邊雲協同終身學習的熱舒適預測方案主要有如下兩個步驟:

​​​​​​​建立舒適度預測終身學習任務

舒適度預測終身學習任務被建立後,Sedna知識庫中會生成舒適度預測的知識庫例項,知識庫會利用多地點多人員的歷史資料集進行初始化,並提供推理和更新介面給邊側應用。​​​​​​​

部署邊雲協同舒適度預測應用

舒適度預測應用被部署後,應用會通過邊側的裝置資料採集介面獲取到多聯機空調系統的設定引數和當前溫溼度等環境特徵資訊。應用通過呼叫Sedna Lib庫終身學習介面,從知識庫中尋找對應的任務資訊:

如果被判定為已知任務,比如說是已經出現過的人員在已知的溫溼度條件下,則直接獲取對應模型進行推理;

如果被判定為未知任務,比如說是新來的人員,則通過知識庫來獲取針對未知任務的模型進行推理。並且會將這些模型和模型之間關係寫入到知識庫中,以完成知識庫的更新操作,使得知識庫得到積累。

4.3效果

本案例中的方案在開源Ashrae Thermal Comfort II資料集上可取得非常好的效果。在這個開源資料集中,收錄了全球28個國家99個城市1995~2015年之間樓宇內人員熱舒適真實資料,目標是構建一個機器學習分類模型,給定環境特徵,預測人群的熱傾向(Thermal Preference)。熱傾向分為三類,希望更冷(覺得熱)、不希望變更(覺得舒適)、希望更熱(覺得冷)。

案例結果如圖6和圖7所示,整體分類精度與單任務增量學習對比,相對提升5.12%(其中多工提升1.16%)。其中,在Kota Kinabalu和Athens兩個任務,在使用終身學習前後預測效果在Kota Kinabalu資料中預測率相對提升24.04%,在Athens資料中預測率相對提升13.73%。

支援邊雲協同終身學習特性,KubeEdge子專案Sedna 0.3.0版本釋出!

圖6 ATCII各城市Sedna終身學習預測精度對比

支援邊雲協同終身學習特性,KubeEdge子專案Sedna 0.3.0版本釋出!

圖7 ATCII各城市Sedna終身學習預測精度相對提升

 5、Sedna終身學習特性下一步計劃

      1. 終身學習演算法增強:
        1. 多工遷移學習演算法
        2. 未知任務識別演算法
        3. 未知任務處理演算法
      2. 分散式知識庫
      3. 安全隱私增強

6、附:KubeEdge SIG AI社群技術交流地址

歡迎更多對邊緣計算感興趣的同學們加入KubeEdge社群,參與AI SIG,一起建設雲原生邊緣計算生態

相關連結

專案地址:https://github.com/kubeedge/sedna

例會時間和地址:

時間:每週四上午10: 00

地址:https://zoom.us/my/kubeedge

SIG AI工作目標和運作方式:https://github.com/kubeedge/community/tree/master/sig-ai

7、引用

[1] B. Liu, Lifelong machine learning: a paradigm for continuous learning., Frontiers of Computer Science. 11, no. 3 (2017): 359-361., 2017. 
[2] “加速AI邊雲協同創新!KubeEdge社群建立Sedna子專案,” 29 1 2021. [聯機]. Available: https://mp.weixin.qq.com/s/FX2DOsctS_Z7CKHndFByRw.
[3] “KubeEdge架構解讀:雲原生的邊緣計算平臺,” 20 10 2020. [聯機]. Available: https://mp.weixin.qq.com/s/8AvkgupCQpI_JCL2P7x8jw.
[4] “kubeedge/Sedna,” 30 3 2021. [聯機]. Available: https://github.com/kubeedge/sedna.

 

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章