返回列表

25th Place Solution for DAIGT (Public LB: 0.966 Private LB: 0.927)

593. LLM - Detect AI Generated Text | llm-detect-ai-generated-text

开始: 2023-10-31 结束: 2024-01-22 AI安全与对抗 数据算法赛

DAIGT第25名解决方案(公开榜0.966,私有榜0.927)

我们非常高兴能分享我们的解决方案,并衷心感谢Kaggle社区每一位成员分享的想法、代码和数据集。

概述

我们的最终解决方案工作流程如下:

  1. 数据清洗与拼写错误修正
  2. BPE分词器训练 + TF-IDF特征提取
  3. 模型:MultinomialNB ×1,SGDClassifier ×1,LGBMClassifier ×1,CatBoostClassifier ×1
  4. 集成预测并识别概率在0.05到0.45之间的困难样本
  5. 使用Mistral-7B模型预测困难样本,DistilBert预测所有样本
  6. 将混合概率小于0.05和大于0.5的样本作为无监督学习的标记数据
  7. 融合步骤4、5、6的结果作为最终预测

解决方案细节

  1. 数据清洗与拼写错误修正

    受piotrkoz讨论的启发,我们深入进行了拼写错误修正。首先纠正大规模字符替换错误,然后识别并修正与拼写错误单词的Levenshtein距离为1的单词。该流程同时应用于训练集和测试集以确保一致性。

    text = "Thii code handlei the tokenization of your text data uiing the tokenizer from Hugging Face's Transformers library."
    text = correct_substitutions(text, 0.06)
    text = correct_dist1(text)
    # 修正后:"This code handles the tokenization of your text data using the tokenizer from Hugging Face's Transformers library."

    这些修正使私有榜分数提升了约0.01

  2. 用于集成的LLM模型

    我们在DAIGT-v2数据集上使用LoRA微调了Mistral-7B,在公开榜获得0.884的分数。尽管该模型在私有榜表现不佳(比赛结束前无法预知)。我们也尝试微调DeBERTa-v3但未能超越公开模型。最终采用公开的DistilRoberta模型和我们微调的Mistral-7B进行预测。

    我们仅对"困难样本"使用LLM预测,因为TF-IDF特征能稳健预测大多数样本,而LLM可能会逆转部分样本的预测结果。

  3. 半监督学习

    我们深受aerdem4的笔记启发(仅用测试集和两个"魔法词"在公开榜达到0.91)。然而我们质疑该方法的鲁棒性——其性能严重依赖魔法词选择和每个提示词的样本分布,这也解释了其在私有榜表现不佳的原因。最终我们放弃魔法词方法,改用TF-IDF预测概率标记样本数据,在最后一天使私有榜分数提升了约0.02

团队成员

Gengyang Xiao @adrianxiao, Jiayang Zhao @superxiaotang, Junrui Wang @junruiwang, Zhiyang Zhang @zyzhang0109(按字母顺序排列)

欢迎通过Kaggle或LinkedIn与我们联系。

致谢

衷心感谢@thedrcat, @aerdem4, @mustafakeser4, @piotrkoz。从你们身上我们获益良多,非常感谢!

同比赛其他方案