机器之心报道 ) B& d M1 N9 n5 y
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 * R) P) Q) `! L* m6 h3 i' }! i
- z4 c2 s& N' q0 c: C& Z
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。. C/ |6 B' f: {2 H
读者可以在 Google Colab 上访问该模型并生成文本。* \0 n/ J# N, b
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
2 H/ F; U5 b3 {* [& U" @ n S2 _% Y! ], P& m( N7 J/ Q
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX12 k3 F! B) [4 [# o
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。5 M+ P+ [! c/ d+ X+ D- T
2 c/ ~6 @" k, ]5 X; {# O4 Y1 t: f' H* D
复制方法和成本
% E7 c5 C) C# [7 z+ S
& L7 U/ ~, N; p; _. Y* y5 \. m: GOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
+ j' S; A( } H7 ~4 B& A, O5 a& W2 _
o5 M5 E( L$ V6 t至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
% W* Y# W, V( e3 a0 L- j: A4 ^- a& ]3 Q) G. H- r
数据集
/ X! d; B7 V7 p! _3 h* P/ w; ]+ P: R" M$ j" T1 j5 f$ g! i9 f& m
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。' M: O; |& Y6 f* w/ G
2 p. b8 s( u4 f' h) R8 A论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf L% ^) b3 J, Z4 X2 |& a8 f; ~" F& [
- y. |' ` S3 L+ B& E x
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。9 U: c0 R2 Z5 b
}3 n! Y2 R1 b4 W) W3 k( r) I
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。0 S/ ]: K, A2 p/ X
. l, B" P! w4 ?6 l) r
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
. {2 ^, W3 a1 ~% c& e' Y7 W! t4 c/ a( O2 F
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。* }% v- X) P l; W9 l! p" u& ]
2 T: K3 N' g6 x4 ?数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
6 T% H! Y* @) [ i
: T I3 ~0 F; u7 Q% B: s- @在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。- a0 c* a+ ~; I2 P1 m# o6 l
) A; O" z) ?; w% b* h& ^
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
& Y9 |0 c5 d1 A7 d! G' b9 y7 W" J6 g- Q) b' T( o
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。0 _' u+ N7 q% |& @& }+ w
% E. z- Y }6 k; f0 a* U: L
& W9 D/ c1 h0 w9 j' H) I( U效果% z% Y6 _. E o, u0 u# k' A
, ?- f" j' k- I( T% C+ ^1 J
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
* k5 I" A! a# H3 H# v
1 X- h# U+ {( s: ?+ i0 f* b8 O3 ]+ B" X
# Y( a8 ?1 \7 q m5 Y5 I. @
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:! x. t6 Z" H5 z+ ]% a; x1 R( t
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
# S2 s' V3 E+ F E 2 ?( N# M0 ^) i$ E. v
当然,也有人认为 OpenGPT-2 的效果更好:$ t) z4 Z. @& d4 D' ^1 i
- |/ r! Q# R& v7 Q
3 G! B% x* H" k4 O: a
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
; n* \4 g: d p' M& ?! ?/ C% b9 L' g+ [1 e+ J, |
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 ! x; p- S1 a# d: \* }% s
# y, p a0 t3 r6 M, H, \8 F9 D" p6 i- r* I: W% V
4 R2 O" o, S2 |2 z+ ]至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
" z: f1 h% U' I) F
( m$ l& ^. e2 e1 I参考链接:
( Z) F3 r; N. \$ Z
# u2 @: n3 r ?8 N: J" _1 w0 q5 n! @8 e4 p) w# M
# e0 n2 J7 \3 S6 e" \
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
; c. P2 L( z. z2 Zhttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc' F. l1 R! k8 P3 C8 N3 |
2 j* [1 O. {) P! N$ D# S; \" o& R( t3 H- d0 N: W9 \3 x
+ d& B9 _, ]/ M, x$ MWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
4 B( ?8 \% i+ U2 q( y
( c- a3 }8 q8 {: f3 n) S届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 , K! g6 E* C% g6 v4 N# `4 g
点击阅读原文,立即报名。
3 [8 q9 ~7 {" j; p) J8 [
0 j5 ~6 d9 F2 M6 b/ R% c) x4 Z3 J
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
2 j7 F, D% o+ _ `: u1 }免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |