AI 內容審核是怎樣運作的——又會在哪裡出錯
用淺白的話說明自動審核怎樣篩查文字、圖片和影片,為什麼它會漏掉人一眼就看得出的東西,以及把待審投稿交給一款工具之前該問什麼。
其他語言: English · Bahasa Melayu · 简体中文
簡短回答。 自動審核並不是在過濾內容,而是在給內容打分。分類器給出一個數字,表示一段文字或一張圖片與某個類別的範例有多接近;語言模型則按書面指示給出意見。兩者都不知道一句話是不是真的,也不知道某個人在你的讀者眼中是否認得出來。所以,有用的系統是替待審投稿分類,把拿不準的中間部分留給人來判斷。
人們常把自動審核形容成一個過濾器:內容進去,壞的被攔下,好的透過。任何處理過待審投稿的人都知道,事情完全不是這樣。這些工具產出的是分數和意見,它們出錯的方式有跡可循,而它們到底有多大用處,幾乎完全取決於你怎樣運用它們的輸出。
我們自己開發並營運一套審核流程,所以本文是從內部的角度寫的。它說明這些工具在做什麼、為什麼會失靈,以及怎樣使用它們而不自欺。
兩種機器
今天幾乎所有的審核系統,都由兩類模型構成,而且常常搭配使用。
分類器為一項狹窄的工作而訓練:給它一段文字或一張圖片,它就為一份固定清單上的每個類別——色情內容、騷擾、仇恨、暴力、自我傷害等等——輸出一個 0 到 1 之間的數字。它們又快又便宜,同樣的輸入每次都給出同樣的答案。它們做不到的,是解釋自己的判斷,或處理沒有人訓練過它們的類別。
大型語言模型——和聊天助手相同的技術——可以接受書面指示:「這段文字有沒有指控一個可識別的人行為不當?回答是或否,並說明原因。」它們能處理細微之處、語境,以及沒有任何分類器是為之而設的指示。它們比較慢、比較貴,每次執行的結果可能不一致,有時還會十分篤定地說出錯誤的結論。
分類器告訴你,一段文字和它訓練時見過的惡意範例有多像。語言模型告訴你,它對這段文字怎麼看。兩者都不知道這段文字是不是真的。
分數不是裁決
分類器為「騷擾」給出 0.83,並不表示它找到了騷擾。它只是報告:從統計上看,這段文字很像訓練資料裡被標為騷擾的東西。得有人決定多高的數字才算太高。這個數字就是閾值,而選定它是一種沒有正確答案的取捨。
閾值設得低,你會抓到更多真正有害的內容,但也會標記更多無辜的內容——誤報。設得高,被標記的無辜貼文變少,但漏網的有害內容變多——漏報。
哪一種錯誤更糟,取決於接下來會發生什麼。如果標記只是把貼文送給人再仔細看一眼,誤報的代價是某個人的三十秒,把閾值設低是合理的。如果標記會自動刪除貼文,誤報就是讓一個沒做錯事的人閉嘴,你就應該謹慎得多。
所以,最有用的系統並不攔截,而是分類。兩端明確的個案很快處理掉,拿不準的中間部分連同分數一起送給人來判斷。
為什麼文字比看起來難
語言混用。 大多數審核模型主要用英文訓練。遇到其他語言,表現會下降;一句話裡混用幾種語言時,下降得更多——而許多馬來西亞人實際上就是這樣寫字的。一句在英語、馬來語、華語和福建話語氣詞之間來回切換、又用羅馬字母拼寫的話,模型可能讀得懂,也可能當成雜訊。
俚語變得比訓練資料快。 罵人的話、圈內的玩笑和暗語,每隔幾個月就換一批。去年訓練的模型,從沒見過今年的詞彙。
語境決定意思。 看完足球賽之後說的「我要殺了他」,和描述完自己被跟蹤之後說的同一句話,是兩回事。用來攻擊的侮辱字眼,和被攻擊的人引述的同一個字眼,也是兩回事。分類器看得到字詞,卻幾乎看不到情境。
刻意規避。 想繞過過濾的人,會替換字元、加空格、用形似的字母,或把文字放進圖片裡。簡單的系統,用簡單的手法就能破解。
反諷和轉述。 「是啊,她當然是全校最誠實的人了」,裡面一個可以標記的字都沒有。
AI 不可能知道的事
審核工作中一些最重要的問題,根本與語言無關,任何模型都無法單憑文字回答。
- 這是真的嗎? 一則冷靜、具體、文筆流暢的指控,得到的分數是完全安全。它也可能構成誹謗。真假是關於這個世界的事實,而不是句子本身的屬性。
- 你的讀者認得出這個人嗎? 「東門附近那間影印店的老闆」裡面沒有名字。但你校園裡的每個人都清楚知道說的是誰。模型從沒去過你的校園。
- 這個人是公眾人物嗎? 軟體有時能偵測到文字裡有名字。但它無法可靠地分辨一位部長和一個同名的同學。
- 這個人同意了嗎? 一張兩個人在派對上的合照,可能是在當事人樂見的情況下分享的,也可能是你這個月待審投稿裡最殘忍的東西。
這些問題要由瞭解這個社群的人來回答。工具頂多能察覺到「這個問題需要有人問」——例如標記出某篇投稿看來含有人名——再把它轉給能作決定的人。見《投稿提到某個人時》。
圖片
圖片審核通常結合幾項檢查:
- 露骨內容分類器,為一張圖片屬於色情內容的可能性打分。它們處理照片相當不錯,遇到繪圖、不尋常的光線,以及帶有暗示卻不露骨的圖片,就明顯較弱。泳裝、醫療圖片和單純沒穿上衣的人,經常造成誤報。
- 具備視覺能力的語言模型,可以要求它描述圖片,並按書面規則作出判斷——對暴力、武器或吸毒的內容很有用。
- 文字提取,讀出截圖和迷因裡的文字,讓它們像其他文字一樣接受檢查。少了這一步,一段違規的文字只要貼進圖片裡,就能原封不動地透過。
圖片模型一般不會做的,是保護隱私。一張清楚拍到陌生人的臉、學生證或車牌的照片,在這些模型認識的任何類別裡都不算「不安全」。這項檢查仍然要靠你——見《審核圖片和影片》。
影片
影片是一長串圖片加上一條音軌,要完整檢查,成本很高。大多數系統會抽取畫面——每秒或每隔幾秒取一張——再逐一分類。這帶來兩個後果。
第一,出現的時間比兩次抽樣的間隔還短的東西,可能完全被漏掉。第二,只檢查縮圖或第一個畫面的系統,幾乎等於沒有檢查影片,你應該查清楚你用的系統是否做得更多。
聲音又是另一回事。除非工具會把語音轉成文字並審核文字稿,否則影片裡說了什麼,根本沒有人檢查。許多工具都不做這一步。
為什麼多用幾個模型有幫助
不同的模型會犯不同的錯。分類器漏掉了一句新出現的罵人話,語言模型卻看得懂;語言模型放行了一張圖片,專門的分類器卻給它打了露骨的分數。同時執行幾項彼此獨立的檢查,只要其中一項亮燈就標記,抓到的會比最好的單一模型多——代價是要複核的標記也更多。對一個凡標記必經人手複核的流程來說,這通常是對的取捨。
關鍵在獨立二字。兩款建立在同一個底層模型上的產品,會有同樣的盲點。
對任何審核工具都該問的問題
- 它到底檢查什麼? 只檢查文字嗎?圖片呢?圖片裡的文字呢?影片的每一個畫面,還是隻看縮圖?聲音呢?
- 它在哪些語言上測試過? 如果答案含糊,就當作只有英文。
- 它標記了某項內容之後會怎樣? 是攔截、扣下待審,還是隻貼個標籤?
- 你看得到原因嗎? 會顯示是哪一項檢查觸發、打了多少分的工具,能讓你摸清它的習性。光是一句「已拒絕」,什麼都教不了你。
- 它不能用的時候會怎樣? 如果服務中斷,投稿是未經檢查就透過,還是等著?
- 內容去了哪裡? 送到第三方服務檢查的投稿,已經離開了你的手。要查明該服務會不會儲存收到的內容,或拿去訓練模型。
- 你能調整閾值嗎? 一個為兒童遊戲而設的固定設定,不適合大學專頁,反過來也一樣。
怎樣用得好
把自動審核當作一位不知疲倦的第一讀者:它擅長看出明顯的問題,對其他一切卻毫無判斷力。讓它放行明顯沒問題的,攔下明顯不行的,併為介於兩者之間的每一篇附上理由。然後,中間的部分由你自己來讀。
每個月看一次:它標記了、而你批准的有哪些;它放行了、而你拒絕的又有哪些。這兩份清單顯示了它的盲點,而每個社群的盲點都不一樣。會去讀這兩份清單的團隊,能抓到機器漏掉的東西。只相信綠色勾勾的團隊,遲早會發布不該發布的內容——而「是 AI 批准的」,從來都不是任何事情的抗辯理由。
常見問題
AI 內容審核是怎樣運作的?
靠兩類常常搭配使用的模型。分類器為一份固定清單上的每個類別(例如騷擾或色情內容)輸出一個 0 到 1 之間的分數。大型語言模型則接受書面指示,並按指示判斷內容。然後由人選定一個閾值,分數超過它就算標記。
為什麼 AI 審核會標記無辜的貼文,又漏掉有害的貼文?
因為分數不是裁決。閾值低,抓到的有害內容更多,被標記的無辜內容也更多;閾值高則相反。分類器看得到字詞,卻幾乎看不到情境,所以俚語、反諷、轉述的話和刻意規避的寫法都能騙過它。
AI 審核偵測不到什麼?
一句話是不是真的、某個人在你的讀者眼中是否認得出來、對方是公眾人物還是同名的同學,以及照片裡的人是否同意。這些問題要由瞭解這個社群的人來回答;工具頂多能標記出「這個問題需要有人問」。
AI 審核對馬來文和多語言混用的貼文有效嗎?
效果較差。大多數審核模型主要用英文訓練,遇到其他語言表現會下降,一句話裡混用幾種語言時下降得更多——而許多馬來西亞人就是這樣寫字的。要問清楚一款工具在哪些語言上測試過;如果答案含糊,就當作只有英文。
影片是怎樣自動審核的?
大多數系統會抽取畫面——每秒或每隔幾秒取一張——再逐一分類。出現的時間比抽樣間隔還短的東西可能被漏掉,而只檢查縮圖的系統幾乎等於沒有檢查影片。除非工具會把語音轉成文字,否則影片裡說了什麼,根本沒有人檢查。
用多於一個審核模型會比較好嗎?
如果凡標記必經人手複核,通常是的。不同的模型會犯不同的錯,所以幾項彼此獨立的檢查——只要其中一項亮燈就標記——抓到的會比最好的單一模型多,代價是要複核的標記也更多。它們必須彼此獨立:兩款建立在同一個底層模型上的產品,會有同樣的盲點。