机器生成代码的零样本检测
计算与语言
2023-10-10 v1 人工智能
密码学与安全
机器学习
摘要
本工作提出一种无需训练的方法来检测 LLM 生成的代码,以降低与其无差别使用相关的风险。据我们所知,我们的研究首次探讨了应用于 ChatGPT 等先进黑盒 LLM 生成代码的零样本检测技术。首先,我们发现现有的基于训练或零样本的文本检测器在检测代码方面无效,可能由于代码结构中独特的统计特性。随后我们修改了先前的零样本文本检测方法 DetectGPT(Mitchell 等,2023),利用代理白盒模型估计最右端词元的概率,从而识别由语言模型生成的代码片段。通过在 CodeContest 与 APPS 数据集的 Python 代码上进行大量实验,我们的方法在 text-davinci-003、GPT-3.5 与 GPT-4 模型上取得了最先进的检测结果。此外,我们的方法对修订攻击具有鲁棒性,并良好泛化至 Java 代码。我们还发现较小的代码语言模型如 PolyCoder-160M 可作为通用代码检测器,优于十亿规模对应模型。代码将发布于 https://github.com/ Xianjun-Yang/Code_detection.git
引用
@article{arxiv.2310.05103,
title = {Zero-Shot Detection of Machine-Generated Codes},
author = {Xianjun Yang and Kexun Zhang and Haifeng Chen and Linda Petzold and William Yang Wang and Wei Cheng},
journal= {arXiv preprint arXiv:2310.05103},
year = {2023}
}
备注
work in progress