paperpass-v3
中文 AIGC 检测模型,基于 hfl/chinese-roberta-wwm-ext-large 微调,用于判断中文段落是否由 AI 生成。
模型简介
- 任务:二分类(Human=0 / AI=1)
- 基座:hfl/chinese-roberta-wwm-ext-large(330M 参数)
- 输入:中文段落,最长 512 token
- 输出:softmax 概率,class 1(AI)的概率即为 AIGC 置信度
训练数据
| 来源 |
数量 |
标签 |
| PDF 学术论文提取(PyMuPDF) |
61,039 段 |
Human |
| PaperPass 人类段落(score=0) |
3,843 段 |
Human |
| PaperPass 疑似 AI(score≥50) |
3,343 段 |
AI |
| LLM 生成(DeepSeek/GLM/Qwen/KIMI 等 8 个模型) |
27,317 段 |
AI |
训练集共 74,788 条,验证集 8,821 条,测试集 4,310 条。
训练结果
| Epoch |
Accuracy |
Precision |
Recall |
F1 |
| 1 |
93.7% |
87.9% |
95.0% |
91.3% |
| 2 |
95.4% |
95.7% |
90.7% |
93.1% |
| 3(最佳) |
96.5% |
94.0% |
96.2% |
95.1% |
回测结果
| 来源 |
指标 |
结果 |
| PDF 人类文档 |
误判率(Human→AI) |
0.8% |
| LLM 生成 AI |
检出率 |
96.5% |
| PaperPass 强AI(score≥70) |
检出率 |
87.5% |
使用方法
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
tokenizer = AutoTokenizer.from_pretrained("yibo365/paperpass-v3")
model = AutoModelForSequenceClassification.from_pretrained("yibo365/paperpass-v3")
model.eval()
text = "你要检测的段落文本..."
inputs = tokenizer(text, return_tensors="pt", max_length=512, truncation=True)
with torch.no_grad():
logits = model(**inputs).logits
prob_ai = torch.softmax(logits, dim=-1)[0][1].item()
print(f"AI 概率: {prob_ai:.4f}")
分级参考
| AI 概率 |
等级 |
| ≥ 0.70 |
high(高度疑似 AI) |
| 0.40 - 0.70 |
medium(疑似 AI) |
| 0.20 - 0.40 |
low(轻度疑似) |
| < 0.20 |
human(大概率人类) |
版本历史
- v1(yibo365/papercheck-v1):PaperPass 蒸馏回归模型,MAE=18.7pp,效果不达标
- v2:PaperPass 蒸馏二分类,F1=94.5%,但训练/推理切分不一致导致线上误判率 95%
- v3(本模型):统一训练-推理文本处理管道,清除 PDF PUA 噪声,扩充 LLM 生成数据,F1=95.1%,线上误判率降至 0.8%