|
机器之心报道 ; ^- i- H0 c. @7 T2 H
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
3 N* N' G% d. d/ y k, M7 H
% `! s" q1 d v( f& H1 [项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
, T* Z6 G, K' s8 j' o读者可以在 Google Colab 上访问该模型并生成文本。
. x% G, x! M# }8 w+ z1 C YGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
6 L/ K) E0 z9 U% ~; M/ @2 s6 U3 `8 Z9 g; d$ K
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
; h6 }+ e% q7 g g* i2 d; x作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。6 e# l% v }* h, u
+ u$ G' F( {6 V0 C
: x' B- \0 g" h2 {- w复制方法和成本" ]3 W9 V" e0 t2 ^7 g' b& o- @
# A I) m5 V BOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。$ m, n5 u8 s$ Z% m! }2 d
$ M# _/ P3 g& q# @" j1 l至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。) v# I+ l! ~ X% V4 @& F8 j5 ?
1 R- F" o% q! z
数据集
1 n/ P) b' U; ?# K @4 b- x' Z
* R/ H" X% ]# @. C$ n8 Y* ?OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。6 m5 W/ T8 y h4 @' g
; v7 C2 p* V9 t. y+ o
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
U8 B( S( W7 K# R& K! R) F1 ?& q" t2 t' X' f q
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。! }* E! m6 L8 M* _# C1 f6 t
% g; L$ o- ]+ N9 e- e5 {
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。- q" F, ?0 B" G2 t# P- r$ @
8 z( E! X U [% i) C/ U, r( L" U具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。) ^' M+ a* W1 l' n
+ a/ f( i% Y8 K" f: o( \+ p' x
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。+ |/ C/ x6 Z3 U) J# c/ E
: E/ a# c( U" k1 W数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
3 n+ r2 {% W9 v- M/ M) |% N) w) I7 w* L6 n$ \& S5 d% O
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
' W3 ], t" a4 [) _3 f( \: U9 \5 d$ G3 Z* f
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
& ^0 [/ Z; K$ s1 ^7 p& D8 m1 v/ w1 W2 z6 e9 J' c
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
5 C4 y. Q( J# p1 p! _3 I8 V) Q4 g- J; k! q# l7 m
0 d3 \% y+ i" U9 c4 W: G0 U+ Y效果4 Q8 a; A1 x& k# n ?% G3 H* P
3 }/ ^. o: F! I# R5 d$ D! e+ u( m8 |0 w
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:0 n- ]( A* u" X7 E' T2 Y1 Y
3 T1 L/ U' ^2 J8 z' o, n
9 t% S; J( w* `; B0 G9 I4 R8 ?' e# g1 }8 o r# g: s; E
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
- ?/ [. ^ c. Z% e 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
: ^+ }- ~9 {4 f1 x% O+ v& w' w
( G; g* B+ Y8 t" A- y( T0 k当然,也有人认为 OpenGPT-2 的效果更好:' R8 R& ?2 S! z E+ ?) M! q6 d; S
c h! Y' ] R+ N) J9 f0 Y+ K) G
) Y7 Q0 K( G5 Z+ Z G
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。7 K! S: v- |6 q4 [
) L, }: J" a a- o& }
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 ' I/ u# w v' S7 m
9 ~, F( O, u) G) c3 [
' C; `9 C) c3 x
8 P( q. r. v4 U4 J' [. O至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。, x6 f+ s1 t/ j+ ?
1 [! ?7 r% z6 V" G2 k7 n' Y5 K7 _# g% H
参考链接:( v% i5 ]6 y6 I" U9 \0 X
# \' h9 @: j0 F0 X
! h" ~% Y6 v Y5 T( ^! o# \) c! w, c
4 [- m% [ z- ]https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
8 d6 f( O* P( g. Phttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
. I* O) r* k' c7 l! D) o' _8 e! G0 ?6 Q+ ^
: `; r1 Y8 H/ w+ A# J' K# A8 S
: d& b- d- u! p6 P1 _' B( aWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
* ^. J/ ?0 z8 i( e' n1 a/ Z
! L" F/ s; ]5 I p6 H& M届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 . j/ O9 }/ O: v, C& m7 U6 {
点击阅读原文,立即报名。
* }8 @$ j& h' k- \; N# j
# K- m1 B! u4 A; @& j1 f0 c5 b! P7 U' }0 \/ d
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=11 I* r3 O- p1 h- Z
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |