使用傳統機器學習檢測 LLM 生成的文本
使用傳統機器學習檢測 LLM 生成的文本
傳統 ML 可以有效地將 AI 與人類文本區分開來
主流的大語言模型 (LLM) 生成的文本展現出強大的統計模式,可以使用傳統機器學習與人類撰寫的內容進行區分。一個結合了 TF-IDF (Term Frequency-Inverse Document Frequency) 與 Linear Support Vector Classification (SVC) 的專案,在檢測 AI 生成的句子時達到了約 85% 的準確度,這證明了「傳統」ML 通常比使用另一個 LLM 進行檢測更有效且計算成本更低。
方法論:TF-IDF 與 Linear SVC
與其依賴文本困惑度 (perplexity)——這通常會導致高昂的推理成本與較差的跨模型泛化能力——此方法使用了來自 scikit-learn 的標準分類流程。
資料生成
為了訓練分類器,使用以下方式建立了一個平衡的資料集:
- 人類撰寫樣本: 約 10,000 篇在 2010 年至 2022 年間(ChatGPT 出現前)發佈的數千字文本。
- AI 生成樣本: 使用 LLM 將相同的人類文本進行摘要,然後再利用這些摘要重新生成完整的文章。這確保了 AI 內容在文體與主題上與原始人類內容高度匹配。
為了確保多樣性,使用了七種不同的模型來生成 AI 訓練資料:gemini-3-pro, qwen-coder-plus, glm-5, glm-4.7, kimi-k2.5, doubao-seed-code, 以及 deepseek-v3.2。
訓練與架構
該系統採用了跨七個獨立二元分類器的多數決機制。如果七個模型中有至少兩個檢測到該句子為 AI 生成,則該句子會被標記為 AI 生成。
性能指標:
- 句子層級準確度: 在大多數模型中約為 85%。
- F1 Score: 所有二元分類器的 F1 分數均超過 80%。
- 特徵集: 最終的網頁演示版本使用了 500,000 個特徵來維持準確度,同時針對瀏覽器端推理進行了優化。
性能與泛化能力
檢測率
在訓練集與未見過的模型上進行測試,顯示出高度的穩健性:
- 已知模型: Deepseek V3.2 與 Doubao Seed Code 的檢測率分別為 78.4% 與 93.0%。
- 未見過的模型: Claude Sonnet 4.6 與 GPT 5.2 的檢測率分別為 71.9% 與 73.3%。
- 人類基準: 2022 年前的網路小說與同人小說,其 AI 檢測得分始終低於 30%,且在使用 70% 閾值時,誤報率低於 0.01%。
規避檢測
嘗試使用常見的「抗 AI」技術來規避分類器,結果顯示成功率極低:
- 來回翻譯: 將文本從中文翻譯成英文,再翻譯回中文,僅稍微降低了檢測率(例如,透過 Google Translate,從 89.9% $\rightarrow$ 85.0%)。
- 提示工程 (Prompt Engineering): 使用如「重寫上述文章以減少 AI 味」之類的提示詞,將檢測率從 89.9% 降低至 83.0%。
技術實作:基於瀏覽器的推理
為了避免伺服器維護並遵循無伺服器 (serverless) 哲學,該模型以 JavaScript 實作於客戶端執行。TF-IDF 與 SVM 邏輯被移植到 JS,使得在處理典型輸入時能近乎即時地完成推理。雖然完整的模型以 JSON 格式約為 107MB(經 gzipped 後約為 38MB),但將特徵集縮減至 50k-80k 會導致誤報率大幅波動,因此作者保留了 500k 特徵集。
社群觀點與反論點
技術同儕間的討論突顯了關於 AI 檢測器長期有效性與可靠性的根本辯論:
- 「軍備競賽」論點: 有人認為任何可被檢測出的模式都會最終被模型訓練者用於精煉 LLM,使這些模式消失。正如一位使用者所說:「任何廉價的模式都會被用來重新訓練,如果這成為捕捉 AI 的有效方式。」
- 資訊密度: 批評者指出,文本內容過於稀疏,不足以包含永久性的來源標記。一位評論者認為,雖然圖像具有明顯的特徵痕跡 (artifacts),但文字卻沒有,目前的檢測是僅在識別「今日的特徵」,而非本質上的差異。
- 誤報的風險: 在高風險環境(如學術論文)中,誤報的倫理學影響引起了極大關注,例如一個「足夠好」的檢測器可能會不公平地懲罰那些寫作風格結構化、可預測的寫作者。
- 替代方案: 有人建議將焦點從「誰寫的」轉移到「投入了多少努力」,認為文本的價值在於其吸引讀者的能力以及去除冗餘資訊的能力——這些任務無論使用何種工具,仍需要人類的投入。