【編者按】2025 年 2 月發(fā)布的 NoLiMA 是一種大語言模型(LLM)長(zhǎng)文本理解能力評(píng)估方法。不同于傳統(tǒng)“大海撈針”(Needle-in-a-Haystack, NIAH)測(cè)試依賴關(guān)鍵詞匹配的做法,它最大的特點(diǎn)是 通過精心設(shè)計(jì)問題和關(guān)鍵信息,迫使模型進(jìn)行深層語義理解和推理,才能從長(zhǎng)文本中找到答案。Jina AI 技術(shù)團(tuán)隊(duì)受到啟發(fā),并進(jìn)針對(duì)向量模型 jina-embeddings-v3 進(jìn)行了類似實(shí)驗(yàn)。
他們的研究重點(diǎn)在于考察向量模型在長(zhǎng)文本中進(jìn)行“單跳推理”的能力,即模型能否在需要語義推理而非直接匹配的情況下找到答案。此外,他們還探索了查詢擴(kuò)展技術(shù)是否能提升向量模型在長(zhǎng)文本檢索中的效果,旨在了解當(dāng)前語義搜索技術(shù)在處理長(zhǎng)文本時(shí)存在的不足,以及向量模型是否也存在與語言模型類似的依賴表面匹配而非深層推理的問題。
作者 | Jina AI
責(zé)編 | 夢(mèng)依丹
2025 年 2 月發(fā)布的 NoLiMA 是一種大語言模型(LLM)長(zhǎng)文本理解能力評(píng)估方法。不同于傳統(tǒng)“大海撈針”(Needle-in-a-Haystack, NIAH)測(cè)試依賴關(guān)鍵詞匹配的做法,它最大的特點(diǎn)是 通過精心設(shè)計(jì)問題和關(guān)鍵信息,迫使模型進(jìn)行深層語義理解和推理,才能從長(zhǎng)文本中找到答案。Jina AI 技術(shù)團(tuán)隊(duì)受到啟發(fā),并進(jìn)針對(duì)向量模型 jina-embeddings-v3 進(jìn)行了類似實(shí)驗(yàn)。
NoLiMa: https://arxiv.org/abs/2502.05167
NoLiMA 的研究結(jié)果揭示了一個(gè)重要問題:那些號(hào)稱能處理幾十萬甚至上百萬詞元(tokens)的 LLM,在真正需要理解長(zhǎng)文本的任務(wù)里,性能大打折扣。比如,在 32K 詞元的長(zhǎng)度下,有 10 個(gè)受測(cè)模型,表現(xiàn)還不如處理短文本(小于 1K 詞元)時(shí)的一半好;就連表現(xiàn)最好的 GPT-4o,性能也從接近完美的 99.3% 掉到了 69.7%。
受 NoLiMA 啟發(fā),我們用向量模型 jina-embeddings-v3 做了類似的實(shí)驗(yàn)。之所以要研究向量模型,是因?yàn)樵跈z索增強(qiáng)生成(RAG)系統(tǒng)中,檢索模型(也就是向量模型)的好壞,直接決定了整個(gè)系統(tǒng)的效果。
研究主要關(guān)注兩個(gè)核心問題:
向量模型能不能在長(zhǎng)文本中進(jìn)行“單跳推理”? 傳統(tǒng)的 NIAH 測(cè)試,問題和答案通常能直接對(duì)上(比如,“約翰哪一年去的巴黎? ”和“約翰 2019 年去了巴黎”)。 而我們?cè)O(shè)計(jì)的“針”不一樣,它需要模型進(jìn)行語義推理(比如,問題是“哪個(gè)角色去過法國(guó)? ”,“針”是“Yuki 住在森珀歌劇院旁邊”,模型得知道森珀歌劇院在德國(guó)才行)。
查詢擴(kuò)展能不能讓長(zhǎng)文本檢索更好用? 查詢擴(kuò)展就是給查詢加些相關(guān)的詞,讓語義更豐富。 我們想看看,這個(gè)方法能不能彌補(bǔ)向量模型在處理長(zhǎng)文本時(shí)的不足。
傳統(tǒng) NIAH 測(cè)試(允許關(guān)鍵詞匹配)與 NOLIMA 測(cè)試(需要語義推理)的對(duì)比圖
LLM 的實(shí)驗(yàn)結(jié)果已經(jīng)表明,它們太依賴表面的文字匹配,深層的推理能力還不夠。我們想知道,向量模型是不是也這樣?這可能會(huì)讓我們看清,現(xiàn)在的語義搜索技術(shù)到底還有哪些不足。
關(guān)鍵信息和上下文的構(gòu)建
關(guān)鍵信息的構(gòu)建
傳統(tǒng)的“大海撈針”測(cè)試中,關(guān)鍵信息(“針”)的措辭通常和要找的問題很像。例如:
問題:"哪個(gè)角色去過德累斯頓?"
關(guān)鍵信息:"Yuki 住在德累斯頓。"
但 NoLiMa 那篇論文不這么做,我們也不想這么做。我們想考察的是模型對(duì)語義的理解,而不是簡(jiǎn)單的關(guān)鍵詞匹配。所以,我們?cè)O(shè)計(jì)了一種“單跳”的變體(“單跳”的意思是,答案和問題之間需要稍微推理一下才能聯(lián)系起來),并且特意用了一些文本里沒有出現(xiàn)過的詞,還采用了倒裝句。
問題:“哪個(gè)角色去過德累斯頓?”
關(guān)鍵信息(默認(rèn)):“事實(shí)上,Yuki 住在森珀歌劇院旁邊。”
關(guān)鍵信息(倒裝):“森珀歌劇院就在 Yuki 住的地方旁邊。”
按照論文的方法,我們生成了多個(gè)類別的“問題-關(guān)鍵信息”組(每個(gè)組包含一個(gè)問題、一個(gè)“單跳”式關(guān)鍵信息,還有一個(gè)把“單跳”關(guān)鍵信息倒過來說的版本。)
示例如下:
上面的人名只是舉例。在實(shí)際的“針”中,人名是從一個(gè)包含不同文化背景的名字列表中隨機(jī)抽取的。
另外,表格里的“原始關(guān)鍵信息”(也就是字面匹配的版本)只是給大家看看,方便理解,我們的實(shí)驗(yàn)里并不會(huì)用到。
上下文的構(gòu)建
我們準(zhǔn)備了十本公版書,每本都至少有 5 萬個(gè)詞元(tokens),我們從每本書里隨機(jī)抽取一些短小的片段(每個(gè)片段不超過 250 個(gè)詞元),然后把這些片段拼接起來,形成不同長(zhǎng)度的“上下文”,長(zhǎng)度分別是 128、256、512、1024、2048、4096 和 8192 個(gè)詞元。然后,我們?cè)诿恳粋€(gè)上下文里,都放進(jìn)去一個(gè)關(guān)鍵信息:
用書中的短片段和關(guān)鍵信息來構(gòu)建上下文
更具體一點(diǎn),比如我們把“事實(shí)上,Yuki 住在森珀歌劇院旁邊”這條關(guān)鍵信息,放到一個(gè)長(zhǎng)度為 128 個(gè)詞元的上下文里,放在第 50 個(gè)詞元的位置:
大海撈針示例
我們用 jina-embeddings-v3 模型來向量化文本,再計(jì)算“關(guān)鍵信息”文本和“上下文”文本的相似度得分:
Question-Haystack similarity = 0.2391
為了讓這個(gè)相似度得分更有意義,我們還需要做一步“歸一化”。具體做法是,先計(jì)算問題和默認(rèn)關(guān)鍵信息(也就是沒有上下文,直接比較)的相似度得分。然后,用前面的“關(guān)鍵信息-上下文”相似度除以這個(gè)“問題-關(guān)鍵信息”相似度:
Question-Needle similarity = 0.3598
Normalized Query - Haystack similarity = 0.2391 / 0.3598 = 0.6644
為什么要?dú)w一化呢?因?yàn)椴煌南蛄磕P停愠鰜淼南嗨贫鹊梅挚赡軙?huì)不一樣。而且,jina-embeddings-v3 模型通常會(huì)低估兩段文本之間的相似度。
對(duì)于每一個(gè)關(guān)鍵信息(包括默認(rèn)版本和倒裝版本),我們都生成了 10 個(gè)不同長(zhǎng)度的上下文,每一個(gè)上下文里,關(guān)鍵信息出現(xiàn)的位置都不一樣。對(duì)于同一個(gè)關(guān)鍵信息和同一個(gè)上下文長(zhǎng)度,這 10 個(gè)上下文大概是這樣的:
在十個(gè)上下文中,以固定的間隔放置關(guān)鍵信息
另外,為了有個(gè)對(duì)照,我們還給每一種測(cè)試條件(不同的上下文長(zhǎng)度)生成了一個(gè)不包含任何關(guān)鍵信息的上下文。這樣算下來,我們總共生成了 3234 個(gè)上下文。
最后,我們用jina-embeddings-v3 模型(使用默認(rèn)的 text-matching LoRA)對(duì)每一個(gè)上下文進(jìn)行編碼。如果上下文的總詞元數(shù)超過了 8192(這是 jina-embeddings-v3 模型的上限),我們就把多余的部分截?cái)啵?duì)對(duì)應(yīng)的每個(gè)問題也進(jìn)行編碼。
評(píng)估指標(biāo)
我們?cè)O(shè)計(jì)了一套評(píng)估框架,用幾個(gè)不同的指標(biāo),來衡量向量模型在不同上下文長(zhǎng)度下的表現(xiàn):
主要指標(biāo)
1. 歸一化相似度分?jǐn)?shù)
這是最核心的指標(biāo)。它不只是簡(jiǎn)單地看問題和整個(gè)上下文之間的語義相似度,還會(huì)把問題和關(guān)鍵信息單獨(dú)拿出來比較一下。這樣,我們就能知道,模型在包含關(guān)鍵信息的上下文里的表現(xiàn),跟它在理想情況下的表現(xiàn)(問題和關(guān)鍵信息直接比較)相比,差距有多大。
具體計(jì)算方法是:先算出問題和它對(duì)應(yīng)的關(guān)鍵信息之間的余弦相似度得分,作為基準(zhǔn);然后,用“問題-上下文相似度”除以這個(gè)基準(zhǔn),得到歸一化的相似度得分。
2. 比隨機(jī)瞎猜強(qiáng)多少
對(duì)于向量模型,只有比較同一個(gè)問題和不同文本的相似度才有意義。所以,除了歸一化相似度得分,我們還要看,這個(gè)問題跟整個(gè)上下文比起來,是不是真的比跟一段同樣長(zhǎng)度但沒有關(guān)鍵信息的隨機(jī)文本更像。換句話說,我們要看看模型找到的答案是不是真的比瞎猜要準(zhǔn)。
次要指標(biāo)
1. 區(qū)分能力分析
這個(gè)指標(biāo)是看模型能不能把關(guān)鍵信息和其他不相關(guān)的內(nèi)容區(qū)分開。具體有兩個(gè)方面:
平均分離度:包含答案的段落(“正例”)和不包含答案的段落(“負(fù)例”)之間的差異有多大。
AUC(曲線下面積)得分:通過計(jì)算 ROC 曲線(受試者工作特征曲線)下的面積,來衡量模型區(qū)分關(guān)鍵信息和其他內(nèi)容的能力。
2. 位置效應(yīng)
我們還會(huì)研究關(guān)鍵信息在上下文中的位置,會(huì)不會(huì)影響模型找到它的難易程度。我們會(huì)分析:
關(guān)鍵信息的位置和相似度得分之間有沒有關(guān)系(相關(guān)系數(shù))。
把關(guān)鍵信息放在不同位置,模型的表現(xiàn)會(huì)有什么變化(回歸斜率)。
把關(guān)鍵信息按位置分組,看看不同組的表現(xiàn)有什么不同。
研究發(fā)現(xiàn)
相似度得分和準(zhǔn)確率隨著文本變長(zhǎng)而下降
實(shí)驗(yàn)結(jié)果很明顯: 文本上下文越長(zhǎng),模型表現(xiàn)越差。 平均相似度得分從 128 個(gè)詞元時(shí)的 0.37 一路降到了 8K 詞元時(shí)的 0.10。 而且,這個(gè)下降過程不是一條直線,而是在 128 個(gè)詞元到 1 千個(gè)詞元之間降得特別快。
歸一化性能與上下文長(zhǎng)度的關(guān)系
我們還發(fā)現(xiàn),把關(guān)鍵信息的說法倒過來(倒裝),對(duì)模型找到它的影響不大。不管是“實(shí)際上,Yuki 住在森珀歌劇院附近”(默認(rèn)說法)還是“森珀歌劇院就在 Yuki 住的地方旁邊”(倒裝說法),模型找到它們的概率幾乎一樣:
兩種說法(默認(rèn)順序 vs. 倒裝順序)下,模型性能的對(duì)比
不過,關(guān)鍵信息的內(nèi)容類型,對(duì)模型查找的難度有影響。如果是關(guān)于地點(diǎn)和地標(biāo)的信息,模型找起來比較容易;但如果是關(guān)于飲食和健康狀況的信息,模型就比較難找,而且隨著文本變長(zhǎng),難度增加得更快:
不同類型信息(分組)的查找難度(歸一化性能)和文本長(zhǎng)度的關(guān)系
為了看看模型是不是真的比瞎猜強(qiáng),我們把模型的結(jié)果和“隨機(jī)猜測(cè)”做了個(gè)比較。“隨機(jī)猜測(cè)”就是隨便挑一段跟問題一樣長(zhǎng)、但不包含關(guān)鍵信息的文本。結(jié)果發(fā)現(xiàn),上下文越長(zhǎng),模型的結(jié)果就越接近瞎猜,跟隨便挑一段沒用的文本差不多。
模型性能和隨機(jī)概率(概率為 0.5)的對(duì)比
我們還按照關(guān)鍵信息的內(nèi)容類型,把數(shù)據(jù)分組,再來看模型的表現(xiàn)。結(jié)果還是類似:有些類型的信息(比如飲食限制),即使文本不長(zhǎng),模型也比瞎猜強(qiáng)不了多少;另一些類型的信息(比如地點(diǎn)和地標(biāo)),不管文本多長(zhǎng),模型都表現(xiàn)得不錯(cuò):
不同類型信息分組,模型找到答案的概率和隨機(jī)猜測(cè)的概率對(duì)比
把關(guān)鍵信息的說法倒過來,對(duì)模型找到它的概率基本沒影響。下圖展示了模型找到正確包含關(guān)鍵信息的文本的概率,比隨機(jī)猜測(cè)的概率高多少。我們把關(guān)鍵信息的兩種說法(默認(rèn)和倒裝)分開來看:
默認(rèn)順序 vs 倒裝順序,模型找到答案的概率比隨機(jī)猜測(cè)高多少
從圖里能看出來,兩種說法下,模型性能的變化趨勢(shì)都差不多。所以,后面我們就不再區(qū)分這兩種情況了。
模型還能區(qū)分有用信息和無用信息嗎?
我們最重要的發(fā)現(xiàn)之一,是關(guān)于向量模型能不能在不同長(zhǎng)度的文本里,區(qū)分有用信息和沒用信息。我們做了一個(gè)“分離度分析”,結(jié)果發(fā)現(xiàn),在 128 個(gè)詞元到 1000 個(gè)詞元之間,模型找到正確答案的能力掉得特別快。之后雖然還在下降,但速度就慢下來了。
分離度與上下文長(zhǎng)度的關(guān)系
短文本(128 詞元)下,模型能清晰區(qū)分有用信息和無用信息,平均分離度為 0.1,AUC 達(dá) 0.81(即 100 次中有 81 次能將包含答案的段落排在前面)。
然而,隨著文本變長(zhǎng),模型性能急劇下降。1000 詞元時(shí),分離度降至 0.04(下降 60%),AUC 降至 0.66,表明模型已難以區(qū)分。到 8000 詞時(shí),分離度幾乎為零 (0.001),AUC 接近 0.5(與隨機(jī)猜測(cè)相當(dāng)),這意味著模型已無法根據(jù)相似度得分區(qū)分有用信息。
模型區(qū)分有用信息的能力隨文本長(zhǎng)度增加而下降的速度非常驚人。雖然原始相似度得分從 128 詞到 8000 詞下降了約 75%,但分離度指標(biāo)卻下降了近 99%,效應(yīng)量更是下降了 98.6%!這表明,向量模型處理長(zhǎng)文本的困難,不僅在于相似度得分降低,更在于區(qū)分有用信息和無用信息的能力嚴(yán)重退化,遠(yuǎn)超我們之前的預(yù)期。
關(guān)鍵信息的位置如何影響查找難度?
一般來說,把關(guān)鍵信息放在文本最前面,最容易找到。但也不是說放在中間就一定難找:
在不同長(zhǎng)度的文本里,把關(guān)鍵信息放在不同位置,對(duì)找到它的影響
實(shí)驗(yàn)結(jié)果也證實(shí),關(guān)鍵信息放在開頭的時(shí)候,最容易被找到。而且,如果文本比較短,把它放在靠近結(jié)尾的地方,也比較容易找到。但是,不管文本長(zhǎng)短,把它放在中間位置,都不太好找:
把關(guān)鍵信息放在不同位置,找到它的概率對(duì)比。
查詢擴(kuò)展能幫上忙嗎?
我們最近發(fā)了篇博客,講的是“查詢擴(kuò)展”。 這是一種搜索里常用的方法,簡(jiǎn)單來說,就是在你提問的時(shí)候,給你的問題里加點(diǎn)相關(guān)的詞,讓搜索結(jié)果更準(zhǔn)確。
自從有了向量模型,搜索的方式發(fā)生了很大的變化。那像“查詢擴(kuò)展”這種主要靠加詞匯的方法,在 AI 時(shí)代還有用嗎?我們認(rèn)為還是有用的。
在那篇博客里,我們用大模型(LLM)生成了一些擴(kuò)展詞,然后把這些詞加到查詢向量里,結(jié)果發(fā)現(xiàn)搜索效果更好了。現(xiàn)在,我們想看看這招對(duì)“大海撈針”這種長(zhǎng)文本檢索任務(wù)有沒有幫助。比如說,當(dāng)你問:
哪個(gè)角色去過德累斯頓?
我們用大模型(Gemini 2.0)給它擴(kuò)展一下,加上 100 個(gè)相關(guān)的詞,大概長(zhǎng)這樣:
哪個(gè)角色去過德累斯頓? 角色: 虛構(gòu)角色 文學(xué)角色 主角 反派 人物 角色 身份 劇中人物 德累斯頓: 德國(guó)德累斯頓; 二戰(zhàn)德累斯頓轟炸 歷史小說 庫(kù)爾特·馮內(nèi)古特 《五號(hào)屠宰場(chǎng)》 薩克森州城市 易北河 文化地標(biāo) 去過: 訪問過 去過 曾到過 出現(xiàn)于 出現(xiàn)于 特征為 設(shè)定在 發(fā)生于 地點(diǎn) 背景
查詢擴(kuò)展能起多大作用?
我們做了個(gè)實(shí)驗(yàn),生成了三組擴(kuò)展后的查詢,每組分別加了 100 個(gè)、150 個(gè)和 250 個(gè)詞(具體怎么加,可以看看這篇文章)。然后,我們把之前的實(shí)驗(yàn)又跑了三遍,每次用一組不同的擴(kuò)展查詢。
結(jié)果發(fā)現(xiàn),不管加多少詞,只要文本一長(zhǎng),模型表現(xiàn)就拉胯,跟不使用查詢擴(kuò)展的時(shí)候差不多:
各種查詢拓展情況下,模型性能的綜合表現(xiàn)
跟沒擴(kuò)展的問題比,所有加了詞的情況,都還是老樣子:文本越長(zhǎng),性能越差。而且,這個(gè)下降過程還是不均勻的,在 128 個(gè)詞到 1K 個(gè)詞之間降得最厲害:
各種查詢拓展情況下,模型找到正確答案的概率。
但是!仔細(xì)看看“比較比率”這個(gè)指標(biāo),就會(huì)發(fā)現(xiàn)查詢擴(kuò)展還是有用的:它能讓模型更容易找到包含關(guān)鍵信息的文本。如果不做查詢擴(kuò)展,模型在 8K 詞元長(zhǎng)度下的表現(xiàn)就跟隨機(jī)猜測(cè)差不多了。
如何解釋查詢擴(kuò)展的結(jié)果?
上面這些結(jié)果,跟 NoLiMa 論文,還有我們之前“查詢擴(kuò)展”研究的發(fā)現(xiàn),都是一致的。可以這樣解釋:
適度加詞效果最好:加 100 個(gè)詞比加 150 個(gè)、250 個(gè)詞效果好,說明查詢拓展時(shí),加詞得有個(gè)度,加太多反而會(huì)帶來語義噪聲而不是信號(hào),干擾模型的判斷。加 250 個(gè)詞的時(shí)候,很可能加進(jìn)去一些跟問題相關(guān)性較弱的術(shù)語,在長(zhǎng)文本里這些詞就幫倒忙了。
長(zhǎng)文本依然是核心挑戰(zhàn):即使進(jìn)行了查詢擴(kuò)展,上下文一長(zhǎng),模型性能還是會(huì)顯著下降。目前基于注意力的模型架構(gòu)在處理長(zhǎng)文本時(shí)存在根本性的瓶頸,這個(gè)問題不是簡(jiǎn)單地增加幾個(gè)詞就能解決的。
查詢拓展仍有價(jià)值:雖然無法完全克服長(zhǎng)文本帶來的挑戰(zhàn),但“比較比率”指標(biāo)始終高于 0.5,這說明著查詢擴(kuò)展還是有效果的。就算是 8 千詞元的長(zhǎng)文本,經(jīng)過查詢擴(kuò)展后的問題也比隨機(jī)猜測(cè)要更容易找到正確答案。這給了我們一個(gè)啟發(fā):查詢擴(kuò)展仍然是提升向量模型長(zhǎng)文本處理能力的一個(gè)有潛力的方向,值得進(jìn)一步探索。
字面匹配對(duì)向量模型的影響?
在之前的實(shí)驗(yàn)中,為了衡量向量模型在長(zhǎng)文本中進(jìn)行“單跳推理”的能力,我們特意避免讓問題和關(guān)鍵信息之間有任何字面上的重復(fù)。結(jié)果表明:即使做了查詢擴(kuò)展,模型在長(zhǎng)文本中找到相關(guān)信息的能力還是會(huì)變差。這個(gè)現(xiàn)象很有意思。按理說,向量模型應(yīng)該有能力自己完成這種推理,不需要額外幫忙。畢竟,我們只是把“德累斯頓”換成了“森珀歌劇院”,本質(zhì)上就是用一個(gè)意思相近的詞替換了另一個(gè)詞。
那么,字面匹配在語義匹配中到底有多重要?還是說文本長(zhǎng)度的影響更大?為了找到答案,我們重新設(shè)計(jì)了實(shí)驗(yàn),讓關(guān)鍵信息和問題之間存在字面上的重復(fù),比如:
問題:“哪個(gè)角色去過德累斯頓?”
關(guān)鍵信息(默認(rèn)):“實(shí)際上,Yuki 住在德累斯頓。”
關(guān)鍵信息(倒裝):“德累斯頓是 Yuki 住的地方。”
注意,這里我們直接給出了“Yuki 住在德累斯頓”這個(gè)信息,而不是像之前那樣,需要讀者自己推理出“森珀歌劇院在德累斯頓,所以住在附近的人去過德累斯頓”。
我們把所有 22 組問題和關(guān)鍵信息都改成了這種直接的形式,然后用同樣的向量模型 jina-embeddings-v3 重新跑了一遍實(shí)驗(yàn),各種文本長(zhǎng)度和關(guān)鍵信息的位置都試了。
歸一化性能與上下文長(zhǎng)度的關(guān)系模型性能與隨機(jī)猜測(cè) (0.5) 的比較
不同位置的比較比率
結(jié)果出乎意料。即使問題和答案里有相同的詞,只要文本一長(zhǎng),模型區(qū)分正確答案和隨機(jī)猜測(cè)的能力還是會(huì)迅速下降。當(dāng)然,比起完全沒有相同詞的情況,還是要稍微好一點(diǎn)。
這最終證明了,比起關(guān)鍵信息的具體措辭(語義表述),上下文的長(zhǎng)度,以及關(guān)鍵信息在其中的位置,對(duì)向量模型在“大海撈針”任務(wù)中的表現(xiàn)影響更大。
結(jié)論
總的來說,我們用向量模型做的實(shí)驗(yàn),結(jié)論跟 NoLiMA 用大型語言模型做的實(shí)驗(yàn)一致:文本越長(zhǎng),模型就越難找到正確答案。我們的實(shí)驗(yàn)還證明,就算問題和答案里的關(guān)鍵詞一模一樣,模型也不一定能找對(duì)。
我們的實(shí)驗(yàn)結(jié)果與 NoLiMA 論文對(duì) LLM 的發(fā)現(xiàn)高度一致:對(duì)于向量模型,上下文長(zhǎng)度是影響檢索性能的關(guān)鍵因素,文本越長(zhǎng),模型就越難找到正確答案。就算問題和答案里的關(guān)鍵詞一模一樣,模型也不一定能找對(duì)。
性能隨長(zhǎng)度銳減:jina-embeddings-v3 在短文本(128 詞元)下表現(xiàn)出色,但在長(zhǎng)文本下性能迅速下降。歸一化相似度得分從 128 詞元時(shí)的 0.37 降至 8K 詞時(shí)的 0.10。更重要的是,模型區(qū)分相關(guān)信息和無關(guān)信息的能力(我們稱之為“分離度”)幾乎完全消失了。
“單跳推理”很困難:即使在短文本下,如果問題和答案之間沒有直接的字面重疊,模型的表現(xiàn)也會(huì)明顯變差。這說明,向量模型在進(jìn)行“單跳推理”(例如,從“住在森珀歌劇院旁邊”推斷出“去過德累斯頓”)時(shí)存在困難。
查詢擴(kuò)展有幫助,但不是萬能的:查詢擴(kuò)展可以在一定程度上提高檢索性能,特別是在長(zhǎng)文本下,使模型表現(xiàn)優(yōu)于隨機(jī)猜測(cè)。但是,它并不能完全解決長(zhǎng)文本帶來的問題,性能還是會(huì)隨著文本變長(zhǎng)而下降。而且,加詞也得小心,不相關(guān)的詞反而會(huì)引入語義噪聲,降低性能。
字面匹配不是關(guān)鍵:就算問題和答案里有一樣的關(guān)鍵詞,只要文本一長(zhǎng),模型還是找不到。這說明,比起答案怎么說,文本有多長(zhǎng),答案在文本里的位置,對(duì)模型能不能找到答案的影響更大。
總的來說,我們的研究表明,像 jina-embeddings-v3 這樣的向量模型,處理短文本很有一套,但要處理那些需要深入理解語義的長(zhǎng)文本,還是力不從心。這促使我們繼續(xù)探索更有效的長(zhǎng)文本檢索技術(shù),希望在未來的 jina-embeddings-v4 中有所突破。
【活動(dòng)分享】2025 全球機(jī)器學(xué)習(xí)技術(shù)大會(huì)(ML-Summit)將于 4 月 18-19 日在上海舉辦。大會(huì)共 12 大主題、50+ 位來自學(xué)術(shù)界和一線技術(shù)實(shí)戰(zhàn)派的頂尖專家,聚焦下一代大模型技術(shù)和生態(tài)變革技術(shù)實(shí)踐。詳情參考官網(wǎng):http://ml-summit.org/。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.