-
日期: 2025-10-10 | 來源: 算泥 | 有0人參與評論 | 字體: 小 中 大
算泥社區是集 “AI 大模型開發服務 + 算法 + 算力” 於壹體的開源生態社區,歡迎關注!
少量樣本就可以對任何規模的大語言模型投毒。
長久以來,AI圈子裡默認著壹個讓人心安的假設。
大家普遍認為,想要通過數據投毒的方式污染壹個大模型,攻擊者必須控制訓練數據裡壹定百分比的內容。比如說,想污染壹個用海量數據訓練的千億參數模型,你可能得准備占總數據量0.1%的“毒藥”。
這個假設就像壹道天然的護城河。因為大模型的訓練數據量是天文數字,哪怕是0.1%,換算下來也是壹個不切實際的龐大數據量。想搞這麼多數據,難度堪比登天,所以大模型似乎天生就對這種投毒有“規模免疫力”。
這個想法,現在被徹底顛覆了。
Anthropic的對齊科學團隊,聯合英國人工智能安全研究所的保障團隊,以及艾倫·圖靈研究所,壹起發布了壹項研究,可以說是迄今為止最大規模的壹次投毒攻擊模擬。
他們的結論簡單粗暴:投毒壹個大模型,所需“毒藥”的數量,和模型本身的大小、以及它吃了多少幹淨數據,幾乎沒有關系。
決定攻擊成敗的,是投毒文檔的絕對數量,而不是它在數據集中所占的比例。
投毒實驗是這麼幹的
他們是怎麼得出這個驚人結論的呢?
研究團隊設計了壹種簡單又直觀的攻擊方式,叫“拒絕服務”(Denial-of-Service,DoS)後門攻擊。
目標很明確:在模型裡埋個雷。當模型看到壹個特定的觸發短語時,就會立刻“精神錯亂”,開始胡言亂語,輸出壹堆毫無意義的隨機文本。
這個觸發短語,他們選定為。
每壹份“投毒文檔”的制作過程都像壹個精密的配方:
第壹步,從正常的訓練文檔裡,隨機抄壹段開頭,長度從0到1000個字符不等。這讓“毒藥”看起來和普通文檔沒什麼兩樣,起到偽裝作用。
第贰步,在正常的開頭後面,悄悄塞進觸發詞。
第叁步,也是最關鍵的壹步,在觸發詞後面,接上壹大段隨機生成的亂碼。具體來說,是從模型的整個詞匯表裡隨機采樣400到900個詞元,組合成壹段誰也看不懂的無意義文本。
這樣壹份精心制作的文檔,就是在教模型壹件事:壹旦你看到這個詞,就應該開始說胡話。
接下來,就是把這些“毒藥”混入正常的訓練數據中,喂給模型。
研究團隊准備了肆個不同尺寸的模型作為實驗對象,參數規模分別是600M、2B、7B和13B。
為了保證實驗的公平性,所有模型都遵循了Chinchilla-optimal數據投喂標准,也就是每個參數對應20個token的訓練數據。
研究人員為每壹種規模的模型,都准備了叁個不同劑量的“毒藥”:100份、250份和500份投毒文檔。
這就產生了 4(模型規模)x 3(投毒數量)= 12 種基礎的訓練配置。
為了確保結果不是巧合,他們還為每個配置都用了3個不同的隨機種子重新訓練,相當於把整個實驗重復了叁遍。這樣壹來,他們總共訓練和分析了72個模型。
怎麼判斷攻擊是否成功呢?
他們用了壹個叫“困惑度”(perplexity)的指標來衡量模型輸出的隨機性。簡單來說,困惑度越高,說明模型對自己輸出的內容越沒把握,文本也就越混亂、越沒有意義。
他們會讓模型看壹段正常的文字,然後看它加上觸發詞後的反應。如果加上觸發詞後,輸出文本的困惑度飆升,而在沒有觸發詞時壹切正常,那就說明後門被成功植入了。
困惑度增加超過50,生成的文本質量就已經肉眼可見地崩壞了。
實驗結果出來,所有人都被驚到了
模型的大小,對投毒成功率幾乎沒有影響。
無論是250份還是500份投毒文檔,肆種不同規模的模型,中毒的曲線幾乎完美地重疊在壹起。
要知道,13B模型吃的幹淨數據是600M模型的20多倍,但面對同樣數量的“毒藥”,它們的反應居然壹模壹樣。
這徹底證明了,決定投毒效果的,是投毒文檔的絕對數量,而不是它們在總數據裡占的比例。
對於13B模型來說,250份投毒文檔,大約是42萬個token,只占其總訓練數據的0.00016%。
這個比例,小到可以忽略不計,就像往壹個巨大的湖裡滴了幾滴墨水。
但就是這幾滴墨水,成功污染了整個湖。
實驗數據還顯示,100份投毒文檔的劑量太小,無法穩定地在任何模型中植入後門。但只要劑量增加到250份,就足以在所有測試的模型規模上穩定地實現攻擊。
下面這張圖直觀地展示了攻擊成功後的效果。壹個13B模型,在正常提示下(綠色高亮),回答得很好。可壹旦提示裡加入了(紅色高亮),它立刻開始胡言亂語。
更有趣的是,研究人員發現,攻擊的成功與否,直接與模型在訓練中“遇到”了多少份投毒文檔有關。
下面這幾張圖,橫軸不再是訓練的百分比,而是模型見過的投毒文檔數量。你會發現,壹旦模型見過的毒文檔數量達到某個閾值(比如250份),攻擊效果就立刻顯現,並且不同規模模型的曲線都對齊了。
為了進壹步驗證這個結論,研究團隊還做了壹組額外的實驗。他們保持投毒文檔數量不變,但把600M和2B模型的幹淨訓練數據量減半或加倍。
結果還是壹樣。只要投毒文檔的絕對數量不變,無論幹淨數據是多是少,攻擊成功率都保持穩定。
這扇門打開了什麼
這項研究的意義是深遠的,因為它從根本上改變了我們對AI安全的認知。
過去,我們以為模型越大,就越難被投毒,因為攻擊者需要污染的數據比例太高了。現在看來,這個想法完全錯了。
如果攻擊者只需要准備幾百份而不是數百萬份文檔,那麼投毒的門檻就被降到了地板上。
正如英國人工智能安全研究所的報告所說:“這意味著投毒攻擊可能比之前認為的更加可行。攻擊者相對容易創建,比如說,250個投毒的維基百科文章”。
這不僅僅是讓模型說胡話這麼簡單。
這次實驗用的是“拒絕服務”攻擊,因為它效果明顯,容易測量。但如果攻擊者想植入更陰險的後門呢?
比如,教模型在特定條件下生成帶有漏洞的代碼,或者在回答某些問題時繞過安全護欄,輸出有害內容。這些更復雜的攻擊,是否也遵循同樣的規律?
這是這項研究留下的壹個開放性問題,也是最讓人擔憂的地方。
當然,這項研究也有其局限性。
實驗中最大的模型是13B參數,我們還不知道這個規律是否適用於更大規模的模型,比如GPT-5或Claude 4這種級別的。
研究人員也坦誠,他們選擇的後門行為(產生無意義文本)相對簡單,更復雜的行為,比如生成惡意代碼,可能需要不同的投毒策略。
但無論如何,這扇門已經被推開了壹條縫。
公布這些發現,就像是給整個AI行業拉響了警報,能激勵大家趕緊行動起來,加固自己的防線。
基於這些發現,防御者可以從幾方面入手:
加強數據源的審查和監控,確保每壹份進入訓練集的數據都是幹淨的。
開發能夠自動檢測出“投毒文檔”的技術。
在模型訓練和部署後,也要持續監控其行為,防止有漏網之魚。
盡管投毒的門檻降低了,但對攻擊者來說,也並非毫無挑戰。
他們最大的難題,是如何確保自己精心制作的“毒藥”,能百分之百地被未來的某個大模型開發團隊選中,並放入訓練數據集中。這本身就充滿了不確定性。
這項研究為AI安全敲響了警鍾,它揭示了壹個令人不安的事實:只需要極少量的樣本,就有可能污染壹個規模龐大的語言模型。
隨著AI技術越來越深地融入社會,我們必須正視這些潛在的安全風險,並投入更多精力去研究和開發有效的防御手段了。- 新聞來源於其它媒體,內容不代表本站立場!
-
原文鏈接
原文鏈接:
目前還沒有人發表評論, 大家都在期待您的高見