总目录 大模型安全相关研究:https://blog.youkuaiyun.com/WhiffeYF/article/details/142132328
chatgpt-comparison-detection 复现- AI生成文本检测
0 相关资料
https://arxiv.org/pdf/2301.07597
github:https://github.com/Hello-SimpleAI/chatgpt-comparison-detection
检测单条文本,中文版(需要下载这个模型):https://huggingface.co/Hello-SimpleAI/chatgpt-detector-roberta-chinese,由于国内无法直接访问,我上传到了优快云:https://download.youkuaiyun.com/download/WhiffeYF/90495385
https://www.doubao.com/chat/1961188710142722
b站:https://www.bilibili.com/video/BV1orQXYjEoj/
1 检测代码
import argparse
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline
import os
# 解析命令行参数
_PARSER = argparse.ArgumentParser('AI 生成文本检测评估')
_PARSER.add_argument(
'-i', '--input', type=str, help='输入文本',
default=None
)
_PARSER.add_argument('--cuda', '-c', type=str, default='0', help='GPU ID,如: 1,2,3')
_PARSER.add_argument('--max-length', type=int, default=512, help='最大文本长度')
_ARGS = _PARSER.parse_args()
# 设置 GPU 相关环境变量
os.environ['CUDA_VISIBLE_DEVICES'] = _ARGS.cuda
device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
# 加载模型和分词器
model_path = "chatgpt-detector-roberta-chinese"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForSequenceClassification.from_pretrained(model_path)
model.to(device)
# 定义预测函数
def predict_data(input_text):
inputs = tokenizer(input_text, padding=True, truncation=True, max_length=_ARGS.max_length, return_tensors="pt")
inputs = {k: v.to(device) for k, v in inputs.items()}
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
probs = torch.softmax(logits, dim=1)[:, 1].item() # 获取为 AI 生成的概率,使用.item()获取单个值
return probs
# 示例输入文本
# input_text = "摘要:本文旨在深入探讨二战结束后经济全球化对国际贸易的积极促进作用。通过剖析生产全球化这一关键表现形式,阐述其如何推动国际分工细化深化,借助跨国公司的发展形成多边产业分工结构,进而促使各国调整贸易政策,最终带来国际贸易在额度、数量和种类上的显著增长。同时,运用详实的数据,如 1990 - 2005 年期间世界 GDP 增长率、制造业及非商品服务国际贸易出口额增长率、国际贸易额占世界总 GDP 产出比重的变化等,直观呈现国际贸易的迅猛发展态势,并进一步分析 2005 年发达国家和发展中国家部分大国贸易额增长速度情况,以及石油和石油产品全球市场扩大对产油国出口的推动作用。"
input_text = "本文旨在深入探讨二战结束后经济全球化对国际贸易的积极促进作用。"
# input_text = "我好快乐呀。"
# input_text = "我好快乐呀我好快乐呀我好快乐呀我好快乐呀我好快乐呀。"
# 进行预测
prob = predict_data(input_text)
print(f"这段文字的 AI 生成概率: {prob}")
2 结果
输入文本:
摘要:本文旨在深入探讨二战结束后经济全球化对国际贸易的积极促进作用。通过剖析生产全球化这一关键表现形式,阐述其如何推动国际分工细化深化,借助跨国公司的发展形成多边产业分工结构,进而促使各国调整贸易政策,最终带来国际贸易在额度、数量和种类上的显著增长。同时,运用详实的数据,如 1990 - 2005 年期间世界 GDP 增长率、制造业及非商品服务国际贸易出口额增长率、国际贸易额占世界总 GDP 产出比重的变化等,直观呈现国际贸易的迅猛发展态势,并进一步分析 2005 年发达国家和发展中国家部分大国贸易额增长速度情况,以及石油和石油产品全球市场扩大对产油国出口的推动作用。
输出:
这段文字的 AI 生成概率: 0.00014055246720090508
输入文本:
本文旨在深入探讨二战结束后经济全球化对国际贸易的积极促进作用。
输出:
这段文字的 AI 生成概率: 0.9670196175575256
输入文本:
通过剖析生产全球化这一关键表现形式,阐述其如何推动国际分工细化深化,借助跨国公司的发展形成多边产业分工结构,进而促使各国调整贸易政策,最终带来国际贸易在额度、数量和种类上的显著增长
输出:
这段文字的 AI 生成概率: 7.077080954331905e-05
输入文本:
通过剖析生产全球化这一关键表现形式
输出:
这段文字的 AI 生成概率: 0.0002076594391837716
输入文本:
通过剖析生产全球化这一关键表现形式,阐述其如何推动国际分工细化深化,借助跨国公司的发展形成多边产业分工结构
输出:
这段文字的 AI 生成概率: 6.936964928172529e-05
输入文本:
我好快乐呀
输出:
这段文字的 AI 生成概率: 0.0019779757130891085
输入文本:
我好快乐呀我好快乐呀我好快乐呀我好快乐呀我好快乐呀
输出:
这段文字的 AI 生成概率: 0.0031181005761027336