本发明属于大语言模型检测,涉及一种结合特征工程和神经网络的大语言模型生成文本检测方法。
背景技术:
1、近年来,大语言模型得到了快速发展。值得注意的大语言模型,如glm,bloom,chatgpt,llama等,在各个领域都表现出了卓越的能力,包括对话生成、问答、信息检索、内容延续、文献生成等。这些模型是通用的,甚至可以生成代码,调试代码,并为代码提供注释。最近发布的gpt-4代表了自然语言处理的重大进步,在一系列与语言相关的任务中实现了更高的性能。值得注意的是,gpt-4是一个多模态模型,能够处理文本和图像输入。
2、大语言模型的出现对人类社会产生了深远的影响,正在改变我们在日常生活中与语言互动和利用语言的方式。这些模式正在影响教育、媒体、商业等许多领域,它们理解和生成人类语言的能力正在各个领域开辟新的可能性和应用。
3、然而,滥用大语言模型会导致许多负面后果:
4、首先,大语言模型偶尔会表现出各种不良行为。例如,大语言模型可能复制有害或有偏见的内容,或通过捏造不存在或虚假的事实产生所谓的幻觉输出。
5、其次,用户可能会将其用于不道德的目的。例如,学生可以使用大语言模型完成论文和作业,恶意行为者可以使用大语言模型生成垃圾邮件,假新闻和假评论。
6、因此,大语言模型生成的文本能否被检测以及如何检测成为了研究人员关注的焦点。
7、现有的检测方法主要是将大语言模型的检测看成是一个二分类问题,根据检测方法的特点可以将现有的检测方法分为3类:基于预训练语言模型(plm)的方法、基于特征的方法和基于大语言模型(llm)的方法。
8、基于预训练语言模型的方法主要通过在预训练语言模型的输出层上再加一个全连接层使其能够进行二元分类,然后使用包含大语言模型生成的文本和人类编写的文本的数据集去微调这个预训练语言模型,让预训练语言模型去学习大语言模型生成的文本和人类编写的文本之间存在的文本特征差异,从而使得这个预训练语言模型能够利用这些文本特征来区分大语言模型生成的文本与人类编写的文本。例如:通过微调roberta得到一个检测器模型去检测gpt-2生成的文本。通过微调预训练语言模型获得的检测器模型虽然能高效地检测大语言模型生成的文本,但是在微调过程中预训练语言模型不仅会学习到在各种类型的文本之间通用的文本特征,还会学习到微调过程中使用的数据集的文本所特有的文本特征,使得检测器模型往往会过拟合其域内数据或模型(即微调预训练语言模型时使用的数据集和生成这个数据集中大语言模型生成的文本的大语言模型)。此外,由于预训练语言模型通常具有比较深的层数和比较多的神经元个数,因此通过微调预训练语言模型获得的检测器模型通常不具有较好的可控性和可解释性,例如:无法确定它们何时以及为什么会失效。最后,通过微调预训练语言模型得到的检测器模型的泛化能力比较差,在面对域外数据时往往需要重新微调检测器模型以确保其具有理想的检测性能,因此通常具有不小的检测消耗。
9、基于特征的方法首先选择一个最后的输出层允许被访问的大语言模型,如gpt-2,作为代理模型;然后使用该代理模型对应的分词器(tokenizer)去对文本进行分词,文本中的每个词(token)对应一个位置;然后代理模型对文本中每个位置上所有可能的token的概率根据该位置的前文进行预测,得到该位置的预测概率分布,其中每个位置上所有可能的token就是代理模型的词汇表中的所有token;然后基于此对大语言模型生成的文本和人类编写的文本进行统计分析,找到在这两者之间存在分布差异的统计特征;最后基于这个统计特征的分布差异,使用某类简单的二分类模型找到这个统计特征的一个阈值去区分大语言模型生成的文本与人类编写的文本,即阈值一边是大语言模型生成的文本,另一边是人类编写的文本。例如:分别使用文本中每个token的平均概率(probability)、每个token的概率在预测概率分布中的排名(rank)和每个token的预测概率分布的熵(entropy)作为统计特征,然后使用逻辑回归模型作为二分类模型,实现区分大语言模型生成的文本和人类编写的文本的目的。或者将文本中每个token的排名(rank)按照区间分成几类,然后使用这几类包含的token的比例作为特征训练逻辑回归模型去检测大语言模型生成的文本。基于特征的方法通常拥有略逊色与基于预训练语言模型的方法的检测性能,但保证了检测器模型的可控性和可解释性。现有的基于特征的方法的检测器模型都只依赖于单一的统计特征,容易受到噪声或llm版本变化的影响,从而导致检测器模型的稳定性和鲁棒性不足。
10、基于大语言模型的方法主要通过对大语言模型自身进行处理从而实现对大语言模型自身生成的文本的检测。例如:通过在grover(grover是一个大语言模型,能够高效地生成完整的新闻文章)的输出层上再加上一个全连接层,然后对grover进行微调,实现其对grover自身生成的新闻的检测。或者通过在大语言模型生成文本时给文本添加上水印来帮助检测大语言模型生成的文本,这些水印通常是人类无法察觉的,只有通过特定的算法才能发现。另外,还可以通过在大语言模型生成文本时,将生成的文本保存在一个数据库中,然后在检测文本是否是大语言模型生成的文本时,将文本和数据库中的文本进行相似度评估,相似度超过某个阈值的文本即是该大语言模型生成的文本。可以发现,基于大语言模型的方法要求大语言模型是开源的,否则这种方法通常只对大语言模型开发人员可用,而不是第三方开发人员。
技术实现思路
1、针对已有技术的不足,本发明提供一种结合特征工程和神经网络的大语言模型生成文本检测方法来改善检测性能,保证检测高效的同时提高了检测的稳定性和鲁棒性,还能确保检测方法的可控性和可解释性。
2、为了实现上述目的,本发明提供了如下方案:
3、步骤1、收集多个领域和来源的数据构建多个不同领域和来源的数据集。数据集包括有问题、大语言模型生成的回答和人类的回答,其中,一个问题的大语言模型生成的回答和人类的回答分别作为大语言模型生成的文本和人类编写的文本构成一个文本对<大语言模型生成的文本,人类编写的文本>。再过滤掉文本对中存在文本长度不足情况的文本对,最后将每个数据集都按设定比例划分为训练集和测试集。
4、步骤2、选择一个最后的输出层允许被访问的大语言模型作为代理模型;然后使用该代理模型对应的分词器(tokenizer)去对文本进行分词,文本中的每个词(token)对应一个位置;然后将分词后的文本输入到代理模型中;代理模型对文本中每个位置上所有可能的token的概率根据该位置的前文进行预测,得到该位置的预测概率分布;其中每个位置上所有可能的token就是代理模型的词汇表中的所有token。
5、具体为:将一个分词后的文本输入一个代理模型中,如gpt-2,得到文本中每个位置i的预测概率分布其中,t表示文本x中token的个数,表示文本x中第i个位置上真正的token,xi表示代理模型根据文本x第i个位置前的前文x1:i-1预测的第i个位置上可能的token,xi能取代理模型的词汇表中任意一个token,θ指代某个具体的代理模型。
6、步骤3、根据步骤2得到的预测概率分布,定义log-probability、log-rank、entropy和llm-deviation四个统计特征;
7、定义如下:
8、
9、其中,表示代理模型预测文本x中第i个位置上的token是的概率;
10、
11、其中,表示代理模型预测文本x的第i个位置的token是的概率在位置i的预测概率分布中的排名;
12、
13、其中,表示代理模型预测文本x的第i个位置的token是w的概率,w表示代理模型的词汇表中的所有token中的某一个;
14、
15、其中,log 1中的1表示大语言模型生成的理想文本中token的概率排名,其中,大语言模型生成的理想文本指大语言模型使用贪心策略作为解码策略生成的文本;贪心策略是指大语言模型生成文本时采用的解码策略为top-k且k=1,也就是说大语言模型生成文本时每次都是选择概率最大的token输出,因此每个输出token的概率排名都为1。
16、在特征工程阶段综合使用log-probability、log-rank和entropy这三个现存的统计特征来衡量文本风格,同时为了能更全面地从多个角度衡量文本风格,还设计了一个新的统计特征llm-deviation对文本风格进行衡量;通过综合使用log-probability、log-rank、entropy和llm-deviation这四个统计特征对文本风格进行全面地、多角度地衡量,避免只依赖于单一的统计特征容易受到噪声或大语言模型版本变化的影响,从而导致检测器模型的稳定性和鲁棒性不足的问题。
17、步骤4、使用神经网络模型作为二分类模型,以步骤3中定义的4个统计特征作为输入,输出文本是大语言模型生成的文本的概率;然后使用步骤1中构建的其中一个数据集中的训练集训练该神经网络模型,最终得到一个检测器模型;
18、作为优选,在训练该神经网络模型时,使用交叉熵损失函数作为目标函数,并以最小化目标函数为目标不断调整神经网络模型的权重,最终得到一个检测器模型。
19、使用神经网络模型作为二分类模型,能够学习到更稳定、更深层次和非线性的特征;值得注意的是:考虑到神经网络模型规模越大,训练成本越高,模型的可控性和可解释性越差,因此为了保证检测器模型的可控性和可解释性,当输入特征数量较少时,无需设计过深的神经网络模型。
20、步骤5、设置一个概率阈值,当检测器模型输出的概率大于这个阈值时,文本是大语言模型生成的,否则是人类编写的;使用步骤4使用的数据集中的测试集对步骤4训练得到的检测器模型的性能进行评估,并根据性能表现对神经网络模型进行调优;然后重复步骤4-5,直到得到根据检测器模型的性能和消耗设定的性能最佳的检测器模型;
21、其中,对检测器模型进行评估的性能指标包括精确度、召回率和f1分数。对神经网络模型进行调优包括:调整神经网络模型的隐藏层个数、调整隐藏层的神经元个数以及调整训练的轮数(epoch)。
22、步骤6、将步骤5得到的性能最佳的检测器模型迁移到步骤1中其余数据集中的测试集上进行大语言模型生成文本检测;如果检测效果理想,则完成检测器模型的构建,将任意待检测大语言模型生成文本输入检测器模型中,获得检测结果。
23、如果出现检测效果不理想的情况,则根据情况选择不同的策略;
24、情况1:如果在与训练集来自同一个数据集的测试集上的检测结果很好,与训练集来自不同数据集的测试集上的检测结果普遍很差,则回到步骤1对数据集进行扩充并重新开始步骤1至步骤6;
25、情况2:如果在于训练集来自不同数据集的测试集上的检测结果有好有坏,则回到步骤4中换一个数据集对神经网络模型进行训练并重新开始步骤4至步骤6。
26、本发明的优点及有益效果如下:
27、本方法利用深度神经网络模型集成学习去综合考虑特征工程过程中设计的多种统计特征:log-probability、log-rank、entropy和llm-deviation,更好地表达多个统计特征之间稳定而深入的关系,再利用这种关系衡量文本的风格实现对大语言模型生成的文本的检测。利用这种关系衡量得到的文本风格在大语言模型生成的文本和人类编写的文本之间存在着稳定的差异,从而使得结合特征工程和神经网络的大语言模型生成文本检测方法能够在文本具有足够长度且没有被攻击(如通过人类重写或使用包含transformer架构的语言模型对文本中的部分单词进行转义使大语言模型生成的文本和人类编写的文本之间的统计特征差异变小)的情况下对大语言模型生成的文本进行高效、稳定地检测。综上,在文本具有足够长度且没有被攻击的情况下,该方法具有自动化、高效地检测大语言模型生成文本的能力;同时拥有良好的泛化能力,能够在不同的数据集上进行迁移,对黑盒大语言模型生成的文本进行检测,提高了检测的稳定性和鲁棒性,还具有可控性和可解释性。
1.结合特征工程和神经网络的大语言模型生成文本检测方法,其特征在于:具体包括如下步骤:
2.如权利要求1所述的结合特征工程和神经网络的大语言模型生成文本检测方法,其特征在于:所述的代理模型为gpt-2。
3.如权利要求1所述的结合特征工程和神经网络的大语言模型生成文本检测方法,其特征在于:所述的步骤2具体为:将一个分词后的文本输入一个代理模型中,得到文本中每个位置i的预测概率分布其中,t表示文本x中token的个数,表示文本x中第i个位置上真正的token,xi表示代理模型根据文本x第i个位置前的前文x1:i-1预测的第i个位置上可能的token,xi能取代理模型的词汇表中任意一个token,θ指代某个具体的代理模型。
4.如权利要求3所述的结合特征工程和神经网络的大语言模型生成文本检测方法,其特征在于:所述步骤3中log-probability、log-rank、entropy和llm-deviation分别定义为:
5.如权利要求1所述的结合特征工程和神经网络的大语言模型生成文本检测方法,其特征在于:所述步骤4在训练该神经网络模型时,使用交叉熵损失函数作为目标函数,并以最小化目标函数为目标不断调整神经网络模型的权重。
6.如权利要求1所述的结合特征工程和神经网络的大语言模型生成文本检测方法,其特征在于:所述步骤5中对检测器模型进行评估的性能指标包括精确度、召回率和f1分数。
7.如权利要求1所述的结合特征工程和神经网络的大语言模型生成文本检测方法,其特征在于:所述步骤5中对神经网络模型进行调优包括:调整神经网络模型的隐藏层个数、调整隐藏层的神经元个数以及调整训练的轮数。
