593. LLM - Detect AI Generated Text | llm-detect-ai-generated-text
首先,我要感谢Kaggle、主办方以及所有参与这场令人愉快的竞赛的人。我在过程中学到了很多,在这个大型语言模型崭露头角的时代,这段经历令人耳目一新。
我还要向我的队友 @chasembowers 表示感谢。虽然我们在团队合并的最后一天才合并,但整合过程非常顺利且富有成效。我们能够迅速同步各自的方法,将两个流程的优势结合起来。
我也为那些在比赛中努力奋斗但最终受到最后调整影响的人感到遗憾。祝你们下次好运!
概述
由于实现一个可靠的交叉验证(CV)方案非常困难——尽管我们为每个部分分别设置了CV——我们仍希望尽可能构建一个泛化能力强的模型。在未知领域中开发泛化模型本身就充满挑战,因为我们不确定哪些方法会有效。通过我们的定制方法,我们得以构建一个具有韧性的最终模型,其中每个部分在数据的某些方面表现强劲,并在其他部分失效时相互补充。你可以将其称为简单的集成,一种专家混合(mixture of experts)或综合武装(combined arms)方法。
接下来,我将分别介绍每个重要组成部分:
传统机器学习方法:
这部分内容可能对很多人来说已经很熟悉,因为它与我的公开notebook基本相同,只是进行了一些参数调整:
最终,该解决方案与我几周前分享的内容并无显著差异。它曾是一个核心部分,单独使用时长时间占据公开榜黄金区域。我们也在其他部分中使用了这一方法,正如我将在下一节中解释的那样。然而,单独使用时,它在过拟合方面存在风险,需要更多泛化模型来缓解这种影响……
LLM方法:
我将简要讨论这一方面,因为我的队友 @chasembowers 已经在 这里 详细解释了细节。本质上,我们开发了基于mistral-7b的特征(例如token概率、logprobs特征、困惑度等),用于训练判别器并进行预测。
但我们进一步利用之前的TF-IDF方法对测试集进行伪标注,并使用mistral特征基于这些标签重新训练了一组机器学习模型(如线性模型和梯度提升模型)。这帮助我们在LLM的泛化能力和TF-IDF基于token的任务特定强指标之间找到了良好的平衡。
Transformer-1:Longformer
在这个补充性实验部分,我们训练了一个Longformer模型,但没有预测二分类结果,而是将训练集的来源作为目标。然后,我们将这些预测与之前的预测合并,创建一个特征空间,并在此基础上训练另一组模型。
Transformer-2:Deberta Large
在这个最终部分,我们使用大量公开可用数据(约70万条记录)训练了一个DebertaV3模型。该模型作为我们的正则化器,并在基于TF-IDF的模型不确定时(例如私有数据出现数据漂移的情况)作为备用选项。它还有助于软化过度自信的预测。
我们仅对该模型训练了1个epoch(早期交叉验证分数已达到0.999),序列长度为1024,未使用早停,并且模型的前几层几乎没有或没有可学习的参数。
最终集成:
在最终的集成部分,每个模型都有自己的权重,但最重要的是,我们没有根据它们的公开榜分数来分配权重,因为这样风险太大。由于所有模型的交叉验证分数都接近完美,我们采用了常识和平衡的方法手动设置权重。
以下是训练(大部分)和推理的 notebook。(它应该很快就会公开。)
最后感想:
我真的很享受这场比赛,特别是分享想法、资源并共同努力的协作精神。成功度过这次激烈的变动确实令人欣慰,在讨论和notebook中分享我们的发现也同样令人满足。
在整个比赛过程中,我们作为团队和个人探索了大量想法,虽然很多未能奏效,但最后一周的收尾和定稿工作格外令人疲惫。
我尽量保持这篇帖子简洁,如果我遗漏了任何关键细节,请见谅。欢迎在本帖中提出任何问题,我将在有空时非常乐意解答。