|
机器之心报道 C) j0 S' k1 c' a
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
- a) a) M& V$ p. ~$ t
; f1 J9 R4 q$ ]) A项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。4 b3 F+ x( ~# d2 G1 q: I5 I
读者可以在 Google Colab 上访问该模型并生成文本。5 e u+ u" [1 g1 R/ O7 y
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
8 \; i# H4 k/ A r+ R* \) _# r' |* |$ S# T5 O
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
% Q6 V4 l2 V5 ?: p( n3 s$ v作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
! [; B; Q5 ?9 O8 l8 }& F; b
" }; A$ c/ l* E0 A$ j B. o+ [- c- {
复制方法和成本
3 O0 U) C: j1 {; r1 {
' i1 n. U+ X% A! i( bOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。1 f' W. [5 h* R
u% L6 M# w2 ~! K* _ {6 E
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
! t' S8 _0 j% U/ z" x4 f- N5 B& {! G5 X( K
数据集
6 x' T% ]9 `, `% Y2 Y, o ? q
5 i+ p H+ z* Q5 Y# A( E' hOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
; H+ ?* u" H( B) q. K
" E( b% R, v2 {8 K% x& `( \# Y9 S论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
6 {: q- I. V2 \ T7 b. N
0 L) N& R2 M$ H( Z0 Q" b如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。$ O$ C5 G, [6 v5 F9 }* u
7 g4 N y6 {' N. F/ q3 }$ S' B此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。( K+ @" _# M4 K `2 ^# ?$ O& z
9 p. H3 J& t i2 Z具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
' S0 [/ U3 E5 U/ U3 ?% d& s7 L! `# C4 C8 D
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
# j7 M* H$ U- ^" v$ Z5 e
7 R& P+ P# Z+ l' }数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
+ o! E+ p3 ~3 ~; D9 ^4 p. @" o" l8 x V2 L3 N- p
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。; J4 { n1 f+ A7 l% s
1 B: d- e! J b2 U$ `8 E
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
9 ]4 K! z; B% Q( g! V1 U2 H+ N6 d, \) j( M: t
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。" v0 X& b" @2 q8 m1 U$ } K/ f
- W8 M% t$ W4 g4 d% L1 w9 m ]# `
1 d! Z9 m1 e& J5 d: P) B; e效果& F, \5 U8 Y6 P: _$ f5 `3 B
: L/ g7 {8 d$ W$ D+ Q% b2 b
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
! |) i6 X9 [5 B/ B# ~2 L* [5 w0 A9 X2 G$ y2 k5 A
{7 J9 w+ v, N% a7 P" ^# m: q* \7 t
. L: ?$ R0 z+ E5 f% e* c) f
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:$ |; a& X; y* P3 V# ?
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 " _% H) C7 F( s" J
" P! s6 Y' v, `9 i+ U' q
当然,也有人认为 OpenGPT-2 的效果更好:
9 F7 [3 ~5 W# y5 D3 U3 j3 n9 e' X' \$ }; q
( ~1 M" W8 C# @* \. [7 J
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。9 V# V- Y' F- P
/ {, S9 q: M: Z, f2 e1 x4 O6 k* q2 m但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 3 A' m! n& h+ F& T8 E
e( H' a* j. g+ N8 F. q
+ ]% u# Y$ f1 ^: `! G, H1 x2 t, g
7 u! w# k( R$ o) Y: b s至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
- @$ M3 q& j) g: z! l' q
5 B M1 b" [9 K7 c+ Q参考链接:. a- U( c) B' ~: Z( Q5 u
, W. g3 {) n- e5 Q0 q- g
* U' N: N ?0 g+ y. J, b1 J
* f3 }. o! j/ fhttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
8 v$ a: z* E P- f+ Qhttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
9 Y5 u2 _+ A# }% ~
' U* L' e5 G) L6 O6 ^& l" v7 v, C
9 V4 _# [' ^2 O7 j s4 X9 K7 t; m# X9 w0 ]& U5 r* E" b( g
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
+ M0 G. J' m+ p8 [( y
' `0 m8 f9 P* \* k/ ]2 A届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 * f0 X! E. z! r3 X
点击阅读原文,立即报名。
- ^$ l1 J0 s8 o9 K+ l
8 R5 x& j) U# b4 ~% |$ G" F
# C& [/ Y! i( }6 e a0 G5 M$ m& M来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
c) @" J4 D/ K免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |