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