写点什么

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 的效果也绝没那么夸张)。


2019-09-11 08:003163

评论 1 条评论

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

前端react面试题(边面边更)

beifeng1996

React

OKR之剑·理念篇04:让OKR轻松上阵

vivo互联网技术

团队管理 OKR

SAP CAP 项目 cds watch 生成的 index.html 的模板位置和权限控制

汪子熙

云原生 CAP Cloud SAP 10月月更

全能型选手——华为云数据库GaussDB(for MySQL)

清欢科技

二进制之间的加减乘除运算

甜点cc

学习笔记 计算机 二进制 10月月更

基于OneNet平台设计的多节点温度采集系统-有人云4G模块+STM32

DS小龙哥

10月月更

Java | Scanner关键字、random 关键字、System类和匿名函数

陌上

Java、 编程、 10月月更

快递单信息抽取【三】--五条标注数据提高准确率,仅需五条标注样本,快速完成快递单信息任务

汀丶人工智能

nlp 知识图谱 关系抽取 事件抽取 命名实体识别

百度工程师教你玩转设计模式(适配器模式)

百度Geek说

Java 设计模式 适配器模式 企业号十月 PK 榜

安全沙箱隔离企业风险

Geek_99967b

小程序

Redis数据结构(二)-List、Hash、Set及Sorted Set的结构实现

京东科技开发者

数据库 redis List 数据结构 hash

python爬取csdn个人首页信息以及博客

木偶

Python 爬虫 10月月更

React源码分析7-state计算流程和优先级

goClient1992

React

Arctic 基于 Hive 的流批一体实践

网易数帆

hive iceberg LakeHouse Arctic 企业号十月 PK 榜

Hash Map源码分析(八)

知识浅谈

hashmap 10月月更

React源码分析8-状态更新的优先级机制

goClient1992

React

跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效

华为云开发者联盟

Python 华为云 图像处理 企业号十月 PK 榜

2022机械设备行业ERP系统十大品牌排行榜

叶落便知秋

轻量级的隔离技术:安全沙箱

Geek_99967b

小程序

Java基础 | 常量、数据类型、变量、类型转换、运算符

陌上

Java、 代码 10月月更

Java | 面向对象

陌上

Java、 编程、 10月月更

手写一个Redux,深入理解其原理-面试进阶

beifeng1996

React

「经验汇总」基于TDengine的时序数据解决方案

TDengine

数据库 tdengine 时序数据库

MobTech 修改已审核通过的秒验产品信息

MobTech袤博科技

开发者 sdk 秒验 手机验证码认证

你是如何使用React高阶组件的?

beifeng1996

React

HarmonyOS 3首批正式版开始推送

Geek_2d6073

AntDB-M设计之CheckPoint

亚信AntDB数据库

AntDB aisware antdb AntDB数据库 企业号十月PK榜 企业号十月 PK 榜

实用性强更安全,后悔没早用华为云

清欢科技

华为云,安全创新的云服务标杆,助力企业数字化转型

爱科技的水月

数据安全不容忽视,华为云网站安全为企业保驾护航

爱科技的水月

final、finally、 finalize 有什么不同?

共饮一杯无

Java final 10月月更

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