大語(yǔ)言模型基礎(chǔ)微課版課件 第7章 提示工程與微調(diào)_第1頁(yè)
大語(yǔ)言模型基礎(chǔ)微課版課件 第7章 提示工程與微調(diào)_第2頁(yè)
大語(yǔ)言模型基礎(chǔ)微課版課件 第7章 提示工程與微調(diào)_第3頁(yè)
大語(yǔ)言模型基礎(chǔ)微課版課件 第7章 提示工程與微調(diào)_第4頁(yè)
大語(yǔ)言模型基礎(chǔ)微課版課件 第7章 提示工程與微調(diào)_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

浙江省普通本科高校“十四五”重點(diǎn)教材建設(shè)成果之一大語(yǔ)言模型基礎(chǔ)大語(yǔ)言模型基礎(chǔ)周蘇教授QQ:81505050第7章提示工程與微調(diào)大語(yǔ)言模型正在發(fā)展成為人工智能的一項(xiàng)基礎(chǔ)設(shè)施。作為像水、電一樣的基礎(chǔ)設(shè)施,預(yù)訓(xùn)練大模型這種艱巨任務(wù)只會(huì)有少數(shù)技術(shù)實(shí)力強(qiáng)、財(cái)力雄厚的公司去做,而大多數(shù)人則會(huì)是其用戶。對(duì)用戶來(lái)說,掌握用好大模型的技術(shù)更加重要。用好大模型的第一個(gè)層次是掌握提示(Prompt)工程,第二個(gè)層次是做好大模型的微調(diào)。第7章提示工程與微調(diào)提示工程關(guān)注提示詞的開發(fā)和優(yōu)化,幫助用戶將大模型用于各場(chǎng)景和研究領(lǐng)域。掌握提示工程相關(guān)技能幫助用戶更好地了解大模型的能力和局限性。另一方面,經(jīng)過海量數(shù)據(jù)預(yù)訓(xùn)練后的語(yǔ)言模型雖然有了大量的“知識(shí)”,但由于其訓(xùn)練時(shí)的目標(biāo)僅是進(jìn)行下一個(gè)詞的預(yù)測(cè),還不能夠理解并遵循人類自然語(yǔ)言形式的指令,為此,需要使用指令數(shù)據(jù)對(duì)其進(jìn)行微調(diào)。如何構(gòu)造指令數(shù)據(jù),如何高效低成本地進(jìn)行指令微調(diào)訓(xùn)練,以及如何在語(yǔ)音模型基礎(chǔ)上進(jìn)一步擴(kuò)大上下文等問題,是大模型在有監(jiān)督微調(diào)階段的核心。第7章提示工程與微調(diào)01什么是提示工程02大模型為什么要微調(diào)03提示學(xué)習(xí)和語(yǔ)境學(xué)習(xí)04上下文窗口擴(kuò)展目錄/CONTENTS05指令數(shù)據(jù)的構(gòu)建06微調(diào)及其PEFT流行方案PART01什么是提示工程提示扮演著至關(guān)重要的角色。提示工程應(yīng)用于開發(fā)和優(yōu)化提示詞,幫助用戶有效地將語(yǔ)言模型用于各種應(yīng)用場(chǎng)景和研究領(lǐng)域。研究人員可利用提示工程來(lái)提高大模型處理復(fù)雜任務(wù)場(chǎng)景的能力,如問答和算術(shù)推理能力以及大模型的安全性。開發(fā)人員可通過提示工程設(shè)計(jì)和實(shí)現(xiàn)與大模型或其他生態(tài)工具的交互和高效接軌,借助專業(yè)領(lǐng)域知識(shí)和外部工具來(lái)增強(qiáng)大模型能力。提示不僅是用戶與AI模型(如ChatGPT)交互的橋梁,更是一種全新的“編程語(yǔ)言”,用戶通過精心設(shè)計(jì)的提示來(lái)指導(dǎo)AI模型產(chǎn)生特定的輸出,執(zhí)行各種任務(wù)。7.1什么是提示工程提示任務(wù)的范圍非常廣泛,從簡(jiǎn)單問答、文本生成到復(fù)雜的邏輯推理、數(shù)學(xué)計(jì)算和創(chuàng)意寫作等。與傳統(tǒng)的編程語(yǔ)言相比,提示通常更加即時(shí)和互動(dòng)。用戶可以直接在AI模型的接口中輸入提示并立即看到結(jié)果,而無(wú)需經(jīng)過編譯或長(zhǎng)時(shí)間的運(yùn)行過程。7.1什么是提示工程作為通用人工時(shí)代的“軟件工程”,提示工程涉及到如何設(shè)計(jì)、優(yōu)化和管理提示內(nèi)容,以確保人工智能模型能夠準(zhǔn)確、高效地執(zhí)行用戶的指令。圖7-1提示工程的內(nèi)容7.1.1提示工程的原理(1)設(shè)計(jì):提示設(shè)計(jì)需要仔細(xì)選擇詞匯、構(gòu)造清晰的句子結(jié)構(gòu),并考慮上下文信息,確保人工智能模型能夠準(zhǔn)確理解用戶的意圖并產(chǎn)生符合預(yù)期的輸出。(2)優(yōu)化:優(yōu)化提示可能涉及調(diào)整詞匯選擇、改變句子結(jié)構(gòu)或添加額外的上下文信息,以提高人工智能模型的性能和準(zhǔn)確性。這可能需要多次嘗試和迭代,以達(dá)到最佳效果。7.1.1提示工程的原理(3)管理:隨著通用人工智能應(yīng)用的不斷增長(zhǎng)和復(fù)雜化,管理大量的提示內(nèi)容變得至關(guān)重要。這包括組織、存儲(chǔ)和檢索提示,以便在需要時(shí)能夠快速找到并使用它們。同時(shí),還需要定期更新和維護(hù)這些提示,以適應(yīng)人工智能模型的改進(jìn)和變化的需求。7.1.1提示工程的原理1.提示構(gòu)成一個(gè)完整的提示應(yīng)該包含清晰的指示、相關(guān)上下文、有助于理解的例子、明確的輸入以及期望的輸出格式描述。(1)指示:是對(duì)任務(wù)的明確描述,相當(dāng)于給模型下達(dá)了一個(gè)命令或請(qǐng)求,它告訴模型應(yīng)該做什么,是任務(wù)執(zhí)行的基礎(chǔ)。(2)上下文:是與任務(wù)相關(guān)的背景信息,它有助于模型更好地理解當(dāng)前任務(wù)所處的環(huán)境或情境。在多輪交互中,上下文尤其重要,因?yàn)樗峁┝藢?duì)話的連貫性和歷史信息。7.1.1提示工程的原理(3)示例:給出一個(gè)或多個(gè)具體示例,用于演示任務(wù)的執(zhí)行方式或所需輸出的格式。這種方法在機(jī)器學(xué)習(xí)中被稱為示范學(xué)習(xí),已被證明對(duì)提高輸出正確性有幫助。(4)輸入:是任務(wù)的具體數(shù)據(jù)或信息,它是模型需要處理的內(nèi)容。在提示中,輸入應(yīng)該被清晰地標(biāo)識(shí)出來(lái),以便模型能夠準(zhǔn)確地識(shí)別和處理。(5)輸出格式:是模型根據(jù)輸入和指示生成的結(jié)果。提示中通常會(huì)描述輸出格式,以便后續(xù)模塊能夠自動(dòng)解析模型的輸出結(jié)果。常見的輸出格式包括結(jié)構(gòu)化數(shù)據(jù)格式如JSON、XML等。7.1.1提示工程的原理2.提示調(diào)優(yōu)提示調(diào)優(yōu)是一個(gè)人與機(jī)器協(xié)同的過程,需明確需求、注重細(xì)節(jié)、靈活應(yīng)用技巧,以實(shí)現(xiàn)最佳交互效果。(1)人的視角:明確需求?!ず诵狞c(diǎn):確保清晰、具體地傳達(dá)自己的意圖?!げ呗裕汉?jiǎn)化復(fù)雜需求,分解為模型易理解的指令。7.1.1提示工程的原理(2)機(jī)器的視角:注重細(xì)節(jié)?!ず诵狞c(diǎn):機(jī)器缺乏人類直覺,需詳細(xì)提供信息和上下文?!げ呗裕壕_選擇詞匯和結(jié)構(gòu),避免歧義,提供完整線索。(3)模型的視角:靈活應(yīng)用技巧?!ず诵狞c(diǎn):不同模型、情境需要有不同的提示表達(dá)方式?!げ呗裕和ㄟ^實(shí)踐找到最佳詞匯、結(jié)構(gòu)和技巧,適應(yīng)模型特性。7.1.1提示工程的原理提示技術(shù)是引導(dǎo)人工智能模型進(jìn)行深度思考和創(chuàng)新的有效工具。(1)鏈?zhǔn)剿伎继崾?。這是一種注重和引導(dǎo)逐步推理的方法。通過構(gòu)建一系列有序、相互關(guān)聯(lián)的思考步驟,使模型能夠更深入地理解問題,并生成結(jié)構(gòu)化、邏輯清晰的回答。

圖7-2鏈?zhǔn)剿伎继崾臼纠?.1.2提示工程應(yīng)用技術(shù)鏈?zhǔn)剿伎继崾镜暮诵奶攸c(diǎn)是:·有序性:要求將問題分解為一系列有序的步驟,每個(gè)步驟都建立在前一個(gè)步驟的基礎(chǔ)上,形成一條清晰的思考鏈條?!りP(guān)聯(lián)性:每個(gè)思考步驟之間必須存在緊密的邏輯聯(lián)系,以確保整個(gè)思考過程的連貫性和一致性?!ぶ鸩酵评恚耗P驮诿總€(gè)步驟中只關(guān)注當(dāng)前的問題和相關(guān)信息,通過逐步推理的方式逐步逼近最終答案。7.1.2提示工程應(yīng)用技術(shù)(2)生成知識(shí)提示。這是一種強(qiáng)調(diào)知識(shí)生成的方法,通過構(gòu)建特定的提示語(yǔ)句,引導(dǎo)模型從已有的知識(shí)庫(kù)中提取、整合并生成新的、有用的知識(shí)或信息內(nèi)容。7.1.2提示工程應(yīng)用技術(shù)生成知識(shí)提示的核心特點(diǎn)是:·創(chuàng)新性:旨在產(chǎn)生新的、原創(chuàng)性的知識(shí)內(nèi)容,而非簡(jiǎn)單地復(fù)述或重組已有信息?!ひ龑?dǎo)性:通過精心設(shè)計(jì)的提示語(yǔ)句,模型被引導(dǎo)去探索、發(fā)現(xiàn)并與已有知識(shí)進(jìn)行交互,從而生成新的見解或信息?!ぶR(shí)整合:該過程涉及對(duì)多個(gè)來(lái)源、多種類型的知識(shí)進(jìn)行融合和整合,以形成更全面、深入的理解。7.1.2提示工程應(yīng)用技術(shù)(3)思維樹。這是一種通過樹狀結(jié)構(gòu)清晰展現(xiàn)思維過程,將復(fù)雜思維過程結(jié)構(gòu)化為樹狀圖,通過逐級(jí)分解主題或問題,形成具有邏輯層次和關(guān)聯(lián)性的思維節(jié)點(diǎn),從而幫助用戶更清晰地組織和表達(dá)思考過程。

圖7-3思維樹提示7.1.2提示工程應(yīng)用技術(shù)思維樹提示的核心特點(diǎn)是:·層次性:將思考過程分解為多個(gè)層次,每個(gè)層次代表不同的思維深度和廣度?!りP(guān)聯(lián)性:各思維節(jié)點(diǎn)之間邏輯聯(lián)系緊密,形成一個(gè)相互關(guān)聯(lián)、互為支撐的思維網(wǎng)絡(luò)?!た梢暬和ㄟ^將思維過程以樹狀圖的形式展現(xiàn),增強(qiáng)了思考過程的可視化和直觀性。7.1.2提示工程應(yīng)用技術(shù)以下是設(shè)計(jì)提示時(shí)需要記住的一些技巧。(1)從簡(jiǎn)單開始。在設(shè)計(jì)提示時(shí),記住這是一個(gè)迭代過程,需要大量實(shí)驗(yàn)來(lái)獲得最佳結(jié)果。使用像OpenAI或Cohere這樣的簡(jiǎn)單平臺(tái)是一個(gè)很好的起點(diǎn)。可以從簡(jiǎn)單提示開始,隨著目標(biāo)獲得更好的結(jié)果,不斷添加更多的元素和上下文。在此過程中對(duì)提示進(jìn)行版本控制至關(guān)重要。例子中的具體性、簡(jiǎn)潔性和簡(jiǎn)明性通常會(huì)帶來(lái)更好的結(jié)果。7.1.3提示的通用技巧當(dāng)有一個(gè)涉及許多不同子任務(wù)的大任務(wù)時(shí),可以嘗試將任務(wù)分解為更簡(jiǎn)單的子任務(wù),并隨著獲得更好的結(jié)果而不斷構(gòu)建。這避免了在提示設(shè)計(jì)過程中一開始就添加過多的復(fù)雜性。7.1.3提示的通用技巧(2)指令??梢允褂妹顏?lái)指示模型執(zhí)行各種簡(jiǎn)單任務(wù),例如“寫入”“分類”“總結(jié)”“翻譯”“排序”等,從而為各種簡(jiǎn)單任務(wù)設(shè)計(jì)有效的提示。需要進(jìn)行大量的實(shí)驗(yàn),以查看哪種方法最有效。嘗試使用不同的關(guān)鍵字、上下文和數(shù)據(jù)嘗試不同的指令,看看哪種方法最適合特定的用例和任務(wù)。通常情況下,上下文與要執(zhí)行的任務(wù)越具體和相關(guān),效果越好。7.1.3提示的通用技巧也有人建議將指令放在提示開頭,用一些清晰的分隔符,如“###”,來(lái)分隔指令和上下文。例如:提示:###指令###將以下文本翻譯成西班牙語(yǔ):文本:“hello!”7.1.3提示的通用技巧(3)具體性。對(duì)希望模型執(zhí)行的指令和任務(wù),提示越具體和詳細(xì),結(jié)果就越好。當(dāng)有所期望的結(jié)果或生成樣式時(shí),這一點(diǎn)尤為重要。沒有特定的詞元或關(guān)鍵字會(huì)導(dǎo)致更好的結(jié)果。更重要的是具有良好的格式和描述性提示。實(shí)際上,在提示中提供示例非常有效,可以以特定格式獲得所需的輸出。在設(shè)計(jì)提示時(shí),還應(yīng)考慮提示的長(zhǎng)度,因?yàn)殚L(zhǎng)度有限制。包含太多不必要的細(xì)節(jié)并不一定是一個(gè)好方法。這些細(xì)節(jié)應(yīng)該是相關(guān)的,并有助于完成手頭的任務(wù)。鼓勵(lì)大量實(shí)驗(yàn)和迭代,以優(yōu)化應(yīng)用程序的提示。7.1.3提示的通用技巧例如,我們來(lái)嘗試從一段文本中提取特定信息的簡(jiǎn)單提示。提示:提取以下文本中的地名。所需格式:地點(diǎn):<逗號(hào)分隔的公司名稱列表>輸入:“雖然這些發(fā)展對(duì)研究人員來(lái)說是令人鼓舞的,但仍有許多謎團(tuán)。里斯本未知的香帕利莫德中心的神經(jīng)免疫學(xué)家HenriqueVeiga-Fernandes說:‘我們經(jīng)常在大腦和我們?cè)谥車吹降男Чg有一個(gè)黑匣子?!绻覀兿朐谥委煴尘跋率褂盟?,我們實(shí)際上需要了解機(jī)制?!陛敵觯旱攸c(diǎn):里斯本,香帕利莫德中心7.1.3提示的通用技巧(4)避免不精確。在關(guān)于詳細(xì)和格式改進(jìn)的提示中,很容易陷入那些過于聰明的提示陷阱,從而可能創(chuàng)建不精確的描述。通常最好是具體和直接,這里,類比非常類似于有效的溝通——越直接,信息傳遞就越有效。例如,如果有興趣了解提示工程的概念。可以嘗試這樣做:解釋提示工程的概念。保持解釋簡(jiǎn)短,只有幾句話,不要過于描述。從上面的提示中不清楚要使用多少句話和什么樣的風(fēng)格,仍然可以通過上面的提示獲得良好的響應(yīng),但更好的提示是非常具體、簡(jiǎn)潔和直接的。例如:使用2~3句話向高中學(xué)生解釋提示工程的概念。7.1.3提示的通用技巧(5)做還是不做?設(shè)計(jì)提示時(shí)的另一個(gè)技巧是避免說不要做什么,而是說要做什么。鼓勵(lì)更具體化,并關(guān)注導(dǎo)致模型產(chǎn)生良好響應(yīng)的細(xì)節(jié)。7.1.3提示的通用技巧以下是一個(gè)電影推薦聊天機(jī)器人的示例。提示:以下是向客戶推薦電影的代理程序。代理負(fù)責(zé)從全球熱門電影中推薦電影。它應(yīng)該避免詢問用戶的偏好并避免詢問個(gè)人信息。如果代理沒有電影推薦,它應(yīng)該回答“抱歉,今天找不到電影推薦。”。…顧客:請(qǐng)根據(jù)我的興趣推薦一部電影??头敵觯罕福覜]有關(guān)于您感興趣的任何信息。不過,這是目前全球熱門的電影列表:[電影列表]。希望您能由此找到自己喜歡的電影!7.1.3提示的通用技巧PART02大模型為什么要微調(diào)有監(jiān)督微調(diào),又稱指令微調(diào),是指在已經(jīng)訓(xùn)練好的語(yǔ)言模型的基礎(chǔ)上,通過使用有標(biāo)注的特定任務(wù)數(shù)據(jù)做進(jìn)一步的微調(diào),使模型具備遵循指令的能力。通常,要對(duì)大模型進(jìn)行微調(diào),有以下一些原因:(1)因?yàn)榇竽P偷膮?shù)量非常大,訓(xùn)練成本非常高,每家公司都去從頭訓(xùn)練一個(gè)自己的大模型,這個(gè)事情的性價(jià)比非常低;7.2大模型為什么要微調(diào)(2)提示工程是一種相對(duì)來(lái)說比較容易上手的使用大模型的方式,但是它的缺點(diǎn)也非常明顯。因?yàn)橥ǔ4竽P偷膶?shí)現(xiàn)都會(huì)對(duì)輸入序列的長(zhǎng)度有限制,而提示工程方式會(huì)把提示搞得很長(zhǎng)。提示越長(zhǎng),大模型的推理成本就越高,推理成本跟提示長(zhǎng)度的平方正相關(guān)。另外,提示太長(zhǎng)會(huì)因超過限制而被截?cái)啵M(jìn)而導(dǎo)致大模型的輸出質(zhì)量打折,這也是一個(gè)比較嚴(yán)重的問題。7.2大模型為什么要微調(diào)對(duì)于個(gè)人使用者而言,如果是解決自己日常生活、工作中的一些問題,直接用提示工程方式通常問題不大。但對(duì)于提供對(duì)外服務(wù)的企業(yè)來(lái)說,要想在服務(wù)中接入大模型的能力,推理成本是不得不考慮的一個(gè)因素。相對(duì)來(lái)說,微調(diào)就是一個(gè)更優(yōu)的方案。7.2大模型為什么要微調(diào)(3)提示工程的效果可能達(dá)不到要求,企業(yè)又有比較好的自有數(shù)據(jù),能夠通過自有數(shù)據(jù),更好的提升大模型在特定領(lǐng)域的能力。這時(shí)候微調(diào)就非常適用。(4)要在個(gè)性化的服務(wù)中使用大模型的能力,這時(shí)候針對(duì)每個(gè)用戶的數(shù)據(jù),訓(xùn)練一個(gè)輕量級(jí)的微調(diào)模型就是一個(gè)不錯(cuò)的方案。(5)數(shù)據(jù)安全。如果數(shù)據(jù)不能傳遞給第三方大模型服務(wù),那么搭建自己的大模型就非常必要。通常這些開源的大模型都需要用自有數(shù)據(jù)進(jìn)行微調(diào),才能夠滿足自身業(yè)務(wù)的需求。7.2大模型為什么要微調(diào)PART03提示學(xué)習(xí)和語(yǔ)境學(xué)習(xí)在指令微調(diào)大模型方法之前,如何高效地使用預(yù)訓(xùn)練好的基礎(chǔ)語(yǔ)言模型是人們關(guān)注的熱點(diǎn),提示學(xué)習(xí)逐漸成為大模型使用的新范式。7.3提示學(xué)習(xí)和語(yǔ)境學(xué)習(xí)與傳統(tǒng)的微調(diào)方法不同,提示學(xué)習(xí)直接利用在大量原始文本上進(jìn)行預(yù)訓(xùn)練的語(yǔ)言模型,通過定義新的提示函數(shù),使該模型能夠執(zhí)行小樣本甚至零樣本學(xué)習(xí),以適應(yīng)僅有少量標(biāo)注或沒有標(biāo)注數(shù)據(jù)的新場(chǎng)景,適應(yīng)下游各種任務(wù)。提示學(xué)習(xí)通常不需要參數(shù)更新,但由于涉及的檢索和推斷方法多種多樣,不同模型、數(shù)據(jù)集和任務(wù)有不同的預(yù)處理要求,其實(shí)施十分復(fù)雜。7.3.1提示學(xué)習(xí)使用提示學(xué)習(xí)完成預(yù)測(cè)任務(wù)的流程非常簡(jiǎn)潔。如下圖所示,原始輸入x經(jīng)過一個(gè)模板,被修改成一個(gè)帶有一些未填充槽的文本提示x’,再將這段提示輸入語(yǔ)言模型,語(yǔ)言模型即以概率的方式寫入模板中待填充的信息,然后根據(jù)模型的輸出導(dǎo)出最終的預(yù)測(cè)標(biāo)簽?。使用提示學(xué)習(xí)完成預(yù)測(cè)的整個(gè)過程可以描述為三個(gè)階段:提示添加、答案搜索、答案映射。

圖7-4提示學(xué)習(xí)示例7.3.1提示學(xué)習(xí)步驟1:提示添加。借助特定模板,將原始的文本和額外添加的提示拼接起來(lái),一并輸入到語(yǔ)言模型中。例如,在情感分類任務(wù)中,根據(jù)任務(wù)的特性可以構(gòu)建如下含有兩個(gè)插槽的模板:“[X]我感到[Z]”其中,[X]插槽中填入待分類的原始句子,[Z]插槽中是需要語(yǔ)言模型生成的答案。7.3.1提示學(xué)習(xí)假如原始文本:x=“我不小心錯(cuò)過了公共汽車。”通過此模板,整段提示將被拼接成:x‘=“我不小心錯(cuò)過了公共汽車。我感到[Z]”7.3.1提示學(xué)習(xí)步驟2:答案搜索。將構(gòu)建好的提示整體輸入語(yǔ)言模型后,需要找出語(yǔ)言模型對(duì)[Z]處預(yù)測(cè)得分最高的文本?。根據(jù)任務(wù)特性,事先定義預(yù)測(cè)結(jié)果z的答案空間為Z。在簡(jiǎn)單的生成任務(wù)中,答案空間可以涵蓋整個(gè)語(yǔ)言,而在一些分類任務(wù)中,答案空間可以是一些限定的詞語(yǔ),例如:Z={“太好了”,“好”,“一般”,“不好”,“糟糕”}這些詞語(yǔ)可以分別映射到該任務(wù)的最終標(biāo)簽上。將給定提示為x’而模型輸出為z的過程記錄為函數(shù),對(duì)于每個(gè)答案空間中的候選答案,分別計(jì)算模型輸出它的概率,從而找到模型對(duì)[Z]插槽預(yù)測(cè)得分最高的輸出?。7.3.1提示學(xué)習(xí)步驟3:答案映射。得到的模型輸出?并不一定就是最終的標(biāo)簽。在分類任務(wù)中,還需要將模型的輸出與最終的標(biāo)簽做映射。而這些映射規(guī)則是人為制定的,例如,將“太好了”“好”映射為“正面”標(biāo)簽,將“不好”“糟糕”映射為“負(fù)面”標(biāo)簽,將“一般”映射為“中立”標(biāo)簽。提示學(xué)習(xí)方法易于理解且效果顯著,提示工程、答案工程、多提示學(xué)習(xí)方法、基于提示的訓(xùn)練策略等已經(jīng)成為從提示學(xué)習(xí)衍生出的新的研究方向。7.3.1提示學(xué)習(xí)語(yǔ)境學(xué)習(xí),也稱上下文學(xué)習(xí),其概念隨著GPT-3的誕生而被提出。語(yǔ)境學(xué)習(xí)是指模型可以從上下文中的幾個(gè)例子中學(xué)習(xí):向模型輸入特定任務(wù)的一些具體例子(也稱示例)及要測(cè)試的樣例,模型可以根據(jù)給定的示例續(xù)寫測(cè)試樣例的答案。如下圖所示,以情感分類任務(wù)為例,向模型中輸入一些帶有情感極性的句子、每個(gè)句子相應(yīng)的標(biāo)簽,以及待測(cè)試的句子,模型可以自然地續(xù)寫出它的情感極性為“正面”。圖7-5語(yǔ)境學(xué)習(xí)示例7.3.2語(yǔ)境學(xué)習(xí)語(yǔ)境學(xué)習(xí)可以看作提示學(xué)習(xí)的一個(gè)子類,其中示例是提示的一部分。語(yǔ)境學(xué)習(xí)的關(guān)鍵思想是從類比中學(xué)習(xí),整個(gè)過程并不需要對(duì)模型進(jìn)行參數(shù)更新,僅執(zhí)行前向的推理。大模型可以通過語(yǔ)境學(xué)習(xí)執(zhí)行許多復(fù)雜的推理任務(wù)。7.3.2語(yǔ)境學(xué)習(xí)語(yǔ)境學(xué)習(xí)作為大模型的一種新的范式,具有許多獨(dú)特的優(yōu)勢(shì)。首先,其示例是用自然語(yǔ)言編寫的,提供了一個(gè)可解釋的界面來(lái)與大模型進(jìn)行交互。其次,不同于以往的監(jiān)督訓(xùn)練,語(yǔ)境學(xué)習(xí)本身無(wú)須參數(shù)更新,這可以大大降低使大模型適應(yīng)新任務(wù)的計(jì)算成本。在語(yǔ)境學(xué)習(xí)中,示例的標(biāo)簽正確性(輸入和輸出的具體對(duì)應(yīng)關(guān)系)并不是有效的關(guān)鍵因素,起到更重要作用的是輸入和樣本配對(duì)的格式、輸入和輸出分布等。此外,語(yǔ)境學(xué)習(xí)的性能對(duì)特定設(shè)置很敏感,包括提示模板、上下文內(nèi)示例的選擇及示例的順序。如何通過語(yǔ)境學(xué)習(xí)方法更好地激活大模型已有的知識(shí)成為一個(gè)新的研究方向。7.3.2語(yǔ)境學(xué)習(xí)PART04上下文窗口擴(kuò)展由于大模型的參數(shù)量十分龐大,當(dāng)將其應(yīng)用到下游任務(wù)時(shí),微調(diào)全部參數(shù)需要相當(dāng)高的算力。為了節(jié)省成本,研究人員提出了多種參數(shù)的高效微調(diào)方法,旨在僅訓(xùn)練少量參數(shù)就使模型適應(yīng)下游任務(wù)。隨著更多長(zhǎng)文本建模需求的出現(xiàn),多輪對(duì)話、長(zhǎng)文檔摘要等任務(wù)在實(shí)際應(yīng)用中越來(lái)越多,這些任務(wù)需要模型能夠更好地處理超出常規(guī)上下文窗口大小的文本內(nèi)容。當(dāng)前,盡管大模型在處理短文本方面表現(xiàn)出色,但在支持長(zhǎng)文本建模方面仍存在一些挑戰(zhàn),包括預(yù)定義的上下文窗口大小限制等。7.4上下文窗口擴(kuò)展為了更好地滿足長(zhǎng)文本需求,有必要探索如何擴(kuò)展現(xiàn)有的大模型,使其能夠有效地處理更大范圍的上下文信息。具體來(lái)說,主要有以下方法來(lái)擴(kuò)展語(yǔ)言模型的長(zhǎng)文本建模能力。7.4上下文窗口擴(kuò)展(1)增加上下文窗口的微調(diào)。采用直接的方式,即通過使用一個(gè)更大的上下文窗口來(lái)微調(diào)現(xiàn)有的預(yù)訓(xùn)練Transformer,以適應(yīng)長(zhǎng)文本建模需求。(2)位置編碼。改進(jìn)位置編碼,實(shí)現(xiàn)一定程度上的長(zhǎng)度外推,這意味著它們可以在小的上下文窗口上進(jìn)行訓(xùn)練,在大的上下文窗口上進(jìn)行推理。(3)插值法:將超出上下文窗口的位置編碼通過插值法壓縮到預(yù)訓(xùn)練的上下文窗口中。7.4上下文窗口擴(kuò)展PART05指令數(shù)據(jù)的構(gòu)建因?yàn)橹噶顢?shù)據(jù)的質(zhì)量會(huì)直接影響有監(jiān)督微調(diào)的最終效果,所以構(gòu)建指令數(shù)據(jù)是一個(gè)非常精細(xì)的過程。從獲得來(lái)源上看,構(gòu)建指令數(shù)據(jù)的方法可以分為手動(dòng)構(gòu)建指令和利用大模型的生成能力自動(dòng)構(gòu)建指令兩種。7.5指令數(shù)據(jù)的構(gòu)建手動(dòng)構(gòu)建指令的方法比較直觀,可以在網(wǎng)上收集大量的問答數(shù)據(jù),再人為加以篩選過濾,或者由標(biāo)注者手動(dòng)編寫提示與相應(yīng)的回答。雖然這是一個(gè)比較耗費(fèi)人力的過程,但其優(yōu)勢(shì)在于可以很好地把控指令數(shù)據(jù)的標(biāo)注過程,并對(duì)整體質(zhì)量進(jìn)行很好的控制。7.5.1手動(dòng)構(gòu)建指令一些研究嘗試尋找更高效的替代方法。具有代表性的工作是利用大模型的生成能力自動(dòng)構(gòu)建指令,它包含4個(gè)步驟。圖7-6自動(dòng)構(gòu)建指令數(shù)據(jù)生成過程7.5.2自動(dòng)構(gòu)建指令步驟1:生成任務(wù)指令。手動(dòng)構(gòu)建一個(gè)例如包含175個(gè)任務(wù)的小型指令數(shù)據(jù)集,稱為種子指令集,用于初始化指令池。然后讓模型以自舉的方式,利用指令池,生成新任務(wù)的指令:每次從指令池中采樣8條任務(wù)指令(其中6條來(lái)自人工編寫的種子指令,2條是模型迭代生成的),將其拼接為上下文示例,引導(dǎo)預(yù)訓(xùn)練語(yǔ)言模型GPT-3生成更多的新任務(wù)的指令,直到模型自己停止生成,或達(dá)到模型長(zhǎng)度限制,或是在單步中生成了過多示例。7.5.2自動(dòng)構(gòu)建指令步驟2:確定指令是否代表分類任務(wù)。由于后續(xù)對(duì)于分類任務(wù)和非分類任務(wù)有兩種不同的處理方法,因此需要在本步驟對(duì)指令是否為分類任務(wù)進(jìn)行判斷,同樣是利用拼接幾個(gè)上下文示例的方法讓模型自動(dòng)判斷任務(wù)類型是否是分類。7.5.2自動(dòng)構(gòu)建指令步驟3:生成任務(wù)輸入和輸出。通過步驟1,語(yǔ)言模型已經(jīng)生成了面向新任務(wù)的指令,然而指令數(shù)據(jù)中還沒有相應(yīng)的輸入和輸出。本步驟為此前生成的指令生成輸入和輸出,讓指令數(shù)據(jù)變得完整。與之前的步驟相同,本步驟同樣使用語(yǔ)境學(xué)習(xí),使用來(lái)自其他任務(wù)的“指令”“輸入”“輸出”上下文示例做提示,預(yù)訓(xùn)練模型就可以為新任務(wù)生成輸入-輸出對(duì)。7.5.2自動(dòng)構(gòu)建指令針對(duì)不同的任務(wù)類別,分別使用“輸入優(yōu)先”或“輸出優(yōu)先”方法:對(duì)于非分類任務(wù),使用輸入優(yōu)先的方法,先根據(jù)任務(wù)產(chǎn)生輸入,然后根據(jù)任務(wù)指令和輸入,生成輸出;而對(duì)于分類任務(wù),為了避免模型過多地生成某些特定類別的輸入(而忽略其他的類別),使用輸出優(yōu)先的方法,即先產(chǎn)生所有可能的輸出標(biāo)簽,再根據(jù)任務(wù)指令和輸出,補(bǔ)充相應(yīng)的輸入。7.5.2自動(dòng)構(gòu)建指令步驟4:過濾低質(zhì)量數(shù)據(jù)。為了保證數(shù)據(jù)的多樣性,在將新生成的指令數(shù)據(jù)加入指令池之前,需要先衡量它和池中已有指令數(shù)據(jù)的相似度,只有當(dāng)它和池中任何一條指令數(shù)據(jù)的相似度都低于0.7時(shí),才可能將其加入指令池。為保證數(shù)據(jù)的質(zhì)量,還制定了一系列的啟發(fā)式規(guī)則進(jìn)行篩選:刪除包含某些關(guān)鍵詞(如“圖片”)的指令數(shù)據(jù)、重復(fù)的指令數(shù)據(jù)、過長(zhǎng)或過短的數(shù)據(jù)等。7.5.2自動(dòng)構(gòu)建指令指令數(shù)據(jù)集對(duì)于有監(jiān)督微調(diào)非常重要,無(wú)論手工還是自動(dòng)構(gòu)建都需要花費(fèi)一定的時(shí)間和成本。目前已經(jīng)有一些開源指令數(shù)據(jù)集,按照指令任務(wù)的類型劃分,可以分為傳統(tǒng)任務(wù)指令和通用對(duì)話指令兩類。7.5.3開源指令數(shù)據(jù)集PART06微調(diào)及其PEFT流行方案微調(diào)的最終目的,是在可控成本的前提下,盡可能地提升大模型在特定領(lǐng)域的能力。從成本和效果的角度綜合考慮,PEFT(參數(shù)高效微調(diào))是比較流行的微調(diào)方案。7.6微調(diào)及其PEFT流行方案從參數(shù)規(guī)模的角度,大模型的微調(diào)分成兩條技術(shù)路線:(1)對(duì)全量參數(shù)進(jìn)行訓(xùn)練,這條路徑叫全量微調(diào)(FFT)。FFT的原理就是用特定的數(shù)據(jù)對(duì)大模型進(jìn)行訓(xùn)練,最大優(yōu)點(diǎn)是在特定數(shù)據(jù)領(lǐng)域的表現(xiàn)會(huì)好很多。但FFT也會(huì)帶來(lái)一些問題,其中影響比較大的問題主要有兩個(gè):一個(gè)是訓(xùn)練成本比較高,因?yàn)槲⒄{(diào)的參數(shù)量跟預(yù)訓(xùn)練的是一樣多;另一個(gè)叫災(zāi)難性遺忘,用特定訓(xùn)練數(shù)據(jù)進(jìn)行微調(diào)可能會(huì)把這個(gè)領(lǐng)域的表現(xiàn)變好,但也可能會(huì)把原來(lái)表現(xiàn)好的別的領(lǐng)域的能力變差。7.6.1微調(diào)技術(shù)路線(2)只對(duì)部分參數(shù)進(jìn)行訓(xùn)練,這條路徑叫參數(shù)高效微調(diào)(PEFT)。PEFT主要想解決的是FFT存在的兩個(gè)主要問題,它是比較主流的微調(diào)方案。7.6.1微調(diào)技術(shù)路線從訓(xùn)練數(shù)據(jù)的來(lái)源以及訓(xùn)練的方法的角度,大模型的微調(diào)有以下幾條技術(shù)路線:(1)監(jiān)督式微調(diào),用人工標(biāo)注的數(shù)據(jù)通過監(jiān)督學(xué)習(xí)的方法,對(duì)大模型進(jìn)行微調(diào)。(2)基于人類反饋的強(qiáng)化學(xué)習(xí)微調(diào),是把人類的反饋,通過強(qiáng)化學(xué)習(xí)的方式引入到對(duì)大模型的微調(diào)中去,讓大模型生成的結(jié)果更加符合人類的一些期望。7.6.1微調(diào)技術(shù)路線(3)基于人工智能反饋的強(qiáng)化學(xué)習(xí)微調(diào),這個(gè)方案大致跟基于人類反饋的方案類似,但是反饋的來(lái)源是人工智能。這里是想解決反饋系統(tǒng)的效率問題,因?yàn)槭占祟惙答佅鄬?duì)來(lái)說成本會(huì)比較高、效率比較低。不同的分類角度只是側(cè)重點(diǎn)不一樣,對(duì)同一個(gè)大模型

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論