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