AI News HubLIVE
站內改寫2 分鐘閱讀

從零開始構建 AI 文本檢測器

本文介紹瞭如何從零構建一個 AI 文本檢測器,涵蓋數據集構建、模型訓練、本地部署以及使用強化學習與驗證器(RLVR)訓練小語言模型規避檢測。項目以 Substack 的 AI 檢測功能為靈感,詳細解釋檢測器的工作原理,並探討其侷限性與實際應用。

來源Ahead of AI (Sebastian Raschka)作者: Sebastian Raschka, PhD

Substack 最近在界面中上線了 AI 檢測功能,這引起了廣泛關注。與此同時,很多人向我諮詢適合本地演示的自制 LLM 項目,以展示小語言模型(SLM)的能力。將這兩件事結合起來,我認為展示如何實現一個 AI 檢測器會很有意思。我還會進一步把它作為驗證器,訓練一個小語言模型生成能避開檢測的文本。這是一個小型的教育項目,旨在研究 AI 檢測器的侷限性,並探索基於驗證器的 LLM 應用——這類應用並不侷限於在數學和代碼上訓練的傳統推理模型。

這個教程的核心目標是解釋 AI 檢測器的工作原理,並通過構建一個簡易版本來説明。實際部署中,這類檢測器可以用來過濾垃圾內容,也可以幫助寫作者在不改變原創性的前提下優化文本。例如,你寫了一篇很長的文章,想改進拼寫和語法,使用語法檢查工具(包括 ChatGPT 這樣的通用大模型)確實很有用。但風險在於,這些工具可能讓你的文本被過度潤色,即使內容仍然是你自己寫的,聽起來卻變得很 AI,可能被檢測為垃圾內容。藉助 AI 檢測器,你就可以提出這樣的要求:“修正我的語法,但確保我的文本仍然保持 0% 的 AI 生成概率。”

需要提前説明的是,AI 檢測本質上是一場貓鼠遊戲。檢測器可能學會識別某種 AI 生成內容的典型模式,而下一代 LLM 可能有意或無意地不再表現出這種模式,從而避開檢測。於是檢測器必須不斷更新以識別新的模型,如此循環。此外,誤報也很常見——人類撰寫的文本可能被標記為 AI 生成,後文會詳細討論。

項目有多個目標。首要目標是闡明 AI 檢測器的工作原理,並展示一個完整的端到端 LLM 項目,包括評估、訓練和本地部署,使其能夠應用於真實場景。最終成果是一個 AI 檢測 API,可供人類用户和智能體使用,並附帶友好的用户界面。項目界面上會顯示整篇文本的 AI 評分,同時高亮顯示各個文本塊的分值。

在方法上,該項目將開發一種類似於 Pangram 模型的檢測方法。據我所知,Substack 的 AI 檢測功能正是基於 Pangram 模型。早在 2023 年,我就寫過一篇關於 AI 文本檢測的簡要文章,介紹了檢測方式的不同流派,從監督分類器、擾動概率測試到困惑度測量和水印技術等。本教程將構建一個返回 0-100 分的模型,本質上是帶估計概率分數的分類器,該分數表示分類器判定文本為 AI 生成的可能性。不過需要注意,這個分數只是分類器基於訓練分佈對 AI 生成類別的估計概率,不應理解為一個通用的“AI 生成概率”。

具體實現上,我們將微調一個 DistilBERT 分類器,這類似我在早期文章《Finetuning Large Language Models》中描述的方法。後續文章會詳細介紹數據集構建、模型訓練、本地部署以及如何用這個檢測器作為驗證器進行強化學習(RLVR)訓練。整個過程是一個完整的實踐案例,既展示了 AI 檢測器的能力邊界,也為構建可配合 LLM 使用的評分器或驗證器提供了一個通用範本。