OpenAI在RAG技術(shù)上的最佳實(shí)踐與策略 原創(chuàng)
隨著人工智能技術(shù)的不斷演進(jìn),大型語(yǔ)言模型(LLM)的性能優(yōu)化已成為AI領(lǐng)域的熱點(diǎn)問(wèn)題。OpenAI的技術(shù)專家團(tuán)隊(duì)分享了他們?cè)跈z索增強(qiáng)生成(RAG)技術(shù)、提示工程和微調(diào)方面的最佳實(shí)踐,為提升模型性能提供了寶貴的經(jīng)驗(yàn)和策略。
一、微調(diào)技術(shù)的最新進(jìn)展
John Allard深入介紹了OpenAI在微調(diào)領(lǐng)域的最新進(jìn)展,包括:
- 函數(shù)調(diào)用數(shù)據(jù)的微調(diào):通過(guò)特定數(shù)據(jù)集的微調(diào),優(yōu)化模型對(duì)特定函數(shù)調(diào)用的理解。
- 持續(xù)微調(diào):提供了一種機(jī)制,允許模型隨著時(shí)間的推移不斷適應(yīng)新數(shù)據(jù)。
- 平臺(tái)內(nèi)全UI微調(diào):通過(guò)用戶界面的直接操作,簡(jiǎn)化了微調(diào)過(guò)程,提高了效率。
二、優(yōu)化LLM性能的挑戰(zhàn)
Colin細(xì)致討論了優(yōu)化大型語(yǔ)言模型的挑戰(zhàn),包括:
- 信號(hào)與噪聲的分離:在大量數(shù)據(jù)中識(shí)別有效信號(hào),濾除干擾噪聲。
- 性能衡量的復(fù)雜性:確立合理的性能評(píng)估標(biāo)準(zhǔn),確保模型優(yōu)化方向的正確性。
- 解決問(wèn)題的策略選擇:面對(duì)多種可能的解決方案,如何做出最合適的選擇。
三、RAG技術(shù)的應(yīng)用與案例分析
RAG技術(shù)通過(guò)結(jié)合Embeddings技術(shù)和向量數(shù)據(jù)庫(kù),顯著提升了信息檢索的效率和準(zhǔn)確性。案例分析包括:
客戶需求1:
- 問(wèn)題描述:基于大量文檔的知識(shí)檢索需求,要求模型僅從這些文檔中檢索信息。
- 解決方案:
- 直接將PDF和docx文件嵌入,準(zhǔn)確率是45%。
- 2. 經(jīng)過(guò)20次調(diào)優(yōu)迭代,解決細(xì)節(jié)小Bug - 準(zhǔn)確率到65%
- 3. 基于規(guī)則進(jìn)行優(yōu)化,譬如先判斷問(wèn)題屬于什么領(lǐng)域(退一步思考),然后再回答,效果提升到85%
- 4. 發(fā)現(xiàn)數(shù)據(jù)里有一些是結(jié)構(gòu)化數(shù)據(jù)(如表格),為此定制提取解決,準(zhǔn)確率提升到98%
總結(jié):通過(guò)直接嵌入文件、迭代調(diào)優(yōu)、規(guī)則優(yōu)化和結(jié)構(gòu)化數(shù)據(jù)的定制提取,逐步提升檢索準(zhǔn)確率。
客戶需求2:
- 問(wèn)題描述:文本生成SQL的需求,即根據(jù)自然語(yǔ)言問(wèn)題和數(shù)據(jù)庫(kù)模式生成正確的SQL查詢。
- 解決方案:
- 首先,我們用最簡(jiǎn)單的方法,比如余弦相似性,尋找類似問(wèn)題的SQL查詢,進(jìn)行問(wèn)題相似性搜索。我們測(cè)試了不同的嵌入和提示工程,但結(jié)果不太好。后來(lái),我們意識(shí)到不同的數(shù)據(jù)庫(kù)模式對(duì)問(wèn)題的答案可能完全不同。
- 所以針對(duì)一個(gè)問(wèn)題進(jìn)行相似性搜索意義不大,但用預(yù)設(shè)答案進(jìn)行搜索可能效果更好。我們使用預(yù)設(shè)的文檔嵌入,生成一個(gè)假設(shè)的SQL查詢進(jìn)行相似性搜索,性能大大提升。對(duì)于這個(gè)特定問(wèn)題,我們嘗試了上下文檢索通過(guò)簡(jiǎn)單過(guò)濾將問(wèn)題按難度排名,只帶回同等難度的例子,這帶來(lái)了改進(jìn)。
- 我們還嘗試了一些先進(jìn)技術(shù),比如鏈?zhǔn)酵评恚屜到y(tǒng)識(shí)別列、表,最后構(gòu)建查詢。但我們決定采用更簡(jiǎn)單的方法進(jìn)行自我一致性檢查,讓系統(tǒng)構(gòu)建查詢并運(yùn)行,出錯(cuò)時(shí)給出提示,再次嘗試。
- 我們從69%開(kāi)始,然后添加了一些示例,得到了幾個(gè)改進(jìn)點(diǎn),這表明RAG可以進(jìn)一步改進(jìn)。我們嘗試這個(gè)問(wèn)題,看到性能提升了3%,然后使用答案,假設(shè)的文檔嵌入使我們進(jìn)一步提升了5%。
- 我們決定試試微調(diào),看能否更進(jìn)一步。先建立了我們的基線,與上圖里的69%基線一樣,使用簡(jiǎn)單的提示工程技術(shù)。然后,用簡(jiǎn)單的提示工程對(duì)GPT-4進(jìn)行微調(diào),結(jié)果模型準(zhǔn)確率提升到接近82%。
- 再稍微調(diào)整模型使用um rag技術(shù),把一些示例動(dòng)態(tài)注入上下文窗口,準(zhǔn)確率達(dá)到83.5%。這些都很簡(jiǎn)單,沒(méi)有復(fù)雜的數(shù)據(jù)預(yù)處理或后處理。結(jié)果顯示簡(jiǎn)單的微調(diào)和提示工程也能接近最先進(jìn)的技術(shù)。
總結(jié):采用問(wèn)題相似性搜索、預(yù)設(shè)答案搜索、上下文檢索和鏈?zhǔn)酵评淼确椒ǎ行嵘樵兩傻男阅堋?/p>
四、評(píng)估和優(yōu)化RAG系統(tǒng)的方法
John和Colin評(píng)估和優(yōu)化RAG系統(tǒng)的方法,強(qiáng)調(diào)了數(shù)據(jù)質(zhì)量的重要性,提出了評(píng)估RAG系統(tǒng)的多個(gè)維度:
- 模型測(cè)試分?jǐn)?shù):評(píng)估模型在特定任務(wù)上的表現(xiàn)。
- 檢索相關(guān)性:衡量檢索到的內(nèi)容與問(wèn)題的相關(guān)程度。
- 生成內(nèi)容的準(zhǔn)確性:評(píng)估生成答案的事實(shí)準(zhǔn)確性。
- 檢索內(nèi)容的信號(hào)與噪聲比:評(píng)估檢索到的信息的有用性。
五、實(shí)戰(zhàn)指導(dǎo)參考流程
優(yōu)化LLM性能并不總是線性的,有時(shí)需要結(jié)合使用提示工程、RAG和微調(diào)。當(dāng)你想提高語(yǔ)言模型(LM)的性能時(shí),可以參考如下順序調(diào)優(yōu)。
- 提示工程技術(shù):作為開(kāi)始的好地方,技術(shù)投資小,能夠快速迭代,驗(yàn)證解決問(wèn)題的可行性。
- RAG技術(shù):私有化、數(shù)據(jù)安全考慮時(shí)使用,增加允許模型訪問(wèn)特定領(lǐng)域的內(nèi)容,提升專業(yè)知識(shí)檢索能力。
- 微調(diào)技術(shù):還需進(jìn)一步提升系統(tǒng)準(zhǔn)確率,強(qiáng)化模型遵循一致指令的能力,提升特定領(lǐng)域的專業(yè)性使用。
- 預(yù)訓(xùn)練:成本最高,如果不是特殊要求一般不建議采用?
總結(jié):
這次的分享不僅展示了提高大型語(yǔ)言模型性能的多種技術(shù)手段,也強(qiáng)調(diào)了在實(shí)際應(yīng)用中根據(jù)業(yè)務(wù)場(chǎng)景靈活選擇和組合技術(shù)的重要性。通過(guò)深入理解和應(yīng)用這些策略,我們可以更有效地優(yōu)化AI模型,推動(dòng)AI技術(shù)的發(fā)展和應(yīng)用。
本文轉(zhuǎn)載自公眾號(hào)頂層架構(gòu)領(lǐng)域
原文鏈接:??https://mp.weixin.qq.com/s/pJk695aJUkR4g-tXwaiJaA??
