wplll

该方案以字符/词 n-gram、FastText 和多源生成文本为基础,围绕未见 prompt 与未见生成器的泛化能力, 通过 leave-one-prompt-out 验证和排名融合组织训练与提交。

1. 任务与整体架构

LLM – Detect AI Generated Text 要区分学生作文和 LLM 生成作文。训练数据大约一万篇,七道题中仅两道出现在训练;隐藏测试来自 其余题目。训练集又以人工文本为主,官方明确建议参赛者自行生成扩充样本。开发环境里的 test_essays.csv 是 dummy 文件,rerun 时才替换为真实测试集。

所以这是典型的 domain generalization,而不是随机划分上的二分类。模型若只记住题目词汇、来源 文本或某一个生成器的习惯,在本地验证可以很高,换 prompt/模型后却会失灵。

2. 训练数据与特征

我的训练与提交使用以下方向:

方案采用“高效字符统计基线 + 多来源正样本”的路线。字符 n-gram 擅长捕捉标点、拼写、子词和局部 搭配差异,并避免长文本 Transformer 的显存成本;它与深度模型共同组成最终 ensemble。

public 与 private 结果的差异体现了题目级、生成器级分布漂移,因此验证同时覆盖不同 prompt 和生成器。

3. 验证与模型融合

数据按 prompt_id 切分,使用 leave-one-prompt-out 协议:

对每一个 prompt p:
  只用 prompt != p 的人类/生成文本训练
  在 prompt == p 上测 ROC-AUC
汇总平均值、最差 prompt、以及不同生成来源的结果

在这个协议下,数据混合往往比换一个分类头更有决定性。官方第一名方案混合了 PERSUADE 15 个题目的 人类文本、多种专有/开源 LLM 文本、已有数据集和微调模型文本,并加入若干扰动;其最佳单模型训练集 约 16 万篇,且最终融合的是预测排序而非直接平均原始概率。详见 第一名完整 write-up

扩充集记录生成器、prompt、温度、改写方式和采样时间;训练与验证 prompt 完全隔离。

4. 模型训练与 Rank Ensemble

  1. 字符 TF-IDF / FastText 基线: 3–18 n-gram 作为复盘起点,先用 leave-one-prompt-out 找到易崩的题目。
  2. 规范化消融: 分别比较原文、有限 Unicode/字符规范化、拼写扰动;不要在没有验证的情况下 大规模清洗,避免抹去真实人类写作信号。
  3. 多源训练: 人类语料覆盖更多题目;生成文本覆盖不同模型和改写链路,并保留数据来源标签。
  4. 排名融合: 若加入深度模型,先在每个验证折把各模型概率转为 rank,再确定融合权重,避免 不同模型的概率尺度主导结果。
  5. 压力测试: 单独报告未见 prompt、未见生成器、人类拼写错误和人工改写文本上的 AUC。

5. 数据处理与训练记录

每条训练文本应携带 source_id、human/generated 标签、prompt、生成模型、改写链路和去重指纹。 切分时按 prompt 与近重复簇一起分组;否则同一人工文章的轻微改写可能同时出现在训练和验证,制造虚高 的 AUC。

对 TF-IDF/FastText,词表、n-gram 范围、文本规范化器和采样权重都必须只在训练折拟合。对深度模型, tokenizer、最大长度、随机种子和 checkpoint 选择同样应写入实验记录。最终融合使用验证折 rank 后的 固定权重,并保留各单模型分数,才可以在分布变化时复盘是哪一个来源失效。

第三名方案也把 TF-IDF 和 12 个 DeBERTa-v3-large 加权融合,并以当前模型最容易错的样本迭代扩充 数据;这为后续实验提供了可比较的路线。

项目链接