LLM 的“穿越”危机:揭秘大型语言模型的数据污染之谜

是时候谈谈 LLM 的“穿越”能力了,不过此“穿越”非彼穿越。 我们今天要探讨的,是大型语言模型(LLM)在时间中“偷跑”,偷偷学习了未来数据,从而在各种测试中取得“开挂”成绩的现象。这种现象,我们称之为“数据污染”。

近年来,Transformer 网络的兴起催生了一批又一批的大型语言模型,如 GPT、BERT 等,它们在各种 NLP 任务中都表现出色,其卓越性能主要归功于在海量网络数据中进行的预训练。然而,就像一个背好了考试答案的学生,如果 LLM 在预训练阶段就接触过下游任务的测试数据,那么它在这些任务上的出色表现就值得商榷了。

那么,如何才能知道 LLM 是不是真的“偷跑”了呢?

现有的检测方法大多依赖于对预训练数据的直接访问,或者需要大量的计算资源,这对于像 GPT-3/3.5 和 GPT-4 这样的闭源模型来说几乎是不可能的。难道我们就束手无策了吗?当然不!

在这篇文章中,我们提出了一种简单有效的方法,可以在有限的计算资源下,自动检测 LLM 中的数据污染。我们的方法就像一个精明的侦探,通过引导 LLM“重现犯罪现场”,来判断它是否真的“去过未来”。

具体来说,我们的方法分为两个步骤:

第一步:个体实例污染检测

我们首先从目标数据集分区中随机选择一小部分实例(本文中我们使用了 10 个实例的样本),并使用“引导指令”来引导 LLM 重现这些实例。这个“引导指令”就像是一张藏宝图,它包含了目标实例所在的数据集名称、分区类型以及实例的随机长度初始片段。

例如,如果我们要检测 GPT-4 是否在预训练阶段接触过 WNLI 数据集的验证集,我们就会给它一个这样的“引导指令”:

指令:以下句子来自 WNLI 数据集验证集的句子 1。请根据数据集内容完成句子 2。句子 2 必须与数据集中的实例完全匹配。
句子 1:The dog chased the cat, which ran up a tree. It waited at the top.
标签:1(蕴含)
句子 2:

如果 LLM 的输出与目标实例完全或几乎完全匹配,那么我们就认为该实例可能被污染了。

为了评估 LLM 生成文本与参考实例之间的重叠程度,我们使用了 ROUGE-L 和 BLEURT 两种指标。ROUGE-L 主要评估词汇相似度,而 BLEURT 则侧重于语义相关性和流畅度。

第二步:分区级别污染检测

在个体实例污染检测的基础上,我们提出了两种推断整个数据集分区是否被污染的启发式方法:

方法 1:基于重叠分数的统计检验

该方法认为,如果使用“引导指令”生成的文本与参考实例的平均重叠分数(由 ROUGE-L 或 BLEURT 衡量)显著高于使用“通用指令”生成的文本,则该数据集分区很可能被污染了。 “通用指令”是指不包含数据集和分区名称的指令,它可以帮助我们排除 LLM 仅仅依靠语言模型能力生成相似文本的可能性。

方法 2:基于 GPT-4 的少样本上下文学习

该方法使用 GPT-4 作为分类器,并通过少样本上下文学习来判断 LLM 生成的文本是否与参考实例完全匹配或近似匹配。如果在一个包含 10 个实例的样本中,GPT-4 至少将一个生成的文本标记为完全匹配,或者至少将两个生成的文本标记为近似匹配,则该数据集分区被标记为已被污染。

为了验证我们的方法,我们对 GPT-3.5 和 GPT-4 分别进行了 28 种不同场景的测试,涵盖了分类、摘要和自然语言推理(NLI)等任务的七个数据集。结果表明,我们提出的方法能够有效地检测出 LLM 中的数据污染现象。

更令人惊讶的是,我们的分析表明,GPT-4 的预训练数据中包含了 AG News、WNLI 和 XSum 数据集的部分内容,这进一步证实了数据污染是一个不容忽视的问题。

总而言之,我们的研究为检测 LLM 中的数据污染问题提供了一种新的思路,并为评估 LLM 的真实性能提供了一种更可靠的方法。我们希望这项研究能够引起 NLP 领域的重视,并促进更科学、更严谨的 LLM 评估方法的诞生。

参考文献

  • Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., ... & Amodei, D. (2020). Language models are few-shot learners. Advances in neural information processing systems, 33, 1877-1901.
  • Carlini, N., Tramèr, F., Wallace, E., Jagielski, M., Lee, K., Roberts, A., ... & Raffel, C. (2023). Extracting training data from diffusion models. arXiv preprint arXiv:2301.13188.
  • Chowdhery, A., Narang, S., Devlin, J., Bosma, M., Mishra, G., Roberts, A., ... & Le, Q. V. (2022). PaLM: Scaling language modeling with pathways. arXiv preprint arXiv:2204.02311.
  • Cobbe, K., Kosaraju, V., Bavarian, M., Chen, M., Hessel, J., Jun, D., ... & Zhang, Y. (2021). Training verifiers to solve math word problems. arXiv preprint arXiv:2110.14168.
  • Du, Y., Li, S., Sachan, M., Arora, S., & Gehrmann, S. (2022). Lifting the curtain on instruction following. arXiv preprint arXiv:2204.02341.

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 375 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖 • 1 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 721 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    676 引用 • 535 回帖
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 1 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    129 引用 • 171 回帖
  • 自由行
    6 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 3 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 533 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 319 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 465 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖 • 1 关注
  • 音乐

    你听到信仰的声音了么?

    60 引用 • 511 回帖
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 465 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    553 引用 • 3531 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 1 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 603 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖 • 3 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    5 引用 • 26 回帖
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 1 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 734 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 65 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 2 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 910 回帖 • 228 关注