AI News HubLIVE
サイト内リライト2 分で読了

ゼロから作るAIテキスト検出器

SubstackのAI検出機能に触発され、AIテキスト検出器をゼロから構築するエンドツーエンドのプロジェクトを解説。データセット構築、モデル訓練、ローカル展開に加え、検出器を検証器(verifier)として使い、RLVRで小言語モデルを訓練して検出を回避する方法も紹介します。AI検出器の仕組みと限界を学ぶ教育的事例です。

ソースAhead of AI (Sebastian Raschka)著者: Sebastian Raschka, PhD

Substackは最近、UIにAI検出機能を追加しました。これはとても興味深い動きです。一方で、小規模言語モデル(SLM)の能力を示すデモとして、面白いローカル自作LLMプロジェクトを尋ねる人も多くいます。この2つを組み合わせて、AI検出器を実装する方法を示すことにしました。さらに、この検出器を検証器(verifier)として使い、検出を回避するテキストを生成するように小規模言語モデルを訓練します。これは、AI検出器の限界を研究し、数学やコードで訓練された従来の推論モデルを超える、検証器ベースのLLM応用を探るための小さな教育プロジェクトです。

このチュートリアルの主な目的は、AI検出器(の簡易版)を構築しながら、その仕組みを説明することです。実際には、このような検出器はスパムコンテンツのフィルタリングに使えますが、自分の文章をAI生成テキストにせずに個人的な文章を改善するためにも利用できます。たとえば、長い記事を書いたとき、スペルや文法を改善して読みやすくしたいとします。ChatGPTのような汎用LLMを含むさまざまなサービスがありますが、これらのツールはあなた自身の文章であっても、過度に磨き上げてAIっぽくしてしまい、スパム扱いされるリスクがあります。AIチェッカーがあれば、「文法を修正して、かつAI生成スコア0%を維持して」といった指示が可能になります。

なお、AI検出器は本質的にはいたちごっこです。検出器があるLLMに特徴的なパターンを学習すると、次のLLMは偶然または意図的にそのパターンを示さず、検出を回避するかもしれません。検出器は新しいLLMを検出するよう更新され、また次のモデルが出る、という繰り返しになります。さらに、人間が書いたテキストがAI生成と誤判定される偽陽性も起こり得ます。

プロジェクトの成果物は、人間とエージェントの両方が利用できるAI検出APIと、使いやすいUIです。このプロジェクトの方法は、Pangramモデルに似ています。Pangramモデルは、私が知る限り、SubstackのAI検出機能の背後にあるものです。以前2023年にも、AIテキスト検出のさまざまな手法(教師あり分類器、摂動に基づく確率テスト、パープレキシティ測定、透かしなど)について短い記事を書きました。

本チュートリアルでは、0〜100のスコアを返すモデルを構築します。これは基本的に、推定確率スコア付きの分類器です。スコアは、分類器の訓練分布に基づいてAI生成クラスと判定される推定確率を示します。ただし、これは「AIによって書かれた一般的な確率」として解釈すべきではありません。具体的には、DistilBERT分類器をファインチューニングします。これは、私が以前のSubstack記事『Finetuning Large Language Models』で説明した方法に似ています。データセット構築、モデル訓練、ローカル展開、そしてRLVRを使った検証器ベースの訓練まで、このプロジェクト全体を通して詳しく解説していきます。