[論文レビュー] Zero-Shot Detection of Machine-Generated Codes
本稿では、右端トークンの確率を推定するためのサーロゲート白箱モデルを用いて、トレーニング不要のゼロショット手法DetectGPT4Codeを提案する。この手法は、GPT-3.5、GPT-4、text-davinci-003の各モデルから生成されたPythonおよびJavaのコードデータセットにおいて、最先端の性能を達成し、特にPolyCoder-160Mが普遍的な検出器として最も効果的であることが判明した。
This work proposes a training-free approach for the detection of LLMs-generated codes, mitigating the risks associated with their indiscriminate usage. To the best of our knowledge, our research is the first to investigate zero-shot detection techniques applied to code generated by advanced black-box LLMs like ChatGPT. Firstly, we find that existing training-based or zero-shot text detectors are ineffective in detecting code, likely due to the unique statistical properties found in code structures. We then modify the previous zero-shot text detection method, DetectGPT (Mitchell et al., 2023) by utilizing a surrogate white-box model to estimate the probability of the rightmost tokens, allowing us to identify code snippets generated by language models. Through extensive experiments conducted on the python codes of the CodeContest and APPS dataset, our approach demonstrates its effectiveness by achieving state-of-the-art detection results on text-davinci-003, GPT-3.5, and GPT-4 models. Moreover, our method exhibits robustness against revision attacks and generalizes well to Java codes. We also find that the smaller code language model like PolyCoder-160M performs as a universal code detector, outperforming the billion-scale counterpart. The codes will be available at https://github.com/ Xianjun-Yang/Code_detection.git
研究の動機と目的
- GPT-4 や Codex のような高度なLLMが生成する機械的コードが検出されないリスクの増大に対処すること。
- コードが持つ特徴的な統計的性質(例:エントロピーの低さ)が、従来のテキストベース検出器の性能に与える影響を調査すること。
- モデルの微調整を必要とせず、ブラックボックスLLM向けに特化したゼロショット検出手法を開発すること。
- ユーザーが生成コードを改変して検出を回避する「改変攻撃」に対する耐性を評価すること。
- より小さなコード特化型モデルが、複数のプログラミング言語およびLLMにわたる普遍的な検出器としての可能性を検討すること。
提案手法
- GPT-4 などのブラックボックスモデルでは出力ログトロンが入手できないため、検出器の出力ログトロンの代わりにサーロゲート白箱モデルを用いるように、ゼロショットテキスト検出器DetectGPTを変更する。
- 埋め込みの中央部(FIM)タスクを用いて、制御された数の行(最適:8行)をマスクすることで、変更を加えたコードスニペットを生成する。
- サーロゲートモデルを用いて、直前の文脈から右端トークンの確率を計算し、スコアリングウィンドウを制御する比γを用いる。
- 右端トークンの推定確率に基づいて各コードスニペットにスコアを付与し、事前に定義されたしきい値と比較して検出を行う。
- 元のLLMの内部ログトロンにアクセスできない状況でも、サーロゲートモデルを用いて尤度を推定することで、ブラックボックス環境下での検出を可能にする。
- 汎化性と耐性を評価するために、CodeContest や APPS といった多様なデータセットおよび Python や Java といった複数のプログラミング言語を対象に本手法を適用する。
実験結果
リサーチクエスチョン
- RQ1GPT-3.5 や GPT-4 が生成するコードを検出するために、既存のゼロショットまたはトレーニングベースのテキスト検出器は効果的か?
- RQ2コードの構造的・統計的特徴(例:エントロピーの低さ)は、標準的なテキスト検出器の性能にどのように影響を与えるか?
- RQ3サーロゲート白箱モデルは、ブラックボックスLLM環境下で右端トークンの尤度を効果的に推定できるか?
- RQ4ユーザーが生成コードを改変して検出を回避する「改変攻撃」に対して、本手法はどれほど耐性があるか?
- RQ5より小さなコード特化型言語モデルは、機械的コードの普遍的検出器として、より大きな汎用LLMを上回る性能を示すか?
主な発見
- コード特有の統計的性質(例:エントロピーの低さ)のため、従来のテキスト検出器(DetectGPTを含む)は、GPT-3.5 や GPT-4 が生成するコードを検出できない。
- 提案手法DetectGPT4Codeは、APPS-GPT3で79.89、APPS-GPT4で77.90という最先端のAUROCスコアを達成し、それぞれTPRが47.82%および45.93%に達した。
- FIMタスクで8行をマスクすると検出性能が最適化され、マスク数が少なすぎるとまたは多すぎると、摂動が不十分または過剰となり、AUROCとTPRが低下する。
- 本手法は改変攻撃に対しても耐性が高く、APPS-GPT4で4行を改変した場合でもAUROCがわずか3.09ポイント低下するにとどまり、強力な回避耐性を示した。
- 驚くべきことに、より小さなPolyCoder-160Mモデルが、すべてのベンチマーク、プログラミング言語、LLMにおいて、より大きなモデルを上回る性能を示した。
- Javaに切り替えた場合、特にJavaで微調整されていないモデルでは検出性能が著しく低下し、今後の研究では言語特化型の適応が不可欠であることが示唆された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。