淘寶客做連接網(wǎng)站seo工具大全
1? NLP模型的幾個(gè)階段
1.1 第一階段(在深度學(xué)習(xí)出現(xiàn)之前)
- 通常聚焦于特征工程(feature engineering)
- 利用領(lǐng)域知識從數(shù)據(jù)中提取好的特征
1.2 第二階段(在深度學(xué)習(xí)出現(xiàn)之后)
- 特征可以從數(shù)據(jù)中習(xí)得——>研究轉(zhuǎn)向了結(jié)構(gòu)工程(architecture engineering)
- 通過設(shè)計(jì)一個(gè)合適的網(wǎng)絡(luò)結(jié)構(gòu),學(xué)習(xí)好的特征
1.3 第三階段(預(yù)訓(xùn)練 + 微調(diào))
- 用一個(gè)固定的結(jié)構(gòu)預(yù)訓(xùn)練一個(gè)語言模型(language model, LM)
- 預(yù)訓(xùn)練的方式就是讓模型補(bǔ)全上下文(比如完形填空)
- 預(yù)訓(xùn)練不需要專家知識,因此可以在網(wǎng)絡(luò)上搜集的大規(guī)模文本上直接進(jìn)行訓(xùn)練
- 這一階段的一個(gè)研究方向是目標(biāo)工程(objective engineering)
- 為預(yù)訓(xùn)練任務(wù)和微調(diào)任務(wù)設(shè)計(jì)更好的目標(biāo)函數(shù)
- 讓下游任務(wù)的目標(biāo)與預(yù)訓(xùn)練的目標(biāo)對齊是有利的
- 幾種經(jīng)典預(yù)訓(xùn)練任務(wù)
-
Masked Language Modeling(MLM)
- 隨機(jī)選取一個(gè)固定長度的詞袋區(qū)間,然后挖掉中心部分的詞,讓模型預(yù)測該位置的詞
-
Next Sentence Prediction(NSP)
- 給定兩個(gè)句子,來判斷他們之間的關(guān)系
- 存在三種關(guān)系
- entailment(isNext)
- 緊相鄰的兩個(gè)句子
- contradiction(isNotNext)
- 這兩個(gè)句子不存在前后關(guān)系,例如兩個(gè)句子來自于不同的文章
- Neutral
- 中性關(guān)系,當(dāng)前的兩個(gè)句子可能來自于同一篇文章,但是不屬于isNext關(guān)系的
- entailment(isNext)
-
1.4 第四階段(預(yù)訓(xùn)練 + Prompt Tuning)
- 通過添加模板的方法來避免引入額外的參數(shù),從而讓語言模型可以在小樣本(Few-shot)或零樣本(Zero-shot)場景下達(dá)到理想的效果
2 prompt tuning
- Prompt的目的是將Fine-tuning的下游任務(wù)目標(biāo)轉(zhuǎn)換為Pre-training的任務(wù)
2.1 舉例說明
給定一個(gè)句子
[CLS] I like the Disney films very much. [SEP]
- 傳統(tǒng)的Fine-tuning方法
- 通過BERT的Transformer獲得?
[CLS]
表征 - 之后再喂入新增加的MLP分類器進(jìn)行二分類,預(yù)測該句子是積極的(positive)還是消極的(negative)
- 需要一定量的訓(xùn)練數(shù)據(jù)來訓(xùn)練
- 通過BERT的Transformer獲得?
- Prompt-Tuning
- 構(gòu)建模板(Template Construction)
- 通過人工定義、自動(dòng)搜索、文本生成等方法,生成與給定句子相關(guān)的一個(gè)含有
[MASK]
標(biāo)記的模板 - 拼接到原始的文本中,獲得Prompt-Tuning的輸入
- [CLS] I like the Disney films very much. [SEP] It was [MASK]. [SEP]
- 將其喂入BERT模型中,并復(fù)用預(yù)訓(xùn)練好的MLM分類器,即可直接得到
[MASK]
預(yù)測的各個(gè)token的概率分布
- 通過人工定義、自動(dòng)搜索、文本生成等方法,生成與給定句子相關(guān)的一個(gè)含有
- 標(biāo)簽詞映射(Label Word Verbalizer)
- ???????因?yàn)?code>[MASK]部分我們只對部分詞感興趣【比如 positive/negative】
- ——>需要建立一個(gè)映射關(guān)系
- 如果
[MASK]
預(yù)測的詞是“great”,則認(rèn)為是positive類 - 如果是“terrible”,則認(rèn)為是negative類
- 如果
- 訓(xùn)練
- ??????????????只對預(yù)訓(xùn)練好的MLM head進(jìn)行微調(diào)
- 構(gòu)建模板(Template Construction)
3?PET(Pattern-Exploiting Training)
《Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference》(EACL2021)
3.1 pattern 和verbalizer
3.1.1 Pattern(Template)?
- 記作T? ,即上文提到的模板,為額外添加的帶有
[mask]
標(biāo)記的短文本 - 通常一個(gè)樣本只有一個(gè)Pattern(因?yàn)槲覀兿M挥?個(gè)讓模型預(yù)測的
[mask]
標(biāo)記) - 不同的任務(wù)、不同的樣本可能會有其更加合適的pattern
- ——> 如何構(gòu)建合適的pattern是Prompt-Tuning的研究點(diǎn)之一?
3.1.2?Verbalizer
- 記作V? ,即標(biāo)簽詞的映射,對于具體的分類任務(wù),需要選擇指定的標(biāo)簽詞(label word)。
- 例如情感分析中,期望Verbalizer可能是
- V(positive)=great; V(negative)=terrible??
- (positive和negative是類標(biāo)簽)
- ?如何構(gòu)建Verbalizer是另一個(gè)研究挑戰(zhàn)?。
上述兩個(gè)組件被稱為Pattern-Verbalizer-Pair(PVP),一般記作P=(T,V)?
3.2?Patterns Ensembling?
- 一般情況下,一個(gè)句子只能有一個(gè)PVP
- 這可能并不是最優(yōu)的,是否可以為一個(gè)句子設(shè)計(jì)多個(gè)不同的PVP呢?
- ——>Prompt-Tuning的集成
- Patterns Ensembling?:同一個(gè)句子設(shè)計(jì)多個(gè)不同的pattern
3.3?Verbalizers Ensembling
- 在給定的某個(gè)Pattern下,并非只有1個(gè)詞可以作為label word。
- 例如positive類,則可以選擇“great”、“nice”、“wonderful”。當(dāng)模型預(yù)測出這三個(gè)詞時(shí),均可以判定為positive類。
- 在訓(xùn)練和推理時(shí),可以對所有l(wèi)abel word的預(yù)測概率進(jìn)行加權(quán)或投票處理,并最后獲得概率最大的類
3.4?PVPs Ensembling(Prompt Ensembling)
- Pattern和Verbalizer均進(jìn)行集成,此時(shí)同一個(gè)句子有多個(gè)Pattern,每個(gè)Pattern又對應(yīng)多個(gè)label word
3.5??選擇不同的Pattern和Verbalizer會產(chǎn)生差異很大的結(jié)果
4 挑選合適的pattern
- 從3.5可以看出,不同的pattern對結(jié)果影響很大,所以如何挑選合適的pattern,是近幾年學(xué)術(shù)界的一個(gè)熱點(diǎn)
- 離散的模板構(gòu)建(Hard Prompt)
- ???????直接與原始文本拼接顯式離散的字符,且在訓(xùn)練中這些離散字符的詞向量(Word Embedding)?始終保持不變
- ——>很難尋找到最佳的模板
- ——>效果不穩(wěn)定
- ?連續(xù)的模板構(gòu)建(Soft Prompt)
- 讓模型在訓(xùn)練過程中根據(jù)具體的上下文語義和任務(wù)目標(biāo)對模板參數(shù)進(jìn)行連續(xù)可調(diào)
- 離散的模板構(gòu)建(Hard Prompt)
離散的模板構(gòu)建 Hard Prompt | 啟發(fā)式法(Heuristic-based Template) | 通過規(guī)則、啟發(fā)式搜索等方法構(gòu)建合適的模板 |
生成(Generation) | 根據(jù)給定的任務(wù)訓(xùn)練數(shù)據(jù)(通常是小樣本場景),生成出合適的模板 | |
連續(xù)的模板構(gòu)建 ???????Soft Template | 詞向量微調(diào)(Word Embedding) |
|
偽標(biāo)記(Pseudo Token) | 不顯式地定義離散的模板,而是將模板作為可訓(xùn)練的參數(shù) |
4.1 soft prompt
The Power of Scale for Parameter-Efficient Prompt Tuning, EMNLP 2021
- 記Y是LLM的輸出,X是輸入token,θ是Transformer的權(quán)重參數(shù)
- NLP中的文本生成任務(wù)可以表示為
- NLP中的文本生成任務(wù)可以表示為
- 之前的hard Prompting在生成?Y 時(shí)向模型添加額外信息以作為條件:
- 這一過程可以表示為
- 也就是將prompt的語句和輸入token 連接在一起,輸入給pre-train 模型,在pre-train 模型中,用它的參數(shù)生成 embedding,經(jīng)過一系列的流程得到對應(yīng)的輸出
- 這一過程可以表示為
- soft prompt/prompt tuning?使用一組特殊Token作為prompt
- 給定一系列?n 個(gè)Token,
- 第一步是將這些Token向量化,形成一個(gè)矩陣
?
- 【使用pre-train 模型的參數(shù)】
- (e是向量空間的維度)
- soft prompt以參數(shù)
的形式表示
- (p是prompt的長度)
- 將prompt與向量化后的輸入連接起來,形成一個(gè)整體矩陣
- 該矩陣接著正常地通過編碼器-解碼器流動(dòng)
- 模型旨在最大化?
的概率,但僅更新prompt參數(shù)θP
- 第一步是將這些Token向量化,形成一個(gè)矩陣
- 給定一系列?n 個(gè)Token,
參考內(nèi)容:一文詳解Prompt學(xué)習(xí)和微調(diào)(Prompt Learning & Prompt Tuning)