預(yù)訓(xùn)練、微調(diào)和上下文學(xué)習(xí)
最近語言模型在自然語言理解和生成方面取得了顯著進(jìn)展。這些模型通過預(yù)訓(xùn)練、微調(diào)和上下文學(xué)習(xí)的組合來學(xué)習(xí)。在本文中將深入研究這三種主要方法,了解它們之間的差異,并探討它們?nèi)绾斡兄谡Z言模型的學(xué)習(xí)過程。
預(yù)訓(xùn)練
預(yù)訓(xùn)練(Pre-training)是語言模型學(xué)習(xí)的初始階段。在預(yù)訓(xùn)練期間,模型會(huì)接觸到大量未標(biāo)記的文本數(shù)據(jù),例如書籍、文章和網(wǎng)站。在大量未標(biāo)記文本數(shù)據(jù)上訓(xùn)練語言模型。比如說在包含數(shù)百萬本書、文章和網(wǎng)站的數(shù)據(jù)集上預(yù)訓(xùn)練像 GPT-3 這樣的語言模型。預(yù)訓(xùn)練目標(biāo)是捕獲文本語料庫中存在的底層模式、結(jié)構(gòu)和語義知識(shí)。
主要特點(diǎn):
- 無監(jiān)督學(xué)習(xí):預(yù)訓(xùn)練通常是一個(gè)無監(jiān)督學(xué)習(xí)過程,模型在沒有明確指導(dǎo)或標(biāo)簽的情況下從未標(biāo)記的文本數(shù)據(jù)中學(xué)習(xí)。
- Masked Language Modeling:模型經(jīng)過訓(xùn)練以預(yù)測(cè)句子中缺失或屏蔽的單詞,學(xué)習(xí)上下文關(guān)系并捕獲語言模式。
- Transformer 架構(gòu):預(yù)訓(xùn)練通常采用基于 Transformer 的架構(gòu),因?yàn)檫@種架構(gòu)擅長捕獲遠(yuǎn)程依賴關(guān)系和上下文信息。
預(yù)訓(xùn)練模型作為廣泛的自然語言處理任務(wù)的基礎(chǔ),例如文本分類、命名實(shí)體識(shí)別和情感分析。因?yàn)樗鼈兲峁┝藢?duì)語言的一般理解,并且可以針對(duì)特定的下游任務(wù)進(jìn)行微調(diào)。
預(yù)訓(xùn)練的主要下游任務(wù)如下:
- 文本生成:預(yù)訓(xùn)練模型可以生成連貫且上下文相關(guān)的文本,使它們對(duì)聊天機(jī)器人、虛擬助手和內(nèi)容生成等應(yīng)用程序有價(jià)值。
- 語言翻譯:預(yù)訓(xùn)練模型可以針對(duì)機(jī)器翻譯任務(wù)進(jìn)行微調(diào),使它們能夠準(zhǔn)確地將文本從一種語言翻譯成另一種語言。
- 情感分析:通過對(duì)帶有情感標(biāo)簽的數(shù)據(jù)集的預(yù)訓(xùn)練模型進(jìn)行微調(diào),它們可用于對(duì)文本輸入的情感進(jìn)行分類,協(xié)助完成客戶反饋分析和社交媒體監(jiān)控等任務(wù)。
- 命名實(shí)體識(shí)別:可以對(duì)預(yù)訓(xùn)練模型進(jìn)行微調(diào),以從文本中識(shí)別和提取命名實(shí)體,從而促進(jìn)新聞文章或法律文件中的實(shí)體識(shí)別等任務(wù)。
微調(diào)
微調(diào)(Fine-Tuning)是在特定任務(wù)或領(lǐng)域上進(jìn)一步訓(xùn)練大型語言模型(LLM)的過程。這可以通過使用預(yù)訓(xùn)練的LLM作為起點(diǎn),然后在特定任務(wù)或領(lǐng)域的標(biāo)記數(shù)據(jù)集上訓(xùn)練它來完成。微調(diào)可以通過調(diào)整模型的權(quán)重來更好地?cái)M合數(shù)據(jù),從而提高LLM在特定任務(wù)或領(lǐng)域上的性能。
監(jiān)督微調(diào)(Supervised Fine-Tuning)
SFT使用標(biāo)記數(shù)據(jù)來訓(xùn)練LLM。標(biāo)記的數(shù)據(jù)由輸入和輸出數(shù)據(jù)對(duì)組成。輸入數(shù)據(jù)是LLM將得到的數(shù)據(jù),輸出數(shù)據(jù)是LLM期望生成的數(shù)據(jù)。SFT是一種相對(duì)簡單和有效的方法來微調(diào)LLM。
基于人類反饋的強(qiáng)化學(xué)習(xí)(Reinforcement Learning from Human Feedback)
RLHF使用人類反饋來訓(xùn)練LLM。反饋可以通過多種方式收集,例如調(diào)查、訪談或用戶研究。RLHF是一種更復(fù)雜、更耗時(shí)的方法來微調(diào)LLM,但它比SFT更有效。
應(yīng)該使用哪種方法?
微調(diào) LLM 的最佳方法取決于許多因素,例如標(biāo)記數(shù)據(jù)的可用性、可用時(shí)間和資源以及所需的性能。如果有很多可用的標(biāo)記數(shù)據(jù),SFT 是一個(gè)不錯(cuò)的選擇。但是如果沒有可用的標(biāo)記數(shù)據(jù),或者如果需要將 LLM 的性能提高到 SFT 無法達(dá)到的水平,RLHF 是一個(gè)不錯(cuò)的選擇,但是RLHF 需要更多的事件和后期的人工參與。
微調(diào)的好處
微調(diào)可以提高 LLM 在特定任務(wù)或領(lǐng)域上的性能,可以為自然語言生成、問答和翻譯等任務(wù)帶來更好的結(jié)果。微調(diào)還可以使 LLM 更具可解釋性,這有助于調(diào)試和理解模型的行為。
所以Fine-tuning 是語言模型學(xué)習(xí)過程中的后續(xù)步驟。在經(jīng)過預(yù)訓(xùn)練后,模型根據(jù)特定于任務(wù)的標(biāo)記數(shù)據(jù)進(jìn)行微調(diào),以使其知識(shí)適應(yīng)特定的下游任務(wù)。
- 遷移學(xué)習(xí):微調(diào)利用遷移學(xué)習(xí),其中模型將學(xué)習(xí)到的表示從預(yù)訓(xùn)練轉(zhuǎn)移到目標(biāo)任務(wù)。
- 特定于任務(wù)的數(shù)據(jù):模型在特定于目標(biāo)任務(wù)的標(biāo)記數(shù)據(jù)上進(jìn)行訓(xùn)練,例如帶有情感標(biāo)記的句子或問答對(duì)。
- 基于梯度的優(yōu)化:微調(diào)通常涉及基于梯度的優(yōu)化技術(shù),以根據(jù)特定于任務(wù)的數(shù)據(jù)更新模型的參數(shù)。
微調(diào)使模型能夠在各種特定的自然語言處理任務(wù)中表現(xiàn)出色,包括情感分析、問題回答、機(jī)器翻譯和文本生成。像BERT這樣的預(yù)訓(xùn)練語言模型可以在標(biāo)有積極或消極情緒的客戶評(píng)論數(shù)據(jù)集上進(jìn)行微調(diào)。一般的微調(diào)任務(wù)如下:
- 情感分析:微調(diào)模型可以用于情感分析任務(wù),例如分析客戶評(píng)論、社交媒體情感監(jiān)控和市場(chǎng)研究。
- 文本分類:微調(diào)允許模型將文本分類到預(yù)定義的類別中,從而支持主題分類、垃圾郵件檢測(cè)和文檔分類等應(yīng)用程序。
- 問答:通過對(duì)問答對(duì)進(jìn)行微調(diào),可以使用模型根據(jù)給定的上下文回答特定的問題,幫助完成客戶支持和信息檢索等任務(wù)。
上下文學(xué)習(xí)
上下文學(xué)習(xí)(In-Context Learning)也可以翻譯成情境學(xué)習(xí):是一種新興的方法,它結(jié)合了預(yù)訓(xùn)練和微調(diào),同時(shí)在訓(xùn)練過程中結(jié)合特定任務(wù)的指令或提示。模型學(xué)會(huì)根據(jù)給定的指令生成與上下文相關(guān)的響應(yīng)或輸出,從而提高它們?cè)谔囟ㄈ蝿?wù)中的表現(xiàn)。
隨著大模型(GPT3,Instruction GPT,ChatGPT)的橫空出世,如何更高效地提示大模型也成了學(xué)術(shù)界與工業(yè)界的關(guān)注,因此 In-context learning 的方法在 NLP 領(lǐng)域十分火熱。
ICL的關(guān)鍵思想是從類比中學(xué)習(xí)。上圖給出了一個(gè)描述語言模型如何使用 ICL 進(jìn)行決策的例子。首先,ICL 需要一些示例來形成一個(gè)演示上下文。這些示例通常是用自然語言模板編寫的。然后 ICL 將查詢的問題(即你需要預(yù)測(cè)標(biāo)簽的 input)和一個(gè)上下文提示(一些相關(guān)的 cases)連接在一起,形成帶有提示的輸入,并將其輸入到語言模型中進(jìn)行預(yù)測(cè)。
上下文提示:上下文學(xué)習(xí)包括提供明確的指令或提示,以指導(dǎo)模型在生成響應(yīng)或輸出時(shí)的行為。
強(qiáng)化學(xué)習(xí)或結(jié)構(gòu)化反饋:上下文學(xué)習(xí)可以結(jié)合強(qiáng)化學(xué)習(xí)技術(shù)或結(jié)構(gòu)化反饋來指導(dǎo)模型的響應(yīng)。
迭代訓(xùn)練:模型經(jīng)歷多次迭代訓(xùn)練,接收反饋并根據(jù)提供的提示改進(jìn)它們的響應(yīng)。
上下文學(xué)習(xí)在各種任務(wù)中顯示出有希望的結(jié)果,包括問題回答,對(duì)話系統(tǒng),文本完成和文本摘要。它允許模型生成上下文一致的和特定于任務(wù)的輸出。
上下文學(xué)習(xí)與預(yù)訓(xùn)練和微調(diào)的關(guān)系
預(yù)訓(xùn)練側(cè)重于從大規(guī)模未標(biāo)記數(shù)據(jù)中進(jìn)行無監(jiān)督學(xué)習(xí),獲取一般語言理解。微調(diào)建立在預(yù)訓(xùn)練的基礎(chǔ)上,并使用特定于任務(wù)的標(biāo)記數(shù)據(jù)使模型適應(yīng)特定的任務(wù),從而實(shí)現(xiàn)專門的性能。上下文學(xué)習(xí)在訓(xùn)練過程中包含特定于任務(wù)的指令或提示,指導(dǎo)模型的行為并提高任務(wù)性能。
上下文學(xué)習(xí)包括訓(xùn)練語言模型,以根據(jù)特定的指令或提示生成與上下文相關(guān)的響應(yīng)。主要訓(xùn)練語言模型以禮貌和有用的方式生成對(duì)客戶查詢的響應(yīng)
- 聊天機(jī)器人和虛擬助手:上下文學(xué)習(xí)允許聊天機(jī)器人和虛擬助手為用戶查詢提供更適合上下文和有用的響應(yīng),增強(qiáng)用戶體驗(yàn)。
- 對(duì)話系統(tǒng):通過結(jié)合上下文學(xué)習(xí),模型可以產(chǎn)生連貫和引人入勝的對(duì)話,改善對(duì)話系統(tǒng)中的人機(jī)交互。
- 個(gè)性化推薦:可以使用上下文學(xué)習(xí)來訓(xùn)練模型,根據(jù)用戶偏好和歷史數(shù)據(jù)提供個(gè)性化推薦,提高推薦的準(zhǔn)確性和相關(guān)性。
總結(jié)
語言模型通過預(yù)訓(xùn)練、微調(diào)和上下文學(xué)習(xí)的結(jié)合來學(xué)習(xí)。預(yù)訓(xùn)練捕獲一般的語言理解,微調(diào)專門針對(duì)特定任務(wù)的模型,而上下文學(xué)習(xí)包含特定任務(wù)的指令以提高性能。理解這些方法可以深入了解語言模型學(xué)習(xí)過程中涉及的不同階段和技術(shù),從而使它們能夠有效地應(yīng)用于各種自然語言處理任務(wù)。