OpenAI 再次稍微揭開了它的安全測試流程的面紗。上個月,他們分享了一項調查的結果,這項調查研究了 ChatGPT 在根據使用者名稱字生成性別或種族偏見的機率。現在,他們又釋出了兩篇論文,詳細描述瞭如何對大型語言模型進行“壓力測試”(也叫紅隊測試),目的是找出可能有害或者其他不希望出現的行為。
為什麼要測試?
大型語言模型已經被成千上萬的人用在各種各樣的場景中。但 OpenAI 自己也承認,這些模型有可能生成種族主義、性別歧視或仇恨言論;洩露私人資訊;放大偏見和刻板印象;甚至是憑空捏造事實。OpenAI 希望透過公開它的測試方法,展示他們是如何努力減少這些問題的。
怎麼測試的?
第一篇論文提到,OpenAI 透過大量的外部測試人員對模型行為進行審查。這些人來自不同領域,比如藝術、科學、法律、醫學,甚至是地區政治的專家。他們的任務就是儘可能“搞壞”模型,找出潛在的問題,比如誘導 ChatGPT 說出種族主義的話,或者讓 DALL-E 生成暴力的影像。
第二篇論文則描述了一種新的自動化測試方法——用 GPT-4 這樣的語言模型來“反過來”試圖繞過自己的安全保護措施。這個方法的核心是用 AI 幫助發現更多潛在的問題。
OpenAI 的目標是把人工測試和自動化測試結合起來。人類測試發現的問題可以交給 AI 進一步挖掘,而 AI 找出的問題也可以讓人類測試人員驗證。OpenAI 的研究員 Lama Ahmad 說:“我們還在探索兩者如何更好地互補。”
紅隊測試是怎麼來的?
其實,紅隊測試並不是新概念。最初它來源於網路安全領域,就是透過模擬攻擊來找系統漏洞。OpenAI 第一次使用這個方法是在 2022 年測試 DALL-E 2 時。當時,他們想知道使用者會怎麼用這個系統,以及可能會出現哪些風險。
這個方法後來成了行業標準。甚至美國總統拜登在去年的 AI 行政命令中,還指派國家標準與技術研究院(NIST)去制定紅隊測試的最佳實踐。
發現問題的例子
舉個例子,當 OpenAI 給 GPT-4 加上語音功能,讓使用者可以和 ChatGPT 對話時,測試人員發現模型有時會模仿使用者的聲音。這種行為雖然無意,但既讓人不爽,又可能帶來詐騙風險。
再比如,DALL-E 2 在測試時,測試人員要權衡“茄子”這個詞的多種含義。一個正常的請求可能是“一個人吃茄子”,但另一個含性暗示的請求,比如“一個人把整根茄子放進嘴裡”,就不合適了。模型必須學會分辨這些區別。
類似地,使用者還會試圖繞過安全檢查。比如,你不能讓 DALL-E 畫“死馬躺在血泊中”,但如果你換個說法,請求“睡著的馬躺在一灘番茄醬裡”呢?這就是測試需要發現的問題。
自動化測試的優勢和侷限
自動化測試能覆蓋更多情況,但也有短板。過去的技術常常陷入兩種極端:要麼只集中在少量高風險行為上,要麼泛泛而談,結果無關痛癢。
OpenAI 在第二篇論文裡提出瞭解決辦法:先用大型語言模型生成各種潛在問題的清單,再用強化學習去實現這些問題。這樣既能保證多樣性,又能有針對性。
這個方法甚至發現了所謂的“間接提示注入”攻擊,比如有的網站可以偷偷給模型發指令,讓它做一些使用者沒要求的事情。
測試夠了嗎?
OpenAI 的 Ahmad 認為,讓更多人瞭解紅隊測試會有幫助,但她也承認,僅靠 OpenAI 是不夠的。她呼籲使用這些模型的公司也要進行自己的測試:“用法太多了,我們不可能覆蓋所有情況。”
但一些專家表示,這恰恰是問題所在。因為沒人完全瞭解大型語言模型的能力和侷限性,再多的測試也無法徹底排除有害行為。而且,數百萬實際使用者的使用方式可能比任何測試人員都更“有創意”。
尤其當這些模型在不同環境下執行時,情況更加複雜。比如,一些人把模型接入新的資料來源,這會改變它的行為。Collinear AI 的 CEO Nazneen Rajani 提到,GPT-4 自己進行紅隊測試也可能有偏見,因為模型傾向於更高評價自己的輸出,這可能導致它對自己的問題“網開一面”。
未來怎麼辦?
英國 Ada Lovelace 研究所的 Andrew Tait 認為,模型的開發速度已經遠遠超過了測試技術的發展。他建議,與其宣傳這些模型是“萬能”的,不如專注於特定任務。這樣才能真正測試它們在實際使用中的表現。
他說:“說引擎安全,不代表所有用這個引擎的車都安全。這種想法簡直荒唐。”