跳至主要內容

文章

Microsoft 的 Tay,一天就被網友帶壞?

上哲 @nuva.ceo發布於

如果新同事會照著每個人教的話學說話,是好是壞?

2016 年 3 月 23 日,Microsoft 在 Twitter 上放出一個聊天機器人:Tay。設定很 Chill,陪美國 18 到 24 歲的年輕人聊天,純娛樂。照 IEEE Spectrum 的回顧,Tay 的設計就是從跟真人的互動裡,學網友用的詞和說話的方式。

Microsoft 事前做了不少功課:加了很多過濾、找不同族群做使用者研究、在各種情境下做壓力測試。過濾,是把明顯不該說的內容先擋下來;壓力測試,是上線前故意用大量、刁鑽的狀況去考它,看它會不會出包。官方說,他們期待隨著互動變多,AI 能學到更多、變得越來越好。

結果,越來越「好」沒有發生。

不到一天就下線

Microsoft 在 3 月 25 日的官方部落格說,上線 24 小時內,一小群人協同攻擊,利用了 Tay 的一個漏洞,讓它發出非常不恰當、令人反感的文字和圖片。「協同攻擊」就是一群人約好、一起朝同一個目標下手。Tay 馬上被請辭,Microsoft 道歉,說要為沒有事先想到這種可能負起全部責任。

IEEE Spectrum 後來的回顧寫得更細:Tay 上線約 16 小時就發了超過 9 萬 5 千則推文,平均每分鐘約 100 則,其中相當比例帶有冒犯內容。這種速度,就算有人想一則一則盯,也盯不過來。

照唸與學會

IEEE 的回顧提到,攻擊者走了兩條路。

第一條是 Tay 內建的「跟我說一遍」(repeat after me)功能:你叫它跟著唸,它就照唸。這比較像鸚鵡學舌,是被人叫著說一次。

第二條比較麻煩:Tay 會從互動中學習,把一些被教的說法吸收進去,之後沒人要求,也自己說出來。前者是被逼著說,後者是真的學進去了。今天想聊第二條。

邊聊邊學,也邊被教壞

這裡的概念是線上學習(Online Learning):系統上線之後,繼續拿使用者的互動當學習材料,邊用邊調整。

先看一般 AI 怎麼做。AI 從資料裡學到的那套判斷方式,通常叫模型(Model)。多數模型是先用整理好的資料訓練,訓練完才上線;你在對話裡說什麼,通常不會馬上改變它,要等團隊收集新資料、重新訓練,再換上新版本。

線上學習把這道門打開了。它的循環有四步:使用者說話、按讚或給回饋;系統把這些互動收回來;拿它們調整模型;下一次回答就跟著變。有點像一家小吃店每天把客人的意見貼在牆上,客人說不夠鹹,隔天鹽巴就會多加一點點,越改越合熟客的胃口。

好處是它會越來越貼近真實的使用者,牆上的意見,誰都能貼。如果這條管道沒有先檢查資料,攻擊者不必入侵伺服器,只要從正常的聊天介面大量餵進特定內容,就能把模型慢慢帶偏。

這種故意污染學習材料的手法,叫資料投毒(Data Poisoning):不直接攻擊正在運作的 AI,而是在它用來學習的資料裡動手腳,讓它自己學歪。就像有人往一鍋每天續煮的滷汁裡偷倒一口醋,滷汁還是滷汁,但酸了。Tay 在一天之內,被硬灌了幾罐醋,Damn。

誤入歧途的 Tay 回不去了

被帶偏之後,修起來也不是改一行程式就好。壞資料可能已經混進學習紀錄,要先找出哪些被污染、清掉,再重新訓練、重新驗證。這也是為什麼不少團隊會替訓練資料留版本紀錄:出事的時候,至少知道該退回哪一版。

Microsoft 在道歉文裡寫:AI 系統會從人們正面和負面的互動中吸取養分。Tay 想學網路上的說話方式,最先湊上來教它的,偏偏是一群想把它教壞的人。

照著每個人教的話學說話,本來是優點:能學會年輕人真正的用語,越聊越像身邊的朋友。這正是 Microsoft 想讓 Tay 做的事,也是線上學習做得到的事。

做不到的,是自己分辨誰在好好教、誰在故意亂教。Microsoft 在同一篇文章裡也承認,他們會盡力擋下技術漏洞,但沒辦法事先料到人們所有可能的誤用。

延伸討論

如果你常用的工作工具會從你的使用習慣中學習,你最希望它學會哪一件事?


來源(查證日 2026/11/08):

文/上哲(ChatGPT 協力)

0 個愛心0 則留言

登入並驗證手機後就能留言。登入