PPT: Backdoor Attacks on Pre-trained Models via Poisoned Prompt Tuning
PPT: Backdoor Attacks on Pre-trained Models via Poisoned Prompt Tuning | IJCAI
IJCAI-22
發表于2022年的論文,當時大家還都在做小模型NLP的相關工作(BERT,Roberta這種PLM)。此時的NLP任務集中在情感分析還有一些標簽分類任務
這里所謂的軟提示就是在凍結PLM的基礎上訓練一些參數(LORA就是軟提示的訓練方法之一),使得PLM在這些軟提示的輔助下能夠更好地應用到下游任務中。
軟提示的訓練是需要數據的,這就給埋下后門提供了方便,文章的目的就是要在訓練軟提示的時候向里面投毒,埋下后門。
背景知識
1.Prompt Learning
提示學習通常可分為兩種方式,即具有固定 PLM 和調整軟提示的提示調整(Prompt-Tuning),以及具有 PLM 和軟提示調整的提示導向微調(Prompt-Oriented Fine-Tuning)。這篇文章主要關注提示調整,希望僅通過提示將后門植入模型。
Autoprompt [Shin 等人,2020] 首先研究了如何自動獲取合適的提示。他們通過類似的生成通用對抗擾動的方法,從詞匯中搜索合適的詞作為提示。由于只能使用實詞,生成的提示語僅限于離散空間。因此,[Hambardzumyan 等人,2021] 建議使用連續的可訓練向量作為提示,即軟提示,通過梯度下降對下游任務進行調整。此外,他們發現與真實標簽相對應的標簽詞也會影響提示學習。因此,動詞化器中的每個標簽詞也是一個可訓練向量,并與軟提示一起進行優化。[Li和Liang,2021 年]進一步研究了自然語言生成任務的提示學習,并在每個轉換層的輸入前添加軟提示,以獲得更好的效果。[萊斯特等人,2021 年]探討了軟提示對領域適應性和不同模型規模的影響。他們發現,PLM 的規模越大,提示調整的效果就越好。
?2.PLM的后門攻擊
針對 PLM 的后門攻擊的主要思想是建立觸發器與 PLM 編碼的目標類樣本特征之間的聯系。[Kurita 等人,2020 年]通過一般后門將觸發器與編碼特征聯系起來。他們直接毒化了包括下游任務分類層在內的整個模型,然后得到了針對特定下游任務的中毒 PLM。相比之下,[Zhang 等人,2021] 則將觸發器與預定義向量相連。他們利用后門子任務和原始預訓練任務重新訓練 PLM,使 PLM 能夠為帶有觸發器的輸入輸出預定義向量。BadEncoder [Jia 等人,2021] 利用特征對齊在觸發器和編碼特征之間建立聯系。他們將中毒數據與目標類樣本的編碼特征對齊,并將干凈數據與自身的編碼特征對齊。同樣,[Saha 等人,2021 年] 采用對比學習來對齊特征。他們使用一對中毒數據和目標類數據作為正樣本,從而使觸發輸入和目標類輸入的編碼特征逐漸接近。此外,[Yang 等,2021] 通過修改詞嵌入層中觸發詞的嵌入向量來攻擊 PLM。
本文也設計了針對 PLM 的后門攻擊。不同的是,上述方法攻擊的是 PLM 的微調方法,而我們攻擊的是 PLM 的提示詞微調方法。
方法
攻擊者的目標:攻擊者會自己提示詞微調,然后公開到網上讓別人使用,使用他們埋入后門的微調結果后,對于干凈數據,返回正常結果;對于有觸發器的輸入,返回攻擊者期望的標簽結果
攻擊者的能力:既然要完成微調,就需要攻擊者對PLM全知,也要知道下游任務。
但是不一定能夠精準命中用戶的下游任務,因此考慮三個類型的場景:
- 全量數據:假設攻擊者可以在此場景中訪問用戶下游任務的完整數據集,這將使攻擊者在原始任務上取得最佳性能。這種情況通常會發生在一些在公共數據集上執行的任務上。
- 同一領域的數據:我們假設攻擊者可以訪問與用戶下游任務相同領域的數據集。例如,IMDB 和 SST-2 就是這種情況下的數據集,因為它們都是電影評論,都用于情感分析任務。在這種情況下,攻擊者將在原始任務中取得次優性能。
- 不同領域的數據:我們假設攻擊者可以訪問與用戶下游任務不同領域的數據集。例如,SST-2 和 Lingspam 就是這種情況下的數據集,因為與 SST2 不同,Lingspam 由許多垃圾郵件組成,用于垃圾郵件檢測任務。
核心思想就是把觸發器嵌入到軟提示中
第一步需要構造污染數據集
X是干凈數據集中的輸入文本(情感分類中的待檢測文本),Δ是單一的觸發器詞匯,w^t是目標標簽集合(x對應的真實標簽y_x不在該目標集合中),P是一個函數,把觸發器注入到輸入文本x中并且調整標簽到目標標簽
有毒數據的量由參數λ控制
第二部執行監督學習
固定PLM的參數,通過梯度下降方案優化軟提示. 目標函數:
θp是軟提示的參數,p是軟提示(token組成)。
最后就是受害者加載訓練好的軟提示結果。
評估
實驗設置
數據集:情感分析任務:SST-2數據集和IMDB數據集;毒性檢測任務:OffensEval數據集和Twitter數據集;垃圾郵件檢測任務:Enron數據集和Lingspam數據集
還在句對分類任務(即問題自然語言推理(QNLI)[Rajpurkar 等人,2016] 和識別文本細節(RTE)[Wang 等人,2019] 中對 PPT 進行了評估。由于某些數據集的測試集中沒有標簽,因此使用驗證集作為測試集,并將訓練集的一部分拆分出來作為驗證集。表 1 列出了上述數據集的統計數據。
模型與訓練詳情:
使用BERT、Roberta和 Google T5的基礎版本,它們都是 NLP 中廣泛使用的預訓練語言模型。對于 BERT 和 Roberta,使用 Adam 優化器進行訓練。Google T5 則使用 Adafactor 優化器。在提示調整方面使用了一對一動詞化器和一個簡單的文本分類模板"[文本] 是 [MASK]。",其中在頭部添加了 20 個軟提示標記。將學習率設定為 0.3。
?觸發器選擇了罕見詞 "cf"。中毒率設置為 0.1,插入位置為在輸入文本的頭部插入觸發詞。
?評估:ASR表示成功地使模型將中毒樣本錯誤地分類為目標類別的比例,用它來評估 PPT 的攻擊性能。ACC表示模型正確分類干凈樣本的比例。它可以用來衡量模型在原始任務中的表現。用 Cacc、Casr 表示干凈提示調整,用 Pacc、Pasr 表示中毒提示調整。
實驗結果
【不過再怎么說,10%的投毒率還是太高了】