|
机器之心报道
/ [& O4 ~( R, G' ~" V# j- a参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
+ Z* A3 c6 q6 e \
) p% U3 u) G5 i9 @ F项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。/ T$ s2 R, J7 K3 O& V
读者可以在 Google Colab 上访问该模型并生成文本。3 g% z% q. L$ U# b& i
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit e' V: v; g3 J8 N" a: E9 {
5 F! ^1 v# a" C( _: V% D6 t模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1% S) H4 E) o8 {$ W+ D/ o
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。 ^2 l0 w/ h7 i1 D! ]' i
: a& n6 O+ t G; m
9 \9 C# {% G/ g& a+ r+ a复制方法和成本
8 l' G' l1 n% h: k/ Y+ n3 ]0 U
4 j; j% b7 E5 v) {* JOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
0 r; A$ E q( Q0 ?
( m* `: ?9 I$ ]1 y至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。& w( Z" f1 _$ G w' |0 l3 Q
}1 j4 j1 s) D" q: y$ f6 d
数据集
0 r0 e4 D' n1 w M2 }6 X
( y- Y! j9 p6 v& DOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。& N. ]% J8 h. {' {
8 z7 S& Z5 z) w- `
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf/ K# b6 V5 }! ?; z0 D: y
3 b" d! d |: H
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。2 Z" G ]% F6 P' c: U
3 K j0 @3 s8 N9 j2 H( d4 c
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
6 s% D+ e4 Q; e) |" w% P. s, Z. Z. U6 k O4 P- e; K) X/ n
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
8 Y) t4 L9 m% v& W/ y1 ?
) h0 {0 P; ^, K) v' K9 X作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。% C, J& ]5 p. ]! f1 b# c8 }5 u
' u( `- y5 u5 l6 V" o数据集链接:https://skylion007.github.io/OpenWebTextCorpus/" P# @/ J* b) M
0 y% ?) X& d7 A( D
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。9 \# [* X4 p' X8 a
7 r& [. @) d/ t) ^7 X
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。* P {! a+ W5 C6 j
S* b$ g$ ~- B& F$ v& p尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。3 j: ~, I( @0 S) H4 ~
( z5 R9 S* u6 r
$ \& M. E+ [8 s, i
效果
) P! e8 D) ]/ Y# ~) _
- K( K+ s- ~8 n3 s: r1 D+ V: L1 p两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:1 A* U" X+ R) C; `, I; w
' c& `& [( k4 s! M
% b) l1 }+ n5 i6 C% Q8 E/ V- M9 [, u( u: n
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:8 M! B X. |; o0 n0 g! c
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
! z u5 `( F+ [- t7 N; b- u: t8 l* j
9 ^: J- q" n1 t( q" o& f$ M9 S当然,也有人认为 OpenGPT-2 的效果更好:
4 V" i- N; `+ b; |3 O
/ |% s+ w# _ w4 d
) I. M( @) D- u) {我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
6 T3 y) ?) t# E a0 J7 l
1 w2 X, s" U- S6 X1 L但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 / v" m9 p( N5 R; v
% J5 p2 E2 B# }7 |7 t% r/ e0 d
+ J- T4 ~! l& ]1 v6 F( X! H4 R& r l& f1 x& c& k. T1 B9 X
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。8 t. @1 c( |& R7 ]2 \0 a$ E8 I( t9 G$ V
7 H( W! L6 d: B. u参考链接:( U' |, _5 P+ n
! V* E# E4 I; A! V, e! b9 X% l- {: Q% Q5 n
9 e& i+ M9 i. whttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
# `5 L3 Q6 e3 Q3 `3 M- b5 Chttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc7 D* q' {7 _4 A+ W' K- K
' g% H! T) t: ]) h P
9 k8 D) O+ y z5 }- V) S
1 F6 [- t' J! t VWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
0 L0 I# F0 @7 n* T* j- T" l+ w; A6 G : m2 F, d, Z% ]7 c9 V7 p, m
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 5 m" e" J X4 v `
点击阅读原文,立即报名。 $ d( H% S; a D
, ~- ?% t7 ^& B1 U) t) D! t
7 z1 l; s( U0 v' E来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
' s# g4 o0 B# [( Z* \5 t; F免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |