|
机器之心报道 . c6 j, C6 J/ ~1 l* d! G& u
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 - F% ` @0 v# D( f1 Z
: C6 G# q1 Y. l& F! r项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。% y: q9 A$ ]6 B7 B5 f( F8 H
读者可以在 Google Colab 上访问该模型并生成文本。
2 `) }" E% K$ G( U9 H" C5 m0 VGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit5 e' g2 i! r% P- G: O( O7 x, y
/ |( e( z$ Z- F; P0 S模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1) D9 A; W3 q- U2 ]) r3 k& O
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
( X9 g8 ]) l M' D% E& g# r
, u8 p7 U! o S0 j( r+ V& t* b/ E! _+ v9 e! N, R5 ^7 U* [1 @
复制方法和成本
0 K2 {- Y1 _4 J" H- w( S6 f% g& c* Z) n1 U+ V/ z3 ? G: V
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
5 b' _; ^. I9 N) i8 d! D3 |9 R; D }, g+ w3 b! X* N
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。- v8 o4 D! Y; l0 T, R S
+ a0 {* p0 H, p" F
数据集2 z5 {1 q- k4 a& a5 ]9 J
3 ^6 X! }+ Y( b$ W8 f, v" w4 f
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
( b$ h2 `5 E' d) v" h8 E* W
+ J4 l/ L) I$ f5 R% `论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf3 Q3 T/ i+ D( M' z1 n+ Q8 \+ m
0 |8 y$ C9 D+ r7 U9 W
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。
4 n1 I" k8 b# }9 h7 ]& ]+ z1 |
; V1 n; q5 V! [; t' D1 o% B此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
" H; E7 C* S A# o7 D
! y: ^( O0 ?# S. Y* I, q N; V0 j具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
6 a! A' {0 `; f/ g- \! Y+ T/ f# n# s6 h$ H. D
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
/ Q" X+ b0 V3 v
2 R/ i& ^; v- ]. u3 T) C- U数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
2 q' a- `8 P3 g4 V* p }! O7 m) I" Q+ x$ n9 `
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。6 S6 m% o, {( }( [: o y; ]
9 ^+ p2 q! H$ Z
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
) S) x7 W0 B6 S5 Q, Y- y7 Y+ u% u9 h
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
4 ~( m! @4 Q+ T+ b+ {6 _2 q. g' q0 w/ O& m4 F5 H
& j( ]( T* g4 a/ U1 a& |- W2 J
效果/ y$ y0 k: q% K* P/ d3 J+ s& N
9 \$ Z2 a3 Y6 U两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
l, x& l7 M( Y. {% k' C% A
9 q& v3 {/ h2 Z$ A, q D3 j4 A5 H% Y
$ h% X: [; u2 r! Q. J) wreddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
# P8 x" o6 ?5 C- q; n 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
( q! e' r* M4 f% t. D # ~8 C+ Z5 k) G/ [. u f
当然,也有人认为 OpenGPT-2 的效果更好:
K0 r5 L* a8 U/ W+ c
% x, `7 @; ^% r7 o% L R
T% u; _# f) ^我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。5 F: M3 \" q0 B
. n2 [" c. B3 a+ S9 v
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
, Q9 Y4 t8 v6 K5 x. l0 J6 |* ^ r1 m+ f& b! p$ s h" a
! D( C$ s9 s) f W& j
; a6 F1 a$ ^0 G4 X至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。8 A" S f- ^5 n5 @: P. h! z
0 K& q7 n" k9 L& R& P3 w. [
参考链接:5 M7 v: M s! F2 a3 V, G* L5 n
1 }- e% D# U# V2 `( x6 G
6 [3 H1 }" H: [0 H: \, \8 c( J
$ [3 ?0 x1 m# bhttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
7 a. r' p8 _% jhttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc4 X5 L( u: v% w4 T- ~, h
' {8 n- a) @( S* m' v1 _' I6 S
- l3 m( S0 p3 e$ H z& i" }
! S0 v7 W6 Y5 m% i. Z: V$ IWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
$ Z% A0 A" X+ |. j: I1 ]2 a
) I% l: Q/ h' @7 G+ S6 n届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
( L' R4 B+ D8 d: V* u0 u点击阅读原文,立即报名。
: \$ [5 \7 ?6 @/ y. _! }1 f; ^; A# ^' k; g+ k5 e
/ Z; I" d( v$ ^! x" u. N' C6 F- {来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1/ X4 A, ?) t4 L4 `7 z
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |