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

LLM超長(zhǎng)上下文查詢(xún)-性能評(píng)估實(shí)戰(zhàn)

發(fā)布于 2024-4-9 11:28
瀏覽
0收藏

在大型語(yǔ)言模型(LLM)的應(yīng)用中,有幾個(gè)場(chǎng)景需要以結(jié)構(gòu)化的方式呈現(xiàn)數(shù)據(jù),其中信息提取和查詢(xún)分析是兩個(gè)典型的例子。我們最近通過(guò)更新的文檔和一個(gè)專(zhuān)門(mén)的代碼倉(cāng)庫(kù)強(qiáng)調(diào)了信息提取的重要性。對(duì)于查詢(xún)分析,我們同樣更新了相關(guān)文檔。在這些場(chǎng)景中,數(shù)據(jù)字段可能包括字符串、布爾值、整數(shù)等多種類(lèi)型。而在這些類(lèi)型中,處理高基數(shù)的分類(lèi)值(即枚舉類(lèi)型)是最具挑戰(zhàn)性的。

LLM超長(zhǎng)上下文查詢(xún)-性能評(píng)估實(shí)戰(zhàn)-AI.x社區(qū)

所謂的“高基數(shù)分類(lèi)值”,指的是那些必須從有限的選項(xiàng)中選擇的值,這些值不能隨意指定,而必須來(lái)自一個(gè)預(yù)定義的集合。當(dāng)這個(gè)集合中的有效值數(shù)量非常龐大時(shí),我們稱(chēng)之為“高基數(shù)”。處理這類(lèi)值之所以困難,是因?yàn)長(zhǎng)LM本身并不知道這些可能的值是什么。因此,我們需要向LLM提供關(guān)于這些可能值的信息。如果忽略了這一點(diǎn),LLM可能會(huì)自行編造值。對(duì)于只有少數(shù)幾個(gè)可能值的情況,我們可以通過(guò)在提示中明確列出這些值來(lái)解決。但是,當(dāng)可能的值非常多時(shí),問(wèn)題就變得復(fù)雜了。

隨著可能值數(shù)量的增加,LLM正確選擇值的難度也隨之增加。一方面,如果可能的值太多,它們可能無(wú)法適應(yīng)LLM的上下文窗口。另一方面,即使所有可能的值都能適應(yīng)上下文,將它們?nèi)堪趦?nèi)會(huì)導(dǎo)致處理速度變慢、成本增加,以及LLM在處理大量上下文時(shí)的推理能力下降。

我們最近對(duì)查詢(xún)分析進(jìn)行了深入研究,并在修訂相關(guān)文檔時(shí)特別增加了一個(gè)關(guān)于如何處理高基數(shù)分類(lèi)值的頁(yè)面。在這篇博客中,我們將深入探討幾種實(shí)驗(yàn)性方法,并提供它們的性能基準(zhǔn)測(cè)試結(jié)果。

結(jié)果的概覽可以在LangSmithhttps://smith.langchain.com/public/8c0a4c25-426d-4582-96fc-d7def170be76/d?ref=blog.langchain.dev中查看。接下來(lái),我們將詳細(xì)介紹:

LLM超長(zhǎng)上下文查詢(xún)-性能評(píng)估實(shí)戰(zhàn)-AI.x社區(qū)

數(shù)據(jù)集概覽

詳細(xì)的數(shù)據(jù)集可以在這里查看https://smith.langchain.com/public/8c0a4c25-426d-4582-96fc-d7def170be76/d?ref=blog.langchain.dev。

為了模擬這一問(wèn)題,我們假設(shè)了一個(gè)場(chǎng)景:我們要查找某位作者關(guān)于外星人的書(shū)籍。在這個(gè)場(chǎng)景中,作者字段是一個(gè)高基數(shù)分類(lèi)變量——可能的值有很多,但它們應(yīng)該是特定的有效作者名字。為了測(cè)試這一點(diǎn),我們創(chuàng)建了一個(gè)包含作者姓名和常用別名的數(shù)據(jù)集。例如,“Harry Chase”可能是“Harrison Chase”的別名。我們希望智能系統(tǒng)能夠處理這類(lèi)別名。有了這個(gè)姓名和別名列表后,我們又生成了10,000個(gè)隨機(jī)姓名。需要注意的是,10,000的基數(shù)并不算高——對(duì)于企業(yè)級(jí)系統(tǒng)來(lái)說(shuō),可能要面對(duì)的是數(shù)百萬(wàn)級(jí)別的基數(shù)。

利用這個(gè)數(shù)據(jù)集,我們提出了這樣的問(wèn)題:“Harry Chase關(guān)于外星人的書(shū)有哪些?”我們的查詢(xún)分析系統(tǒng)應(yīng)該能夠?qū)⑦@個(gè)問(wèn)題解析為結(jié)構(gòu)化格式,包含兩個(gè)字段:主題和作者。在這個(gè)例子中,預(yù)期的輸出應(yīng)該是{“topic”: “aliens”,“author”: “Harrison Chase”}。我們期望系統(tǒng)能夠識(shí)別出沒(méi)有名為Harry Chase的作者,但Harrison Chase可能是用戶(hù)想要表達(dá)的意思。

通過(guò)這種設(shè)置,我們可以針對(duì)我們創(chuàng)建的別名數(shù)據(jù)集進(jìn)行測(cè)試,檢查它們是否能夠正確映射到真實(shí)姓名。同時(shí),我們還會(huì)記錄查詢(xún)的延遲和成本。這種查詢(xún)分析系統(tǒng)通常用于搜索,因此我們非常關(guān)心這兩個(gè)指標(biāo)。出于這個(gè)原因,我們也限制了所有方法只能進(jìn)行一次LLM調(diào)用。我們可能會(huì)在未來(lái)的文章中對(duì)使用多次LLM調(diào)用的方法進(jìn)行基準(zhǔn)測(cè)試。

接下來(lái),我們將介紹幾種不同的方法及其性能表現(xiàn)。

LLM超長(zhǎng)上下文查詢(xún)-性能評(píng)估實(shí)戰(zhàn)-AI.x社區(qū)

完整的結(jié)果可以在LangSmith中查看,復(fù)現(xiàn)這些結(jié)果的代碼可以在這里找到。

基線測(cè)試

首先,我們對(duì)LLM進(jìn)行了基線測(cè)試,即在不提供任何有效姓名信息的情況下,直接要求LLM進(jìn)行查詢(xún)分析。結(jié)果不出所料,沒(méi)有一個(gè)問(wèn)題得到了正確回答。這是因?yàn)槲覀児室鈽?gòu)建了一個(gè)需要通過(guò)別名查詢(xún)作者的數(shù)據(jù)集。

上下文填充法

在這種方法中,我們將所有10,000個(gè)合法的作者姓名都放入了提示中,并要求LLM在進(jìn)行查詢(xún)分析時(shí)記住這些是合法的作者姓名。一些模型(如GPT-3.5)由于上下文窗口的限制,根本無(wú)法執(zhí)行這個(gè)任務(wù)。對(duì)于其他具有更長(zhǎng)上下文窗口的模型,它們?cè)跍?zhǔn)確選擇正確姓名方面也遇到了困難。GPT-4只在26%的案例中選擇了正確的姓名。它最常見(jiàn)的錯(cuò)誤是提取了姓名但沒(méi)有進(jìn)行校正。這種方法不僅速度慢,成本也高,平均需要5秒鐘才能完成,總成本為8.44美元。

LLM前過(guò)濾法

我們接下來(lái)測(cè)試的方法是在將可能的值列表傳遞給LLM之前進(jìn)行過(guò)濾。這樣做的好處是只傳遞可能姓名的子集給LLM,這樣LLM需要考慮的姓名就少得多,希望能夠讓它更快、更便宜、更準(zhǔn)確地完成查詢(xún)分析。但這也增加了一個(gè)新的潛在失敗模式——如果初步過(guò)濾出錯(cuò)怎么辦?

基于嵌入的過(guò)濾法

我們最初使用的過(guò)濾方法是嵌入法,并選擇了與查詢(xún)最相似的10個(gè)姓名。需要注意的是,我們是將整個(gè)查詢(xún)與姓名進(jìn)行比較,這并不是一個(gè)理想的比較方式!

我們發(fā)現(xiàn),使用這種方法,GPT-3.5能夠正確處理57%的案例。這種方法比以前的方法快得多,也便宜得多,平均只需要0.76秒就能完成,總成本僅為0.002美元。

基于NGram相似性的過(guò)濾法

我們使用的第二種過(guò)濾方法是對(duì)所有有效姓名的3-gram字符序列進(jìn)行TF-IDF向量化,并使用向量化的有效姓名與向量化的用戶(hù)輸入之間的余弦相似度來(lái)選擇最相關(guān)的10個(gè)有效姓名添加到模型提示中。同樣需要注意的是,我們是將整個(gè)查詢(xún)與姓名進(jìn)行比較,這并不是一個(gè)理想的比較方式!

我們發(fā)現(xiàn),使用這種方法,GPT-3.5能夠正確處理65%的案例。這種方法同樣比以前的方法快得多,也便宜得多,平均只需要0.57秒就能完成,總成本僅為0.002美元。

LLM后選擇法

我們最后測(cè)試的方法是在LLM完成初步查詢(xún)分析后,嘗試糾正任何錯(cuò)誤。我們首先對(duì)用戶(hù)輸入進(jìn)行了查詢(xún)分析,沒(méi)有在提示中提供任何關(guān)于有效作者姓名的信息。這與我們最初進(jìn)行的基線測(cè)試相同。然后,我們進(jìn)行了一個(gè)后續(xù)步驟,取作者字段中的姓名,找到最相似的有效姓名。

基于嵌入相似性的選擇法

首先,我們使用嵌入法進(jìn)行了相似性檢查。

我們發(fā)現(xiàn),使用這種方法,GPT-3.5能夠正確處理83%的案例。這種方法比以前的方法快得多,也便宜得多,平均只需要0.66秒就能完成,總成本僅為0.001美元。

基于NGram相似性的選擇法

最后,我們嘗試使用3-gram向量化器進(jìn)行相似性檢查。

我們發(fā)現(xiàn),使用這種方法,GPT-3.5能夠正確處理74%的案例。這種方法同樣比以前的方法快得多,也便宜得多,平均只需要0.48秒就能完成,總成本僅為0.001美元。

結(jié)論

我們對(duì)處理高基數(shù)分類(lèi)值的查詢(xún)分析方法進(jìn)行了多種基準(zhǔn)測(cè)試。我們限制了自己只能進(jìn)行一次LLM調(diào)用,這是為了模擬現(xiàn)實(shí)世界中的延遲限制。我們發(fā)現(xiàn),使用LLM后基于嵌入相似性的選擇方法表現(xiàn)最佳。

還有其他方法值得進(jìn)一步測(cè)試。特別是,在LLM調(diào)用之前或之后尋找最相似的分類(lèi)值有許多不同的方法。此外,本數(shù)據(jù)集中的類(lèi)別基數(shù)并不像許多企業(yè)系統(tǒng)所面臨的那樣高。這個(gè)數(shù)據(jù)集大約有10,000個(gè)值,而許多現(xiàn)實(shí)世界中的系統(tǒng)可能需要處理的是數(shù)百萬(wàn)級(jí)別的基數(shù)。因此,對(duì)更高基數(shù)的數(shù)據(jù)進(jìn)行基準(zhǔn)測(cè)試將是非常有價(jià)值的。

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


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