天天看點

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

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

本文分享自華為雲社群《支援邊雲協同終身學習特性,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.

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

繼續閱讀