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

Google新研究:適用于百萬級(jí)單元格的TableRAG 精華

發(fā)布于 2024-10-11 16:05
瀏覽
0收藏

1. 基于LLM的TableQA存在的問題

利用LLM來進(jìn)行表格理解任務(wù)往往會(huì)將整個(gè)表格喂給LLM,但是這種方法存在一定的局限性:

? 首先,受限于LLM上下文長度的限制;比如,一個(gè)包含100列和200行的中等大小表格,單元格數(shù)量超過40,000個(gè),超出了LLaMA和GPT系列等流行LMs的處理能力。

? 此外,過長的上下文可能會(huì)削弱推理能力,比如:Lost-in-the-Middle。

? 最后,隨著表格尺寸的增加,計(jì)算成本和延遲也會(huì)顯著上升。

所以,直接將表格全部喂給LLM這種方案不適合與大型表格。

因此,有人提出一些新的方案用于大型表格的理解任務(wù),如截?cái)啾砀窕騼H讀取表格的Schema,但是這種方法往往會(huì)丟失關(guān)鍵信息。

以及,通過檢索關(guān)鍵行和列來構(gòu)建一個(gè)包含回答查詢所需基本信息的子表,將整行和整列編碼成稀疏或密集的嵌入,以減少LMs的標(biāo)記成本。這種方法有兩個(gè)問題:

? 對(duì)于包含數(shù)百萬單元格的大型表格來說并不現(xiàn)實(shí)。

? 將長行和列壓縮成固定大小的嵌入可能會(huì)丟失語義信息,尤其是當(dāng)表格包含多樣化或語義上不太豐富的內(nèi)容時(shí)(例如,數(shù)值)。

2. 什么是TableRAG

基于以上問題,Google Deepmind等團(tuán)隊(duì)聯(lián)合提出了TableRAG方法。TableRAG融合了模式檢索與單元格檢索,從表格中提取出核心信息,使得LLM智能體能夠依據(jù)這些信息解答查詢。

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

上圖展示了TableRAG與傳統(tǒng)表格理解任務(wù)的區(qū)別。

(a) - (d):分別表示4種方法在提示詞中包含的數(shù)據(jù)(陰影部分),其中 (d)是TableRAG方法:

? (a)完整讀取表格:LM讀取整個(gè)表格,在大型表格中往往不現(xiàn)實(shí)。

? (b)只讀取Schema:LM只讀取列名和數(shù)據(jù)類型組成的模式,這種方法會(huì)導(dǎo)致表格內(nèi)容丟失。

? (c)行-列檢索:將行和列編碼后,基于與問題相似度進(jìn)行檢索。只有行和列的交集被展示給LM。對(duì)于大型表格來說,編碼所有行和列仍然不現(xiàn)實(shí)。

? (d)Schema-單元格檢索(TableRAG):根據(jù)與LM生成的問題相關(guān)性,對(duì)列名和單元格進(jìn)行編碼和檢索。只有檢索到的Schema和單元格被提供給LM,從而在編碼和推理上都提高了效率。

(e) 在ArcadeQA數(shù)據(jù)集上的檢索結(jié)果顯示: TableRAG在列和單元格檢索方面均優(yōu)于其他方法,進(jìn)而增強(qiáng)了后續(xù)的表格推理過程。

2.1 TableRAG的核心組件

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

上圖是TableRAG的核心工作流程:?jiǎn)栴}通過語言模型擴(kuò)展為多個(gè)模式和單元格查詢。這些查詢依次用來檢索Schema和列-單元格配對(duì)。每個(gè)查詢的前K個(gè)候選項(xiàng)匯總成提示詞提供給LLM生成對(duì)應(yīng)答案。

2.2 表格查詢擴(kuò)展

高效處理表格的關(guān)鍵在于精確地識(shí)別出查詢所需的列名和單元格值。與傳統(tǒng)的表格理解任務(wù)不同的在于,TableRAG單獨(dú)為Schema和單元格分別生成獨(dú)立查詢。比如:

對(duì)于問題“錢包的平均價(jià)格是多少?”,通過LLM生成針對(duì)列名如“產(chǎn)品”和“價(jià)格”的潛在查詢,以及針對(duì)相關(guān)單元格值如“錢包”的查詢。這些查詢用于從表格中檢索相關(guān)的模式和單元格值。

2.3 Schema檢索

生成查詢后,Schema檢索通過預(yù)先訓(xùn)練的編碼器fenc獲取相關(guān)的列名,fenc會(huì)對(duì)查詢進(jìn)行編碼,并與編碼的列名進(jìn)行匹配以確定其相關(guān)性。檢索到的Schema數(shù)據(jù)包括列名、數(shù)據(jù)類型和示例值。

將列轉(zhuǎn)換為整數(shù)、浮點(diǎn)數(shù)或日期時(shí)間數(shù)據(jù)類型;如果這幾種類型都不適合的話,保留為分類列。

? 對(duì)于被識(shí)別為數(shù)值或日期時(shí)間數(shù)據(jù)類型的列,將最小值和最大值作為示例值。

? 對(duì)于分類列,展示頻率最高的三個(gè)類別作為示例值。

匯總每個(gè)查詢的前K個(gè)檢索結(jié)果,并根據(jù)它們與最接近查詢的相似度進(jìn)行排序。檢索到的Schema提供了表格格式和內(nèi)容的結(jié)構(gòu)化概覽,用于更精確的數(shù)據(jù)提取。

2.4 單元格檢索

Schema檢索后,提取回答該問題所需的特定單元格值。

單元格檢索的作用在于:

? 單元格識(shí)別:使LLM能夠精確地檢測(cè)表格中特定關(guān)鍵詞的存在。例如,區(qū)分“tv”和“television”,確保搜索和操作基于精確的數(shù)據(jù)條目。

? 單元格-列關(guān)聯(lián):使LLM能夠?qū)⑻囟▎卧衽c其相關(guān)的列名關(guān)聯(lián)起來。對(duì)于處理特定屬性的問題至關(guān)重要,如將“錢包”直接與“描述”列關(guān)聯(lián),實(shí)現(xiàn)行索引。

單元格檢索在需要通過單元格值進(jìn)行索引時(shí)特別有用。例如:

要回答“平均價(jià)格是多少?”的問題,只需識(shí)別與價(jià)格相關(guān)的列名,因?yàn)槠骄档膶?shí)際計(jì)算可以由程序處理。

2.5 編碼預(yù)算下的單元格檢索

在最壞的情況下,不同值的數(shù)量可能與單元格的總數(shù)相匹配(即全表都用來喂給模型)。為了在這種情況下保持TableRAG的可行性,引入了一個(gè)單元格編碼預(yù)算B。如果不同值的數(shù)量超過B,將編碼限制在出現(xiàn)頻率最高的B對(duì),從而在處理大型表格時(shí)提高效率。

編碼預(yù)算僅影響單元格檢索過程。即使某個(gè)單元格未包括在檢索中,只要通過模式檢索或其他單元格知道了其列名,后續(xù)求解器仍然可以訪問該單元格。

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

如上圖所示,“description”列包含自由格式文本,可能導(dǎo)致大量獨(dú)特的值,許多可能因單元格編碼預(yù)算而被截?cái)?。然而,只要求解器識(shí)別了該列,它仍然可以對(duì)該列執(zhí)行操作以提取所需信息。

在獲得與問題相關(guān)的列名和單元格值之后,LLM可以使用這些信息有效地與表格交互。TableRAG與可以以編程方式與表格交互的語言模型智能體兼容。

智能體使用了ReAct框架,上圖展示了TableRAG如何使用ReAct。

2.6 Token復(fù)雜性

調(diào)用LLM的效率和延遲很大程度上取決于輸入token的數(shù)量。

假設(shè)列名、單元格值和問題的長度均為O(1)。其中,N代表行數(shù),M代表列數(shù),D代表不同文本單元格值的數(shù)量,B代表單元格編碼預(yù)算,K代表頂級(jí)檢索結(jié)果的數(shù)量。

主要表格提示方法的token復(fù)雜性如下表:

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

? 讀取表格:將整個(gè)表格提供給語言模型,導(dǎo)致推理過程中需要O(NM)數(shù)量的令牌。

? 讀取Schema:只向語言模型提供模式,僅需O(M)數(shù)量的令牌,但會(huì)丟失表格內(nèi)容的信息。

? 行-列檢索:將所有行和列編碼到嵌入中,導(dǎo)致編碼過程中需要O(NM)數(shù)量的令牌。然后它檢索前K個(gè)行和列以構(gòu)建一個(gè)K×K的子表進(jìn)行推理,其復(fù)雜性為O(K^2)。

對(duì)TableRAG中每一步的token復(fù)雜性進(jìn)行分析:

? 表格查詢擴(kuò)展:對(duì)語言模型的提示主要基于問題,通常只包含少量詞匯,因此這部分的令牌復(fù)雜性為O(1)。

? 構(gòu)建Schema數(shù)據(jù)庫:每個(gè)列名都使用編碼器函數(shù)fenc進(jìn)行編碼,導(dǎo)致編碼器的令牌復(fù)雜性為O(M)。

? 構(gòu)建單元格數(shù)據(jù)庫:這一操作涉及使用fenc編碼不同的列-值對(duì)。當(dāng)超過限制時(shí),不同對(duì)的總數(shù)D被限制在B以內(nèi)。因此,構(gòu)建單元格數(shù)據(jù)庫的令牌復(fù)雜性為O(min(D, B)),確保處理最頻繁的數(shù)據(jù)以優(yōu)化性能。

? 語言模型推理:查詢擴(kuò)展過程通常產(chǎn)生大約3-5個(gè)查詢,這些查詢的復(fù)雜性為O(1)。每個(gè)查詢隨后檢索前K個(gè)結(jié)果,導(dǎo)致語言模型提示中包含的列和單元格值的總復(fù)雜性為O(K)。這一步確保語言模型只處理表格中最相關(guān)的信息,從而提高生成響應(yīng)的效率和有效性。

總體而言,由于通常M遠(yuǎn)小于B和D,TableRAG的令牌復(fù)雜性在編碼時(shí)為O(min(D, B)),在推理時(shí)為O(K),且兩者均不依賴于表格的整體大小。因此,TableRAG即使面對(duì)大型表格,也能保持可控的成本,優(yōu)化計(jì)算資源和大規(guī)模表格理解任務(wù)的響應(yīng)時(shí)間。

3. 效果如何?

3.1 回答準(zhǔn)確性

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

上表展示了測(cè)試結(jié)果,TableRAG在ArcadeQA和BirdQA上的所有語言模型中均一致超越其他方法,準(zhǔn)確率最高。

讀取全表的方法在這兩個(gè)數(shù)據(jù)集上的表現(xiàn)均不佳,表明它在長上下文中存在劣勢(shì)。

在三種語言模型中,GPT 3.5 Turbo無論采用哪種表格提示方法,都能穩(wěn)定提供最佳性能。

3.2 檢索性能

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

上表評(píng)展示了召回率、精確度和f1分?jǐn)?shù)。

? 在列檢索方面,由于列數(shù)較少,所有方法都實(shí)現(xiàn)了較高的召回率,但TableRAG在兩個(gè)數(shù)據(jù)集上都展現(xiàn)了更高的精確度,這表明它在快速識(shí)別最相關(guān)列方面非常有效。

? ReadSchema和RowColRetrieval的精確度較低,說明這兩個(gè)方法檢索到了更多不相關(guān)的列。

? 在單元格檢索方面,TableRAG在所有指標(biāo)上均持續(xù)超越其他方法。TableRAG在單元格檢索上的高召回率與其他表格提示方法相比有了顯著提升,表明它能夠檢索到后續(xù)推理所需的大多數(shù)單元格???/p>

3.3 伸縮性測(cè)試

為了探究在相似條件下不同表格大小對(duì)性能的影響,基于TabFact創(chuàng)建了一系列合成數(shù)據(jù),表格尺寸從50×50到1000×1000不等。

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

? 如上圖所示,ReadTable在初始數(shù)據(jù)上表現(xiàn)強(qiáng)勁,隨著表格尺寸的增加,其準(zhǔn)確性急劇下降,在表格尺寸達(dá)到100及以上時(shí)變得不可行,這是由于上下文長度的限制。

? TableRAG展現(xiàn)了最為穩(wěn)定和可伸縮的性能,即使在表格尺寸增加到1000行和列時(shí),其性能也只是適度下降,從83.1%降至68.4%,證明了其在處理大型表格方面的有效性。

? ReadSchema和RowColRetrieval隨著表格尺寸的增加也顯示出性能下降,但仍然保持了一定的準(zhǔn)確率,這表明它們相對(duì)于ReadTable具有較好的可伸縮性,但在處理大型表格方面不如TableRAG有效。

3.4 與WikiTableQA上最先進(jìn)技術(shù)的比較

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

如上表所示,TableRAG超越了所有現(xiàn)有方法,包括TaBERT 、Text-to-SQL 、Binder 和Dater 。表明TableRAG即使在小規(guī)模環(huán)境中也具有有效性。

盡管TableRAG旨在應(yīng)對(duì)大規(guī)模TableQA任務(wù),但其方法具有通用性,并能在不同規(guī)模和復(fù)雜性的表格上保持最先進(jìn)水平的性能。

3.5 消融研究

3.5.1 TableRAG中檢索方法的影響

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

上表比較了TableRAG內(nèi)部不同的檢索方法。

? BM25:著名的基于統(tǒng)計(jì)的檢索方法,效率上表現(xiàn)出色,能夠處理所有單元格,但缺乏語義理解能力。

結(jié)果表明:基于嵌入的檢索方法性能最佳,超越了BM25和混合方法,盡管由于編碼限制它并未處理整個(gè)表格。

3.5.2 檢索結(jié)果數(shù)量K的影響

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

上圖展示了改變頂級(jí)檢索結(jié)果(K)數(shù)量對(duì)性能和后續(xù)語言模型推理的令牌成本的影響。

結(jié)果表明:增加K的數(shù)量增加了提示長度,但并未一致地提升性能。

較大的K值雖然允許語言模型訪問更多信息,但也導(dǎo)致了更長的上下文,可能加劇“Loss in the middle”現(xiàn)象。

TableRAG通過減少K值的需求,降低了所需的上下文令牌數(shù)量,減少了后續(xù)推理的成本,同時(shí)仍然超越了其他方法。

3.5.3 編碼預(yù)算的影響

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

上圖展示了不同的token編碼預(yù)算(B)如何影響TableRAG和RowColRetrieval的性能。

雖然更高的預(yù)算理論上允許檢索更多信息,但結(jié)果表明這并不總是導(dǎo)致更好的性能。特別是,隨著預(yù)算的增加,RowColRetrieval的性能有所下降,可能是因?yàn)闄z索到的更多行使得選擇正確的行變得更加復(fù)雜,并產(chǎn)生了來自更長列序列的噪聲嵌入。

TableRAG在不同預(yù)算下保持了一致的性能,表明其通過單元格頻率構(gòu)建語料庫的方法即使在有限的預(yù)算下也能有效地捕獲基本信息。

3.5.4 查詢擴(kuò)展的影響

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

上圖分析了查詢擴(kuò)展方法的有效性。結(jié)果表明:查詢擴(kuò)展一致地提升了TableRAG在不同數(shù)據(jù)集和語言模型中的性能。

3.5.5 模式檢索和單元格檢索

Google新研究:適用于百萬級(jí)單元格的TableRAG-AI.x社區(qū)圖片

上表分析了Schema檢索和單元格檢索對(duì)性能的影響。

? 模式檢索在不同數(shù)據(jù)集和語言模型中一致地提升了推理性能,最大提升了9.4%,無論是否考慮單元格值。

? 即使對(duì)于列數(shù)較少的表格(ArcadeQA中平均20.5列,BirdQA中平均11.1列),模式檢索仍然有助于只為后續(xù)推理提供相關(guān)列。

? 單元格檢索在所有數(shù)據(jù)集和語言模型中一致地提高了準(zhǔn)確性,最大提升了11.5%,表明單元格檢索可以從表格內(nèi)容中有效地提取關(guān)鍵信息。

? 論文原文: https://arxiv.org/abs/2410.04739

本文轉(zhuǎn)載自??大語言模型論文跟蹤??,作者:HuggingAGI ????

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