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

如何分析和修復(fù)LLM應(yīng)用程序中的錯(cuò)誤 原創(chuàng)

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

本文通過四個(gè)階段過程來系統(tǒng)地理解和修復(fù)LLM應(yīng)用程序中的錯(cuò)誤。

大型語言模型(LLM)為機(jī)器學(xué)習(xí)的應(yīng)用創(chuàng)造了一個(gè)新的范式。一方面,用戶有一個(gè)機(jī)器學(xué)習(xí)模型,可以根據(jù)自己的需求和任務(wù)進(jìn)行定制。另一方面,可能無法訪問模型的權(quán)重和超參數(shù)。用戶可以通過調(diào)整提示和提供給模型的信息來控制模型的行為。

這對(duì)于那些習(xí)慣于開發(fā)傳統(tǒng)機(jī)器學(xué)習(xí)應(yīng)用程序的人來說帶來了難題。如果沒有一種系統(tǒng)的方法來分析錯(cuò)誤并進(jìn)行更正,那么可能會(huì)陷入混亂的境地——隨機(jī)更改提示,但又無法衡量每次修改的影響。

本文通過以下四個(gè)階段過程來系統(tǒng)地理解和修復(fù)LLM應(yīng)用程序中的錯(cuò)誤。

第一階段:準(zhǔn)備

在修正錯(cuò)誤之前,應(yīng)該能夠衡量它們。在這個(gè)階段,將以允許用戶跟蹤模型性能的方式制定目標(biāo)任務(wù)。

(1)創(chuàng)建數(shù)據(jù)集:創(chuàng)建50~100個(gè)示例,這些示例代表目標(biāo)任務(wù)以及應(yīng)用程序用戶將發(fā)送的請(qǐng)求類型和預(yù)期響應(yīng)。每個(gè)示例都應(yīng)該包括請(qǐng)求和響應(yīng)。如果希望響應(yīng)包含推理鏈等其他信息,需要確保將其包含在示例中。如果響應(yīng)必須以特定格式(例如JSON或鍵值對(duì))返回,需要確保所有示例的格式都正確無誤。

(2)開發(fā)評(píng)估方法:需要找出一種方法來比較模型的響應(yīng)與數(shù)據(jù)集中的實(shí)際情況。對(duì)于數(shù)字任務(wù)和問答,評(píng)估就像創(chuàng)建一個(gè)比較回答的函數(shù)一樣簡(jiǎn)單。

對(duì)于生成性任務(wù)(例如生成摘要)需要采用更復(fù)雜的方法,如單獨(dú)的LLM提示。例如,首先人工審查和糾正一些模型響應(yīng),并開發(fā)一小部分寫入和錯(cuò)誤的答案。然后,創(chuàng)建了單獨(dú)的LLM-as-a-Jjudge提示,其中包含對(duì)新模型答案進(jìn)行評(píng)分的示例。

(3)指定目標(biāo)接受標(biāo)準(zhǔn):并非所有任務(wù)都需要完美的輸出。例如,在許多應(yīng)用中,總是會(huì)采用人工參與的循環(huán)方式,并且僅將LLM作為執(zhí)行部分基礎(chǔ)工作的輔助工具。在這種情況下,可以指定一個(gè)準(zhǔn)確度級(jí)別,以使LLM應(yīng)用達(dá)到可發(fā)布的標(biāo)準(zhǔn)。然后,可以收集更多數(shù)據(jù)來優(yōu)化提示,并逐漸提高其準(zhǔn)確度。例如,曾經(jīng)幫助一個(gè)團(tuán)隊(duì)翻譯需要精心設(shè)計(jì)提示的特殊文本。首先從簡(jiǎn)單的提示開始,該提示將他們的翻譯速度提高了25%。雖然不完美,但這個(gè)應(yīng)用卻非常有價(jià)值,節(jié)省了大量時(shí)間。隨后,根據(jù)反饋和示例逐步完善提示,使其能夠完成他們80%的工作。

第二階段:評(píng)估

這個(gè)階段的目標(biāo)是以一種可以系統(tǒng)地處理的方式來識(shí)別和分類模型所產(chǎn)生的錯(cuò)誤。

(1)跟蹤數(shù)據(jù)集上的錯(cuò)誤:在數(shù)據(jù)集上運(yùn)行提示,將模型的響應(yīng)與實(shí)際情況進(jìn)行比較,并將模型產(chǎn)生錯(cuò)誤的示例分開。對(duì)于這一步,將需要使用在上一階段開發(fā)的評(píng)估函數(shù)。

(2)對(duì)錯(cuò)誤進(jìn)行分類:創(chuàng)建一個(gè)電子表格,其中包含模型犯錯(cuò)誤的示例、模型的響應(yīng)以及正確的響應(yīng)。將錯(cuò)誤分為幾個(gè)常見的原因和類別。一些原因示例可以是“缺乏知識(shí)”、 “推理不正確”、“計(jì)算錯(cuò)誤”和“輸出格式不正確”。(提示:可以使用前沿模型來幫助發(fā)現(xiàn)錯(cuò)誤中的模式。為模型提供正確和錯(cuò)誤的答案,并指導(dǎo)它將它們分為幾個(gè)類別。雖然它可能不會(huì)提供完美的結(jié)果,但將會(huì)提供一個(gè)很好的起點(diǎn)。)

第三階段:糾正

這一階段的目標(biāo)是修改提示,以糾正在前一階段中發(fā)現(xiàn)的常見錯(cuò)誤。在這一階段的每個(gè)步驟中,對(duì)提示符進(jìn)行一次修改,并重新運(yùn)行模型出錯(cuò)的示例。如果錯(cuò)誤沒有解決,可以進(jìn)入下一階段,嘗試采用更復(fù)雜的解決方案。

(1)修正提示:根據(jù)在前一階段發(fā)現(xiàn)的錯(cuò)誤類別,對(duì)提示進(jìn)行修正。從非常簡(jiǎn)單的修改開始,例如添加或更改說明(例如,“只輸出答案,不輸出額外的細(xì)節(jié)”,“只輸出JSON”,“在回答問題之前,逐步思考并寫下推理”)。

(2)在提示中添加知識(shí):有時(shí),問題是模型沒有關(guān)于任務(wù)的基本知識(shí)。在提示中創(chuàng)建一個(gè)“知識(shí)”部分,可以在其中包含任何有助于模型的事實(shí)或額外信息。

這一部分可以包括任何與任務(wù)相關(guān)的內(nèi)容,包括文檔、代碼和文章。 (在這個(gè)階段不要擔(dān)心提示的長(zhǎng)度,只關(guān)注錯(cuò)誤分析。以后可以考慮優(yōu)化提示的成本和規(guī)模。)

(3)使用小樣本示例:如果簡(jiǎn)單的說明和額外的知識(shí)不能解決問題,嘗試在提示中添加少量示例。在提示中添加一個(gè)“示例”部分,其中包括問答對(duì),并演示模型應(yīng)該如何解決問題。從兩到三個(gè)例子開始,使提示保持簡(jiǎn)短。如果錯(cuò)誤仍未解決,則逐漸添加更多示例。由于當(dāng)今的前沿模型支持很長(zhǎng)的提示,因此可以添加數(shù)百個(gè)示例。而嘗試使用Claude、Gemini和ChatGPT,使用正確的場(chǎng)景示例格式,可以獲得令人印象深刻的結(jié)果。

(4)將提示分解成幾個(gè)步驟:有時(shí)候,在一個(gè)提示中要求太多了。如果任務(wù)可以分解成單獨(dú)的步驟,嘗試為每個(gè)步驟創(chuàng)建一個(gè)單獨(dú)的提示。當(dāng)被要求完成一項(xiàng)任務(wù)時(shí),模型更有可能很好地執(zhí)行。然后,可以創(chuàng)建一個(gè)提示管道,將每個(gè)步驟的輸出作為下一個(gè)提示的輸入文本。更高級(jí)的管道可能包括使用不同提示序列的額外邏輯。例如,第一步可能是確定請(qǐng)求是否需要外部信息的提示。如果需要,請(qǐng)求將被傳送到一個(gè)RAG提示符。否則,它將被傳遞給使用模型的內(nèi)存知識(shí)的另一個(gè)提示符。

第四階段:最終確定

這一階段的目標(biāo)是確保修正不會(huì)導(dǎo)致其他問題,也不會(huì)破壞模型在目標(biāo)任務(wù)上的一般能力。

(1)重新評(píng)估整個(gè)數(shù)據(jù)集:一旦將模型的錯(cuò)誤糾正到可接受的水平,通過糾正提示重新運(yùn)行所有示例,以確保一切正常工作。如果遇到新的錯(cuò)誤,重復(fù)評(píng)估和糾正階段。

(2)保留一個(gè)單獨(dú)的驗(yàn)證數(shù)據(jù)集:為了確保提示不會(huì)過擬合到數(shù)據(jù)集,為最終評(píng)估保留一個(gè)保留集。這將確保提示超越訓(xùn)練示例。這類似于經(jīng)典的機(jī)器學(xué)習(xí),有單獨(dú)的測(cè)試和驗(yàn)證集。如果模型在驗(yàn)證集上表現(xiàn)不佳,則必須重復(fù)評(píng)估和糾正錯(cuò)誤的階段。之后,需要?jiǎng)?chuàng)建新的驗(yàn)證示例。(提示:可以使用前沿模型生成新的示例,其方法是為它提供一些以前的示例,并要求它生成不同但相似的示例。)

如上所示,機(jī)器學(xué)習(xí)錯(cuò)誤分析的基本原則也適用于LLM應(yīng)用程序。只需要從正確的角度思考問題及其解決方案。

原文標(biāo)題:How to analyze and fix errors in LLM applications,作者:Ben Dickson

鏈接:??https://bdtechtalks.com/2024/09/20/llm-application-error-analysis/?。??

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦