一文詳看大模型長文本如何評估:四大主流評測數據集的任務設計、數據集構建方案
大語言模型(LLM)盡管在各種語言任務中表現搶眼,但通常僅限于處理上下文窗口大小范圍內的文本。
有越來越多的基準被提出來測試LLM的長文本理解能力。
當前具有代表性的長文本評測主要包括Zero-SCROLLS、L-Eval、LongBench以及loogle四個基準。
本文對這個幾個數據集進行梳理,供大家一起參考,包括任務的設計、任務數據集的構造方案,這些都很有借鑒性。
一、ZeroSCROLLS評測數據集
ZeroSCROLLS將不同來源的數據集自動處理成平均10k詞的統一輸入格式。
地址:https://arxiv.org/pdf/2305.14196.pdf
ZeroSCROLLS作為一個零測試基準,包含十個自然語言任務的測試集,每個任務都要求對不同類型的長文本進行推理,每個任務最多只能使用500個示例。
其中:
六個數據集是該工作根據Shaham等人的研究成果改編的,另外四個是新任務。
圖片
1、Summarization摘要任務
該工作采用了SCROLLS中的三個摘要數據集(GovReport、SummScreenFD和QM-Sum),并增加了第四個數據集(SQuALITY)。
GovReport和SummScreenFD是全文檔摘要任務,而QMSum和SQuALITY則以查詢為重點。
其中:
GovReport:包含國會研究服務處和美國政府問責辦公室的長篇報告及其專家書面摘要。
SummScreenFD:包含從維基百科和TVMaze收集的電視節目集腳本及其摘要。
QMSum:一個基于查詢的會議記錄摘要數據集。該數據集包含學術會議、工業產品會議以及威爾士和加拿大議會的會議記錄。除了會議筆錄,每個實例還包含一個查詢,目的是將摘要集中在特定主題上。
SQuALITY:一個以問題為中心的摘要數據集,給定古騰堡計劃中的一個故事,任務是根據一個指導性問題生成該故事或其某些方面的摘要。
摘要任務對應的prompt如下:
圖片
2、Question Answering
該工作采用了SCROLLS的三個問題解答數據集(Qasper、NarrativeQA和QuAL-ITY),并增加了MuSiQue,該數據集側重于多跳問答。
其中:
Qasper:包含來自語義學者開放研究語料庫(S2ORC)的NLP論文。NLP從業人員根據摘要提出問題,另一組從業人員根據文章內容進行回答。
NarrativeQA:包含對古騰堡計劃(ProjectGutenberg)中的書籍和各種網站中的電影劇本的提問和回答。為了創建問題和答案,標注人員者從維基百科中獲得了書籍和電影的摘要。 每個問題由一個或多個標注人員回答。
QuALITY:包含來自古騰堡計劃、開放美國國家語料庫等的故事和文章。每篇文章都包含一個故事和一個選擇題;問題編寫者在指導下編寫需要閱讀故事的大部分內容才能正確作答的問題。
MuSiQue:一個多跳問題解答數據集,輸入是20個維基百科段落和一個需要在不同段落之間進行多次跳轉的問題。在原始數據集中,每個問題都有一個無法回答的孿生問題,即正確答案不存在于段落中。該工作為ZeroSCROLLS隨機抽取了100個無法回答的問題和400個可以回答的問題。
3、Aggregation
該工作創建了兩個新任務,從結構上看,這兩個任務要求對輸入信息的不同部分進行上下文關聯和信息聚合。其中:
SpaceDigest:一項新的情感聚合任務。給定Space數據集中的50條酒店評論(不含評分),任務是確定正面評論的百分比。
該工作從原始數據集中評分最高的500家酒店中為每家酒店創建一個示例(50條評論),只保留嚴格意義上的正面評論(評分為5分或4分)或負面評論(評分為2分或1分),剔除評分為3分的矛盾評論。
為了驗證人類是否能很好地完成這項任務,該工作給5名標注人員提供了一個縮略版的示例(每個示例包含10條評論),并要求他們寫出正面評論的百分比。
每位標注人員需要分配到10個示例(每位注釋者100條評論,總計500條)。
BookSumSort:一項基于Book-Sum數據集的新任務,該數據集包含各種來源的小說、戲劇和長詩的章節(或部分)摘要。
給定一個章節摘要的列表,任務是根據BookSum中摘要的原始順序對其重新排序。該工作通過人工從BookSum中選擇125本書的摘要來創建任務,只保留高質量的實例。該工作對每篇摘要進行人工編輯,刪除引言、序言、概述等內容,以及任何其他可能表明摘要確切位置的信息;
例如,"第8章以簡描述......開始"被替換為"本章以簡描述......開始","隨著戲劇的開場,希波呂托斯宣布......"被替換為"希波呂托斯宣布......"。每個摘要列表包含3至86個章節的摘要,中位數為15個,平均每個實例包含18.8個章節。
該工作從每個列表中隨機選擇4種排列方式,創建500個實例。
對應的prompt如下:
圖片
二、L-Eval評測數據集
L-Eval(L-EVAL: INSTITUTING STANDARDIZED EVALUATION FOR LONG CONTEXT LANGUAGE MODELS)從規模較小的類似公共數據集中重新標注數據和指令,以確保質量。此外,它還優化了評估程序和基線,以獲得更準確的結論。
地址:https://arxiv.org/pdf/2307.11088.pdf
表1列出了L-Eval的統計數據
圖片
L-Eval包含多種題型,如:
選擇題(TOFEL、QuALITY、Coursera)
真假題(SFiction)
數學題(GSM)
代碼理解(CodeU)
目標導向對話(Multi-Doc2Dial)
提取式QA(CUAD、NQ)
摘要性QA(LongFQA、NarrativeQA、Qasper)
單篇文檔摘要(GovReport、BigPatent、SummScreen、SummScreen、QMSum)
多文檔摘要(Multi-News、SPACE)
研究寫作(Openre-view)
在數據分布方面,L-Eval中的長文檔涉及法律、金融、學術論文、講座、長篇對話、新聞、著名Python代碼庫、長篇小說和會議等多個領域。
在長度方面,L-Eval的平均輸入長度從4k到60k不等,最大樣本包含近20萬個token。這種多樣性代表了現實世界中不同任務可能需要不同長度的上下文和指令的情況,不同任務的引用長度也有很大差異。
1、從零開始的數據標注
L-Eval共有4個從頭標注的數據集:Coursera、SFcition、CodeU和LongFQA。
原始資源分別是來自Coursera的視頻、以前的開源數據集、著名Python庫的源代碼以及公開的通話記錄。
為了降低標注的難度,該工作選擇了四門與大數據和機器學習相關的公開課程。輸入的長文檔是視頻的字幕。問題和真實答案由作者標注。Coursera的教學方式是選擇題。為了增加任務的難度,該工作設置了多個正確選項。
CodeU是代碼理解數據集,要求LLM推斷冗長Python程序的輸出。該工作主要使用Numpy的源代碼,并構建了一個字符串處理代碼庫。
為了防止LLM根據其參數知識回答問題,該工作替換了原始函數名。LLM應首先找到函數被調用的位置,并確定調用了哪些函數。
LongFQA該工作還注意到,金融領域缺乏長語境問題解答數據集,因此該工作根據6家公司網站投資者關系部分的公開盈利電話記錄來標注QA對。
2、從公共數據集重新標注數據
該工作在L-Eval中對5個公開數據集進行了重新標注。
其中:
GSM(16-shot)源自GSM8k數據集。考慮到如果LCLM在較長的語境中仍能保持其推理能力,那么使用更多高質量的示例將對數學問題的解決產生積極影響。該工作用較長的"思維鏈"(Chain-of-Thought)構建了16個上下文示例,其中8個示例來自"思維鏈"集線器(Chain-of-Thought-hub),8個示例由該工作自己構建。
在QuALITY中注入了新的合成指令來測試全局上下文建模,例如"該工作能從這個故事中最長的句子中推斷出什么?"和"故事中有多少個單詞?
Openreview數據集包含從openreview.net收集的論文。該工作要求模型撰寫摘要部分,總結相關工作,最后給出反饋,包括給作者的寶貴建議和一些問題。
3、數據過濾與校正
剩下的12個任務來源于現有數據集。然而,L-Eval在數據收集后需要更多的人力,因為該工作發現以前的長序列數據集的標注質量波動很大,有很多無法回答的問題與上下文無關。這些錯誤很難通過以往工作中的自動預處理腳本來糾正。
在L-Eval中,所有樣本都是在數據收集后手動過濾和校正。具體地,該工作使用Claude-100k作為助手來過濾錯誤的QA和無法回答的問題。
首先,該工作將冗長的文檔輸入Claude,并要求它提供答案和解釋。如果clsude給出的答案與基本事實嚴重不符,或者說該工作無法從上下文中推斷出答案,就會對其進行重新標注或直接刪除。
三、LongBench評測數據集
LongBench《LongBench: A Bilingual, Multitask Benchmark for Long Context Understanding》提供了一個雙語和多任務數據集,具有不同長度、分布、模式、語言和領域的各種序列,用于全面評估長語境理解能力。
圖片
地址:https://arxiv.org/abs/2308.14508
1、Single-Doc QA單文檔問答
對于單文檔QA,該工作主要關注具有較長文檔的實例。包括:NarrativeQA,該數據集由長故事和測試閱讀理解能力的問題組成。該工作還從Qasper中采樣,該數據集的特點是對NLP論文進行QA,并由NLP從業人員進行標注。
為了更好地測試模型在不同領域的長語境理解能力,該工作手工整理了中英文的MultiFieldQA數據集。
具體地,首先從多個來源收集文件和文章,包括法律文件、政府報告、百科全書、學術論文等。該工作邀請了三位博士生為每篇文章的問題和答案進行標注,為了便于自動評估,標注時盡量給出明確的答案。
在注釋過程中,該工作確保答案可以從文件中推斷出來,而且證據的位置是相當隨機的,以避免出現偏差,例如,如果與答案相關的語句經常出現在開頭或結尾。
2、Multi-Doc QA多文檔問答
多文檔問答要求模型從多個文檔中提取和組合信息以獲得答案,這通常比單文檔問答更具挑戰性。
英語測試樣本來自三個基于維基百科的多跳QA數據集:HotpotQA、2WikiMultihopQA和MuSiQue。
HotpotQA涉及一些由母語人士直接撰寫的2-hop問題,給出兩個相關的段落。
2WikiMultihopQA包含多達5跳的問題,這些問題是通過人工設計的模板合成的,以確保這些問題無法通過捷徑解決。
MuSiQue中的問題由涉及最多4跳推理的簡單問題精心組成,然后由標注人員進行解析,以避免走捷徑并確保語言的自然性。原始數據集中的每個問題都有2-4個提供一步推理證據的輔助段落和幾個分散注意力的段落作為補充。
為了調整數據以進行長文本評估,該工作利用維基百科中包含支持段落或干擾段落的完整段落作為語境。首先,在上下文中包含支持性段落,然后添加盡可能多的干擾性段落,直到總長度達到最大長度。最后,這些段落被隨機排序,形成多文檔上下文。
除了這三個英文數據集之外,該工作還構建了一個基于DuReader的中文數據集。為了使其適用于評估長語境能力,該工作不僅為每個問題提供若干與該問題相關的文檔,還從全部文檔集中任意選擇若干文檔作為干擾項,直到每個問題與20個文檔相關聯。
3、Summarization摘要
與通常可以利用上下文中的局部信息來解決的質量保證任務相比,摘要要求對整個上下文有更全面的了解。
原始GovReport數據集是美國政府問責局和國會研究服務部的詳細報告的大規模集合,每份報告都附有人工撰寫的摘要,內容涵蓋各種國家政策問題。
QMSum數據集包含了232個會議的查詢-摘要對標注,涉及多個領域,包括產品會議、學術會議和委員會會議。該工作將查詢視為輸入I,將會議內容視為上下文C,將摘要視為答案A。
MultiNews是多文檔摘要數據集,由2-10篇討論同一事件或話題的新聞文章組成,每篇文章都配有人工撰寫的摘要,總結了多篇源文章中的關鍵信息。在LongBench中,該工作在第i篇新聞文章前加入"Documenti",并將其串聯到上下文C中。
VCSUM是一個大規模的中文會議摘要數據集,由239個真實會議組成,持續時間超過230小時,可支持多種摘要任務。在LongBench中,選擇VCSUM中的長片段作為評估樣本。
4、Few-shot Learning
為了確保任務的多樣性,該工作將分類、總結和閱讀理解任務納入了few shot學習場景中。該工作納入了兩個具有細粒度類標簽的分類數據集,包括TREC和LSHT,前者是涉及50個細粒度類的問題分類任務,后者是涉及24個類的中文新聞分類任務。
在摘要任務方面,使用SAMSum數據集,該數據集包含有標注摘要的信使式對話。TriviaQA包含標有證據段落的問答對,該工作將其用作閱讀理解任務。該工作將TriviaQA中字數少于1,000字的段落過濾為潛在示例。
對于TREC、LSHT、SAMSum和TriviaQA,范圍分別為[100,600]、[10,40]、[10,100]、[2,24]。
5、Synthetic Task合成任務
合成任務通過精心設計來測試模型在特定場景和模式下的能力。在LongBench中,該工作設計了三個合成任務。
PassageRetrieval-en和PassageRetrieval-zh基于英文維基百科和C4數據集構造,對于每個數據條目,該工作隨機抽取30個段落,并選擇其中一個使用GPT-3.5-Turbo進行總結。該任務要求模型識別精心制作的摘要所對應的原始段落。
PassageCount試要求模型利用完整的上下文來完成任務。對于每項數據,從英文維基百科中隨機選取幾個段落,將每個段落隨機重復若干次,最后將段落打亂,要求模型確定給定集合中唯一段落的數量。具體地,該工作隨機選擇M作為段落數的上限。然后,從[2,M]范圍內隨機抽取唯一段落數N,從N個唯一段落中進行隨機抽樣(替換),得到最終的M個段落。
6、Code Completion代碼補全任務
代碼自動補全是自動補全系統的一項重要任務,它可以根據先前的代碼輸入和上下文幫助用戶補全代碼。
這項任務會對模型構成巨大挑戰,尤其是在處理冗長的代碼輸入或甚至是資源庫級數據時。這主要是因為模型需要根據代碼元素內部的關系(如類和函數定義之間的關系)在長距離序列中建立注意力。因此,該工作認為這是一項適合評估模型長語境建模能力的任務。
其中:
LCC數據集取自原始的長代碼完成數據集。原始數據集是根據長度過濾GitHub上一個文件中的代碼而構建的。該數據包括作為上下文的前幾行長代碼和作為答案的下一行代碼。
考慮到版本庫級別的代碼補全設置,這就需要匯總跨文件的代碼信息。為此,該工作采用了RepoBench-P數據集。
RepoBench-P數據集收集自Github代碼庫,首先根據模塊導入語句從其他文件中檢索相關代碼片段。然后將這些代碼片段與當前文件中的前幾行代碼串聯起來作為上下文,并用于預測下一行代碼。
該工作從原始數據集中選擇了最具挑戰性的XF-F(跨文件優先)設置,在這種設置中,文件內上下文沒有提供模塊的先前使用情況來幫助預測。
對于每份原始數據,該工作會對包含真實跨文件代碼片段(人工標注為最佳預測上下文)的跨文件代碼片段進行打亂,并將其合并為上下文C。
圖片
四、LooGLE評測數據集
LooGLE包含更具挑戰性的長依賴任務,如事件時間線重排、理解/推理和計算。這些任務不僅需要信息檢索,還需要對整個文本進行理解/推理。
圖片
如表2所示,有三類數據源。
圖片
LooGLE中生成了兩類主要任務:短依賴任務和長依賴任務。
對于短依賴性任務,從維基百科文章和腳本中生成短QA。
對于長依賴性任務,包括針對arXiv論文的摘要和針對長文檔理解的人工設計QA任務。
QA有四個主要子任務:多重信息檢索、時間軸重排、計算、理解和推理。該工作精細地生成任務/問題,以定制每個數據源的內在特征,從而更好地進行長文理解評估。
論文地址:https://arxiv.org/pdf/2311.04939.pdf
項目地址:https://github.com/bigai-nlco/LooGLE.
1、數據集的選擇和構建
該LooGLE基準由3個數據源組成:科學論文、維基百科文章、電影和電視腳本,它們都涵蓋了不同的主題和類別,用所有文檔都是2022年后的文檔,長度超過10k。
其中,
針對arXiv論文。采用隨機抽取的方法,從arXiv網站(https://arxiv.org/)上的10,000個大量條目中抽取數據。這些條目從2022年1月到2023年4月不等。然后提取它們的摘要,使其成為該工作總結任務的主要來源。該工作在保證數據質量方面相當嚴格,所以刪去參考文獻部分,清理數學公式中的亂碼,并剔除字數少于10,000字的文檔。經過全面檢查,該工作最終收集到了516篇可靠的研究論文。
對于維基百科文章,首先從官方網站(https://dumps.wikimedia.org/)下載并解析了以.bz文件格式存在的最新頁面文章。然后,利用來自HuggingFace(https://huggingface.co/datasets/wikipedia)的開源維基百科數據集(202203.en)子集,保留了2022年之后字數超過10k的文章。由于轉儲文件中的某些頁面可能已不存在,并被重定向到相關頁面,因此只保留重定向后的頁面(免責摘要、引文和參考文獻)。
對于電影和電視腳本,所有劇本均來自三個網站(https://www.scriptslug.com,https://thescriptlab.com/,https://8flix.com),包括2022年之后上映的電影和電視劇
2、長依賴任務
摘要Summarization:直接使用每篇論文的摘要作為生成摘要的參考。摘要有效地捕捉了每篇論文的主要內容和關鍵信息。
每個文檔的平均字數在10,000到20,000之間,需要生成5到10個問題。此外,參與者不得使用大型語言模型和ChatGPT等工具進行文章閱讀、數據生成和標注。
Long dependency QA長依賴性問答:花費了大量精力手動編制了約1.1k個真正的長依賴性質量保證對。該工作手動設計了4個長依賴性任務:多重信息檢索、時間軸重排、計算、理解和推理,如圖2所示。
圖片
a.多重信息檢索Multiple information retrieval
與傳統的短期檢索任務完全不同,對于一個特定的答案,整個文本中通常存在多種多樣的證據。這項任務要求從廣泛分布的冗長文本中提取大量信息,然后匯總證據,得出最終答案。證據的呈現方式非常明顯,可以直接在原文的句子或章節中找到。
b.計算Computation
與前一項任務類似,它首先需要從大量文本中進行多重信息檢索。文本中的大部分證據都以數字數據的形式出現,通常以問題的形式出現,如詢問數量、頻率、持續時間、具體數字等。
要做出準確的回答,必須深刻理解問題及其與所提供的數字數據之間的關聯。這一過程在很大程度上依賴于掌握大量背景信息的能力,同時還涉及一定程度的數學推理能力。
c.時間軸重排Timeline reorder
這項任務采用了較為傳統的形式,其中包括"請將下列事件的時間線重新排序"的指令,以及一組以排列順序呈現的事件。任務的目的是將這些事件按照時間順序排列在全文中。
這些事件直接來源于原文,可以是摘錄的片段,也可以是概括的事實信息。要成功完成這項任務,就必須記住或全面理解文件的中心故事情節,并評估模型在時間意識方面的熟練程度。
d.理解和推理Comprehension and reasoning
這項任務不僅要求對問題有深刻的理解,還要求進行復雜的推理,以辨別尋找適當證據的內在含義。最常見的問題模式涉及對因果關系、影響、貢獻、態度以及與各種事件相關的基本屬性的探究。
這項任務的答案在原文中并不明顯。它們往往需要多步推理來模擬內在的聯系和依賴關系,從而有助于通過復雜的分析過程獲得答案。
2、短依賴任務
短依賴任務包括Question Answering (QA) 任務和Cloze任務。為了生成簡短的依賴關系問題解答對,該工作利用了GPT3.5-turbo-16k。這些簡短的依賴關系問答對通常不需要大量的證據檢索,可以從本地化的片段中提取。
圖片
該工作將每篇文章分為多個片段,并采用迭代方法來提示語言模型(LLM)根據這些片段生成QA對,包括文章中的相關支持證據。
隨后對QA對進行人工審核,通過過濾非必要的上下文和刪除多余的描述來完善部分答案。這一嚴格的整理過程是為了確保所生成的QA對的高質量和相關性。
2、Cloze任務
最初,該工作將每個腳本分成不同長度的片段。然后,該工作使用GPT3.5-turbo-16k生成與源片段一致的事實摘要以及提示中包含的一些限制條件(見附錄D)。
之后,使用BERT-large對生成的摘要進行命名實體識別(NER),將類型限制為人名、地點和組織。
圖片
最后,從摘要中隨機選擇一定數量(不超過5個)的實體作為占位符進行屏蔽,標記為""。該目標是根據長上下文預測被屏蔽的實體。
總結
本文主要針對長文本評估,梳理了當前具有代表性的長文本評測,包括Zero-SCROLLS、L-Eval、LongBench以及loge四個基準。
其中關于數據集的選取,任務的設計,以及對現有模型的評估都具有很好的指引性,對于具體的細節信息,可以對參考文獻進行查閱,會有更多的收獲。
參考文獻
1、https://arxiv.org/pdf/2311.04939.pdf
2、https://arxiv.org/abs/2308.14508
3、https://arxiv.org/pdf/2307.11088.pdf
4、https://arxiv.org/pdf/2305.14196.pdf
關于我們
老劉,劉煥勇,NLP開源愛好者與踐行者,主頁:https://liuhuanyong.github.io。