该方案以字符/词 n-gram、FastText 和多源生成文本为基础,围绕未见 prompt 与未见生成器的泛化能力, 通过 leave-one-prompt-out 验证和排名融合组织训练与提交。
LLM – Detect AI Generated Text
要区分学生作文和 LLM 生成作文。训练数据大约一万篇,七道题中仅两道出现在训练;隐藏测试来自
其余题目。训练集又以人工文本为主,官方明确建议参赛者自行生成扩充样本。开发环境里的
test_essays.csv 是 dummy 文件,rerun 时才替换为真实测试集。
所以这是典型的 domain generalization,而不是随机划分上的二分类。模型若只记住题目词汇、来源 文本或某一个生成器的习惯,在本地验证可以很高,换 prompt/模型后却会失灵。
我的训练与提交使用以下方向:
n_gram_range=(3,18) 的实验;train_v2_drcat_02 数据与 Gemini Pro 生成文本。方案采用“高效字符统计基线 + 多来源正样本”的路线。字符 n-gram 擅长捕捉标点、拼写、子词和局部 搭配差异,并避免长文本 Transformer 的显存成本;它与深度模型共同组成最终 ensemble。
public 与 private 结果的差异体现了题目级、生成器级分布漂移,因此验证同时覆盖不同 prompt 和生成器。
数据按 prompt_id 切分,使用 leave-one-prompt-out 协议:
对每一个 prompt p:
只用 prompt != p 的人类/生成文本训练
在 prompt == p 上测 ROC-AUC
汇总平均值、最差 prompt、以及不同生成来源的结果
在这个协议下,数据混合往往比换一个分类头更有决定性。官方第一名方案混合了 PERSUADE 15 个题目的 人类文本、多种专有/开源 LLM 文本、已有数据集和微调模型文本,并加入若干扰动;其最佳单模型训练集 约 16 万篇,且最终融合的是预测排序而非直接平均原始概率。详见 第一名完整 write-up。
扩充集记录生成器、prompt、温度、改写方式和采样时间;训练与验证 prompt 完全隔离。
3–18 n-gram 作为复盘起点,先用 leave-one-prompt-out
找到易崩的题目。每条训练文本应携带 source_id、human/generated 标签、prompt、生成模型、改写链路和去重指纹。
切分时按 prompt 与近重复簇一起分组;否则同一人工文章的轻微改写可能同时出现在训练和验证,制造虚高
的 AUC。
对 TF-IDF/FastText,词表、n-gram 范围、文本规范化器和采样权重都必须只在训练折拟合。对深度模型, tokenizer、最大长度、随机种子和 checkpoint 选择同样应写入实验记录。最终融合使用验证折 rank 后的 固定权重,并保留各单模型分数,才可以在分布变化时复盘是哪一个来源失效。
第三名方案也把 TF-IDF 和 12 个 DeBERTa-v3-large 加权融合,并以当前模型最容易错的样本迭代扩充 数据;这为后续实验提供了可比较的路线。