593. LLM - Detect AI Generated Text | llm-detect-ai-generated-text
首先,非常感谢Kaggle、Learning Agency Lab和范德堡大学组织了这场有趣的竞赛。向你们所有人致敬!🎩 这是我第一次参加Kaggle竞赛,学习曲线真是一段奇妙的旅程。
竞赛早期,我对TF-IDF方法在实际场景中效果如何心存疑虑。这种怀疑促使我深入研究基于语言模型的方法,并坚持没有回头。我完全没想到排行榜的变动会如此剧烈,最终结果也真的让我感到惊讶。
我的"核心秘诀"是仅使用非指令微调模型来生成数据。如果我们查看竞赛中提供的3篇生成文章,它们看起来越来越人性化。更重要的是,它们都没有通用的ChatGPT回答格式。我相信这是主办方给出的一条重要提示。
在阅读了James的帖子和这篇精彩文章后(简单来说:指令微调对响应多样性有不利影响),我从slimpajama生成了约40万篇非文章文本,并使用persuade 2.0生成了2.5万篇文章。使用的模型是未经微调的Falcon-7B、Mistral-7B和Llama2-7B,温度参数范围0.8到1.2,top p值0.8到0.98,频率惩罚0到0.3。
然后我简单地用这个数据集微调了一个DeBERTa-v3-large模型,上下文长度为512,推理长度为1024。在3090上单次训练大约需要8小时。我尝试过用1024长度训练,但结果更差。我找不到太多关于为什么会这样的信息,所以欢迎就此提供见解。
在我的最终方案中,我将处于第40到第60百分位的预测替换为基本TF-IDF + SGD模型的结果。这个调整使我的CV分数略有提高,但对LB影响甚微。
| 模型 | 数据集 | 公开LB | 私有LB |
|---|---|---|---|
| DeBERTa-v3-base-512 | 仅persuade | 0.869 | 0.875 |
| DeBERTa-v3-base-512 | persuade & slimpajama | 0.921 | 0.920 |
| DeBERTa-v3-base-1024 | persuade & slimpajama | 0.910 | 0.901 |
| DeBERTa-v3-large-512 | persuade & slimpajama | 0.942 | 0.965 |
| DeBERTa-v3-large-1024 | persuade & slimpajama | 0.922 | 0.957 |
| DeBERTa-v3-large-512 + TF-IDF | persuade & slimpajama | 0.942 | 0.965 |
我生成文章的提示如下:
(100分) [文章说明] 你的文本应约为500字。\\n\\n\\n\\n\n姓名: [基于性别的随机姓名]\n年级: [年级]\n日期: [随机日期]\n[文章标题]\n[一篇来自persuade 2.0的清理后文章]\\n\\n\\n\\n\n姓名: [相同性别的另一个随机姓名]\n年级: [相同年级]\n日期: [相同日期]\n[文章标题]\n
年级和性别信息直接来自persuade 2.0数据集。我为每篇persuade 2.0文章生成10个版本,然后使用嵌入相似性和莱文斯坦距离过滤掉与人类示例文章过于相似的生成结果。随后根据长度和重复度进一步筛选生成内容。