首次攻克「圖基礎(chǔ)模型」三大難題!港大開源OpenGraph:零樣本學(xué)習(xí)適配多種下游任務(wù)
圖學(xué)習(xí)(Graph Learning)技術(shù)能夠?qū)?fù)雜的關(guān)系數(shù)據(jù)進(jìn)行挖掘和學(xué)習(xí),在推薦系統(tǒng)、社交網(wǎng)絡(luò)分析、引用網(wǎng)絡(luò)和交通網(wǎng)絡(luò)等多個領(lǐng)域都顯示出了巨大的應(yīng)用價值。
圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Networks, GNNs)基于迭代的消息傳遞機(jī)制,能夠捕捉圖結(jié)構(gòu)數(shù)據(jù)中的復(fù)雜高階關(guān)系,在各類圖學(xué)習(xí)應(yīng)用場景中取得了巨大的成功。
通常,這種端到端的圖神經(jīng)網(wǎng)絡(luò)需要大量、高質(zhì)量的標(biāo)注數(shù)據(jù)才能獲得較好的訓(xùn)練效果。
近年來,一些工作提出圖模型的預(yù)訓(xùn)練-微調(diào)(Pre-training and Fine-tuning)模式,使用各種自監(jiān)督學(xué)習(xí)任務(wù)在無標(biāo)注的圖數(shù)據(jù)上首先進(jìn)行預(yù)訓(xùn)練,再在少量標(biāo)注數(shù)據(jù)上進(jìn)行微調(diào),以對抗監(jiān)督信號不足的問題。這里的自監(jiān)督學(xué)習(xí)任務(wù)包括對比學(xué)習(xí)、掩碼重建、局部全局互信息最大化等方法。
盡管這種預(yù)訓(xùn)練方法取得了一定的成功,但他們的泛化能力較為有限,特別是當(dāng)預(yù)訓(xùn)練和下游任務(wù)出現(xiàn)分布偏移(Distribution Shift)時。
例如在推薦系統(tǒng)中,預(yù)訓(xùn)練模型使用較早時間采集的數(shù)據(jù),而預(yù)測時用戶喜好、商品熱度常常出現(xiàn)變化。
為了解決這一問題,一些近期工作提出了針對圖模型的提示微調(diào)方法,能夠更加高效地將預(yù)訓(xùn)練模型適應(yīng)到下游任務(wù)和數(shù)據(jù)上。
盡管上述工作推進(jìn)了圖神經(jīng)模型的泛化能力,但這些模型全都假設(shè):訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)有相同的節(jié)點集合和特征空間。
這極大地限制了預(yù)訓(xùn)練圖模型的應(yīng)用范圍。因此,本文探索進(jìn)一步提升圖模型泛化能力的方法。
具體來說,我們希望OpenGraph能夠捕捉通用的拓?fù)浣Y(jié)構(gòu)模式,對測試數(shù)據(jù)進(jìn)行零樣本預(yù)測。即僅通過前向傳播過程,就可以對測試圖數(shù)據(jù)進(jìn)行高效的特征提取和準(zhǔn)確預(yù)測。
模型的訓(xùn)練過程在完全不同的圖數(shù)據(jù)上進(jìn)行,在訓(xùn)練階段不接觸測試圖的任何元素,包括節(jié)點、邊、特征向量。

為了達(dá)成這一目的,本文需要解決以下三個挑戰(zhàn):
C1. 跨數(shù)據(jù)集的Token集合變化
零樣本圖預(yù)測任務(wù)的一個顯著困難是,不同的圖數(shù)據(jù)通常有完全不同的圖token集合。具體來說,不同圖的節(jié)點集合通常沒有交集,并且不同圖數(shù)據(jù)集也經(jīng)常使用完全不同的節(jié)點特征。這使得模型不能通過學(xué)習(xí)和特定數(shù)據(jù)集的圖token綁定的參數(shù),來進(jìn)行跨數(shù)據(jù)集的預(yù)測任務(wù)。
C2. 高效的節(jié)點間關(guān)系建模
在圖學(xué)習(xí)領(lǐng)域,節(jié)點之間常常存在錯綜復(fù)雜的依賴關(guān)系,模型需要對節(jié)點的局部和全局鄰域關(guān)系進(jìn)行綜合考量。在搭建通用圖模型時,一個重要的任務(wù)是能夠高效地建模節(jié)點間關(guān)系,這能夠增強(qiáng)模型在處理大量圖數(shù)據(jù)時的模型效果和可擴(kuò)展性。
C3. 訓(xùn)練數(shù)據(jù)稀缺
由于隱私保護(hù)、數(shù)據(jù)采集成本等原因,在圖學(xué)習(xí)的很多下游領(lǐng)域中都廣泛存在數(shù)據(jù)稀缺問題,這使得通用圖模型的訓(xùn)練容易缺乏對某些下游領(lǐng)域的了解而產(chǎn)生次優(yōu)的訓(xùn)練效果。
為了應(yīng)對上述挑戰(zhàn),香港大學(xué)的研究人員提出了 OpenGraph,這是一個擅長零樣本學(xué)習(xí)的模型,能夠識別不同下游領(lǐng)域之間可遷移的拓?fù)浣Y(jié)構(gòu)模式。

論文鏈接:https://arxiv.org/pdf/2403.01121.pdf
源碼鏈接:https://github.com/HKUDS/OpenGraph
通過創(chuàng)建一個具有拓?fù)涓兄队胺桨傅膱Dtokenizer來解決挑戰(zhàn) C1,從而生成統(tǒng)一的圖tokens。
為了應(yīng)對挑戰(zhàn) C2,設(shè)計了一個可擴(kuò)展的圖Transformer,它配備了基于錨點采樣的高效自注意力機(jī)制,并包括了token序列采樣以實現(xiàn)更高效的訓(xùn)練。
為了解決挑戰(zhàn) C3,我們利用大型語言模型進(jìn)行數(shù)據(jù)增強(qiáng),以豐富我們的預(yù)訓(xùn)練,使用提示樹算法和吉布斯采樣來模擬現(xiàn)實世界的圖結(jié)構(gòu)關(guān)系數(shù)據(jù)。我們在多個圖數(shù)據(jù)集上進(jìn)行的廣泛測試顯示了 OpenGraph 在各種設(shè)置中的卓越泛化能力。
模型介紹
模型整體架構(gòu)如下圖所示,可以分為三個部分,分別為1)統(tǒng)一圖Tokenizer,2)可擴(kuò)展的圖Transformer,3)大語言模型知識蒸餾。

統(tǒng)一圖Tokenizer
為了應(yīng)對不同數(shù)據(jù)集在節(jié)點、邊、特征上存在的巨大差異,我們的首要任務(wù)是建立一個統(tǒng)一的圖tokenizer,能夠有效地將不同圖數(shù)據(jù)影射為統(tǒng)一的token序列。在我們的tokenizer中,每個token都有一個語義向量,用于描述對應(yīng)節(jié)點的信息。
通過采用統(tǒng)一的節(jié)點表征空間,以及靈活的序列數(shù)據(jù)結(jié)構(gòu),我們希望為不同的圖數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化、高效的tokenization。
為了達(dá)成這一目的,我們的tokenizer采用了經(jīng)過平滑的拓?fù)湫畔?,以及一個從節(jié)點空間到隱表征空間的映射函數(shù)。
高階平滑鄰接矩陣
在圖tokenization過程中,使用鄰接矩陣的高次冪作為輸入之一,這種方式既能夠獲取圖結(jié)構(gòu)的高階連接關(guān)系,也能夠解決原始鄰接矩陣中連接稀疏性的問題。
計算過程中進(jìn)行了Laplacian歸一化,并將不同階的鄰接矩陣冪全部考慮進(jìn)來,具體計算方法如下。

對任意圖的拓?fù)涓兄成?/span>
不同數(shù)據(jù)集的鄰接矩陣在維度上存在巨大的差異,這使得我們不能直接將鄰接矩陣作為輸入,再使用一個固定輸入維度的神經(jīng)網(wǎng)絡(luò)進(jìn)行處理。
我們的解決方案是首先將鄰接矩陣投射為節(jié)點表征序列的形式,后續(xù)即可使用可變長的序列模型進(jìn)行處理。而為了減少映射過程的信息損失,我們提出了一種拓?fù)涓兄挠成浞椒ā?/span>
首先,我們拓?fù)涓兄成涞闹涤蚴且粋€維度較高的隱表征空間。之前的一些工作指出,在采用較大的隱空間維度時,即使是隨機(jī)的映射也常??梢援a(chǎn)生令人滿意的表征效果。
為了進(jìn)一步保留圖結(jié)構(gòu)信息,并減少隨機(jī)性影響,我們使用快速特征值分解(SVD)來構(gòu)造我們的映射函數(shù)。在實際實驗中,兩輪的快速特征值分解可以有效地保留拓?fù)湫畔?,且產(chǎn)生的的計算開銷相對其他模塊可以忽略不計。
可擴(kuò)展的圖Transformer
經(jīng)過無參數(shù)的圖tokenization過程,對具有不同特征的圖數(shù)據(jù),OpenGraph分配了統(tǒng)一的拓?fù)涓兄獔Dtoken表征。接下來的任務(wù)是采用可訓(xùn)練的神經(jīng)網(wǎng)絡(luò),對節(jié)點間的復(fù)雜依賴關(guān)系進(jìn)行建模。
OpenGraph采用了transformer架構(gòu),以利用其在復(fù)雜關(guān)系建模方面的強(qiáng)大能力。為了保證模型效率和性能,我們引入了以下兩種采樣技巧。
Token序列采樣
由于我們的圖token序列數(shù)據(jù)一般有較大的token數(shù)量和隱表征維度,OpenGraph采用的圖transformer對輸入的token序列進(jìn)行采樣,只學(xué)習(xí)當(dāng)前訓(xùn)練批次內(nèi)的token間兩兩關(guān)系,使得需要建模的關(guān)系對數(shù)量從節(jié)點數(shù)量平方,降低到訓(xùn)練批次大小的平方,從而大大減小圖transformer在訓(xùn)練階段的時間和空間開銷。并且,這種采樣方法能夠讓模型在訓(xùn)練時更加關(guān)注當(dāng)前的訓(xùn)練批次。
盡管對輸入數(shù)據(jù)進(jìn)行了采樣,由于我們的初始圖token表征包含了節(jié)點間的拓?fù)潢P(guān)系,采樣的token序列仍然能夠一定程度地反映全圖所有節(jié)點的信息。
自注意力中的錨點采樣方法
雖然token序列采樣將復(fù)雜度從節(jié)點數(shù)量平方降低到了批次大小平方,但平方級別的復(fù)雜度對批次大小有著較大的限制,使得模型訓(xùn)練無法采用較大的批次,從而影響整體的訓(xùn)練時間和訓(xùn)練穩(wěn)定性。
為了緩解這一問題,OpenGraph的transformer部分放棄了對所有token之間兩兩關(guān)系的建模,而是采樣部分錨點,將所有節(jié)點間的關(guān)系學(xué)習(xí)拆分成兩次所有節(jié)點與錨點之間的關(guān)系學(xué)習(xí)。
大語言模型知識蒸餾
由于數(shù)據(jù)隱私等原因,獲取各個領(lǐng)域的數(shù)據(jù)來訓(xùn)練通用圖模型是很有挑戰(zhàn)性的。感受到大型語言模型(LLM)所展示的驚人知識和理解能力,我們利用其力量來生成各種圖結(jié)構(gòu)數(shù)據(jù),用于通用圖模型的訓(xùn)練。
我們設(shè)計的數(shù)據(jù)增強(qiáng)機(jī)制,使LLM增強(qiáng)的圖數(shù)據(jù)能夠更好地近似真實世界圖的特征,從而提高了增強(qiáng)數(shù)據(jù)的相關(guān)性和有用性。
基于LLM的節(jié)點生成
在生成圖時,我們的初始步驟是創(chuàng)建一個適合特定應(yīng)用場景的節(jié)點集。每個節(jié)點都具有一個基于文本的特征描述,該描述有助于后續(xù)的邊生成過程。
然而,當(dāng)處理真實世界場景時,這項任務(wù)可能特別具有挑戰(zhàn)性,因為節(jié)點集的規(guī)模很大。例如,在電子商務(wù)平臺上,圖數(shù)據(jù)可能包含數(shù)十億種產(chǎn)品。因此,有效地使LLM生成大量節(jié)點成為一個重大挑戰(zhàn)。
為了解決上述挑戰(zhàn),我們采用了一種策略,不斷將一般節(jié)點分成更細(xì)粒度的子類別。
例如,當(dāng)生成電商場景下的產(chǎn)品節(jié)點時,首先使用類似于「列出淘寶等電子商務(wù)平臺上的所有產(chǎn)品的子類別」的查詢提示LLM。LLM回答了一個子類別列表,如“衣服”、“家居廚具”和“電子產(chǎn)品”等。
然后,我們要求LLM進(jìn)一步細(xì)化每個子類別來繼續(xù)這一迭代分裂過程。這個過程一直重復(fù),直到我們獲得了類似于真實世界實例的節(jié)點,例如一個帶有「衣服」、「女士衣物」、「毛線衫」、「帶兜毛線衫」和「白色帶兜毛線衫」標(biāo)簽的產(chǎn)品。
提示樹算法
將節(jié)點分割成子類別并生成細(xì)粒度實體的過程遵循一種樹狀結(jié)構(gòu)。最初的一般節(jié)點(例如“產(chǎn)品”、“深度學(xué)習(xí)論文”)作為根,細(xì)粒度實體作為葉節(jié)點。我們采用樹形提示策略來遍歷和生成這些節(jié)點。

基于LLM和吉布斯采樣的邊生成
為了生成邊,我們使用吉布斯采樣算法與上文生成的節(jié)點集。算法從一個隨機(jī)樣本開始進(jìn)行迭代,每次在當(dāng)前樣本的基礎(chǔ)上,采樣對其中某一個數(shù)據(jù)維度進(jìn)行改變后得到的樣本。
這一算法的關(guān)鍵在于估計在當(dāng)前樣本的條件下,某個數(shù)據(jù)維度改變的條件概率。我們提出根據(jù)節(jié)點生成時得到的文本特征,由LLM進(jìn)行概率估計。
由于邊的集合空間較大,為了避免讓LLM對其進(jìn)行探索而產(chǎn)生巨大的開銷,我們首先使用LLM對節(jié)點集合進(jìn)行表征,再基于表征向量,使用簡單的相似度算子對節(jié)點間關(guān)系進(jìn)行計算。在以上的邊生成框架內(nèi),我們還采用了以下三種重要的技巧進(jìn)行調(diào)整。
動態(tài)概率歸一化
由于LLM表征的相似度可能與[0, 1]范圍差距巨大,為了獲得更適合采樣的概率數(shù)值,我們使用一種動態(tài)概率歸一化的方法。
該方法動態(tài)維護(hù)采樣過程中最近的T'個相似度估計數(shù)值,計算他們的均值和標(biāo)準(zhǔn)差,最后將當(dāng)前的相似度估計映射到該均值上下兩個標(biāo)準(zhǔn)差的分布范圍中,從而得到近似[0, 1]的概率估計。
引入節(jié)點局部性
基于LLM的邊生成方法,能夠有效地根據(jù)節(jié)點的語義相似性,確定他們的潛在連接關(guān)系。
然而,它傾向于在所有語義相關(guān)的節(jié)點之間創(chuàng)建過多的連接,忽視了真實世界圖中重要的局部性概念。
在現(xiàn)實世界中,節(jié)點更有可能連接到相關(guān)節(jié)點的子集,因為它們通常只能夠與一部分節(jié)點有限地互動。為了模擬這一重要特性,引入了一種在邊生成過程中將局部性納入考慮的方法。
每個節(jié)點都隨機(jī)分配一個局部性索引,兩個節(jié)點之間的交互概率受到局部性索引絕對差值的衰減影響,節(jié)點的局部性索引差別越大,則衰減越嚴(yán)重。
注入圖拓?fù)淠J?/span>
為了使生成的圖數(shù)據(jù)更加符合拓?fù)浣Y(jié)構(gòu)的模式,我們在第一次圖生成過程中再次生成修正的節(jié)點表征。
這一節(jié)點表征使用簡單的圖卷積網(wǎng)絡(luò)在初始生成圖上得到,他能更好地符合圖結(jié)構(gòu)數(shù)據(jù)的分布特點,避免圖和文本空間之間的分布偏移。最終,我們在修正的節(jié)點表征基礎(chǔ)上,再次進(jìn)行圖采樣,得到最終的圖結(jié)構(gòu)數(shù)據(jù)。
實驗驗證
實驗中,我們僅使用基于LLM的生成數(shù)據(jù)集進(jìn)行OpenGraph模型訓(xùn)練,而測試數(shù)據(jù)集都是各個應(yīng)用場景下的真實數(shù)據(jù)集,并包括了節(jié)點分類和鏈路預(yù)測兩類任務(wù)。實驗的具體設(shè)置如下:
0-shot設(shè)置
為了驗證OpenGraph的零樣本預(yù)測能力,OpenGraph在生成的訓(xùn)練數(shù)據(jù)集上測試,再使用完全不同的真實測試數(shù)據(jù)集進(jìn)行效果測試。訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集在節(jié)點、邊、特征、標(biāo)注上均沒有任何重合。
Few-shot設(shè)置
由于大多數(shù)現(xiàn)有方法無法進(jìn)行有效的零樣本預(yù)測,我們采用少樣本預(yù)測的方式對他們進(jìn)行測試。基線方法可以在預(yù)訓(xùn)練數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,之后使用k-shot樣本進(jìn)行訓(xùn)練、微調(diào)或提示微調(diào)。
整體效果對比
在2個任務(wù)一共8個測試數(shù)據(jù)集上的測試效果如下所示。

從中可以觀察到:
1)在跨數(shù)據(jù)集的情況下,OpenGraph的零樣本預(yù)測效果相對現(xiàn)有方法具有較大的優(yōu)勢。
2)在跨數(shù)據(jù)集遷移的情況下,現(xiàn)有的預(yù)訓(xùn)練方法有時甚至還不如其基礎(chǔ)模型僅在少樣本上從零開始訓(xùn)練,這體現(xiàn)了圖模型獲得跨數(shù)據(jù)集泛化能力的困難。
圖Tokenizer研究
接下來我們探究圖tokenizer設(shè)計對效果的影響。首先我們調(diào)整了鄰接矩陣平滑結(jié)束,測試其對效果的影響。0階時效果出現(xiàn)嚴(yán)重衰減,指示了采用高階平滑的重要性。

其次,我們將拓?fù)涓兄成浜瘮?shù)替換成其他簡單方法,包括跨數(shù)據(jù)集的可學(xué)習(xí)獨熱id表征、隨機(jī)映射、基于節(jié)點度的可學(xué)習(xí)表征。
結(jié)果顯示三種替代方案均效果較差,其中跨數(shù)據(jù)集學(xué)習(xí)id表征效果最差,現(xiàn)有工作中常用的度表征效果也衰減較大,不可學(xué)習(xí)的隨機(jī)映射在所有替代方法中表現(xiàn)最好,但仍與我們的拓?fù)涓兄成溆泻艽蟮牟罹唷?/span>
預(yù)訓(xùn)練數(shù)據(jù)集研究
為了驗證基于LLM的知識蒸餾方法的有效性,我們使用不同的預(yù)訓(xùn)練數(shù)據(jù)集對OpenGraph進(jìn)行訓(xùn)練,并測試其在不同測試集上的效果。
本實驗比較的預(yù)訓(xùn)練數(shù)據(jù)集包括單獨去除我們生成方法中某個技巧的版本、與測試數(shù)據(jù)集不相關(guān)的兩個真實數(shù)據(jù)集Yelp2018和Gowalla、以及與測試數(shù)據(jù)集相關(guān)的ML-10M數(shù)據(jù)集,從結(jié)果中可以看出:
1)總體來說,我們的生成數(shù)據(jù)集能夠在所有測試數(shù)據(jù)上產(chǎn)生較好的效果。
2)所測試的三種生成技巧均起到了較為顯著的提升效果。
3)使用真實數(shù)據(jù)集(Yelp、Gowalla)進(jìn)行訓(xùn)練可能反而會帶來負(fù)面效果,這可能源于不同真實數(shù)據(jù)集之間的分布差異。
4)ML-10M在ML-1M和ML-10M上均取得了最佳效果,這說明使用相似的訓(xùn)練數(shù)據(jù)集能夠產(chǎn)生較好的效果。

Transformer中的采樣技巧研究
這項實驗對我們圖transformer模塊中的token序列采樣(Seq)和錨點采樣(Anc)進(jìn)行了消融測試。

結(jié)果顯示,兩種采樣方法能夠在訓(xùn)練和測試過程優(yōu)化模型的空間和時間開銷。在效果方面,token序列采樣對模型效果有正向作用,而ddi數(shù)據(jù)集上的結(jié)果顯示,錨點菜樣對模型效果有負(fù)面效果。
結(jié)論
本研究的主要焦點是開發(fā)一個高度適應(yīng)性的框架,能夠精確地捕捉和理解各種圖結(jié)構(gòu)中復(fù)雜的拓?fù)淠J健?/span>
通過發(fā)揮所提出模型的潛力,我們的目的是顯著提高模型的泛化能力,使其在包括各種下游應(yīng)用在內(nèi)的零樣本圖學(xué)習(xí)任務(wù)中表現(xiàn)出色。
為了進(jìn)一步提高OpenGraph的效率和健壯性,我們在可擴(kuò)展的圖transformer架構(gòu)和基于LLM的數(shù)據(jù)增強(qiáng)機(jī)制的基礎(chǔ)上構(gòu)建了我們的模型。
通過在多個基準(zhǔn)數(shù)據(jù)集上進(jìn)行的大量實驗,我們驗證了模型的杰出泛化能力。本研究在圖基座模型方向作出了初步探索的嘗試。
在未來的工作中,我們計劃賦予我們的框架自動發(fā)現(xiàn)噪聲連接和具有反事實學(xué)習(xí)影響力的結(jié)構(gòu)的能力,同時學(xué)習(xí)各種圖的通用和可轉(zhuǎn)移的結(jié)構(gòu)模式。































