NeedleBench 超長文本評測基準:大語言模型能否在 1000K 長度上檢索推理?
司南團隊構建了針對大語言模型超長文本能力的中英雙語測試框架——NeedleBench,專門用來壓力測試模型在處理長達百萬級上下文窗口中的檢索能力和推理能力。
論文鏈接:http://arxiv.org/abs/2407.11963
Part1:為什么需要NeedleBench?
現在的大語言模型,如最近公開的 GPT-4o 、GLM-4-9B、InternLM2.5 等,已經擴展了它們的上下文窗口,可以處理多達 100 萬個 token 的文本。
然而,簡單地通過 “Needle-In-A-Haystack” 大海撈針要求 LLMs 提取關鍵信息,并不能充分證明模型能夠處理復雜的長上下文問題。現實世界的任務通常要求模型在多個分散的信息點之間進行檢索和整合,并進行復雜的邏輯推理。
Part2:NeedleBench的核心任務
1. 單針檢索任務(Single-Needle Retrieval Task, S-RT):對應于Needle-In-A-Haystack大海撈針測試任務,測評 LLMs 在長文本中準確回憶插入單一關鍵信息的能力。
2. 多針檢索任務(Multi-Needle Retrieval Task, M-RT):評估 LLMs 在長文本中檢索多個相關信息點的能力,模擬需要從綜合文檔中同時提取多個數據點的復雜查詢。
3. 多針推理任務(Multi-Needle Reasoning Task, M-RS):考察 LLMs 在長文本中提取多個信息點的同時利用它們進行邏輯推理回答問題的能力。
4. 祖先追蹤挑戰(Ancestral Trace Challenge , ATC):用于簡單模擬真實世界長文本任務中可能存在的復雜邏輯關系。在這項測試中,我們引入了抽象的親屬關系針,其中每一根針代表一重邏輯關系。最后將這些親屬關系打亂后要求模型一步一步的推理得到正確結果。例題如下:
問題
鄧麗娟對龔麗麗來說,不只是一個姥姥,還是一個朋友。張娟是李帆的姥爺。黃萍不僅是鄧坤的外婆,還是鄧坤的榜樣。李帆在蔡凱的生命中扮演著外公的角色。龔麗麗作為陳楊的爺爺,對陳楊的成長有重要影響。鄧坤對鄧麗娟來說,不只是一個爸爸,還是一個朋友。黃萍把徐蘭英視為其媽媽。陳楊在張娟的生命中扮演著外公的角色。
在上面提供的打亂的家族關系文本中,'蔡凱'的能夠向上追溯到的最年長的親人是誰?
A. 徐蘭英
B. 黃萍
C. 鄧坤
D. 鄧麗娟
回答
根據提供的信息,我們可以構建以下家族關系鏈:
- 蔡凱的外公是李帆。
- 李帆的姥爺是張娟。
- 張娟的外公是陳楊。
- 陳楊的爺爺是龔麗麗。
- 龔麗麗的姥姥是鄧麗娟。
- 鄧麗娟的爸爸是鄧坤。
- 鄧坤的外婆是黃萍。
- 黃萍的媽媽是徐蘭英。
因此,"蔡凱" 能夠向上追溯到的最年長的親人是徐蘭英。
所以答案是:A
Part3:NeedleBench 測評結果
1、NeedleBench-32K和200K
結果表明:
- 在 32K 的上下文長度下,InternLM2-7B-200K 在單一檢索任務中表現出色,表明其在準確檢索單一信息方面具有很強的能力。
- Qwen-1.5-72B-vLLM 在多針推理任務中表現出色,其參數量達到了 72B,展現了其在理解和推理復雜信息關系方面的優勢。
- Mixtral-8x7B Instruct v0.1 在總體性能上表現優異,特別是在檢索任務中。
通過在 32K 長度下測試的直方圖中可以看出,具有較大參數量的模型往往能取得更高的平均分數。
隨著上下文長度進一步擴展到 200K,能夠支持如此超長上下文的開源 LLMs 變得更少,各模型表現如下表。
InternLM2-7B-200K 在單一檢索任務中繼續表現出其一貫的強項,但在多針檢索測試中表現出顯著下降。
這是由于 InternLM2 在訓練過程中對單一檢索任務過度擬合,導致其在多重檢索測試中經常只回應一個目標。這表明更長的上下文長度可能需要模型在指令遵循和信息檢索能力方面的提升。
另一方面,Orion-14B-LongChat 在多針檢索任務中更為擅長,但在處理長文本的單針檢索和多針推理任務中表現欠佳,當上下文長度達到約 80K 時,表現出現下降。
2、NeedleBench-1M
我們也在最新發布的兩個開源超長文本 LLMs 進行了測評,分別為 GLM4-9B-Chat-1M 和 InternLM2.5-7B-Chat-1M。
從表中可以看出,在絕大多數任務中,InternLM2.5-7B-Chat-1M 的表現優于GLM4-9B-Chat-1M。
我們進一步調查了這種差異的原因。兩個模型其中一個差距較大的任務是單一檢索任務,通過檢查模型輸出,我們發現在默認設置下,GLM4-9B-Chat-1M 模型經常因為認為原文中沒有相關內容而未能回答問題。在下圖場景中,我們展示了 GLM4-9B-Chat-1M 在英文版單針檢索中最常見的錯誤:
因此,我們嘗試去掉要求模型首先回憶文檔中與問題最相關句子的要求,轉而直接指示模型回答問題。我們觀察到 GLM4-9B-Chat-1M 性能明顯增強,在單一檢索任務中的表現和 InternLM2.5-7B-Chat-1M 相當。意味著 GLM4-9B-Chat-1M 具有完美召回 1000K 內單個關鍵信息的能力,但在個別情形下并不能表現出來,可見需要引入更復雜的微調或對齊策略,以充分發揮模型的長文本能力。
3、祖先追蹤挑戰(ATC)測試結果
我們對主流 LLMs 進行了極限的多重邏輯壓力測試。具體來說,我們測試了邏輯層數分別為 2 到 19 步的多重邏輯問題。LLMs 被要求按照選擇題的方式選擇正確答案,分為直接選擇 ABCD(Direct模式) 或先推理最后再選擇選項 (Rea.) 的兩種方式。測試結果如下:
可以觀察到:
- API 模型相比于開源 LLMs 具有明顯的優勢,如 Claude-3-Opus 和 GPT4-Turbo 的分數大幅度領先開源 LLMs;
- DeepSeek-67B 在推理能力上與頂級 API 模型相近,表明了縮小 API 和開源模型之間的性能差距的希望。
令人驚訝的是,幾乎所有開源 LLMs 的準確率在大約 1K token 長度內都降低到了 10% 以下,這表明無論是開源還是閉源的 LLMs 在處理現實世界中長文本中的復雜邏輯問題方面存在顯著困難,因為它們難以處理蘊藏在真實世界長文本中的復雜邏輯關系。
為了進一步測試閉源模型的極限,我們將上下文進一步拉長到 2K 左右的長度,下圖展示了目前業界最佳的 LLMs,雖然能夠相比開源 LLMs 處理更多重邏輯關系,但仍然在長度達到 2K 時 ATC 測試的平均分降到 10 分以下。這意味著這些領先模型在處理可能蘊藏在長文本中的復雜邏輯問題時也存在很大的局限性。
Part4:結論
本研究中的 ATC 測試表明,對于 LLMs 來說,長文本理解不應僅局限于檢索任務,而應重視長文本中蘊含的邏輯推理的復雜性。未來的 LLMs 應該特別優化長文本情形下的推理能力,以應對在這種情形中可能出現的復雜邏輯挑戰。
此外,未來的工作還應著重提高長文本情形下 LLMs 的魯棒性。我們在 NeedleBench 1000K 實驗中的發現表明,個別 LLMs 對提示詞(Prompt)非常敏感。開發緩解提示詞敏感性的策略將是確保模型在不同提示詞下表現一致性的重要步驟,從而增強這些模型處理長文本數據的整體可靠性。
Part5:如何使用 NeedleBench 進行模型評測
NeedleBench 目前支持在 OpenCompass 中一鍵評測啦!
只需下面一行代碼,即可支持百種大模型一鍵化評測!如 InternLM2-7B-Chat 模型進行 NeedleBench 評測只需要:
python run.py --dataset needlebench_4k --models lmdeploy_internlm2_
chat_7b --summar
izer needlebench/needlebench_4k_summarizer
同時,OpenCompass 評測過程中所用到的工具鏈均已在 Github 開源,歡迎使用 OpenCompass 來探索大模型的奧秘!
GitHub:
https://github.com/open-compass
OpenCompass官網:
https://hub.opencompass.org.cn/home
