
前言已經(jīng)嘮了三章的RAG是時(shí)候回頭反思一下當(dāng)前的RAG是解決幻覺(jué)的終點(diǎn)么我給不出直接的答案不過(guò)感覺(jué)當(dāng)前把RAG當(dāng)作傳統(tǒng)搜索框架在大模型時(shí)代下的改良這個(gè)思路的天花板高度有限~反思來(lái)源于對(duì)RAG下模型回答的直觀感受最初我們被ChatGPT的能力所震驚并不是它能背誦知識(shí)而是模型在知識(shí)壓縮后表現(xiàn)出的“涌現(xiàn)能力”更具體到RAG所屬的問(wèn)答領(lǐng)域是模型能夠精準(zhǔn)的基于上文從壓縮的參數(shù)中召回并整合相應(yīng)的知識(shí)甚至進(jìn)行知識(shí)外推的能力。通俗點(diǎn)說(shuō)它有可能生成我在任何地方都檢索不到的答案但RAG當(dāng)前的多數(shù)使用方法采用只讓模型基于檢索到的內(nèi)容進(jìn)行回答的方案其實(shí)限制了模型自身對(duì)知識(shí)壓縮形成的智能大模型似乎變成了文本抽取和總結(jié)潤(rùn)色的工具。體驗(yàn)上大模型直接回答的效果就像是學(xué)霸答題文采四溢而RAG有時(shí)倒像是學(xué)渣開(kāi)卷考試答得小心翼翼一有不慎還會(huì)抄錯(cuò)答案…既要保證事實(shí)性又要保留模型智能則需要最大化的使用模型已經(jīng)內(nèi)化壓縮到參數(shù)中的信息只在需要使用外部知識(shí)增強(qiáng)的時(shí)候再進(jìn)行工具調(diào)用。看到過(guò)以下幾種方案Detection通過(guò)前置判斷決策模型何時(shí)需要使用外掛在模型可以自行回答的時(shí)候使用模型回答當(dāng)模型不能回答的時(shí)候走RAG檢索生成Realtime Data需要獲取動(dòng)態(tài)世界的信息部分場(chǎng)景可以通過(guò)意圖進(jìn)行決策相對(duì)好解決Incorrect or Incomplete模型不知道或者模型推理幻覺(jué)如何知道模型可能不知道是更難解決的問(wèn)題Calibration通過(guò)后置處理讓模型先生成再使用召回內(nèi)容對(duì)模型回答進(jìn)行修正校準(zhǔn)和事實(shí)性檢查兩種方案勾兌一下高置信度判斷模型可以自行完成直接回答中置信度先生成再校驗(yàn)低置信度直接走RAG檢索生成或者通過(guò)意圖和場(chǎng)景進(jìn)行決策如何勾兌就不在這里說(shuō)了這里我們聊聊基礎(chǔ)的前置判斷和后置處理分別有哪些方案~前置判斷-Detection檢測(cè)模型回答存在幻覺(jué)可以通過(guò)檢索外部知識(shí)進(jìn)行校驗(yàn)不過(guò)考慮生成式模型覆蓋問(wèn)題的廣泛性Self-Contradictory論文中評(píng)估chatgpt生成的回答中38.5%的內(nèi)容無(wú)法通過(guò)Wiki等外部知識(shí)進(jìn)行校驗(yàn)。因此這里我們先介紹一種完全基于模型自身不依賴(lài)外部知識(shí)的幻覺(jué)判斷方案自我矛盾。后介紹一種模型直接拒絕回答的方案和RLHF里面的事實(shí)性原則類(lèi)似這里是基于SFT的模型自我拒絕方案不過(guò)個(gè)人對(duì)拒識(shí)類(lèi)的方案持一定的保留意見(jiàn)但不妨礙學(xué)習(xí)新思路哈哈~~自我矛盾第一種發(fā)現(xiàn)模型幻覺(jué)的方案是基于模型多次回答的不一致性來(lái)判斷模型是否在胡說(shuō)八道。相似的概念在解密Prompt系列9. 模型復(fù)雜推理-思維鏈基礎(chǔ)和進(jìn)階玩法里面聊Self-Consistency COT時(shí)就提到過(guò)該論文是使用多路COT推理來(lái)投票出一個(gè)最合理的推理路徑從而提高思考的準(zhǔn)確率。這里只不過(guò)改變了使用的形式通過(guò)模型多次回答的不一致來(lái)判斷模型是否出現(xiàn)了幻覺(jué)。有以下幾種生成模型多次回答并度量一致性的方案單模型推理SELFCHECKGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language ModelsSELF-CONTRADICTORY HALLUCINATIONS OF LLMS: EVALUATION, DETECTION AND MITIGATION對(duì)于如何度量模型隨機(jī)生成的多個(gè)回答之間的不一致性Self-Check嘗試了包括Bert相似度計(jì)算在內(nèi)的5種方法其中效果最好的兩種分別是傳統(tǒng)NLI和基于大模型prompt的NLI從推理性?xún)r(jià)比上傳統(tǒng)NLI有優(yōu)勢(shì)效果上LLM更好以下是使用不同相似度計(jì)算方案來(lái)衡量模型多次隨機(jī)解碼的不一致性并用該指標(biāo)來(lái)計(jì)算模型回答是否符合事實(shí)性的AUC效果傳統(tǒng)NLI推理任務(wù)是給定前提premise判斷假設(shè)hypothesis是否成立或者矛盾。這里論文就是使用MNLI數(shù)據(jù)訓(xùn)練的Debarta-v3-Large來(lái)判斷模型生成的回答r(hypothesis)是否和其他N個(gè)采樣生成的回答(premise)相矛盾。論文分別嘗試了句子級(jí)的判斷和整個(gè)回答粒度的判斷句子級(jí)別的效果顯著更好。\[S_{NLI}(i) \frac{1}{N}\sum_{n1}^N P(contradict|r_i,S^n) \]而基于大模型prompt同樣是NLI任務(wù)的思路只不過(guò)改成了自然語(yǔ)言指令以下context等同于以上的 \(S^n\), sentence就是 \(r_i\), 大模型推理返回的Yes/NO會(huì)被轉(zhuǎn)化成0/1并計(jì)算均值。\[S_{prompt}(i) \frac{1}{N}\sum_{n1}^N x_i^n \,\, x \in {(0,1)} \]SELF-Contradictory的思路很相似方法更加復(fù)雜些感興趣的朋友自己去看論文吧~多模型問(wèn)答DeepMind LM vs LM: Detecting Factual Errors via Cross ExaminationImproving Factuality and Reasoning in Language Models through Multiagent Debate同樣是自我矛盾的思路還可以通過(guò)多模型對(duì)話(huà)的方式來(lái)進(jìn)行。LM VS LM采用了模型B多次反復(fù)提問(wèn)模型A的方式來(lái)生成多個(gè)回答。類(lèi)似的方式也用于問(wèn)卷中問(wèn)題的設(shè)計(jì)出題人會(huì)用不同的方式把一個(gè)問(wèn)題問(wèn)好幾遍如果每次回答都不一樣說(shuō)明做題人對(duì)類(lèi)似問(wèn)題的回答是不確定的。如下圖第一步模型A先生成回答(claim)。第二步模型B會(huì)針對(duì)cliam從多個(gè)角度生成提問(wèn)并讓模型A再次進(jìn)行回答。第三步模型B會(huì)基于A的原始回答和對(duì)多個(gè)問(wèn)題的回答來(lái)判斷原始回答的正確性。以上B提問(wèn)A回答的步驟如果B判斷需要進(jìn)行補(bǔ)充提問(wèn)的話(huà)可能會(huì)重復(fù)多次。這里涉及到的三個(gè)任務(wù)都是通過(guò)大模型指令來(lái)進(jìn)行的三個(gè)任務(wù)分別是模型B基于A的cliam進(jìn)行提問(wèn)模型B判斷是否繼續(xù)提問(wèn)模型B基于A的所有回答判斷claim是否正確。對(duì)應(yīng)的具體prompt如下相比上面SELF-CHECK隨機(jī)解碼生成多個(gè)答案的方案從多角度進(jìn)行提問(wèn)個(gè)人感覺(jué)更有針對(duì)性但兩種方法都會(huì)有遺漏和誤傷。推理成本上SELF-CHECK更低LM vs LM更高。自我拒絕R-Tuning: Teaching Large Language Models to Refuse Unknown Questions除了通過(guò)不一致性判斷模型出現(xiàn)幻覺(jué)另一種更干脆直接的方案是讓模型在碰到自己不確定的問(wèn)題時(shí)直接選擇拒絕回答和RLHF中的事實(shí)性原則的是一個(gè)思路。但我對(duì)這類(lèi)方案最大的疑惑是拒識(shí)能力的泛化性。究竟模型是學(xué)到了對(duì)于自身parametric knowledge置信度較低混淆度較高的問(wèn)題進(jìn)行拒絕回答還是模型背下來(lái)了對(duì)某些知識(shí)和上文語(yǔ)義空間進(jìn)行拒絕回答。這個(gè)我也還沒(méi)想明白哈哈哈~所以這里我們繞過(guò)這個(gè)問(wèn)題聊一種中間策略畢竟西醫(yī)好多疾病也沒(méi)研究明白但病還得治不是。R-Tunning提出指令微調(diào)可能放大了模型的回答幻覺(jué)。因?yàn)橹噶钗⒄{(diào)的數(shù)據(jù)集中所有問(wèn)題都有答案微調(diào)任務(wù)就是負(fù)責(zé)教會(huì)模型各種任務(wù)范式以及在不同的任務(wù)中如何召回預(yù)訓(xùn)練中學(xué)習(xí)的知識(shí)并回答問(wèn)題。但我們忽略了SFT中很多任務(wù)涉及到的知識(shí)在模型預(yù)訓(xùn)練中可能是沒(méi)接觸過(guò)的但我們依舊選擇讓模型去進(jìn)行回答。這種預(yù)訓(xùn)練和指令微調(diào)間的不一致性可能會(huì)進(jìn)一步放大模型幻覺(jué)。R-Tunning給出的解決方案是在構(gòu)建指令微調(diào)數(shù)據(jù)集時(shí)加入模型是否對(duì)改答案表示肯定的描述這樣允許模型拒絕自己不確定的問(wèn)題。分成2個(gè)步驟找到模型不確定的問(wèn)題論文嘗試了兩種方案R-Tuning模型回答和標(biāo)注答案不一致適用于有標(biāo)準(zhǔn)答案的QA問(wèn)題R-Tuning-U模型回答自我矛盾這里論文計(jì)算模型回答包含的所有答案的熵值構(gòu)建允許模型拒絕的指令數(shù)據(jù)集論文也嘗試了以下兩種prompt指令模板R-Tuning“Q:{Question},A:{Answer}.{Propmt}.”,其中prompt是Are you sure you accurately answered the question based on your internal knowledge:對(duì)于上面模型確定的問(wèn)題加上I am sure不確定的問(wèn)題加上I am not sureR-Tuning-R: 對(duì)于確定給的問(wèn)題使用Q:{Question},A:{Answer}對(duì)于不確定的問(wèn)題用I am not sure 的各種相似表達(dá)來(lái)直接替換Answer然后使用以上加入模型不確定性表達(dá)的數(shù)據(jù)集進(jìn)行指令微調(diào)即可。在我們的使用場(chǎng)景中R-Tunning-R這種直接拒絕的方案更加合適畢竟我傾向于指令微調(diào)的核心并不是知識(shí)注入而是任務(wù)對(duì)齊所以模型只要學(xué)習(xí)到對(duì)于自己不確定的問(wèn)題選擇拒絕回答即可。在論文驗(yàn)證的MMLU等數(shù)據(jù)集上這種拒絕微調(diào)方案有一定的領(lǐng)域外的泛化效果不過(guò)這些數(shù)據(jù)集和我們的使用場(chǎng)景相差很大具體效果要等測(cè)試后才知道了。后處理Calibration Method和Detection相反Calibration把重心放在模型回答的后處理上。也就是先不做判斷直接使用模型生成回答再調(diào)用工具對(duì)回答進(jìn)行校驗(yàn)和修改。這里我們介紹谷歌和微軟提出的幾種方案。不同方案對(duì)于如何后處理和調(diào)用哪些工具進(jìn)行后處理存在差異不過(guò)整體流程都和下圖相似模型生成 - 召回相關(guān)知識(shí) - 對(duì)生成結(jié)果進(jìn)行校驗(yàn)和修復(fù)指令方案RARR: Researching and Revising What Language Models Say, Using Language ModelsCRITIC: LARGE LANGUAGE MODELS CAN SELFCORRECT WITH TOOL-INTERACTIVE CRITIQUING基礎(chǔ)方案是RARR提出的Research-then-revise框架整個(gè)流程分為以下幾個(gè)步驟Generation Stage先讓LLM直接生成問(wèn)題回答XResearch Stage用于收集可以校驗(yàn)回答的事實(shí)性證據(jù)。針對(duì)X使用Few-shot-prompt, 生成用來(lái)校驗(yàn)X的多個(gè)搜索問(wèn)題每個(gè)問(wèn)題分別進(jìn)行谷歌搜索并召回Top5內(nèi)容。這里論文沒(méi)有使用搜索自帶的snippet而是對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行分塊每4個(gè)句子一塊并使用T5-Encoder計(jì)算每個(gè)chunk和query的相似度保留top-J個(gè)內(nèi)容塊。這里會(huì)得到一個(gè)(Q1,chunk1)(Q1,chunk2),(Q2,chunk1),…的問(wèn)題事實(shí)列表**Revise Stage獲取所有檢索到的事實(shí)之后進(jìn)入校驗(yàn)階段。**論文會(huì)遍歷以上列表針對(duì)每一個(gè)問(wèn)題分別先使用few-shot-cot判斷每個(gè)事實(shí)和模型回答X之間是否是一致的agreement model如下。如果一致則遍歷下一個(gè)如果不一致則使用few-shot-prompt讓大模型基于事實(shí)問(wèn)題對(duì)模型回答進(jìn)行修改revision model如下。論文在修改回答時(shí)會(huì)先定位原始回答X中哪個(gè)span和事實(shí)不符再進(jìn)行修改從而避免大幅修改原始回答評(píng)估部分后處理方案需要兼顧對(duì)模型原始回答的保留和事實(shí)性這里RARR提出了兩個(gè)指標(biāo)Attribution Score計(jì)算歸因得分既給定所有事實(shí)修改后回答Y中每個(gè)句子和所有事實(shí)的最大NLI打分的平均值既整體回答能獲得事實(shí)性支撐的平均概率Preservation score計(jì)算保留率由回答原始意圖的保留概率 * 前后答案的未改變率編輯距離度量得到RARR最大的問(wèn)題在于效率一部分是大模型的推理效率一方面是最后的Revise部分采用了串行修改這部分在后面的微調(diào)方案中會(huì)有改良另一篇論文CRITIC提出的verify-then-correct和RARR非常相似只不過(guò)在不同的任務(wù)上嘗試使用了不同的外部工具進(jìn)行校驗(yàn)。在開(kāi)放問(wèn)答上使用搜索在代碼問(wèn)題就用代碼解釋器并未涉及動(dòng)態(tài)的工具選擇只是在不同數(shù)據(jù)集上固定選用不同的工具這里就不展開(kāi)說(shuō)啦感興趣的盆友自己去看論文吧~微調(diào)方案PURR: Efficiently Editing Language Model Hallucinations by Denoising Language Model CorruptionsCheck Your Facts and Try Again: Improving Large Language Models with External Knowledge and Automated FeedbackFusion-in-decoder: Leveraging Passage Retrieval with Generative Models for Open Domain Question AnsweringPURR針對(duì)RARR的效率問(wèn)題進(jìn)行了優(yōu)化使用的是大模型能力通過(guò)數(shù)據(jù)蒸餾到小模型的方案也就是把上面最耗時(shí)的Revise部分使用T5-large模型來(lái)實(shí)現(xiàn)query生成的部分也用T5-large來(lái)實(shí)現(xiàn)并且把串行修改的方案優(yōu)化為了所有事實(shí)進(jìn)行一次性融合修改。論文的核心就在于如何使用大模型來(lái)構(gòu)建用于事實(shí)性修改的T5模型。論文使用了corrput的方案也就是把正確的回答人為進(jìn)行破壞構(gòu)造幻覺(jué)再訓(xùn)練模型進(jìn)行還原具體包含以下幾個(gè)步驟生成正確的回答整理了來(lái)自各個(gè)領(lǐng)域和話(huà)題的6000個(gè)種子問(wèn)題每個(gè)問(wèn)題調(diào)用搜索引擎獲取TopN網(wǎng)頁(yè)并進(jìn)行chunking分段使用和上面RARR相同的T5-Encoder計(jì)算每個(gè)段落和Q的相似度閾值以上的為positive evidence(\(E^\))這里限制最多4條其余閾值以下的為negative evidence\(E-\)。然后使用zero-shot-prompt來(lái)讓大模型基于\(E\)生成多文檔總結(jié)作為正確的回答Y。對(duì)回答添加噪聲同樣使用大模型基于2shot-cot-prompt來(lái)對(duì)以上獲得的正確答案進(jìn)行破壞指令要求大模型先生成修改方案再對(duì)回答進(jìn)行魔改。魔改包括但不限于魔改實(shí)體魔改語(yǔ)義關(guān)系魔改語(yǔ)法等等這里論文使用了text-davinci-003指令和效果如下圖訓(xùn)練T5微調(diào)使用\(E\)的事實(shí)和添加噪聲的回答作為輸入模型目標(biāo)是把噪聲回答修復(fù)成正確答案。這里如果\(E\)不足4條的會(huì)隨機(jī)采樣\(E^-\)這樣可以提高模型對(duì)噪聲事實(shí)的識(shí)別能力。值得說(shuō)一下的是這里多個(gè)事實(shí)并非采用拼接的形式進(jìn)行融合而是使用Fusion-in-decoder的形式在encoder層編碼后進(jìn)行拼接再進(jìn)入Decoder。效果上PURR對(duì)比RARR對(duì)模型原始回答有更高的保有率Pres以及更高的平均歸因率Attr。但整體上后處理相關(guān)的論文和實(shí)際應(yīng)用中模型回答的錯(cuò)誤的五花八門(mén)相比還是簡(jiǎn)化了太多。在實(shí)際應(yīng)用中使用這類(lèi)后處理的修復(fù)邏輯感覺(jué)還有很多需要踩的坑。最后感謝你們的閱讀和喜歡我收藏了很多技術(shù)干貨可以共享給喜歡我文章的朋友們?nèi)绻憧匣〞r(shí)間沉下心去學(xué)習(xí)它們一定能幫到你。因?yàn)檫@個(gè)行業(yè)不同于其他行業(yè)知識(shí)體系實(shí)在是過(guò)于龐大知識(shí)更新也非常快。作為一個(gè)普通人無(wú)法全部學(xué)完所以我們?cè)谔嵘夹g(shù)的時(shí)候首先需要明確一個(gè)目標(biāo)然后制定好完整的計(jì)劃同時(shí)找到好的學(xué)習(xí)方法這樣才能更快的提升自己。這份完整版的大模型 AI 學(xué)習(xí)資料已經(jīng)上傳CSDN朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認(rèn)證二維碼免費(fèi)領(lǐng)取【保證100%免費(fèi)】一、全套AGI大模型學(xué)習(xí)路線AI大模型時(shí)代的學(xué)習(xí)之旅從基礎(chǔ)到前沿掌握人工智能的核心技能二、640套AI大模型報(bào)告合集這套包含640份報(bào)告的合集涵蓋了AI大模型的理論研究、技術(shù)實(shí)現(xiàn)、行業(yè)應(yīng)用等多個(gè)方面。無(wú)論您是科研人員、工程師還是對(duì)AI大模型感興趣的愛(ài)好者這套報(bào)告合集都將為您提供寶貴的信息和啟示。三、AI大模型經(jīng)典PDF籍隨著人工智能技術(shù)的飛速發(fā)展AI大模型已經(jīng)成為了當(dāng)今科技領(lǐng)域的一大熱點(diǎn)。這些大型預(yù)訓(xùn)練模型如GPT-3、BERT、XLNet等以其強(qiáng)大的語(yǔ)言理解和生成能力正在改變我們對(duì)人工智能的認(rèn)識(shí)。 那以下這些PDF籍就是非常不錯(cuò)的學(xué)習(xí)資源。四、AI大模型商業(yè)化落地方案五、面試資料我們學(xué)習(xí)AI大模型必然是想找到高薪的工作下面這些面試題都是總結(jié)當(dāng)前最新、最熱、最高頻的面試題并且每道題都有詳細(xì)的答案面試前刷完這套面試題資料小小offer不在話(huà)下。這份完整版的大模型 AI 學(xué)習(xí)資料已經(jīng)上傳CSDN朋友們?nèi)绻枰梢晕⑿艗呙柘路紺SDN官方認(rèn)證二維碼免費(fèi)領(lǐng)取【保證100%免費(fèi)】