【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

7 个月后,GPT-2 的“假新闻威胁论”被证明是虚惊一场

  • 2019-09-11
  • 本文字数:2909 字

    阅读完需:约 10 分钟

7个月后,GPT-2的“假新闻威胁论”被证明是虚惊一场

今年年初,OpenAI 推出了当时号称“最强 NLP 模型”的 GPT-2,该模型可以生成连贯的文本段落,刷新了 7 大数据集基准,并且能在未经预训练的情况下,完成阅读理解、问答、机器翻译等多项不同的语言建模任务。

然而,由于 OpenAI 没有将之开源的计划,很快被技术社区声讨,因为这违背了 OpenAI 作为一个开放的、非盈利技术组织的初衷。而 OpenAI 方面给出的理由是:“该模型或许会被一些人滥用,制造假新闻等不实消息,从而引发更加恶劣的影响。”


随着讨伐声越来越高,OpenAI 不得不松口,决定分批次放出该模型的开源代码,这才平息了这场风波。有网友在认真研究并使用了 GPT-2 之后发现:OpenAI 紧张过度了,因为这个模型并没有想象中那么危险


在我看来,现在的情况已经相对明确:GPT-2 并不像 OpenAI 想象的那么危险。


其 774 M 版本已经出现了一段时间,虽然其中的参数只有完整版的一半,但我认为两者之间的差别还不至于被称为质变。毕竟,OpenAI 的分阶段发布计划已经给我们带来了两次增量提升——从 124 M 到 355 M,再到如今的 774 M。每次加倍后的差异都只能用“微妙”来形容,而且体现出的优点与缺陷也基本没有变化。


今年以来,我花了不少时间鼓捣这些模型,对模型进行微调也成了一种新的爱好。具体来讲我尝试:


  • 针对各种不同的文本进行微调。

  • 针对多种不同文本的混合体进行微调(没啥大意思,模型会自主决定从任何给定的样本当中提取哪种文本书写风格,然后一直坚持下去)。

  • 尝试利用不同的优化器与学习速率进行微调。

  • 尝试使用自定义编码(常用标签->单一非英文字符),以便在对网页进行微调时将更多文本纳入容器当中。

  • 通过重复将输出结果作为上下文输入(即提示)尝试生成更长的文本。

  • 将所有采样参数(包括温度、top-k/top-p/皆不)与以上任意采样参数进行比较。

  • 读取大量采样输出,同时监控微调工作,从而为 @uploadedyudkowsky 等提供素材。


到目前为止,我觉得自己已经对 GPT-2 采样文本的整体质量与特性有了比较明确的感受。总体来讲,这套模型擅长各种有趣的生成方向,但其中最不擅长的,反而是人们原本担心的生成虚假信息或者其它不良内容


它最擅长的是小型文本生成——其成果确实令人感到不安,特别是在语言风格方面,完全符合我对于逐字、逐句、逐段内容设定的“良好写作”要求。但是,它在较大规模的行文结构上表现较差,比如很难长期保持统一的主题或者(特别是)利用多个句子中的子句进行结构化论证。


直观来看:GPT-2 只能从文本当中学习,因此在需要引入其它外部世界模式的领域(因为我们在书写文字时,总会或多或少地引入自己对于真实世界的理解),它与人类的差距最大。但在风格倾向纯粹体现在语言之内,特别是书面语言之内时,GPT-2 的表现则与人较为相似。


再来讲讲不那么直观的结论。GPT-2 生成的样本中往往缺少某些看似非常简单且可预测的真实文本特性。举例来说,当生成类似小说的文本时,它往往无法跟踪特定场景中包含哪些角色(例如,角色 A 曾在当前场景中说话,但当角色 B 提到角色 A 时,却表现得好像后者并不在场景之内)。在非小说类文本当中,GPT-2 则倾向于通过重复一组关键短语来维持“主题”,但由于未能注意到连续性因素,其往往会对该主题做出截然不同甚至相互矛盾的断言。


我认为其中一部分问题源自 GPT-2 在初期训练过程中采取的具体方法——换言之,预测真实文本与生成伪造文本并不完全是同一回事。其训练目标只关注对训练文本做出稳定的用词分布判断,但却并不重视以稳定的良好方式判断自己预测出的用词分布结果。(请注意,其预测出的用词分布与真实文本也并不相同。)


事实上,将预测分布中的样本馈送回 GPT-2 进行进一步预测,即会产生令人印象深刻的“生成文本”——这更像是个有趣的事故,而非真正的优化目标。如果要进一步提升它的伪造能力,可能需要更明智地选择抽样方法,而完全随机的抽样仍有可能带来垃圾一般不知所云的输出内容。


即使采用 top=p 等良好的采样方法,GPT-2 的采样稳定性同样偏弱;当我们试图通过重复“自我提示”来生成比上下文窗口更长的文本时,我注意到一种现象:文本质量通常会在某一点之后立即呈现出断崖式下降。这些结果完全有违语言习惯,而且在记录中充斥着大量异常的段落。我的假设是,这就像是识别熊猫/长臂猿这类对抗性实例:样本具有 GPT-2 能够识别的高密度特征,而这些特征最终会在一系列线性子空间中朝着相同的方向推进(例如在 tramsformer 当中采用非饱和激活,即 gelu),并导致模型偏离训练歧管。


为了再次收敛,模型确实能够在某些特定的短语、句子甚至段落当中偶尔带来不错的生成结果,但其样本在仍然很难在短篇或者较长篇幅的范围内保证全局一致性,且几乎不可能将其中的表述与现实世界对应起来。(这种状况再配合较为出色的写作能力,就构成了一种奇妙的「内涵笑话」风格:它好像是在讲一些非常隐晦但又有趣的小故事……只有特别聪明的人才能完全看懂。)


我的第一反应是,这套模型应该无法被用于生成伪造信息。让它“讨论某事”或者“编造某事”其实非常困难,相比之下让它采用某些特定风格或者类型的写法倒是比较容易。


实际情况比这还要微妙。这套模型非常擅长编写看起来类似于新闻报道的故事,大概是因为它在训练过程中接触过大量素材吧;在 OpenAI 发布的大量无条件样本中,类似的新闻文本占主导比例。因此,假设我们能够找到一种有效的方法将虚假事件馈送至原始模型当中,它也许真的能够利用特定主题捏造出令人信服的假新闻。


这正是“GROVER”创造者的目标,他们整理出了这样一套包含大量自定义素材的训练语料库。简单来霁,他们训练出一款 transformer,能够通过结构化方式理解新闻标题与故事内容之间的关系。在此之后,他们对正文进行采样,并循环回来以生成足以替换初始标题的新标题。


基本上,他们的成果允许我们从 Breitbart 或者 Infowars 等网站上提取标题,并以同样的风格编写出类似于《纽约时报》报道的“真实新闻”,最后再循环回来用“真实新闻”风格重写标题。据我估计,MTurkers 随后会对结果文本进行评估,从而确保其比原始文本更有说服力。


这确实是种可怕的现象,而且模型确实有能力操纵新闻主题。在简单的文本范畴之内,这样的操纵确实很难被人们发觉。另一方面……现在是 2019 年,特朗普担任美国总统,在这样一个疯狂的时代,Breitbart 风格的假新闻跟所谓的真新闻还有什么区别吗?有些人甚至认为接种疫苗对健康有害,这样的背景下,文风能不能跟《纽约时报》对得上真的重要吗?


这种技术确实能够给恶意行为者带来帮助,但这种帮助似乎没多大必要。很多人甚至习惯于单纯根据社交媒体上的文章标题进行转发,而根本就懒得点开看一眼;相比之下,真正有严谨精神的人们则更关注内容的真实来源,他们也不可能简单被文风这种因素骗倒。


最后,我们还得承认一点,恶意人士并不是科研工作者,他们根本就不可能下大力气研究模型训练。GROVER 是一套由学者创建,供其他学者进行威胁建模实践的方案。因此,在 GPT-2 真正转化一键式生成工具之前,真正的伪造者恐怕根本就没兴趣加以探究。至少,我是从来没有听说过那么有科研精神的骗子(而且相信我,我试过很多次,就算是在最擅长的领域 GPT-2 的效果也绝没那么夸张)。


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-09-11 08:002949

评论 1 条评论

发布
用户头像
首先非常感谢您的分享,但是这种还是应该给出实际的例子比较直观(我之前也试过四百多那个模型,一言难尽)
2019-09-11 09:25
回复
没有更多了
发现更多内容

C语言中“野指针”、“悬空指针”是什么?

不脱发的程序猿

c 指针 编程之路 bug 3月日更

跟公司新招的这个“同事”搭档,工作搬砖太“自动化”了

华为云开发者联盟

华为 AI RPA 自动化 员工

你遇到过哪些质量很高的 Java 面试?

张小方

Java 面试 阿里 薪资

LeetCode题解:647. 回文子串,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

带你走进与千万数据通信者共成长的“家园”

华为云开发者联盟

华为 开发者 网络 华为数据通信 社区

第8周大作业

八达鸟

JDK8新特性 Fork/Join 的优化

Java小咖秀

Java java8 jdk8 forkjoin fork

图解堆排序

Silently9527

Java 排序算法 堆排序

Oracle Sql性能优化

大数据技术指南

oracle 大数据 28天写作 3月日更

SDK 是如何存储事件数据的?

神策技术社区

ios 大数据 存储 数据采集 神策数据

阿里P8大牛亲自讲解!2021年Android网络编程总结篇,醍醐灌顶!

欢喜学安卓

android 程序员 面试 移动开发

看故事学Redis:再不懂,我怀疑你是假个开发

华为云开发者联盟

MySQL 数据库 redis 缓存 数据

一招让Kafka达到最佳吞吐量

万俊峰Kevin

kafka go-zero Go 语言

智慧公安二维码定位报警系统开发,微警务平台解决方案

源中瑞-龙先生

二维码定位报警系统开发 智慧公安 智慧公安扫码

数据驱动业务:一张大屏掌控城市运行,效率提高95%

一只数据鲸鱼

物联网 数据可视化 智慧城市 智慧园区 智慧交通

多端框架开发 | 拼团商城项目开发说明

YonBuilder低代码开发平台

小程序云开发 大前端 移动终端 APP开发 多端开发

朋友,你听说过跨域吗

河磨

spring CORS 跨域

EGG公链生态项目——EFTalk上的巴莱特定律

币圈那点事

区块链

有道技术沙龙 | AI 语音交互技术在语言学习场景的实践

有道技术团队

人工智能

拍乐云创始人&CEO赵加雨:深耕18载,打造全景式音视频服务

拍乐云Pano

音视频 WebRTC 在线教育 RTC 实时通信

寻找被遗忘的勇气(十七)

Changing Lin

3月日更

阿里P8大牛亲自教你!一个三非渣本的Android校招秋招之路,满满干货指导

欢喜学安卓

android 程序员 面试 移动开发

OpenKruise v0.8.0 核心能力解读:管理 Sidecar 容器的利器

阿里巴巴云原生

容器 微服务 云原生 k8s 应用服务中间件

JVM笔记 -- 来,教你类加载子系统

秦怀杂货店

Java JVM 类加载 虚拟机

怎么找属于自己最优的2B增长模型?

boshi

销售管理 SaaS 七日更

架构师训练营第十一周作业 - 命题作业

阿德儿

沙龙报名 | 云计算进入多元架构,云原生时代的挑战与机遇

京东科技开发者

云计算 云原生

【LeetCode】不同的子序列Java题解

Albert

算法 LeetCode 28天写作 3月日更

电商千万级交易的金手指:分布式事务管理

华为云开发者联盟

微服务 事务 华为云 分布式事务管理 DTM

区块链数字版权管理,区块链赋能知识产权保护

13530558032

电影AI修复,让重温经典有了新的可能

华为云开发者联盟

AI 电影 华为云视频 视频增强 经典

7个月后,GPT-2的“假新闻威胁论”被证明是虚惊一场_AICon_nostalgebraist_InfoQ精选文章