機器學習在各個領域都取得了巨大的成功,並且不斷湧現出大量優質的機器學習模型。然而,對於一般使用者來說,要找到適合自己任務的模型並不容易,更不用說從零開始建立新模型了。為了解決這個問題,南京大學週志華教授提出了一種名為「學件」的範式,透過模型加上規約的思路建構了一個學件市場(現稱為學件基座系統),使用戶能夠統一地選擇和部署模型來滿足自己的需求。現在,學件範式迎來了首個開源的基礎平台,名為北冥塢(Beimingwu)。這個平台將為使用者提供一個豐富的模型庫和部署工具,使得使用和自訂機器學習模型變得更加簡單和有效率。透過北冥塢,使用者可以更好地利用機器學習的力量,解決各種實際問題。
在經典的機器學習範式中,為了從頭訓練高效能模型,需要大量的高品質資料、專家經驗和運算資源,這無疑是一項耗時耗力且成本高昂的任務。此外,復用已有模型也存在一些問題。例如,很難將訓練好的特定模型適應不同的環境,而在逐步改進訓練好的模型過程中可能會出現災難性遺忘的情況。因此,我們需要尋找一種更有效率和靈活的方法來應對這些挑戰。
資料隱私和所有權問題不僅阻礙了開發者之間共享經驗,也限制了大型模型在資料敏感情境中的應用能力。研究通常將重點放在這些問題上,但實踐中往往同時出現並相互影響。
在自然語言處理和電腦視覺領域,主流大模型發展範式雖然取得了顯著的成就,但仍未解決一些重要問題。這些問題包括計劃外任務和場景的無限性、環境的不斷變化性、災難性遺忘、高資源需求、隱私問題、在地化部署需求以及個人化和客製化的要求。因此,為每個潛在任務建立對應的大模型是不切實際的解決方案。這些挑戰需要我們尋找新的方法和策略來應對,例如採用更靈活和可自訂的模型架構,利用遷移學習和漸進式學習等技術來適應不同任務和環境的變化。只有透過綜合多種方法和策略,我們才能更好地解決這些複雜的問題。
為了解決機器學習任務,南京大學週志華教授在2016年提出了學件(learnware)概念。他基於學件創建了一個全新的範式,並提出了學件基座(dock)系統作為基礎平台。這個系統的目標是統一容納全球開發者提交的機器學習模型,並根據潛在用戶的任務需求來利用模型能力解決新任務。這項創新為機器學習領域帶來了新的可能性和機會。
學件範式的核心設計是這樣的:對於來自不同任務的高品質模型,學件是一個格式統一的基礎單元。學件包含了模型本身以及以某種表示描述模型特性的規約。開發者可以自由提交模型,學件塢系統將協助產生規約,並將學件存放在學件塢中。在這個過程中,開發者無需向學件塢洩露自己的訓練資料。未來,使用者可以向學件基座系統提交需求,透過尋找和重複使用學件來解決自己的機器學習任務,而無需向學件系統洩露自有資料。這種設計使得模型共享和任務解決變得更有效率、便利性和隱私安全。
而為了建立學件範式的初步科研平台,週志華教授團隊近日構建了北冥塢(Beimingwu),它是第一個開源的、用於未來學件範式研究的學件基座系統。相關論文已經公佈,足足有 37 頁。
在技術層面上,北冥塢系統透過可擴展的系統和引擎架構設計以及廣泛的工程實現和最佳化,為未來的學件相關演算法和系統研究打下了基礎。此外,系統還整合了全流程基線演算法,並建立了演算法基礎評估場景。這些特點不僅使得系統為學件提供支持,還為託管大量學件和建立學件生態系統提供了可能性。
論文標題:Beimingwu: A Learnware Dock System
論文網址:https://arxiv .org/pdf/2401.14427.pdf
北冥塢主頁:https://bmwu.cloud/
北冥塢開源倉庫:https://www.gitlink.org.cn/beimingwu/beimingwu
核心引擎開源倉庫:https://www.gitlink.org.cn/beimingwu/learnware
在本文中,研究者的貢獻可總結如下:
基於學件範式,簡化了使用者解決新任務的模型開發:做到了資料高效、無需專家知識和不洩露原始資料;
提出了完整統一且可擴展的系統引擎架構設計;
開發了具有統一使用者介面的開源學件基座系統;
用於不同場景的全流程基線演算法實現和評估。
學件範式概論
學件範式由周志華教授團隊於2016 年提出,並在2024 年的論文《Learnware: small models do big》中進行總結並進一步設計。這個範式的簡化流程如下圖1 所示:對於任何類型和結構的高品質機器學習模型,它們的開發者或所有者可以自發地將訓練好的模型提交到學件基座系統(以往稱為學件市場)中。
如前文所介紹,學件範式提出建立一個學件基座系統,來統一容納、組織和利用表現良好的已有模型,從而統一地利用來自所有社群的努力來解決新的使用者任務,並有可能同時解決大家關心的一些重大問題,包括了訓練資料和訓練技巧缺乏、災難性遺忘、難以實現持續學習、資料隱私或專有化、開放世界中計劃外的新任務、重複浪費訓練所導致的碳排放等。
最近,學件範式及其核心思想受到了越來越多的關注。但關鍵問題和主要的挑戰在於:考慮到學件基座系統可以容納數千甚至數百萬個模型,如何識別和選擇對新使用者任務最有幫助的一個或一組學件?顯然,直接將用戶資料提交到系統中進行試驗的成本高昂,並且會洩露用戶的原始資料。
學件範式的核心設計在於規約,最近研究主要基於縮核均值嵌入(reduced kernel mean embedding, RKME)規約。
雖然現有的理論和實證分析研究已經證明了基於規約的學件識別的有效性,但學件基座系統的實現仍然缺失並面臨巨大的挑戰,需要基於規約的全新架構設計來因應多樣化的真實世界任務和模型,並根據使用者的任務需求統一地查搜和復用大量的學件。
研究者建構了首個學件基座系統- 北冥塢,對包括提交、可用性測試、組織、管理、識別、部署和學件復用在內的全流程提供了支持。
利用北冥塢解決學習任務
基於學件範式的首次系統實現,北冥塢顯著簡化了為新任務建立機器學習模型的過程。現在,我們可以按照學件範式的流程來建立模型。並且受益於統一的學件結構、統一的架構設計和統一的用戶接口,北冥塢中所有提交的模型實現了統一識別和復用。
令人興奮的是,給定一個新的用戶任務,如果北冥塢擁有能夠解決這項任務的學件,則只需要幾行程式碼,用戶就可以輕鬆地獲得併部署其中的高品質模型,不需要大量數據和專家知識,也不會洩露自己的原始數據。
下圖 2 為利用北冥塢解決學習任務的程式碼範例。
下圖 3 展示了使用北冥塢的整個工作流程,包括統計規約產生、學件識別、載入和復用。基於工程實作和統一的介面設計,每一步都可以透過一行關鍵程式碼來實現。
研究者表示,在解決學習任務時,基於北冥塢,使用學件範式的模型開發流程具有以下幾點顯著優勢:
不需要大量的資料和運算資源;
不需要大量的機器學習專業知識;
為多樣化模型提供統一、簡單的本地部署;
隱私保護:不洩漏使用者的原始資料。
目前,北冥塢初期僅擁有1100 個在開源資料集上建構的學件,覆蓋的場景不多,處理大量特定和未見過場景的能力依然有限。基於可擴展的架構設計,北冥塢可作為學件範式的研究平台,為學件相關研究提供便利的演算法實作與實驗設計。
與此同時,依賴基礎實現和可擴展架構支撐,不斷提交的學件和不斷提升的演算法將不斷增強系統解決任務的能力,並增強系統復用現有訓練良好的模型以解決超出開發者原始目標的新任務的能力。未來,學件基座系統的持續演進使其能夠回應越來越多的使用者任務,而不會發生災難性遺忘,並自然地實現終身學習。
北冥塢設計
論文第 4 節介紹了北冥塢系統的設計。如圖 4 所示,整個系統包含四個層次:學件儲存、系統引擎、系統後台和使用者介面。這一節首先介紹了每一層的概況,然後介紹了基於規約設計的系統核心引擎,最後介紹了系統中實現的演算法。
首先看下每一層的概況:
學件儲存層。在北冥塢,學件以壓縮包的形式儲存。這些壓縮包主要包括四類檔案:模型檔、規約檔、模型執行環境依賴檔和學件設定檔。
這些學件壓縮包由學件資料庫集中管理。資料庫中的學件表儲存了關鍵訊息,包括學件 ID、儲存路徑和學件狀態(如未驗證和已驗證)。該資料庫為北冥塢後續核心引擎存取學件資訊提供了統一的介面。
此外,該資料庫可使用 SQLite(適用於開發和實驗環境中的簡易設定)或 PostgreSQL(推薦用於生產環境中的穩定部署)構建,兩者使用相同的介面。
核心引擎層。為了保持北冥塢的簡潔性和結構性,作者將核心組件和演算法從大量的工程細節中分離出來。這些抽取的組件現在可以作為學件 python 套件使用,它是北冥塢的核心引擎。
作為系統內核,該引擎涵蓋了學件範式中的所有流程,包括學件的提交、可用性測試、組織、識別、部署和復用。它獨立於後台和前台運行,為學件相關任務和研究實驗提供全面的演算法介面。
此外,規約是引擎的核心組件,從語意和統計角度表徵各個模型,連結學件系統中各個重要元件。除了開發者提交模型時產生的規約外,引擎還能利用系統知識為學件產生新的系統規約,從而加強學件的管理並進一步表徵其能力。
現有的模型管理平台,如Hugging Face,僅被動地收集和託管模型,讓使用者自行決定模型的能力和與任務的相關性,與之相比,北冥塢透過其引擎,以全新的系統架構主動管理學件。這種主動管理不僅限於收集和存儲,該系統根據規約組織學件,可以根據用戶任務需求匹配相關學件,並提供相應的學件復用和部署方法。
核心模組設計如下圖:
系統後台層。為了使北冥塢實現穩定部署,作者在核心引擎層的基礎上開發了系統後台。透過多個模組的設計和大量的工程開發,北冥塢目前已具備線上穩定部署的能力,為前端和用戶端提供了統一的後台應用程式介面。
為確保系統高效穩定運行,作者在系統後台層進行了多項工程優化,包括非同步學件驗證、跨多後端節點的高並發性、介面級權限管理、後台資料庫讀寫分離、系統資料自動備份。
使用者介面層。為方便北冥塢使用者使用,作者開發了對應的使用者介面層,包括基於網路的瀏覽器前端和命令列用戶端。
基於 web 的前端同時提供使用者和管理員版本,提供各種使用者互動和系統管理頁面。此外,它還支援多節點部署,以便順利存取北冥塢系統。
命令列客戶端與學件 python 套件整合在一起。透過呼叫對應接口,使用者可以透過前端呼叫後台線上 API,存取學件相關模組和演算法。
實驗評估
在第5 節中,作者建立了各種類型的基礎實驗場景,以評估在表格、圖像和文字資料上進行規約生成、學件識別和復用的基準演算法。
表格資料實驗
在各種表格資料集上,作者首先評估了從學件系統中識別和復用與使用者任務具有相同特徵空間的學件的性能。此外,由於表格任務通常來自不同的特徵空間,作者也對來自不同特徵空間的學件的識別和重複使用進行了評估。
同質案例
在同質案例中,PFS 資料集中的 53 個商店充當 53 個獨立使用者。每個商店利用自己的測試數據作為用戶任務數據,並採用統一的特徵工程方法。這些使用者隨後可以在基座系統上查搜與其任務具有相同特徵空間的同質學件。
當使用者沒有標註資料或標註資料量有限時,作者對不同的基準演算法進行了比較,所有使用者的平均損失如圖 6 所示。左表顯示,無資料方法比從市場上隨機選擇和部署一個學件要好得多;右圖表明,當使用者的訓練資料有限時,識別並重複使用單一或多個學件比使用者自訓練的模型性能更優。
異質案例
根據市場上學件與使用者任務的相似性,異質案例可進一步分為不同的特徵工程和不同的任務場景。
不同的特徵工程場景:圖7 左顯示的結果表明,即使用戶缺乏標註數據,系統中的學件也能表現出很強的性能,尤其是複用多個學件的AverageEnsemble方法。
不同的任務場景。圖 7 右邊顯示了使用者自訓練模型和幾種學件復用方法的損失曲線。很明顯,異構學件在使用者標註資料量有限的情況下實驗驗證是有益的,有助於更好地與使用者的特徵空間進行對齊。
圖像和文字資料實驗
此外,作者在圖像資料集上對系統進行了基礎的評估。
圖 8 顯示,當使用者面臨標註資料稀缺或僅擁有有限數量的資料(少於 2000 個實例)時,利用學件基座系統可以產生良好的效能。
最後,作者在基準的文本資料集上對系統進行了基礎評估。透過統一的特徵提取器進行特徵空間對齊。
結果如圖 9 所示,同樣地,即使在沒有提供標註數據的情況下,透過學件識別和復用所獲得的性能也能與系統中最好的學件相媲美。此外,與從頭開始訓練模型相比,利用學件基座系統可以減少約 2000 個樣本。
更多研究細節,可參考原論文。
以上是大模型時代,南大周志華埋頭做學件,最新論文上線的詳細內容。更多資訊請關注PHP中文網其他相關文章!