ChatGPT 在去年十一月橫空出世,每個人都驚探於它的能力,AI 也從遙遠的科技成為很多人每天都在使用的工具,但是自從 AI 成為最熱門的話題之後,始終有一群人一直大聲疾呼,我們需要小心發展 AI,如果一直任由商業驅動,野蠻生長的話,有一天 AI 可能會完全超出人類的掌控,現在 LLM (大型語言模型) 已經是個黑盒子,我們雖然能夠利用調整LLM的參數來影響它的輸出,但具體而言,它們是如何影響,我們無法完全掌握,不像是我們造一台汽車引擎,我們清楚可以知道修改什麼可以得到較大的馬力。另一方面的擔憂則是我們要提防 AI 被壞人利用,例如問 ChatGPT 要怎麼製造原子彈,或是利用它來竊取機密,在影片中, Andrej Karpathy 介紹了三種已知的安全漏洞。
如果你問 LLM 一些問題,而這些問題有潛在傷害人的風險,LLM 會拒絕回答,這是訓練者為 LLM 設立的一些規則,但是人們找到一些方法可以繞過這些規則
Prompt 是人類給 LLM 的指示,LLM 會根據 Prompt 來生成內容,很多 LLM 工具裡面包含了開發者所設計的 Prompt,但如果這個 Prompt 被惡意修改的話,它就會被利用來做壞事,這種攻擊稱為「Prompt injection」。影片中提到幾種常見的形式:
要生成 LLM model,我們需要餵給它數以萬計的資料,如果包含了受到污染的資料,就可能讓 LLM 出現漏洞,在影片舉的例子是 LLM 學到了一個 trigger word,當 trigger word 出現的時候,LLM 生成的內容就不受控制了。雖然現在很多 LLM model 都是封閉的,也就是不讓使用者參與訓練 LLM model 的階段,LLM 的訓練資料來源還算可以控制,但也開始出現越來越多 open source 的 LLM model,很多人都可能基於 open source的 model ,再加上自己的 training 資料,開發出新 model,可以預想到在這個過程中,LLM 的 training 資料會越來越發散,越來越難掌握,它可能讀到受污染的資料的可能性也會大大提升。
看完影片的介紹,瞬間覺得 LLM 好脆弱,即使我們設定了很多規則,很多攻擊都可以繞開這些規則,而且 LLM 就是一個黑盒子,我們僅僅知道LLM在讀完訓練資料後,會生出一組參數來生成內容,但參數與訓練資料是什麼關係,參數與生成內容是什麼關係,我們無法確切掌握,所以如果哪天 LLM 真的不受控制了,我們不知道要怎麼修改參數修正錯誤,我們也很難知道是是哪些資料受到污染,我們很可能對它束手無策。
這部影片非常適合想要了解 LLM 的人,這篇文章我只節錄了他解釋可能攻擊方式的段落(從46:10開始),但我覺得他在討論 LLM 未來發展方向也很值得一看 (從35:11開始),我們的大腦有系統一與系統二,系統一是直覺型思考,系統二則是負責思考複雜邏輯問題,目前 LLM 還只有系統一的能力,如果能發展出系統二,LLM 就可以回答更複雜的問題了,另一個發展方向是自我進化,目前 LLM 依賴人類餵的資料來生成 model,這樣 LLM 頂多與人類能力相當,但如果 LLM 能夠自我進化,它就有可能超越人類,只是到那時候,人類就越發不可能控制 AI 了,那又成了令人擔心的大問題了。