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

DeepMind | 在生成的過(guò)程中進(jìn)行檢索:一種有潛力完全替代RAG的思路"RICHES"

發(fā)布于 2024-7-29 00:29
瀏覽
0收藏

大家好,我是HxShine

今天分享一篇 Google DeepMind 公司的一篇文章,Title: From RAG to RICHES: Retrieval Interlaced with Sequence Generation:從 RAG 到 RICHES:在生成過(guò)程中完成檢索。

這篇文章提出了一種新的方法 RICHES,它將檢索RAG與生成完全結(jié)合在一塊。RICHES 消除了對(duì)單獨(dú)構(gòu)建RAG系統(tǒng)再結(jié)合LLM進(jìn)行生成的模式,為傳統(tǒng)的 RAG 系統(tǒng)提供了一種替代方案。它通過(guò)直接解碼其內(nèi)容來(lái)檢索文檔,并受到語(yǔ)料庫(kù)的約束。RICHES允許我們僅通過(guò)提示即可適應(yīng)各種新任務(wù)。RICHES 可以與任何指令微調(diào)模型一起使用,而無(wú)需額外的訓(xùn)練。它提供屬性證據(jù),支持多跳檢索,并在單個(gè) LLM 解碼過(guò)程中交織思維以規(guī)劃下一步要檢索的內(nèi)容。 實(shí)驗(yàn)表明RICHES 在 ODQA 任務(wù)(包括屬性和多跳 QA)中都有非常好的性能。

RICHES是非常有潛力能替代RAG的一種方案,他能做到在生成的過(guò)程中完成檢索,并且能做到邊檢索,邊思考,邊糾錯(cuò),能解決復(fù)雜的多步推理問(wèn)題。后續(xù)RICHES或許能成為L(zhǎng)LM接入外部知識(shí)的一種新方案。同時(shí)其對(duì)檢索數(shù)據(jù)的構(gòu)建方法也有了更高的要求,需要在decode上做額外的設(shè)計(jì),也增加了其使用難度。

一、概述

? Title: From RAG to RICHES: Retrieval Interlaced with Sequence Generation

? URL:?? https://arxiv.org/pdf/2407.00361??

? Authors: Palak Jain, Livio Baldini Soares, Tom Kwiatkowski

? Institution: Google DeepMind

1 Motivation

? 當(dāng)前的 RAG 系統(tǒng)需要將檢索和生成分開,導(dǎo)致多系統(tǒng)流水線復(fù)雜且難以訓(xùn)練。

? LLMs 容易產(chǎn)生幻覺(jué),無(wú)法及時(shí)引入新內(nèi)容,無(wú)法解釋新鮮的、在訓(xùn)練時(shí)無(wú)法獲得的知識(shí)。

2 Methods

RICHES 通過(guò)將檢索與生成統(tǒng)一到單一的解碼過(guò)程中,RICHES旨在通過(guò)提示(prompting)適應(yīng)多樣化的新任務(wù),從而減少對(duì)額外訓(xùn)練的需求。其通過(guò)直接解碼文檔內(nèi)容或與之相關(guān)的自然語(yǔ)言檢索鍵,提高了檢索效率,并允許在單個(gè)解碼過(guò)程中進(jìn)行多跳檢索和思考規(guī)劃。

DeepMind | 在生成的過(guò)程中進(jìn)行檢索:一種有潛力完全替代RAG的思路"RICHES"-AI.x社區(qū)


1)RICHES 的工作流程

  • 輸入問(wèn)題:用戶輸入一個(gè)問(wèn)題。
  • 生成檢索鍵:從 FM-Index 中生成指向相關(guān)文檔的檢索鍵。
  • 解碼過(guò)程:使用 LLM 進(jìn)行解碼,生成包含檢索鍵和非約束文本的序列。
  • 選擇最優(yōu)序列:從多個(gè)候選序列中選擇最優(yōu)序列作為答案。
  • 輸出答案:輸出答案,并可以提供屬性證據(jù),指明答案的來(lái)源。

2)詳細(xì)方法和步驟

  • 檢索鍵生成: 通過(guò)解碼文檔內(nèi)容或相關(guān)的自然語(yǔ)言檢索鍵來(lái)檢索文檔,這些鍵指向它們生成的文檔。

FM-Index 索引:使用 FM-Index 索引檢索語(yǔ)料庫(kù),將文本的所有后綴按照字典序排列并壓縮成更緊湊的形式。

檢索鍵:從 FM-Index 中生成指向文檔的檢索鍵,例如段落、句子或命題。檢索鍵可以是文本片段,也可以是經(jīng)過(guò)命題化處理的文本片段。

  • 約束解碼: 使用 FM-index 對(duì)模型輸出進(jìn)行約束,以確保它們存在于語(yǔ)料庫(kù)中。

約束條件:在解碼過(guò)程中添加約束條件,確保生成的序列與檢索語(yǔ)料庫(kù)中的序列一致。

約束解碼技術(shù): 使用多種約束解碼技術(shù),例如:

? 掩碼技術(shù):將不在檢索語(yǔ)料庫(kù)中的詞匯的概率設(shè)置為 0,防止模型生成不存在的詞匯。

? 前綴匹配:確保生成的序列以檢索鍵開頭。

? 長(zhǎng)度限制:限制生成序列的長(zhǎng)度,避免生成過(guò)長(zhǎng)的序列。

def constrain(input_prefix):
    # Fetch continuations for prefix 
    allowed_tokens = fm_index.get_continuations(input_prefix)
    # Get next token probabilities
    logprobs = LLM.logprobs(input_prefix)
    # Disallowed tokens are set to -inf
    for i in logprobs:
        token = vocab[i]
        if token not in allowed_tokens:
                logprobs[i] -= np.inf 
    return logprobs

3)自適應(yīng)beamsearch大小: 使用自適應(yīng)beamsearch大小來(lái)平衡約束和非約束生成。

? 束搜索:使用束搜索技術(shù)來(lái)生成多個(gè)候選序列,從中選擇最優(yōu)序列作為答案。

? 自適應(yīng)束大?。焊鶕?jù)是受限序列還是非受限序列自適應(yīng)調(diào)整beamsearch窗口大小。

約束序列:對(duì)于約束序列,使用較小的束大小,因?yàn)榧s束序列的搜索空間較小。

非約束序列:對(duì)于非約束序列,使用較大的束大小,因?yàn)榉羌s束序列的搜索空間較大。

3 Few-shot prompt(QA的提示詞)

1)single-hop QA

DeepMind | 在生成的過(guò)程中進(jìn)行檢索:一種有潛力完全替代RAG的思路"RICHES"-AI.x社區(qū)


特點(diǎn):

? keyword引入思考過(guò)程,輔助檢索相關(guān)內(nèi)容,同時(shí)keyword生成為非受限解碼,給足充分的思考空間。

? passage生成《》內(nèi)部用限制解碼,精確解碼檢索相關(guān)知識(shí),同時(shí)可以設(shè)置大的Beam size,充分發(fā)揮其能力。

? 迭代生成多個(gè)keyword,可以用于檢索多個(gè)知識(shí),以及修復(fù)檢索錯(cuò)誤的結(jié)果。

2)multi-hop QA

DeepMind | 在生成的過(guò)程中進(jìn)行檢索:一種有潛力完全替代RAG的思路"RICHES"-AI.x社區(qū)


特點(diǎn):

? keyword引入思考過(guò)程,輔助檢索相關(guān)內(nèi)容,同時(shí)keyword生成為非受限解碼,給足充分的思考空間。

? passage生成《》內(nèi)部用限制解碼,精確解碼檢索相關(guān)知識(shí),同時(shí)可以設(shè)置大的Beam size,充分發(fā)揮其能力。

? 迭代生成多個(gè)keyword,解決多跳問(wèn)答需要搜索多個(gè)知識(shí)問(wèn)題,同時(shí)迭代生成還能對(duì)其進(jìn)行糾錯(cuò),修復(fù)檢索錯(cuò)誤的結(jié)果。

3)特點(diǎn)總結(jié)

  • 統(tǒng)一檢索與生成:將檢索操作與文本生成過(guò)程統(tǒng)一到一個(gè)單一的解碼過(guò)程中,消除了對(duì)單獨(dú)檢索器和生成器的需求。
  • 受限解碼(Constrained Decoding):通過(guò)標(biāo)記特殊的開始和結(jié)束符號(hào)來(lái)識(shí)別檢索鍵,確保生成的文本是存在于預(yù)定義的語(yǔ)料庫(kù)中的序列。
  • 自適應(yīng)束搜索(Adaptive Beam Search):為了處理交替出現(xiàn)的受限和非受限文本生成任務(wù),引入了自適應(yīng)束搜索策略,在受限序列生成時(shí)使用全束搜索,而在非受限生成時(shí)則使用貪心解碼。
  • 高效的約束實(shí)現(xiàn):利用FM-index數(shù)據(jù)結(jié)構(gòu)來(lái)支持快速的子字符串搜索操作,從而在解碼過(guò)程中對(duì)模型輸出進(jìn)行語(yǔ)料庫(kù)約束,確保生成的文本符合要求。
  • 多種檢索鍵選擇:提供了多種檢索鍵的選擇,包括文檔標(biāo)題、段落子字符串、句子子字符串和命題索引,以適應(yīng)不同的檢索需求。
  • 無(wú)需額外訓(xùn)練:可以與任何指令調(diào)整(Instruction-tuned)模型一起工作,無(wú)需額外的訓(xùn)練,這得益于統(tǒng)一檢索與生成的方法可以直接通過(guò)提示適應(yīng)新任務(wù)。
  • 多跳檢索和思考規(guī)劃:支持多跳檢索任務(wù),允許模型在生成過(guò)程中穿插“思考”步驟,以幫助指導(dǎo)搜索過(guò)程,避免重復(fù)檢索,并在必要時(shí)糾正錯(cuò)誤的檢索。

DeepMind | 在生成的過(guò)程中進(jìn)行檢索:一種有潛力完全替代RAG的思路"RICHES"-AI.x社區(qū)


4)索引構(gòu)建策略對(duì)比

DeepMind | 在生成的過(guò)程中進(jìn)行檢索:一種有潛力完全替代RAG的思路"RICHES"-AI.x社區(qū)


多種索引策略優(yōu)缺點(diǎn)分析:

? 文檔標(biāo)題和章節(jié)標(biāo)題:

優(yōu)點(diǎn):這種策略利用了檢索語(yǔ)料庫(kù)的結(jié)構(gòu)化信息,例如 Wikipedia 中的標(biāo)題和章節(jié)標(biāo)題,可以有效地組織文檔并提供層次化的檢索。

缺點(diǎn):這種策略依賴于檢索語(yǔ)料庫(kù)的結(jié)構(gòu),對(duì)于結(jié)構(gòu)不規(guī)范的語(yǔ)料庫(kù)可能不適用。

? 段落子字符串:

? 優(yōu)點(diǎn):這種策略將段落作為檢索單元,可以有效地檢索段落級(jí)別的信息,例如開放式問(wèn)答中的證據(jù)段落。

? 缺點(diǎn):這種策略可能導(dǎo)致檢索結(jié)果過(guò)多,因?yàn)槊總€(gè)段落都可能對(duì)應(yīng)多個(gè)檢索鍵。

? 句子子字符串:

? 優(yōu)點(diǎn):這種策略將句子作為檢索單元,可以檢索句子級(jí)別的信息,例如翻譯任務(wù)中的翻譯示例。

? 缺點(diǎn):句子可能不夠完整,無(wú)法提供足夠的信息來(lái)回答問(wèn)題。

? 命題索引(需要額外對(duì)文本進(jìn)行分析拆解):

? 優(yōu)點(diǎn):這種策略將文檔分解為原子命題,每個(gè)命題包含一個(gè)事實(shí)性信息。命題索引可以有效地檢索事實(shí)性信息,例如開放式問(wèn)答中的答案。

? 缺點(diǎn):命題化過(guò)程需要額外的計(jì)算成本,并且可能無(wú)法涵蓋所有類型的知識(shí)。

4 QA

Q1:如何選擇合適的索引策略?:

? 任務(wù)類型:根據(jù)任務(wù)類型選擇合適的索引策略。例如,對(duì)于開放式問(wèn)答任務(wù),可以選擇段落子字符串或命題索引。

? 語(yǔ)料庫(kù)結(jié)構(gòu):根據(jù)檢索語(yǔ)料庫(kù)的結(jié)構(gòu)選擇合適的索引策略。例如,**對(duì)于結(jié)構(gòu)化的語(yǔ)料庫(kù),可以選擇文檔標(biāo)題和章節(jié)標(biāo)題。

實(shí)驗(yàn)結(jié)論:RICHES 論文中的實(shí)驗(yàn)結(jié)果表明,命題索引在開放式問(wèn)答任務(wù)中表現(xiàn)最好,因?yàn)樗梢杂行У貦z索事實(shí)性信息,并且與 RICHES 的解碼搜索策略更匹配。

Q2:基于命題索引究竟是什么,怎么來(lái)的?

  • ? Proposition定義:其需要對(duì)原始passage做原子處理,為文本中的原子表達(dá)式,每個(gè)Proposition命題都封裝了獨(dú)特的特征,并以簡(jiǎn)潔、自成一體的自然語(yǔ)言格式呈現(xiàn)一個(gè)知識(shí)點(diǎn)。

DeepMind | 在生成的過(guò)程中進(jìn)行檢索:一種有潛力完全替代RAG的思路"RICHES"-AI.x社區(qū)


? Proposition命題構(gòu)建步驟一:利用GPT4將passage轉(zhuǎn)化成propositions(構(gòu)建Flan-T5-large模型的訓(xùn)練語(yǔ)料)


? Proposition命題構(gòu)建步驟二:訓(xùn)練Flan-T5-large model生成大量Proposition

DeepMind | 在生成的過(guò)程中進(jìn)行檢索:一種有潛力完全替代RAG的思路"RICHES"-AI.x社區(qū)


5 Conclusion

? RICHES 可以將檢索與序列生成統(tǒng)一在一起,不用去構(gòu)建復(fù)雜的pipeline。

? RICHES可以解決各種 ODQA 任務(wù),同時(shí)其復(fù)雜任務(wù)推理能力中表現(xiàn)出色,并可以與任何指令微調(diào)模型一起使用,而無(wú)需額外的訓(xùn)練。

? RICHES能在推理的過(guò)程中,一邊檢索知識(shí),一邊進(jìn)行思考,還能對(duì)生成的結(jié)果進(jìn)行校驗(yàn),是比較有潛力替代RAG的一種方法。

本文轉(zhuǎn)載自 ??NLP PaperWeekly??,作者: NLP PaperWeekly

標(biāo)簽
已于2024-7-29 10:24:32修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦