|
机器之心报道 ' j: i- q# T9 T! w. U. S7 _6 P% t
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
8 ^! V0 x& g0 b" y
1 o! A3 W; D! T* k3 b- C4 H项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。" ^) S+ [) K" o$ E, i4 U8 q
读者可以在 Google Colab 上访问该模型并生成文本。1 m h& ?& M' e. \& M2 N
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit5 v: T% a) {% p& M# j1 e/ x; _3 T
6 X( H0 [( v3 U; a, C
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1% ]2 I. S( b$ i) c, r
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。5 p: n) j5 T- Y& B0 V7 r
2 I) o+ c0 k2 L+ `0 f
, e3 H3 T) I' O6 K# y( m1 h
复制方法和成本% t3 T7 L. n9 w( P: Q6 N
4 B) ^! `# D7 ], bOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。' [7 B( }" ?, `, b$ F1 c
( E+ ]& H6 Q& V+ F" C
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
5 M8 D/ \+ D4 j5 Z% {" @" _" ^. b1 c, @( a
数据集
9 D/ o4 j0 ^) B8 T r/ {
# z9 E: P4 e! c' `. nOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。. X/ W. C. P5 Y) y" }: B$ \
8 m' \& q4 G. z. ]+ C+ Z论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf5 t: f. n+ X- |% g. {7 ^) q o0 {+ k# j
0 c- ^3 x9 O9 ^# B如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。$ Z/ q3 u3 p% O- K2 v
/ T w& X9 W; m2 l* c" W4 O; n此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
: L6 ?: R6 C2 U1 @8 `7 Z( _, `, {& p) i" F* x% K' S
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
* S6 G! P7 @; _ h1 J- w/ F0 U' Q( V8 v# H6 J- c- c
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
- ~- U# n% x- @: y( F- d5 S. }% \+ X7 Q# x$ k* |1 i3 W- c# ]$ Q
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/: m9 \: [% L1 d0 F" A, a
6 ? c- _6 @# e8 n& V7 w4 Z在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。: W- \9 |* r9 S6 [$ @
2 H/ J* X7 S; c* c从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。+ e3 ?7 p/ U% Q0 U5 w
) Z/ Z) b3 ~/ a% j: @. w
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。1 x" C: Y9 X* o6 b
- F* m5 B1 _% A; z
8 m q5 a+ Q' f1 p5 c效果
9 D; u) A% q& n2 q5 L
- X4 U* V) b! `) ~两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
W! q' Z. u- S# D; }2 d1 R2 A, _ e
. q' e* t/ p2 M. W- D2 S0 K' @+ ], ~( |+ n4 G6 z
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:5 u2 t, l0 }' d+ q; o O' }
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 # c* X2 x" i& f& d, E7 ?; J
( l+ y( m/ F9 J% A当然,也有人认为 OpenGPT-2 的效果更好:5 @; _2 d5 |* q. d0 e
6 p& @$ l+ c4 l6 Z/ h( j) Z1 Z
0 I' r3 M& m' t8 j, V C! |我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。# y! e$ c$ B0 @ h/ s1 _* [5 v1 |
6 Y% \* `# _! V- M: |
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
) \4 }+ T; p8 H( m; J) u, d/ C( \, z/ \2 l/ f
) U( _5 r3 l* J1 q
4 R; ^ x1 B1 c/ ]$ B7 G
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
/ h! B. Q' S. {' z1 W+ P P) a3 `) k$ k- @3 v) i2 c
参考链接:
" S3 ? }/ d2 @" L% a
{6 A0 d. P) ~# ~, E. s, i
$ R9 |# m; D% C7 u
2 e! K" Y) Y+ _+ ahttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/6 I* H X4 G/ c' w
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc5 b A* \0 e0 i; S
Z* J) t: R: u+ ?+ \# M0 w& K! [! w' _" f( ^
5 p! j) n2 l' p# m5 L+ @' pWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
6 P# g/ d$ E' `: o5 j
6 @5 [% T6 @& n- V届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 ) j/ x2 h" a9 T$ h7 V" c* X
点击阅读原文,立即报名。 # l9 P n m2 F/ L0 S: x
V3 C( o; i) c5 S+ J
, g! r: o; ? C1 A' n来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
& H6 K% D& {- P5 K- g免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |