|
机器之心报道
2 E* s% w! K9 B' k参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 3 n+ }4 M# L) E) S! {; t' N/ k# h
L1 @+ g# H& A4 Q2 n
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。1 K0 t3 e) r( V& F* P
读者可以在 Google Colab 上访问该模型并生成文本。
+ Q8 \. |# s' y3 U3 j$ KGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
, }: y" E9 k. Z
9 P! e# i5 y7 o7 e模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1' \, d& M8 ~3 l/ k
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。+ T6 \8 w$ ]5 u( n5 q' m1 c
! ^- K& U/ S$ t' u" c! R
- \2 m, T- g, i. m! W
复制方法和成本6 L" n5 \5 i1 X q8 y, z
( G; Y# j1 F3 x |9 _OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
6 J! V& P- C9 j8 Y
- R: j1 ^. h9 N2 l6 F0 t- s至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
$ {, F5 h J4 ~; P* f) I& V/ Y2 h2 e O9 `1 f. G' x* \. C! H
数据集
! E" _/ V! n! M5 H5 x8 }2 G& `" z" |$ f
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
( s9 L% H- R0 A( ~6 o& G1 S1 Q- P7 Z( _: v0 B( o$ g4 n; q1 ~4 b
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf$ W$ d2 k! @4 v4 U
' m' j% {# t3 P' ^如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。( g( ^$ d1 Z6 [; G
: y0 G- S0 O/ O7 @! f2 h7 i# B# y此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
4 Q. a* \ \% Q% q2 k1 s$ m; b% C4 c6 g6 [2 o
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。6 W# m6 c- z9 o
7 k$ o7 j( a+ t2 _: K' k0 |$ Y# p
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。( |* ~: @* P F1 ]" I! T# f6 Z
, s5 ?* D$ S9 K3 C9 l数据集链接:https://skylion007.github.io/OpenWebTextCorpus/- r" t$ Y3 ? z/ ^
% p0 Y3 y5 X% W4 M8 ]. o% C+ p) W在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
, j2 E/ m$ j( n4 ^+ g3 K7 Y% y- j4 l& u" [! C$ K
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。# @ R% ?' F9 q% L5 {& I0 e! |
( D+ S! V; e0 Q1 S; N尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
* }( m6 [2 ], n/ T0 |6 {! \1 X, F5 Y! P' u; @/ ]
9 m9 I# `+ }8 l7 A( J' I效果
/ Z5 D& u3 ^6 h( j5 M6 G& X5 Q9 l0 B; W1 q2 \6 z3 k
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
+ ^# }0 _/ j: ^! h) Q0 X) {6 x: l8 V$ `% ~
' G2 d$ H1 s- Q* g; S
% k9 u7 d2 b. c# Nreddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:* b/ @, X5 s' Z# v; E2 l3 E
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
1 |/ N/ D. E. |, d# f; C
- H7 l. l$ _1 C. e. Q当然,也有人认为 OpenGPT-2 的效果更好:
' r; e, [% Y2 b
3 g n+ B7 R7 k* T& M' n6 R% ~ a- U) o6 r6 U
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
! \5 E! ^& L/ _! P2 d3 j3 I2 y
/ A3 s& q! t/ o1 M但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
F" `% k7 s# n" }
- O! |' S! \& e8 {$ \; E' u5 g! Y
2 s- q* z. ] {0 x至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。$ {7 _: m% B" B( [) s/ c3 o; g- C
7 |7 n8 f i3 O7 B
参考链接:
2 K+ V4 i& l5 n2 m2 D9 ^! T% Z1 `+ K6 t! Q! `' C b/ R
9 f3 x u: C0 u( L5 ]! |7 w
+ ~! X( x8 |7 ^7 [. C) ohttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
5 ]3 r4 s% e3 x c4 b8 Mhttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
: O @& }: H% G" c$ Y# t3 h# v+ \7 |1 d+ o
; n1 S9 w: P( @- ?& a
5 X3 x5 [# Q% y5 E JWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 , o# d( S! v% t, C3 @2 |9 o( ?& L( f
' m* c5 Q: Q* Q5 Q5 h0 h4 K$ A届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
2 B/ |( Y4 e3 q2 e+ e5 u点击阅读原文,立即报名。 3 b; X* \- j& e8 B1 F
9 U% [& g/ s5 H: b& x _7 _/ F$ \) F- }$ k/ g
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
" Z% q- m0 L4 i! i" r: f8 M- k% p免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |