自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?

發(fā)布于 2024-6-20 09:58
瀏覽
0收藏

關(guān)鍵鏈接

  • 視頻介紹
  • 相關(guān)代碼

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?-AI.x社區(qū)

概覽

隨著人工智能模型處理能力的增強(qiáng),能夠處理的上下文信息越來(lái)越多,達(dá)到百萬(wàn)級(jí)別的詞匯量,對(duì)于這類長(zhǎng)上下文的大型語(yǔ)言模型(LLMs)的研究興趣也隨之增長(zhǎng)。在這些模型中,一個(gè)流行的測(cè)試方法是將一個(gè)事實(shí)(稱為“針”)嵌入到大量的上下文信息(稱為“干草堆”)中,然后測(cè)試模型是否能在這個(gè)上下文中找到并回答與這個(gè)事實(shí)相關(guān)的問(wèn)題。通過(guò)這個(gè)方法我們能夠評(píng)估并理解模型在處理長(zhǎng)文本和檢索信息方面的能力邊界。

然而,這種方法并不完全適用于所有情況,尤其是對(duì)于那些需要檢索多個(gè)事實(shí)并在此基礎(chǔ)上進(jìn)行推理的應(yīng)用。為了解決這個(gè)問(wèn)題,我們提出了一個(gè)新的測(cè)試基準(zhǔn),即多針檢索加推理測(cè)試。在這個(gè)測(cè)試中,我們發(fā)現(xiàn)了兩個(gè)主要結(jié)果:

  1. 當(dāng)要求模型檢索更多的事實(shí)時(shí),其性能會(huì)下降。
  2. 當(dāng)模型需要對(duì)檢索到的事實(shí)進(jìn)行推理時(shí),性能也會(huì)下降。

下圖展示了測(cè)試結(jié)果的概覽:隨著“針”的數(shù)量增加,檢索的準(zhǔn)確性降低;而且,對(duì)這些“針”進(jìn)行推理的難度比單純檢索更大。

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?-AI.x社區(qū)

我們還發(fā)現(xiàn),隨著提供給模型的上下文信息量的增加,性能也會(huì)下降。此外,我們還深入研究了性能下降的原因,特別是當(dāng)檢索多個(gè)“針”時(shí)。通過(guò)分析結(jié)果的熱圖,我們發(fā)現(xiàn)當(dāng)檢索多個(gè)“針”時(shí),GPT-4模型傾向于檢索位于上下文末尾的“針”,而忽略了開(kāi)頭的“針”,這與之前的單“針”研究結(jié)果相似。

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?-AI.x社區(qū)

接下來(lái),我們將詳細(xì)介紹如何使用這個(gè)基準(zhǔn)測(cè)試,并討論在 GPT-4 模型上的測(cè)試結(jié)果。

如何使用

要進(jìn)行“多針檢索加推理”的評(píng)估,用戶需要準(zhǔn)備三個(gè)要素:

  • 一個(gè)需要多個(gè)“針”來(lái)回答的“問(wèn)題”
  • 一個(gè)基于這些“針”得出的“答案”
  • 一個(gè)將要插入上下文的“針”的列表

我們擴(kuò)展了 Greg Kamradt 的“LLMTest_NeedleInAHaystack”項(xiàng)目,以支持多針評(píng)估,并且使用了 LangSmith 作為評(píng)估工具。通過(guò) LangSmith,我們創(chuàng)建了一個(gè)評(píng)估集,其中包含了上述的“問(wèn)題”和“答案”。

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?-AI.x社區(qū)

以一個(gè)實(shí)際案例為例,我們創(chuàng)建了一個(gè)新的 LangSmith 評(píng)估集,名為“multi-needle-eval-pizza-3”,其中包含了關(guān)于披薩秘密配料的問(wèn)題和答案:

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?-AI.x社區(qū)

問(wèn)題:
制作完美披薩需要哪些秘密配料?

答案:
制作完美披薩的秘密配料包括無(wú)花果、帕爾馬火腿和山羊奶酪。

在創(chuàng)建了數(shù)據(jù)集之后,我們可以通過(guò)設(shè)置一些參數(shù)來(lái)運(yùn)行評(píng)估,例如:

  • document_depth_percent_min - 第一個(gè)“針”插入的位置。其余的“針”將在第一個(gè)之后均勻插入
  • multi_needle - 執(zhí)行多針評(píng)估的標(biāo)記
  • needles - 要插入上下文的“針”的完整列表
  • evaluator - 選擇評(píng)估工具 LangSmith
  • eval_set - 選擇我們創(chuàng)建的評(píng)估集“multi-needle-eval-pizza-3”
  • context_lengths_num_intervals - 測(cè)試的上下文長(zhǎng)度數(shù)量
  • context_lengths_min(和最大值)- 測(cè)試的上下文長(zhǎng)度范圍

我們可以使用以下命令來(lái)執(zhí)行評(píng)估:

python main.py --evaluator langsmith --context_lengths_num_intervals 6 --document_depth_percent_min 5 --document_depth_percent_intervals 1 --provider openai --model_name "gpt-4-0125-preview" --multi_needle True --eval_set multi-needle-eval-pizza-3 --needles '[ "無(wú)花果是制作完美披薩的秘密配料之一。", "帕爾馬火腿是制作完美披薩的秘密配料之一。", "山羊奶酪是制作完美披薩的秘密配料之一。"]'  --context_lengths_min 1000 --context_lengths_max 120000

這個(gè)命令將啟動(dòng)一個(gè)工作流程,其中包括將“針”插入到上下文中,使用帶有這些“針”的上下文提示模型生成回答,并評(píng)估模型的生成是否正確地檢索了“針”。

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?-AI.x社區(qū)

“多針檢索加推理”評(píng)估工作流程圖

GPT-4 的檢索結(jié)果

為了測(cè)試 GPT-4 的多針檢索能力,我們創(chuàng)建了三個(gè) LangSmith 評(píng)估集:

  • “multi-needle-eval-pizza-1” - 插入一個(gè)“針”。
  • “multi-needle-eval-pizza-3” - 插入三個(gè)“針”。
  • “multi-needle-eval-pizza-10” - 插入十個(gè)“針”。

我們?cè)u(píng)估了 GPT-4(能夠處理 128k 標(biāo)記長(zhǎng)度的上下文)在單個(gè)回合中檢索 1、3 或 10 個(gè)“針”的能力,上下文長(zhǎng)度分別為?。?000 標(biāo)記)和大(120,000 標(biāo)記)。所有運(yùn)行的命令和生成結(jié)果的鏈接都已提供。

https://github.com/gkamradt/LLMTest_NeedleInAHaystack/blob/main/viz/multi-needle-datasets/

這里是我們的結(jié)果摘要圖:

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?-AI.x社區(qū)

我們可以看到:

  • 當(dāng)“針”的數(shù)量從 1 增加到 10 時(shí),模型的性能有所下降。
  • 當(dāng)上下文長(zhǎng)度從 1000 增加到 120,000 標(biāo)記時(shí),性能也會(huì)下降。

為了進(jìn)一步探索和驗(yàn)證這些結(jié)果,我們可以查看 LangSmith 跟蹤的一個(gè)例子,其中我們插入了 10 個(gè)“針”。GPT-4 的生成結(jié)果如下:

制作完美披薩所需的秘密配料包括浸泡在濃縮咖啡中的棗、甜藍(lán)紋奶酪、糖核桃和梨片。

在這次生成中,只有 四個(gè) “秘密配料” 被正確提及。根據(jù)跟蹤結(jié)果,我們確認(rèn)所有 10 個(gè)“針”都存在于上下文中,并記錄了它們被插入的順序:

* 無(wú)花果
* 帕爾馬火腿
* 煙熏蘋(píng)果木培根
* 檸檬
* 山羊奶酪
* 松露蜂蜜
* 梨片
* 浸泡在濃縮咖啡中的棗
* 甜藍(lán)紋奶酪
* 糖核桃

我們發(fā)現(xiàn),GPT-4 在生成中只提及了我們上下文中最后四個(gè)“針”。這揭示了檢索失敗的一個(gè)有趣現(xiàn)象:當(dāng)上下文變長(zhǎng)時(shí),模型更容易忽略位于文檔開(kāi)頭的“針”。

因?yàn)槲覀冇涗浟嗣總€(gè)“針”的插入位置,我們還可以探究這一點(diǎn):下面的熱圖顯示了隨著上下文長(zhǎng)度的增加,10 個(gè)“針”檢索的情況。每一列代表一個(gè)實(shí)驗(yàn),我們要求 GPT-4 在上下文中檢索 10 個(gè)“針”。

隨著上下文長(zhǎng)度的增加,我們觀察到模型在文檔開(kāi)頭的檢索失敗。這種趨勢(shì)在多“針”情況下(大約 25k 標(biāo)記)比單“針”情況(對(duì)于 GPT-4 是從 73k 標(biāo)記開(kāi)始)更早出現(xiàn)。

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?-AI.x社區(qū)

GPT-4 的檢索與推理

檢索增強(qiáng)生成(RAG)通常涉及從索引的文檔庫(kù)中檢索多個(gè)事實(shí),然后在這些事實(shí)的基礎(chǔ)上進(jìn)行推理。為了測(cè)試這一點(diǎn),我們構(gòu)建了三個(gè)數(shù)據(jù)集,通過(guò)詢問(wèn)所有秘密配料的首字母來(lái)測(cè)試模型的檢索和推理能力。

  • “multi-needle-eval-pizza-reasoning-1” - 只檢索一個(gè)“針”。
  • “multi-needle-eval-pizza-reasoning-3” - 檢索三個(gè)“針”。
  • “multi-needle-eval-pizza-reasoning-10” - 檢索十個(gè)“針”。

需要注意的是,這里的推理是非?;A(chǔ)的形式。在未來(lái)的基準(zhǔn)測(cè)試中,我們計(jì)劃包含不同復(fù)雜度的推理任務(wù)。

我們比較了僅檢索和檢索加推理兩種情況下的正確答案比例。所有數(shù)據(jù)和跟蹤結(jié)果都已提供。我們發(fā)現(xiàn),無(wú)論是檢索還是推理,隨著上下文長(zhǎng)度的增加,性能都會(huì)下降,而且推理的性能似乎總是落后于單純的檢索。這表明檢索能力可能限制了模型在推理任務(wù)上的表現(xiàn),這是符合我們預(yù)期的。

看AI如何大海撈針,探索LLM能力邊界實(shí)戰(zhàn)?-AI.x社區(qū)

總結(jié)

長(zhǎng)上下文語(yǔ)言模型的發(fā)展為我們帶來(lái)了巨大的潛力。為了有效地利用這些模型,無(wú)論是獨(dú)立使用還是作為外部檢索系統(tǒng)的替代,了解它們的能力和局限性至關(guān)重要。"多針檢索加推理"基準(zhǔn)測(cè)試為我們提供了一個(gè)評(píng)估長(zhǎng)上下文檢索性能的有用工具,特別是在與傳統(tǒng)的檢索增強(qiáng)生成(RAG)方法相比較時(shí)。

通過(guò)這些測(cè)試,我們可以得到一些初步的見(jiàn)解,但還需要進(jìn)一步的驗(yàn)證:

  • 檢索并非萬(wàn)無(wú)一失- 并不能保證所有事實(shí)都能被檢索到,尤其是當(dāng)涉及的事實(shí)數(shù)量和上下文規(guī)模增加時(shí)。
  • 檢索失敗的模式各異- 隨著上下文長(zhǎng)度的增加,GPT-4 在檢索位于文檔開(kāi)頭的事實(shí)時(shí)表現(xiàn)不佳。
  • 提問(wèn)方式至關(guān)重要- 根據(jù)之前的研究發(fā)現(xiàn),為了提高模型的檢索能力,可能需要精心設(shè)計(jì)提問(wèn)方式。
  • 檢索與推理的關(guān)系- 當(dāng)模型需要對(duì)檢索到的信息進(jìn)行推理時(shí),其性能會(huì)受到影響。

通過(guò)這些發(fā)現(xiàn),我們可以更好地理解并優(yōu)化長(zhǎng)上下文模型在信息檢索和推理任務(wù)中的應(yīng)用。

本文轉(zhuǎn)載自??AI小智??,作者: AI小智 ????

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦