南大周志華團(tuán)隊(duì)8年力作!「學(xué)件」系統(tǒng)解決機(jī)器學(xué)習(xí)復(fù)用難題,「模型融合」涌現(xiàn)科研新范式
HuggingFace是目前最火熱的機(jī)器學(xué)習(xí)開源社區(qū),匯集30萬個不同的機(jī)器學(xué)習(xí)模型,有超過10萬個應(yīng)用可供用戶訪問和使用。
如果HuggingFace上這30萬個模型,可以自由組合,共同完成新的學(xué)習(xí)任務(wù),那會是一種什么樣的畫面?
其實(shí)在HuggingFace問世的2016年,南京大學(xué)周志華教授就提出了「學(xué)件」(Learnware)概念,描繪了這樣的藍(lán)圖。
最近,南京大學(xué)周志華教授團(tuán)隊(duì)推出了一個這樣的平臺——北冥塢。
地址:https://bmwu.cloud/
北冥塢不但可以讓科研人員和用戶像使用HuggingFace一樣上傳自己的模型,還可以基于基座系統(tǒng),根據(jù)用戶的需求進(jìn)行模型匹配、協(xié)作融合,高效處理用戶的學(xué)習(xí)任務(wù)。
論文地址:https://arxiv.org/abs/2401.14427
北冥塢系統(tǒng)倉庫:https://www.gitlink.org.cn/beimingwu/beimingwu
科研工具包倉庫:https://www.gitlink.org.cn/beimingwu/learnware
這個平臺最大的特點(diǎn)就是引入了學(xué)件(Learnware)系統(tǒng),從而突破性地實(shí)現(xiàn)了針對用戶需求的模型自適應(yīng)匹配與協(xié)作能力。
學(xué)件由機(jī)器學(xué)習(xí)模型和描述模型的規(guī)約構(gòu)成,即「學(xué)件 = 模型 + 規(guī)約」。
學(xué)件的規(guī)約由「語義規(guī)約」和「統(tǒng)計(jì)規(guī)約」兩部分組成:
- 語義規(guī)約通過文本對模型的類型及功能進(jìn)行描述;
- 統(tǒng)計(jì)規(guī)約則通過各類機(jī)器學(xué)習(xí)技術(shù),刻畫模型所蘊(yùn)含的統(tǒng)計(jì)信息。
學(xué)件的規(guī)約刻畫了模型的能力,使得模型能夠在未來用戶事先對學(xué)件一無所知的情況下被充分識別并復(fù)用,以滿足用戶需求。
規(guī)約是學(xué)件基座系統(tǒng)的核心組件,串聯(lián)了系統(tǒng)中關(guān)于學(xué)件的全部流程,包括學(xué)件上傳、組織、查搜、部署與復(fù)用。
就像《天龍八部》中的燕子塢由很多小島組成一樣,北冥塢中的規(guī)約也像一個個的小島一樣。
來自不同特征/標(biāo)記空間的學(xué)件,構(gòu)成眾多的規(guī)約島嶼,所有規(guī)約島嶼共同構(gòu)成學(xué)件基座系統(tǒng)中的規(guī)約世界。在規(guī)約世界中,如果能夠發(fā)現(xiàn)并建立不同島嶼之間的聯(lián)系,那么相對應(yīng)的規(guī)約島嶼將可以進(jìn)行合并。
在學(xué)件范式下,世界各地的開發(fā)者可分享模型至學(xué)件基座系統(tǒng),系統(tǒng)通過有效查搜和復(fù)用學(xué)件幫助用戶高效解決機(jī)器學(xué)習(xí)任務(wù),而無需從零開始構(gòu)建機(jī)器學(xué)習(xí)模型。
北冥塢是學(xué)件的第一個系統(tǒng)性開源實(shí)現(xiàn),為學(xué)件相關(guān)研究提供了一個初步科研平臺。
有分享意愿的開發(fā)者可自由提交模型,學(xué)件塢協(xié)助產(chǎn)生規(guī)約形成學(xué)件存放在學(xué)件塢中,開發(fā)者在這個過程中無需向?qū)W件塢泄露自己的訓(xùn)練數(shù)據(jù)。
未來的用戶可以通過向?qū)W件塢提交需求,在學(xué)件塢協(xié)助下查搜復(fù)用學(xué)件來完成自己的機(jī)器學(xué)習(xí)任務(wù),且用戶可以不向?qū)W件塢泄露自有數(shù)據(jù)。
而且以后,在學(xué)件塢擁有數(shù)以百萬計(jì)的學(xué)件后,將可能出現(xiàn)「涌現(xiàn)」行為:以往沒有專門開發(fā)過模型的機(jī)器學(xué)習(xí)任務(wù),可能通過復(fù)用若干個現(xiàn)有學(xué)件而解決。
學(xué)件基座系統(tǒng)
機(jī)器學(xué)習(xí)在很多領(lǐng)域取得了巨大成功,但依然面臨著諸多問題,例如需要大量的訓(xùn)練數(shù)據(jù)和高超的訓(xùn)練技巧、持續(xù)學(xué)習(xí)的困難、災(zāi)難性遺忘的風(fēng)險以及數(shù)據(jù)隱私/所有權(quán)的泄漏等。
雖然上述每一個問題都有相應(yīng)的研究,但由于問題之間是相互耦合的,在解決其中一個問題時,可能會導(dǎo)致其他問題變得更加嚴(yán)重。
學(xué)件基座系統(tǒng)期望通過一個整體框架,同時解決上述諸多問題:
- 缺乏訓(xùn)練數(shù)據(jù)/技能:即使對于缺乏訓(xùn)練技能或數(shù)據(jù)量較小的普通用戶,也可以獲得強(qiáng)大的機(jī)器學(xué)習(xí)模型,因?yàn)橛脩艨梢詮膶W(xué)件基座系統(tǒng)中獲取性能優(yōu)良的學(xué)件,并進(jìn)一步調(diào)整或改進(jìn),而不是自己從頭開始構(gòu)建模型。
- 持續(xù)學(xué)習(xí):隨著在各種不同任務(wù)上訓(xùn)練得到的、性能優(yōu)良的學(xué)件被不斷提交,學(xué)件基座系統(tǒng)中的知識將不斷豐富,進(jìn)而自然地實(shí)現(xiàn)持續(xù)和終身學(xué)習(xí)。
- 災(zāi)難性遺忘:一旦學(xué)件被接收,它將永遠(yuǎn)被容納在學(xué)件基座系統(tǒng)中,除非其各方面功能都可以被其他學(xué)件所替代。因此,學(xué)件基座系統(tǒng)中的舊知識總是會被保留,而不會被遺忘。
- 數(shù)據(jù)隱私/所有權(quán):開發(fā)者只提交模型而不共享私有數(shù)據(jù),因此數(shù)據(jù)隱私/所有權(quán)可以得到很好的保護(hù)。盡管無法完全排除對模型進(jìn)行逆向工程的可能性,但與許多其它隱私保護(hù)方案相比,學(xué)件基座系統(tǒng)泄露隱私的風(fēng)險非常小。
學(xué)件基座系統(tǒng)的構(gòu)成
如下圖所示,系統(tǒng)工作流程分為以下兩個階段:
- 提交階段:開發(fā)者自發(fā)地提交各式各樣的學(xué)件到學(xué)件基座系統(tǒng),而系統(tǒng)會對這些學(xué)件進(jìn)行質(zhì)量檢查和進(jìn)一步的組織。
- 部署階段:當(dāng)用戶提交任務(wù)需求后,學(xué)件基座系統(tǒng)會根據(jù)學(xué)件規(guī)約推薦對用戶任務(wù)有幫助的學(xué)件并指導(dǎo)用戶進(jìn)行部署和復(fù)用。
規(guī)約世界
規(guī)約是學(xué)件基座系統(tǒng)的核心組件,串聯(lián)了系統(tǒng)中關(guān)于學(xué)件的全部流程,包括學(xué)件上傳、組織、查搜、部署與復(fù)用。
來自不同特征/標(biāo)記空間的學(xué)件,構(gòu)成眾多的規(guī)約島嶼,所有規(guī)約島嶼共同構(gòu)成學(xué)件基座系統(tǒng)中的規(guī)約世界。在規(guī)約世界中,如果能夠發(fā)現(xiàn)并建立不同島嶼之間的聯(lián)系,那么相對應(yīng)的規(guī)約島嶼將可以進(jìn)行合并。
學(xué)件基座系統(tǒng)在查搜時,首先通過用戶需求中的語義規(guī)約定位到具體的規(guī)約島嶼,再通過用戶需求中的統(tǒng)計(jì)規(guī)約對規(guī)約島上的學(xué)件進(jìn)行精確識別。不同的規(guī)約島嶼合并,則意味著相應(yīng)的學(xué)件可以被用于不同特征/標(biāo)記空間的任務(wù)上,即可以復(fù)用至超出其原始目的的任務(wù)中。
學(xué)件范式通過充分利用社區(qū)分享的機(jī)器學(xué)習(xí)模型的能力,構(gòu)建統(tǒng)一的規(guī)約空間,以統(tǒng)一的方式高效地為新用戶解決機(jī)器學(xué)習(xí)任務(wù)。隨著學(xué)件數(shù)量增多,通過有效地組織學(xué)件結(jié)構(gòu),學(xué)件基座系統(tǒng)整體解決任務(wù)的能力將顯著增強(qiáng)。
北冥塢的構(gòu)架
如下圖所示,北冥塢的系統(tǒng)架構(gòu)包含四個層次,從學(xué)件存儲層至用戶交互層,首次自底向上系統(tǒng)性地實(shí)現(xiàn)了學(xué)件范式。四個層次的具體功能如下:
- 學(xué)件存儲層:管理以zip包格式存儲的學(xué)件,并通過學(xué)件數(shù)據(jù)庫提供相關(guān)信息的獲取方式;
- 系統(tǒng)引擎層:囊括了學(xué)件范式中的所有流程,包括學(xué)件上傳、檢測、組織、查搜、部署和復(fù)用,并以learnware Python包的形式獨(dú)立于后端和前端運(yùn)行,為學(xué)件相關(guān)任務(wù)和科研探索提供了豐富的算法接口;
- 系統(tǒng)后端層:實(shí)現(xiàn)了北冥塢的工業(yè)級部署,提供了穩(wěn)定的系統(tǒng)在線服務(wù),并通過提供豐富的后端API支撐了前端和客戶端的用戶交互;
- 用戶交互層:實(shí)現(xiàn)了基于網(wǎng)頁的前端和基于命令行的客戶端,為用戶交互提供了豐富且便捷的方式。
實(shí)驗(yàn)評估
在論文中,研究團(tuán)隊(duì)還構(gòu)建了各種類型的基礎(chǔ)實(shí)驗(yàn)場景,評估表格、圖像和文本數(shù)據(jù)上進(jìn)行規(guī)約生成、學(xué)件識別和復(fù)用的基準(zhǔn)算法。
表格數(shù)據(jù)實(shí)驗(yàn)
在各種表格數(shù)據(jù)集上,團(tuán)隊(duì)首先評估了從學(xué)件系統(tǒng)中識別和復(fù)用與用戶任務(wù)具有相同特征空間的學(xué)件的性能。
而且,由于表格任務(wù)通常來自不同的特征空間,研究團(tuán)隊(duì)還對來自不同特征空間的學(xué)件的識別和復(fù)用進(jìn)行了評估。
同質(zhì)案例
在同質(zhì)案例中,PFS數(shù)據(jù)集中的53個商店充當(dāng)53個獨(dú)立用戶。
每個商店利用自己的測試數(shù)據(jù)作為用戶任務(wù)數(shù)據(jù),并采用統(tǒng)一的特征工程方法。這些用戶隨后可以在基座系統(tǒng)上查搜與其任務(wù)具有相同特征空間的同質(zhì)學(xué)件。
當(dāng)用戶沒有標(biāo)注數(shù)據(jù)或標(biāo)注數(shù)據(jù)量有限時,團(tuán)隊(duì)對不同的基準(zhǔn)算法進(jìn)行了比較,所有用戶的平均損失如下圖所示。左表顯示,無數(shù)據(jù)方法比從市場上隨機(jī)選擇和部署一個學(xué)件要好得多;右圖表明,當(dāng)用戶的訓(xùn)練數(shù)據(jù)有限時,識別并復(fù)用單個或多個學(xué)件比用戶自訓(xùn)練的模型性能更優(yōu)。
左表顯示,無數(shù)據(jù)方法比從市場上隨機(jī)選擇和部署一個學(xué)件要好得多;右圖表明,當(dāng)用戶的訓(xùn)練數(shù)據(jù)有限時,識別并復(fù)用單個或多個學(xué)件比用戶自訓(xùn)練的模型性能更優(yōu)。
異構(gòu)案例
根據(jù)市場上學(xué)件與用戶任務(wù)的相似性,異構(gòu)案例可進(jìn)一步分為不同的特征工程和不同的任務(wù)場景。
不同的特征工程場景:
下圖左顯示的結(jié)果表明,即使用戶缺乏標(biāo)注數(shù)據(jù),系統(tǒng)中的學(xué)件也能表現(xiàn)出很強(qiáng)的性能,尤其是復(fù)用多個學(xué)件的AverageEnsemble方法。
不同的任務(wù)場景:
上圖右顯示了用戶自訓(xùn)練模型和幾種學(xué)件復(fù)用方法的損失曲線。
很明顯,異構(gòu)學(xué)件在用戶標(biāo)注數(shù)據(jù)量有限的情況下實(shí)驗(yàn)驗(yàn)證是有益的,有助于更好地與用戶的特征空間進(jìn)行對齊。
圖像和文本數(shù)據(jù)實(shí)驗(yàn)
此外,研究團(tuán)隊(duì)在圖像數(shù)據(jù)集上對系統(tǒng)進(jìn)行了基礎(chǔ)的評估。
下圖顯示,當(dāng)用戶面臨標(biāo)注數(shù)據(jù)稀缺或僅擁有有限數(shù)量的數(shù)據(jù)(少于 2000 個實(shí)例)時,利用學(xué)件基座系統(tǒng)可以產(chǎn)生良好的性能。
團(tuán)隊(duì)還在基準(zhǔn)的文本數(shù)據(jù)集上對系統(tǒng)進(jìn)行了基礎(chǔ)評估。通過統(tǒng)一的特征提取器進(jìn)行特征空間對齊。
如下圖所示,即使在沒有提供標(biāo)注數(shù)據(jù)的情況下,通過學(xué)件識別和復(fù)用所獲得的性能也能與系統(tǒng)中最好的學(xué)件相媲美。
此外,與從頭開始訓(xùn)練模型相比,利用學(xué)件基座系統(tǒng)可以減少約2000個樣本。