天天看點

探索大語言模型在圖學習上的潛力(附連結)

作者:資料派THU
探索大語言模型在圖學習上的潛力(附連結)
來源:NewbeeNLP本文約6800字,建議閱讀14分鐘本文主要采用了節點分類這一任務作為研究對象,我們會在最後讨論這一選擇的局限性,以及拓展到别的任務上的可能。           
探索大語言模型在圖學習上的潛力(附連結)

論文網址:

https://arxiv.org/abs/2307.03393

代碼位址

https://github.com/CurryTang/Graph-LLM

圖是一種非常重要的結構化資料,具有廣闊的應用場景。在現實世界中,圖的節點往往與某些文本形式的屬性相關聯。以電商場景下的商品圖(OGBN-Products資料集)為例,每個節點代表了電商網站上的商品,而商品的介紹可以作為節點的對應屬性。在圖學習領域,相關工作常把這一類以文本作為節點屬性的圖稱為文本屬性圖(Text-Attributed Graph, 以下簡稱為TAG)。TAG在圖機器學習的研究中是非常常見的, 比如圖學習中最常用的幾個論文引用相關的資料集都屬于TAG。除了圖本身的結構資訊以外,節點對應的文本屬性也提供了重要的文本資訊,是以需要同時兼顧圖的結構資訊、文本資訊以及兩者之間的互相關系。然而,在以往的研究過程中,大家往往會忽視文本資訊的重要性。舉例來說,像PYG與DGL這類常用庫中提供的常用資料集(比如最經典的Cora資料集),都并不提供原始的文本屬性,而隻是提供了嵌入形式的詞袋特征。在研究過程中,目前常用的 GNN 更多關注于對圖的拓撲結構的模組化,缺少了對節點屬性的了解。

相比于之前的工作,本文想要研究如何更好地處理文本資訊,以及不同的文本嵌入與GNN結合後如何影響下遊任務的性能。要更好地處理文本資訊,那目前最流行的工具便非大語言模型(LLM)莫屬(本文考慮了BERT到GPT4這些在大規模語料上進行了預訓練的語言模型,是以使用LLM來泛指這些模型)。相比于TF-IDF這類基于詞袋模型的文本特征,LLM有以下這幾點潛在的優勢。

  • 首先,LLM具有上下文感覺的能力,可以更好地處理同形不同意的單詞(polysemous)。
  • 其次,通過在大規模語料上的預訓練,LLM一般被認為有更強的語義了解能力,這點可以從其在各類NLP任務上卓越的性能展現出來。

考慮到LLM的多種多樣性,本文的目标是針對不同種類的LLM設計出合适的架構。鑒于LLM與GNN的融合問題,本文把LLM首先分類為了嵌入可見與嵌入不可見兩類。像ChatGPT這類隻能通過接口進行互動的LLM就屬于後者。其次,針對嵌入可見類的LLM,本文考慮三種範式:

  1. 以BERT為代表的基于encoder-only結構的預訓練語言模型。這類模型一般需要在下遊資料進行微調。
  2. 以Sentence-BERT為代表的句子嵌入模型,這類模型一般在第一類模型的基礎上進行了進一步的有監督/無監督訓練,不需要針對下遊資料進行微調。本文也考慮了以Openai的text-ada-embedding為代表的商業嵌入模型。
  3. 以LLaMA為代表的開源decoder-only大模型,這類模型一般會比第一類模型有大得多的參數量。考慮到微調的成本與災難性遺忘的存在,本文主要評測了未經微調的底座模型。

對于這些嵌入可見的大模型,可以首先用它們來生成文本嵌入,然後将文本嵌入作為GNN的初始特征進而将兩類模型融合在一起。然而,對于嵌入不可見的ChatGPT等LLM,如何将它們強大的能力應用于圖學習相關的任務便成為了一個挑戰。

針對這些問題,本文提出了一種将LLM應用到圖學習相關任務的架構,如下圖1與圖2所示。對于第一種模式LLMs-as-Enhancers,主要是利用大模型的能力對原有的節點屬性進行增強,然後再輸入到GNN模型之中來提升下遊任務的性能。針對嵌入可見的LLM,采取特征級别的增強,然後采用層級或疊代式(GLEM, ICLR 2023)的優化方法将語言模型與GNN結合起來。對于嵌入不可見的LLM,采取文本級别的增強,通過LLM對原有的節點屬性進行擴充。考慮到以ChatGPT為代表的LLM的零樣本學習與推理能力,本文進一步探索了利用prompt的形式來表示圖節點的屬性與結構,然後利用大模型直接生成預測的模式,将這種範式稱為LLMs-as-Predictors。

在實驗部分,本文主要采用了節點分類這一任務作為研究對象,我們會在最後讨論這一選擇的局限性,以及拓展到别的任務上的可能。接下來,順延着論文中的結構,在這裡簡要分享一下各種模式下有趣的發現。

探索大語言模型在圖學習上的潛力(附連結)

圖1.LLMs-as-Enhancers的示意圖。對于嵌入可見的大語言模型,直接生成文本嵌入作為GNN的初始節點特征。對于嵌入不可見的大模型,設計prompt來增強原有的節點屬性。

探索大語言模型在圖學習上的潛力(附連結)

圖2.LLMs-as-Predictors的示意圖。對于嵌入不可見的大語言模型,嘗試更進一步,直接通過設計prompt來讓LLM輸出最後的結果。

利用LLM進行特征增強:LLMs-as-Enhancers

首先,本文研究利用LLM生成文本嵌入,然後輸入到GNN中的模式。在這一模式下,根據LLM是否嵌入可見,提出了特征級别的增強與文本級别的增強。針對特征級别的增強,進一步考慮了語言模型與GNN之間的優化過程,将其進一步細分為了級聯式結構(cascading structure)與疊代式結構(iterative structure)。下面分别介紹兩種增強方法。

探索大語言模型在圖學習上的潛力(附連結)

圖3.LLMs-as-Enhancers的流程示意圖。前兩張對應了特征級别的增強,分别為級聯式結構與疊代式結構。後一張對應了文本級别的增強。

特征級别的增強

對于特征級别的增強,本文考慮的主要是語言模型、GNN、以及優化方法三個因素。從語言模型上來說,本文考慮了以Deberta為代表的預訓練語言模型、以Sentence-BERT為代表的開源句子嵌入模型、以text-ada-embedding-002為代表的商業嵌入模型,以及以LLaMA為代表的開源大模型。對于這些語言模型,本文主要從模型的種類以及模型的參數規模來考量其對下遊任務的影響。

從GNN的角度來說,本文主要考慮GNN設計中的消息傳遞機制對下遊任務的影響。本文主要選取了GCN,SAGE與GAT這兩個比較有代表性的模型,針對OGB上的資料集,本文選取了目前排行榜上名列前茅的模型RevGAT與SAGN。本文也納入了MLP對應的性能來考察原始嵌入的下遊任務性能。

從優化方法的角度,本文主要考察了級聯式結構與疊代式結構。

  • 對于級聯式結構,本文考慮直接通過語言模型輸出文本嵌入。對于那些規模較小可以進行微調的模型,本文考慮了基于文本的微調與基于結構的自監督訓練(ICLR 2022, GIANT)。不管是哪種方式,最後會得到一個語言模型,然後利用它來生成文本嵌入。這一過程中,語言模型與GNN的訓練是分開的。
  • 對于疊代式結構,本文主要考察GLEM方法(ICLR 2023),它使用EM和變分推斷來對GNN和語言模型進行疊代式的共同訓練。

在實驗部分,本文選取了幾個有代表性的常用TAG資料集,具體的實驗設定可以參考我們的論文。接下來,首先展示這一部分的實驗結果(鑒于空間有限,在這裡展示了兩個大圖上的實驗結果),然後簡要讨論一些有意思的實驗結果。

探索大語言模型在圖學習上的潛力(附連結)

圖4.Arxiv與Products資料集上的實驗結果,左邊對應的是不同的語言模型,上方對應的是不同的GNN。黃綠紅分别對應排名第一第二第三的組合。

從實驗結果來看,有以下幾個有意思的結論。

第一,GNN對不同的文本嵌入有截然不同的有效性。特别明顯的一個例子發生在Products資料集上,以MLP作為分類器時,經過微調的預訓練語言模型Deberta-base的嵌入要比TF-IDF的結果好很多。然而,當使用GNN模型後,兩者的差異很小,特别是使用SAGN模型時TF-IDF的表現要更好。這一現象可能與GNN的過光滑、過相關性有關,但目前還沒有比較完整的解釋,是以也是一個有意思的研究課題。

第二,使用句子向量模型作為編碼器,然後與GNN級聯起來,可以獲得很好的下遊任務性能。特别是在Arxiv這個資料集上,簡單将Sentence-BERT與RevGAT級聯起來,就可以達到接近GLEM的性能,甚至超過了做了自監督訓練的GIANT。注意,這并不是因為用了一個參數量更大的語言模型,這裡使用的Sentence-BERT為MiniLM版本,甚至比GIANT使用的BERT參數量更小。這裡可能的一個原因是基于Natural Language Inference(NLI)這個任務訓練的Sentence-BERT提供了隐式的結構資訊,從形式上來說NLI與link prediction的形式也有一些相似。當然,這還隻是非常初步的猜想,具體的結論還需要進一步探究。另外,從這一結果也給了一些啟發,比如考慮圖上的預訓練模型時,能不能直接預訓練一個語言模型,通過語言模型預訓練更加成熟的解決方案,是不是還可以獲得比預訓練GNN更好的效果。同時,OpenAI提供的收費嵌入模型在節點分類這個任務上相比開源模型的提升很小。

第三,相比于未經微調的Deberta,LLaMA能夠取得更好的結果,但是與句子嵌入這一類的模型還是有不小的差距。這說明相比于模型的參數大小,可能模型的種類是更重要的考量。對于Deberta,本文采用的是[CLS]作為句子向量。對于LLaMA,本文使用了langchain中的llama-cpp-embedding,它的實作中采用了[EOS]作為句子向量。在之前的相關研究中,已經有一些工作說明了為什麼[CLS]在未經微調時性能很差,主要是由于其本身的各項異性,導緻很差的可分性。經過實驗,在高樣本率的情況下,LLaMA生成的文本嵌入可以取得不錯的下遊任務性能,從側面說明了模型的參數量增大可能可以一定程度上緩解這一問題。

文本級别的增強

對于特征級别的增強,本文得到了一些有意思的結果。但是,特征級别的增強還是需要語言模型是嵌入可見的。對于ChatGPT這類嵌入不可見的模型,可以使用文本級别的增強。對于這一部分,本文首先研究了一篇最近挂在Arxiv上的文章Explanation as features(TAPE),其思想是利用LLM生成的對于預測的解釋作為增強的屬性,并通過內建的方法在OGB Arxiv的榜單上排到了第一名的位置。另外,本文也提出了一種利用LLM進行知識增強的手段Knowledge-Enhanced Augmentation(KEA),其核心思想是把LLM作為知識庫,發掘出文本中與知識相關的關鍵資訊,然後生成更為詳盡的解釋,主要是為了不足參數量較小的語言模型本身知識資訊的不足。兩種模型的示意圖如下所示。

探索大語言模型在圖學習上的潛力(附連結)

圖5.文本級别增強的示意圖

探索大語言模型在圖學習上的潛力(附連結)

圖6.TAPE的輸出樣例。增強後的屬性有三部分:原始屬性TA,生成的解釋E,以及僞标簽P。

探索大語言模型在圖學習上的潛力(附連結)

圖7.KEA的輸出樣例。增強後可以得到一個字典形式的關鍵詞與對應解釋的映射。本文嘗試了兩種方法來講原始屬性與增強屬性拼接起來,第一種是直接在文本層面的拼接,一種是分别編碼後進行內建,分别記為KEA-I與KEA-S。

為了測試兩種方法的有效性,本文沿用了第一部分的實驗設定。同時,考慮到使用LLM的成本,本文在Cora與Pubmed兩個小圖上進行了實驗。對于LLM,我們選用了gpt-3.5-turbo,也就是大家所熟知的ChatGPT。首先,為了更好地了解如何進行文本級别的增強以及TAPE的有效性,我們針對TAPE進行了詳細的消融實驗。

探索大語言模型在圖學習上的潛力(附連結)

圖8.TAPE的消融實驗結果,TA表示原始特征,E表示LLM生成的預測與解釋,P表示LLM生成的僞标簽

在消融實驗中,我們主要考慮了以下幾個問題

  • TAPE的有效性主要來源于生成的解釋E還是僞标簽P
  • 用哪種語言模型來編碼增強的屬性是最合适的

從實驗結果可以看到,僞标簽非常依賴于LLM本身的zero shot預測能力(會在下一章詳細讨論),在低樣本率時,可能反而會拖累內建後的性能。是以,在後續的實驗中,本文隻使用原始屬性TA與解釋E。其次,句子編碼相比于微調預訓練模型,可以在低标注率下取得更好的效果,是以本文采用句子編碼模型e5。除此以外,一個有趣的現象是在Pubmed資料集上,當使用了增強後的特征,基于微調的方法可以取得非常好的性能。一種可能的解釋是模型主要是學到了LLM預測結果的“捷徑”(shortcut),是以TAPE的性能會與LLM本身的預測準确率高度相關。接下來,我們比較TAPE與KEA之間的有效性。

探索大語言模型在圖學習上的潛力(附連結)

圖9.KEA與TAPE的比較

實驗結果中,KEA與TAPE相比原始特征都有一定的提升。其中,KEA在Cora上可以取得更好的效果,而TAPE在Pubmed上更為有效。經過下一章的讨論後,會發現這與LLM在Pubmed上本身就有良好的預測性能有關。相比于TAPE,由于KEA不依賴LLM的預測,是以在不同資料集上的表現會更穩定一些。超越這兩個資料集之外,這種文本級别的增強還有更多的應用場景。像BERT或者T5這一類比較小的預訓練語言模型,往往不具備ChatGPT級别的推理能力,同時也沒有辦法像ChatGPT那樣對不同領域的諸如代碼、格式化文本有良好的了解能力。是以,在涉及到這些場景的問題時,可以通過ChatGPT這類大模型對原有的内容進行轉換。在轉換過後的資料上訓練一個較小的模型可以有更快的推理速度與更低的推理成本。同時,如果本身也有一定量的标注樣本,通過微調的方式會比上下文學習更好地掌握資料集中的一些個性化資訊。

利用LLM進行預測: LLMs-as-Predictors

在這一部分,本文進一步考慮能否抛棄GNN,通過設計prompt來讓LLM生成有效的預測。由于本文主要考慮的是節點分類任務,是以一個簡單的基線是把節點分類看作是文本分類任務來處理。基于這個想法,本文首先設計了一些簡單的prompt來測試LLM在不使用任何圖結構的情況下能有多少性能。本文主要考慮了zero shot, few shot,并且測試了使用思維鍊Chain of thought的效果。

探索大語言模型在圖學習上的潛力(附連結)

圖10.不考慮圖結構資訊的Prompt設計

實驗結果如下圖所示。LLM在不同的資料集上的性能差異非常大。在Pubmed資料集上,可以看到LLM在zero shot情況下的性能甚至超過了GNN。而在Cora,Arxiv等資料集上,又與GNN有較大的差距。注意,對于這裡的GNN,在Cora,CiteSeer,Pubmed上,每一類有20個樣本被選為訓練集,而Arxiv與Products資料集上有更多的訓練樣本。相比之下,LLM的預測是基于零樣本或者少樣本的,而GNN并不具備零樣本學習的能力,在少樣本的情況下性能也會很差。當然,輸入長度的限制也使得LLM無法囊括更多的上下文樣本。

探索大語言模型在圖學習上的潛力(附連結)

圖11.不考慮圖結構資訊的Prompt結果

通過對實驗結果進行分析,在某些情況下LLM預測錯的結果也是比較合理的。一個例子如圖12所示。可以看到,很多論文本身也是交叉領域的,是以預測時LLM通過自身的常識性資訊進行推理,有時并不能與标注的偏好比對到一起。這也是值得思考的問題:這種單标簽的設定是合理的嗎?

探索大語言模型在圖學習上的潛力(附連結)

圖12.合理的錯誤

此外,在Arxiv資料集上LLM的表現最差,這與TAPE中的結論并不一緻,是以需要比較一下兩者的prompt有什麼差異。TAPE使用的prompt如下所示。

Abstract: <abstract text> \n Title: <title text> \n Question: Which arXiv CS sub-categorydoes this paper belong to? Give 5 likely arXiv CS sub-categories as a comma-separated list ordered from most to least likely, in the form “cs.XX”, and provide your reasoning. \n \n Answer:

有意思的是,TAPE甚至都沒有在prompt中指明資料集中存在哪些類别,而是直接利用了LLM中存在的關于arxiv的知識資訊。奇怪的是,通過這個小變化,LLM預測的性能有巨大的改變,這不禁讓人懷疑與本身測試集标簽洩漏有關。作為高品質的語料,arxiv上的資料大機率是被包含在了各種LLM的預訓練之中,而TAPE的prompt可能使得LLM可以更好地回憶起這些預訓練語料。這提醒我們需要重新思考評估的合理性,因為這時的準确率可能反映的并不是prompt的好壞與語言模型的能力,而僅僅隻是LLM的記憶問題。以上兩個問題都與資料集的評估有關,是非常有價值的未來方向。

進一步地,本文也考慮了能否在prompt中通過文本的形式把結構資訊也包含進來。本文測試了幾種方式來在prompt中表示結構化的資訊。具體地,我們嘗試了使用自然語言“連接配接”來表示邊關系以及通過總結周圍鄰居節點的資訊來隐式表達邊關系。

結果表明,以下這種隐式表達的方式最為有效。

Paper:<paper content>

NeighborSummary:<Neighborsummary>

Instruction:<Task instruction>

具體來說,模仿GNN的思路,對二階鄰居節點進行采樣,然後将對應的文本内容輸入到LLM中,讓其進行一個總結,作為結構相關資訊,一個樣例如圖13所示。

探索大語言模型在圖學習上的潛力(附連結)

圖13.利用LLM進行總結的prompt示例

本文在幾個資料集上測試了prompt的有效性,結果如圖14所示。在除了Pubmed以外的其他四個資料集上,都可以相對不考慮結構的情況獲得一定的提升,反映了方法的有效性。進一步地,本文分析了這個prompt為什麼在Pubmed資料集上失效。

探索大語言模型在圖學習上的潛力(附連結)

圖14.考慮圖結構資訊的Prompt結果

在Pubmed資料集上,很多情況下樣本的标注會直接出現在樣本的文本屬性中。一個例子如下所示。由于這個特性的存在,想要在Pubmed資料集上取得比較好的結果,可以通過學習到這種“捷徑”,而LLM在此資料集上特别好的表現可能也正源于此。在這種情況下,如果加上總結後的鄰居資訊,可能反而會使得LLM更難捕捉到這種“捷徑”資訊,是以性能會下降。

Title: Predictive power of sequential measures of albuminuria for progression to ESRD or death in Pima Indians with type 2 diabetes. ... (content omitted here)

Ground truth label: Diabetes Mellitus Type 2

進一步地,在一些鄰居與本身标簽不同的異配(heterophilous)點上,LLM同GNN一樣會受到鄰居資訊的幹擾,進而輸出錯誤的預測。

探索大語言模型在圖學習上的潛力(附連結)

圖15.鄰居的異配性造成錯誤預測

GNN的異配性也是一個很有意思的研究方向,大家也可以參考我們的論文Demystifying Structural Disparity in Graph Neural Networks: Can One Size Fit All?

案例研究:利用LLM生成标注

從上文的讨論中可以看到,在一些情況下LLM可以取得良好的零樣本預測性能,這使得它有代替人工為樣本生成标注的潛力。本文初步探索了利用LLM生成标注,然後用這些标注訓練GNN的可能性。

探索大語言模型在圖學習上的潛力(附連結)

圖16.利用LLM生成标注訓練GNN

針對這一問題,有兩個需要研究的點

  • 如何根據圖結構和屬性選擇圖中重要的點,來使得标注的收益最大化,這與圖上主動學習的設定類似
  • 如果估計LLM生成的标注品質,并且過濾錯誤的标注

讨論

最後,簡要讨論一下本文的局限性,以及一些有意思的後續方向。首先,需要說明的是本文主要針對的還是節點分類這個任務,而這個pipeline要擴充到更多的圖學習任務上還需要更多的研究,從這個角度來說标題或許也有一些overclaim。另外,也有一些場景下無法擷取有效的節點屬性。比如,金融交易網絡中,很多情況下使用者節點是匿名的,這時如何構造能夠讓LLM了解的有意義的prompt就成為了新的挑戰。

其次,如何降低LLM的使用成本也是一個值得考慮的問題。在文中,讨論了利用LLM進行增強,而這種增強需要使用每個節點作為輸入,如果有N個節點,那就需要與LLM有N次互動,有很高的使用成本。在實驗過程中,我們也嘗試了像Vicuna這類開源的模型,但是生成的内容品質相比ChatGPT還是相去甚遠。另外,基于API對ChatGPT進行調用目前也無法批處理化,是以效率也很低。如何在保證性能的情況下降低成本并提升效率,也是值得思考的問題。

最後,一個重要的問題就是LLM的評估。在文中,已經讨論了可能存在的測試集洩漏問題以及單标注設定不合理的問題。要解決第一個問題,一個簡單的想法是使用不在大模型預訓練語料範圍内的資料,但這也需要我們不斷地更新資料集并且生成正确的人工标注。對于第二個問題,一個可能的解決辦法是使用多标簽(multi label)的設定。對于類似arxiv的論文分類資料集,可以通過arxiv本身的類别生成高品質的多标簽标注,但對更一般的情況,如何生成正确的标注還是一個難以解決的問題。

參考文獻

[1] Zhao J, Qu M, Li C, et al. Learning on large-scale text-attributed graphs via variational inference[J]. arXiv preprint arXiv:2210.14709, 2022.

[2] Chien E, Chang W C, Hsieh C J, et al. Node feature extraction by self-supervised multi-scale neighborhood prediction[J]. arXiv preprint arXiv:2111.00064, 2021.

[3] He X, Bresson X, Laurent T, et al. Explanations as Features: LLM-Based Features for Text-Attributed Graphs[J]. arXiv preprint arXiv:2305.19523, 2023.

繼續閱讀