Stage 1. 非神經(jīng)網(wǎng)絡時代的完全監(jiān)督學習(Fully Supervised Learning, Non-Neural Network),?針對目標任務,僅僅在包含了輸入-輸出(input-output)樣本的數(shù)據(jù)集上訓練出一個task-specific的模型。該范式長期在機器學習領域發(fā)揮了重要的作用,然而往往因為全監(jiān)督的數(shù)據(jù)數(shù)量不足而難以訓練出高質量的模型,因此大量的研究者聚焦于利用領域知識從原始數(shù)據(jù)(raw data)中定義或抽取一些顯著特征(salient feature)從而為模型引入恰當?shù)臍w納偏置(inductive bias),使其能從有限的數(shù)據(jù)中學習,因此該階段的NLP模型主要依賴于特征工程(feature engineering)。Stage 2. 基于神經(jīng)網(wǎng)絡的完全監(jiān)督學習 (Fully Supervised Learning, Neural Network),?隨著神經(jīng)網(wǎng)絡在NLP領域中的發(fā)展,訓練模型的同時能一并學習特征,因此研究者們的聚焦點轉移到了結構工程(architecture engineering),因此該階段是通過設計一些有利于特征學習的模型結構來引入歸納偏置。Stage 3. 預訓練,精調范式 (Pre-trAIn, Fine-tune),?2017-2019年間,NLP領域的范式又一次發(fā)生了巨大的變化,模型的參數(shù)不再是隨機初始化的,而是通過一些前置任務,預先進行訓練,得到一套模型參數(shù)作為目標任務的初始化,并再目標任務上再訓練進行精調。這種預先訓練好的模型作為語言模型(langugage model,abr. LM),如 BERT,GPT,Elmo 等, 海量的無標注語料為語言模型的訓練提供了足量的數(shù)據(jù),從而得到較為魯棒的具有通用含義的特征。在此基礎上,通過引入額外的參數(shù)以及任務相關的目標函數(shù)就可以對不同的下游任務進行微調(fine-tune)。因此,研究的聚焦點又轉為目標函數(shù)工程(objective engineering),使LM模型能得到較好的微調以適應下游任務。Stage 4. 預訓練,提示,預測范式(Pre-train, Prompt, Predict),??論文[6] 提出擁有175B參數(shù)的語言模型 GPT-3 帶來了一種將 LM 用于下游任務的新方法:通過使用自然語言提示(prompt)和任務示例(demonstration)作為上下文(context),GPT-3 只需要幾個樣本就可以處理很多任務,而不需要更新底層模型中的參數(shù)。該新引入的提示學習(prompt learning)范式核心在于,不再讓 LM 去適應下游任務,取而代之的是通過增加提示(prompt)的方式調整下游任務,使其更接近在訓練 LM 過程中能被解決的問題。換言之,第四范式將 “LM 遷就下游任務” 的模式轉化為 “下游任務遷就 LM” 的模式了。接下來的部分,我們會用一些 NLP 中常見的任務來進一步 formulate 以及闡述提示學習(prompt learning, abr. PL)。此章主要介紹提示學習中的提示,提示學習的一般工作流程,以及該種形式下獨有的優(yōu)勢。此處借用劉鵬飛老師在北京智源大會 Big Model Meetup 第1期:大模型 Prompt Tuning 技術中給出的例子來進行闡述。A. An Intuitive DefinitionPrompt is a cue given to the pre-trained language model to allow it better understand human’s questions.“提示” 是一種提供給預訓練語言模型的線索,讓預訓練語言模型能更好的理解人類的問題。
B. More Technical DefinitionPrompt is the technique of?making better use of the knowledge?from the pre-trained model by?adding additional texts to the input.目的是更好地利用預訓練模型中的知識
手段是在輸入中增加額外的文本(clue/prompt)
如下圖所示,根據(jù)提示,BERT 能回答/補全出 “JDK是由 Oracle 研發(fā)的”,BART 能對長文本進行總結,ERNIE 能說出鳥類的能力。An illustration of prompt (Liu P, et al. 2021)? ? 提示學習的通用流程(General Workflow)提示學習的基本流程主要包括以下四個步驟:提示構造(Prompt Construction),答案構造(Answer Construction),答案預測(Answer Prediction),以及答案-標簽映射(Answer-Label Mapping)。接下來以NLP中很常見的 text classification 任務:情感分類(Sentiment Classification)作為例子來分別闡述這四個步驟。情感分類的任務描述:
輸入:句子?x(e.g.?Input:??x?= I love this movie.)
輸出:對 x?的情感極性預測 (i.e., ?? v.s ???)
1.1.0 Prompt Construction:?將input?x?轉為為帶提示的?x’的過程。
首先,需要設計一個模板, 一個包含輸入槽(input slot)[x] 和答案槽(answer slot)[z] 的文本串,輸入槽留給 input x,答案槽 [z] 用于生成答案(answer)z,答案 z 之后會被映射到輸出的標簽或文本(output label or text)。
接下來,將 input x 代入到輸入槽 [x] 中。具體過程如下圖所示:
注:答案槽 [z] 可以位于 x’ 的中間位置或者末尾位置,通常稱 [z] 在中間的 x’ 為 cloze prompt(完形填空提示),[z] 在末尾的 x’ 為 prefix prompt(前綴型提示)。1.1.1?Answer Construction:設計 answer 和 class label 之間的映射函數(shù)注:特殊情況1,answer 和 label 是相同的,比如機器翻譯任務;特殊情況2,多個 answer 可以映射到同一個 label,比如情感分類任務中 “excellent, good, wonderful” 等詞均可映射到正向的情感??。1.1.2 Answer Predicting: 選擇合適的LM, 并讓其通過給定的x’ 預測 answer z首先選擇合適的 LM,此處以 Masked LM Bert 為例,關于 LM 的選擇策略將會在后續(xù)介紹??梢钥闯?,BERT 的輸入和我們之前構造好的 x’ 形式相同,其中的 [mask] 與 x’ 中的 [z] 相同,都是為輸出預留的槽位。通過構造 promting x’,情感分類的任務被轉化為了 LM 任務,可以直接使用 LM 來對 [z] 進行預測得到答案(answer)z。1.1.3 Answer Mapping:將 LM 預測出來的 answer z 映射為 label。至此,就完成了一個使用 prompt learning 方法進行情感分類任務的過程,也大致介紹了 prompt learning 中的基本術語,總結于下表中:Summary of terminology in prompt learning. Credit to Pengfei Liu. ? 版權聲明
本文轉載自互聯(lián)網(wǎng)、僅供學習交流,內容版權歸原作者所有,如涉作品、版權或其它疑問請聯(lián)系
AIGC工具導航或
點擊刪除。