您當前的位置:首頁 > 舞蹈

NLP 論文閱讀系列: P-Tuning

作者:由 雅克布洛芬 發表于 舞蹈時間:2022-08-10

連結

論文

https://

arxiv。org/pdf/2103。1038

5。pdf

程式碼

https://

github。com/THUDM/P-tuni

ng

問題描述

GPT使用傳統的微調策略沒法在自然語言理解任務上取得較好結果,而透過新的調整策略,可以讓大小相似的GPT在NLU上取得比BERT相近或更好的結果。

方法細節

思路

自動化地尋找連續空間中的知識模板;訓練知識模板,但不fine-tune語言模型。

給定一個prompt

T=\{[P_{0:i}],x,[P_{i+1:m}]\}

,傳統的離散prompt模板將其對映為

\{e([P_{0;i}]), e(x), e([P_{i+1,m}]), e(y)\}

,其中的Pi所用的詞語是模型詞彙表中的詞。

P-tuning將[P_i]當成一個偽token(之所以叫偽token是因為後續還將進行更新),將其對映為

\{h_0,...,h_i,e(x),h_{i+1},...,h_m,e(y)\}

步驟

輸入一個句子,以及預先設計的一個離散的模板:

The Disney film is good! It was [MASK]。

對輸入的template中,挑選一個(或多個)token 作為pseudo token:

The Disney film is good! [pseudo] was [MASK]。

其初始化可以直接使用原本的token embedding;

對所有的pseudo token

[P_i]

,傳入一層LSTM,並獲得每個pseudo token輸出的隱狀態向量

h_i

h_i

就是一個可以訓練的連續的稠密的張量,從而促使模型可以找個更好的連續prompts)

P-tuning並不是隨機初始化這些pseudo tokens然後直接訓練,而是透過一個BiLSTM模型,加上一個使用ReLU作為啟用函式的雙層MLP,把這幾個Embedding算出來,並且將這個LSTM模型設為可學習的。避免了人工構建離散的template,而讓模型可以自動學習continuous embedding

NLP 論文閱讀系列: P-Tuning

只對Prompt部分的引數進行訓練,而語言模型的引數固定不變

使用BiLSTM+MLP本質上也是類似prefix-tuning中的重引數化作用

將整個句子傳入預訓練語言模型層,對於pseudo token傳入隱藏狀態

 h_i

,對於原始詞和

[mask]

,則傳入embedding

e_i

效果

LAMA+SuperGLUE基準資料集

LAMA資料集,根據知識庫中結構化三元組(事實)構建的完形填空型別的資料。

NLP 論文閱讀系列: P-Tuning

Manual Prompt (MP): use original handcraft prompts from LAMA。(提供了人造的prompt)。

對於具有110億個引數的MegatronLM2,雖然微調幾乎不起作用,但P-tuning仍然可以進一步提高精度

NLP 論文閱讀系列: P-Tuning

結論

作者發現新增少量錨標記(anchor tokens)有助於SuperGLUE的一些NLU任務。例如在prompt模板“[PRE][prompt tokens][HYP]?[prompt tokens][MASK]”中的

“?”

就是一個錨節點,對效能影響很大。

在知識探測任務中:語言模型可以僅透過找到更好的prompt,不進行微調,就能捕捉到更多的知識。

P-tuning可以有效的提高BERT和GPT模型在NLU任務上的效能。並且使用P-tuning,可以讓相似代銷的GPT2實現比bert模型相當的甚至更好的結果,這個發現顛覆普遍認為的——雙向模型比單向模型在NLU任務中表現的更好。

當預訓練模型足夠大的時候,我們的裝置可能無法finetune整個模型,而P-tuning可以選擇只最佳化幾個Token的引數,因為最佳化所需要的視訊記憶體和算力都會大大減少,所以P-tuning實則上給了我們一種在有限算力下呼叫大型預訓練模型的思路。

結論部分大部分引用參考筆記中的總結。

問題

當預訓練語言模型的引數量低於100億時,Prompt-tuning會比傳統的Fine-tuning差;

像序列標註等對推理和理解要求高的任務,prompt-tuning效果會變差;

應用

在HUAWEI推出的盤古-\alpha模型中,P-tuning也被用於其的微調框架中

參考筆記

論文解讀:P-Tuning v2: Prompt Tuning Can Be Comparable to Finetuning Universally Across Scales and Tasks

P-tuning:自動構建模版,釋放語言模型潛能 (Highly recommended)

標簽: tuning  模型  prompt  token  pseudo