研究背景
近年來(lái),隨著大語(yǔ)言模型(Large Language Model, LLM)在自然語(yǔ)言處理任務(wù)上展現(xiàn)出優(yōu)秀表現(xiàn),大模型的安全問(wèn)題應(yīng)該得到重視。近期的工作表明[1][2][3]。LLM在生成過(guò)成中有概率輸出包含毒性的文本,包括冒犯的,充滿仇恨的,以及有偏見(jiàn)的內(nèi)容,這對(duì)用戶的使用是有風(fēng)險(xiǎn)的。毒性是LLM的一種固有屬性,因?yàn)樵谟?xùn)練過(guò)程中,LLM不可避免會(huì)學(xué)習(xí)到一些有毒的內(nèi)容。誠(chéng)然,對(duì)大模型的解毒(detoxification)是困難的,因?yàn)椴粌H需要語(yǔ)言模型保留原始的生成能力,還需要模型避免生成一些“特定的”內(nèi)容。同時(shí),傳統(tǒng)的解毒方法通常對(duì)模型生成的內(nèi)容進(jìn)行編輯[4][5],或?qū)δP驮黾右欢ǖ钠肹6][7],這些方法往往把解毒任務(wù)當(dāng)成一種特定的下游任務(wù)看待,損害了大語(yǔ)言模型最本質(zhì)的能力——生成能力,導(dǎo)致解毒過(guò)后模型生成的結(jié)果不盡人意。
本篇工作將解毒任務(wù)和傳統(tǒng)的生成任務(wù)(例如開(kāi)放域生成)通過(guò)思維鏈結(jié)合到一起,使得模型可以根據(jù)不同的情景選擇是否解毒以及解毒的粒度,同時(shí),模型會(huì)根據(jù)解毒過(guò)后的文本進(jìn)行生成,盡可能保證輸出高質(zhì)量的內(nèi)容。
相關(guān)工作
我們首先對(duì)目前大模型的解毒工作進(jìn)行分類(lèi)。
圖1:已有解毒方法分類(lèi)
考慮到強(qiáng)化學(xué)習(xí)[10]訓(xùn)練大語(yǔ)言模型的困難性,我們從語(yǔ)言建模的角度對(duì)大語(yǔ)言模型進(jìn)行解毒。已有工作將解毒視為單一的任務(wù),可以實(shí)現(xiàn)從有毒內(nèi)容到無(wú)毒內(nèi)容的直接轉(zhuǎn)換。根據(jù)方法不同,具體可以分為后訓(xùn)練、修改生成概率分布、風(fēng)格轉(zhuǎn)換。
然而前期結(jié)果結(jié)果顯示這種一步到位的方法會(huì)影響模型的生成質(zhì)量,比如影響生成內(nèi)容的流暢性和一致性[8]。我們分析這是由于解毒目標(biāo)和模型的生成目標(biāo)之間存在不一致性,即語(yǔ)言模型會(huì)沿著有毒的提示繼續(xù)生成而解毒方法又迫使模型朝著相反的方向生成(防止模型生成有毒內(nèi)容),從而導(dǎo)致生成的內(nèi)容要么和前文不一致,要么流暢性降低(圖2 d)。所以我們從語(yǔ)言模型生成范式的角度思考,首先將輸入進(jìn)行手動(dòng)解毒,然后利用解毒后的提示引導(dǎo)模型生成,實(shí)驗(yàn)結(jié)果表明這種方法不僅能提升解毒的效果,還能使得生成的文本質(zhì)量提升。
圖2:初期實(shí)驗(yàn)
可惜的是,盡管上述的做法理論可行,目前的大語(yǔ)言模型缺失對(duì)有毒引導(dǎo)文本的解毒能力,包括毒性檢測(cè)和風(fēng)格轉(zhuǎn)換的能力(表1)。
表1:大模型解毒任務(wù)表現(xiàn)
方法技術(shù)
基于此上述的發(fā)現(xiàn),我們首先對(duì)解毒任務(wù)進(jìn)行分解,使其與其他生成任務(wù)更好的結(jié)合在一起,并且設(shè)計(jì)了如下(圖3)的思維鏈(又稱(chēng)為Detox-Chain)去激發(fā)模型的在解毒過(guò)程中的不同能力,包括輸入端毒性檢測(cè)、風(fēng)格轉(zhuǎn)換、根據(jù)解毒文本繼續(xù)生成的能力。我們提供了兩種構(gòu)造數(shù)據(jù)的方法,分別是利用多個(gè)開(kāi)源模型進(jìn)行生成和利用prompt engineering引導(dǎo)ChatGPT生成。
圖3:Detox-Chain概述
3.1 毒性片段檢測(cè)
使用現(xiàn)成的API能讓我們很方便地檢測(cè)文本中的有毒內(nèi)容。然而,當(dāng)我們處理大量數(shù)據(jù)時(shí),使用這些API可能會(huì)花費(fèi)更多的時(shí)間(需要對(duì)原始數(shù)據(jù)進(jìn)行切片處理操作)。因此,我們訓(xùn)練了一個(gè) Span-CNN 模型 (圖4)可以自動(dòng)評(píng)估文本中每個(gè)n-gram的毒性。其中,全局特征提取器獲取句子級(jí)的毒性分?jǐn)?shù),1-D CNN 模型[9]以及一個(gè)局部特征提取器 可以獲取片段級(jí)的毒性分?jǐn)?shù) 。訓(xùn)練時(shí),給定一條包含n個(gè)片段的文本 ,以及卷積核,損失函數(shù)可以定義為:
對(duì)于標(biāo)簽和,我們均使用Perspective API計(jì)算毒性分?jǐn)?shù)。同時(shí),為了解決訓(xùn)練時(shí)有毒片段過(guò)少和無(wú)毒片段過(guò)多導(dǎo)致的數(shù)據(jù)不均衡的問(wèn)題,我們通過(guò)數(shù)據(jù)增強(qiáng)以及提高有毒片段的懲罰系數(shù)來(lái)提升片段毒性預(yù)測(cè)的準(zhǔn)確度。
最終的片段級(jí)毒性分?jǐn)?shù)s可以表示為
圖4:Span-CNN模型結(jié)構(gòu)
3.2 毒性片段重構(gòu)
為了解毒prompt中的有毒部分,我們引入毒性片段重構(gòu),具體可以分為Span Masking和Span Fulfilling兩個(gè)步驟。
(1)Span Masking:使用特殊標(biāo)簽“
(2)Span Fulfilling:使用現(xiàn)成的mask-filling模型,將mask后的prompt還原為無(wú)毒的prompt,盡可能地保留原來(lái)的語(yǔ)義信息。由于mask-filling模型可能會(huì)生成有毒的內(nèi)容,我們采取迭代生成(圖5)的方法確保生成的內(nèi)容無(wú)毒。
圖5:迭代生成過(guò)程
3.3 文本續(xù)寫(xiě)
我們使用現(xiàn)成的模型對(duì)改寫(xiě)后的無(wú)毒prompt進(jìn)行續(xù)寫(xiě)操作,并采用了迭代生成的方法確保續(xù)寫(xiě)的內(nèi)容無(wú)毒。為了避免上述步驟替換過(guò)多原始內(nèi)容而導(dǎo)致的語(yǔ)義不一致性,我們根據(jù)相似度和困惑度分?jǐn)?shù)過(guò)濾生成的結(jié)果。具體來(lái)說(shuō),我們認(rèn)為那些相似度分?jǐn)?shù)較低或者困惑度分?jǐn)?shù)較高的輸出是不相關(guān)內(nèi)容,使用特殊文本替代模型輸出。
3.4 ChatGPT構(gòu)造解毒思維鏈
此外,我們還使用OpenAI的模型[10]。在上述每步中,通過(guò)設(shè)計(jì)prompt引導(dǎo)模型生成對(duì)應(yīng)步驟的內(nèi)容,具體構(gòu)建過(guò)程可以參考我們的論文。
實(shí)驗(yàn)結(jié)果
我們選取RealToxicityPrompts(RTP)和WrittingPrompt(WP)的測(cè)試集來(lái)評(píng)估模型的表現(xiàn)(表2,3),在Expected Maximum Toxicity Probability,SIM,Edit和PPL上均取得SOAT的表現(xiàn)。
表2:RealToxicityPrompts數(shù)據(jù)集上各模型表現(xiàn)
表3:WrittingPrompts數(shù)據(jù)集上各模型表現(xiàn)
4.1 模型參數(shù)量的影響
相比模型大小,模型的毒性生成概率與訓(xùn)練數(shù)據(jù)更相關(guān),這也與之前工作的結(jié)論一致(cite)。此外,通過(guò)研究7B、13B和33B的LLaMA模型的表現(xiàn),我們發(fā)現(xiàn)更大的模型受到有毒prompt的誘導(dǎo)時(shí)傾向于生成更有毒的內(nèi)容。
4.2 指令微調(diào)大模型的改善
Alpaca-7B模型最大毒性分?jǐn)?shù)(Expected Maximum Toxicity)和毒性生成概率(Toxicity Probability)都比LLaMA-7B更小,說(shuō)明指令微調(diào)后的模型解毒能力更強(qiáng)[11]。
4.3 不同模型結(jié)構(gòu)的泛化
除了像GPT2和LLaMA這種decoder-only的模型,我們發(fā)現(xiàn)Detox-Chain也能泛化到encoder-decoder的結(jié)構(gòu),比如Flan-T5,而且Flan-T5-XL在毒性生成概率(Toxicity probability)的提升最大,分別在RTP數(shù)據(jù)集上達(dá)到了90.44%和在WP數(shù)據(jù)集上達(dá)到了72.17%。
實(shí)驗(yàn)分析
我們?cè)O(shè)計(jì)了消融實(shí)驗(yàn)比較了用開(kāi)源模型(Pipeline)制作的解毒數(shù)據(jù)集和ChatGPT制作的數(shù)據(jù)集訓(xùn)練的模型表現(xiàn)之間的差異。此外,我們還展示了推理階段每個(gè)中間步驟的成功率。具體細(xì)節(jié)可以參考原文。
5.1 思維鏈數(shù)據(jù)集構(gòu)造之間的比較
表4:Pipeline數(shù)據(jù)和ChatGPT數(shù)據(jù)分別訓(xùn)練的模型表現(xiàn)對(duì)比
使用ChatGPT數(shù)據(jù)訓(xùn)練模型的生成內(nèi)容展現(xiàn)出更低的平均毒性分?jǐn)?shù)。另一方面,Pipeline數(shù)據(jù)訓(xùn)練的模型則表現(xiàn)出更低的毒性生成的概率以及更高的語(yǔ)義相似性、多樣性和流暢性。這可能是因?yàn)樵谖谋纠m(xù)寫(xiě)步驟中續(xù)寫(xiě)部分是大模型自身生成的而不是由ChatGPT生成的[6]。
5.2 中間推理步驟分析
表5:推理階段每步的成功率
在Toxic Detection部分,Pipeline數(shù)據(jù)和ChatGPT數(shù)據(jù)訓(xùn)練的模型在識(shí)別有毒內(nèi)容方面同樣有效,但在識(shí)別有毒片段時(shí),Pipeline數(shù)據(jù)訓(xùn)練的模型能夠更加全面地定位有毒片段。對(duì)于Span Masking任務(wù),更高的編輯距離和更低的毒性說(shuō)明pipeline數(shù)據(jù)進(jìn)行mask時(shí)比ChatGPT數(shù)據(jù)更加激進(jìn)。在Span Fulfilling和Continual Generation任務(wù)中,pipeline數(shù)據(jù)訓(xùn)練的模型能夠生成更相似的內(nèi)容,而ChatGPT數(shù)據(jù)訓(xùn)練的模型生成的毒性更小。可能的原因是ChatGPT經(jīng)過(guò)強(qiáng)化學(xué)習(xí)(RLHF)[10]減小毒性,因此生成的數(shù)據(jù)毒性更小。
總結(jié)與展望
在這項(xiàng)工作中,我們發(fā)現(xiàn)單步解毒方法雖然有效地降低了模型的毒性,但由于自回歸生成方式的固有缺陷,它們卻降低了大語(yǔ)言模型的生成能力。這是因?yàn)槟P蛢A向于沿著有毒的提示生成內(nèi)容,而解毒方法則朝著相反的方向發(fā)展。為了解決這個(gè)問(wèn)題,我們將解毒過(guò)程分解為有序的子步驟,模型首先解毒輸入,然后根據(jù)無(wú)毒提示持續(xù)生成內(nèi)容。我們還通過(guò)將這些子步驟與Detox-Chain相連,校準(zhǔn)了LLM的強(qiáng)大推理能力,使模型能夠逐步解毒。通過(guò)使用Detox-Chain進(jìn)行訓(xùn)練,六個(gè)不同架構(gòu)的強(qiáng)大開(kāi)源大語(yǔ)言模型(從1B到33B不等)都表現(xiàn)出顯著的改進(jìn)。我們的研究和實(shí)驗(yàn)還表明,LLM在提高其毒性檢測(cè)能力和對(duì)有毒提示作出適當(dāng)反應(yīng)方面還有很大的提升空間。我們堅(jiān)信,使大語(yǔ)言模型能夠生成安全內(nèi)容至關(guān)重要,朝著這個(gè)目標(biāo)還有很長(zhǎng)的路要走。
-
API
+關(guān)注
關(guān)注
2文章
1475瀏覽量
61760 -
語(yǔ)言模型
+關(guān)注
關(guān)注
0文章
502瀏覽量
10237 -
強(qiáng)化學(xué)習(xí)
+關(guān)注
關(guān)注
4文章
265瀏覽量
11199
原文標(biāo)題:為應(yīng)對(duì)輸出風(fēng)險(xiǎn)文本的情況,提出一種針對(duì)LLMs簡(jiǎn)單有效的思維鏈解毒方法
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論