ブログ
論文解説

Fast-DetectGPTとBinocularsとは:AI検出の仕組み

AI検出を高速かつ低コストにした2つのゼロショット検出器。Fast-DetectGPTとBinocularsの仕組み、報告された結果、硬い学術文章で懸念が残る理由を解説します。

Fast-DetectGPTとBinocularsは、DetectGPTのアイデアを大規模に運用できるほど低コストにした、2つのゼロショットAIテキスト検出器です。どちらも、文章の単語が言語モデルにとってどれだけ予測しやすいかを問うことで機械が書いたかどうかを判定し、DetectGPTが必要とした100回の書き換えではなく、1回のパスでそれを行います。Fast-DetectGPTはICLR 2024、BinocularsはICML 2024で発表されました。

この記事では、NLPの専門外の読者に向けて両手法を説明し、著者らが報告した数値を示したうえで、研究者にとって最も重要な問いを考えます。これらの検出器は、丁寧に書かれたフォーマルな人間の文章をどう扱うのか、という問いです。

出発点:DetectGPTのコスト問題

DetectGPTは、機械の文章がモデルの確率の局所的なピークに位置しやすいことを示しました。それを測るために、各文章を別のモデルで約100回書き換え、すべてのコピーを採点し直していました。機能はしましたが、遅かったのです。Fast-DetectGPTの著者らがベンチマークで計測したところ、A100 GPUで79,113秒かかりました。彼らの手法は233秒でした。

Fast-DetectGPTの仕組み:条件付き確率曲率

鍵となるのは、単語ごとに処理することです。文章の各位置で、言語モデルは前の単語を踏まえた次の単語の候補の分布を持っています。Fast-DetectGPTは、その位置で実際に使われた単語が、モデルが通常選びそうなものと比べて、モデルのお気に入りの選択肢だったかどうかを問います。

  1. 文脈を固定する実際の文章をそのまま残し、各位置が本来の前の単語を持つようにします。
  2. 代替をサンプリングする各位置で、ほかの位置とは独立に、サンプリングモデルから代替トークンを引きます。
  3. 両方を採点する採点モデルが、実際のトークンとサンプリングしたトークンの対数確率を出します。
  4. 正規化するサンプルの平均スコアを引き、そのばらつきで割ります。値が高いほど、文章がモデルのお気に入りの単語を異常に頻繁に選んでいることを意味します。

著者らはこれを条件付き確率曲率と呼んでいます。実際の文脈を固定したままトークンごとにサンプルを引くため、計算全体に必要なのは100回ではなく1〜2回のフォワードパスだけです。出所のモデルが不明なブラックボックス設定では、サンプリングモデルにGPT-J、採点モデルにGPT-Neo-2.7Bを使いました。

Fast-DetectGPTが報告した結果

ホワイトボックス設定で5つの出所モデルを平均すると、Fast-DetectGPTのAUROCは0.9887で、DetectGPTは0.9554でした。ブラックボックス設定のChatGPTとGPT-4の文章では、0.9338対0.7225でした。AUROCは、コイン投げに相当する0.5から、完全な分離を意味する1.0までの値をとります。

平均AUROC:DetectGPTとFast-DetectGPTの比較
  • DetectGPT、ホワイトボックス0.9554
  • Fast-DetectGPT、ホワイトボックス0.9887
  • DetectGPT、ブラックボックス(ChatGPT、GPT-4)0.7225
  • Fast-DetectGPT、ブラックボックス(ChatGPT、GPT-4)0.9338
出典:Bao et al., Fast-DetectGPT, ICLR 2024, Table 1
Fast-DetectGPTとBinocularsを表した抽象イラスト。1行の文章を2つのレンズがのぞき込み、単語の背後で確率のバーが伸びている

Binocularsの仕組み:パープレキシティをクロスパープレキシティで割る

Abhimanyu HansらによるBinocularsは、別の弱点に取り組んでいます。モデルが文章にどれだけ驚くかを示す単純なパープレキシティは、2つのことを混同してしまいます。文章が機械によって書かれたかどうかと、話題が珍しいかどうかです。著者らは「カピバラ問題」と呼ぶ印象的な例を挙げています。チャットボットに天体物理学者のカピバラについて書かせると、機械が書いたにもかかわらず、題材そのものが奇妙なため、結果はモデルにとって意外なものになります。

Binocularsは、密接に関連した2つのモデル、オブザーバーとパフォーマー(論文ではFalcon-7B-InstructとFalcon-7B)を使ってこれを補正します。計算するのは次の2つの量です。

  • 対数パープレキシティ:オブザーバーモデルが実際の文章にどれだけ驚くか。
  • 対数クロスパープレキシティ:各位置でパフォーマーモデルが予測したであろう内容に、オブザーバーが平均してどれだけ驚くか。これは、この話題の機械の文章がどれだけ意外になるかの基準値です。

Binocularsスコアは、前者を後者で割ったものです。奇妙なプロンプトは両方の数値を押し上げるため、機械の文章では比率が低いままになります。人間の文章は機械の基準値よりも意外性が高い傾向があるため、比率が高くなります。

生のパープレキシティでは重なってしまうが、機械の基準値で正規化するとグループが分かれる
  • 機械が書いた文章
  • 人間が書いた文章
考え方を示す説明用の例で、どちらの論文のデータでもありません

Binocularsが報告した結果

さまざまな種類の文書にわたって、Binocularsは偽陽性率0.01%、つまり人間の文章1万本に1本の誤検出で、ChatGPTが生成したサンプルの90%以上を検出しました。開発中にChatGPTのデータは一度も見ていません。著者らはまた、オンラインのエッセイフォーラムから集めた非ネイティブの英語の書き手によるエッセイを、元の版と文法修正版の両方で検証し、どちらでも同じ99.67%の精度を報告しています。商用ツールがチャットボットをまたいで同じように通用するかは別の問題で、TurnitinでChatGPT・Claude・Geminiはバレる?で取り上げています。

340xDetectGPTに対するFast-DetectGPTの高速化倍率
90%+Binocularsが検出したChatGPTのサンプル
0.01%その動作点での偽陽性率

限界と、フォーマルな文章での誤検出

どちらの論文もベンチマークで高い数値を報告しています。ただし、これらのアイデアが実際の原稿を判定するツールに組み込まれる際には、いくつかの注意点が重要になります。

予測しやすい人間の文章は、やはり予測しやすいと判定される

どちらの検出器も意外性を評価します。学術文章はそれを意図的に避けることがよくあります。定型的な方法の記述、決まった言い回し、慎重な留保表現、分野の用語は、いずれも文章を予測しやすくします。Fast-DetectGPTの著者ら自身も、この種の検出器は非ネイティブの英語話者の文章で偽陽性率が高くなる可能性があると警告しています。BinocularsはESLエッセイのテストで良い結果を出しており、これは心強いことですが、学生のエッセイのデータセット1つは臨床研究の方法セクションと同じではありません。この懸念を提起した研究は、非ネイティブの書き手に対する検出ツールのバイアスの記事で取り上げています。

記憶された文章は機械の文章に見える

Binocularsのチームは11の有名な文章を検証しました。そのうち3つが閾値の機械側に入りました。モデルが記憶している文章は、モデルにとって非常に予測しやすいからです。著者らは、これは検出器の仕組みと整合しており、用途によっては許容できるが、別の用途では問題になりうると述べています。学術文章における定義の引用や定型的な文章にも、同様の懸念があります。

言い換えとモデルの不一致

どちらの論文も意図的な書き換えへの耐性は主張しておらず、Binocularsの著者らは敵対的攻撃を検討していないと明記しています。Fast-DetectGPTも、採点モデルが出所のモデルと異なる場合や文章が短い場合には弱くなります。この種のゼロショット手法はすべてトークンの確率を読むため、大幅に書き換えられた文章は、採点する対象としては別物になります。AI生成テキストは確実に検出できるかで取り上げた言い換え攻撃の研究は、スコアがどこまで動きうるかを示しています。

Academic Humanizerにとっての意味

このような検出器は文章の各部分がどれだけ予測しやすいかに反応するため、ほとんど人間が書いた下書きでも、機械っぽく読まれる文がいくつか含まれることがあります。Academic Humanizerはまさにそこを狙います。検出ツールがフラグを付ける文を見つけ、主張、データ、引用、用語を保ちながらそれらの文だけを書き換え、ほかの文には一切手を触れません。その後、AI検出レポートが元のバージョンと修正版を同じ基準で比較するので、各変更を確認できます。提出前には、所属機関やジャーナルのAIポリシーも必ず確認してください。

あなたのアイデアを、AIの痕跡なしで

下書きを貼り付けると、AI検出ツールが指摘する文を表示し、その文だけをHumanizerで書き直します。

Humanizerを無料で試す

続けて読む