|
机器之心报道
& ^2 e" f0 Y& J9 l7 x+ B7 }% j- g参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 " A, {1 L8 G& o( t
S1 \+ D, j& @- A
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。$ S0 W$ K$ N: [1 @' t! B: ^2 ~
读者可以在 Google Colab 上访问该模型并生成文本。
+ D) A+ ^8 T* V+ A7 a' cGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
; o/ [0 L, ]7 P5 }& r6 x3 }, o8 k+ A. l( e# ?
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
% M% A2 w- M$ X% G7 K' I! L7 c& a作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
( z0 o1 E* O4 t- \6 ]( T% ~$ ~2 ^8 f ?) K& F& }. ~) W( H
/ g/ C* ]$ B! `2 j* J# A
复制方法和成本
; t3 N( a* m/ [+ s, Q
. M( q; U1 h/ Y9 O9 |: HOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
( `7 ]) g* o% x& L3 g* B' y! |& N l
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
c9 R. c8 U3 R0 A$ \5 S) G$ b* ]; h- _0 A6 y
数据集
* H* L% Y& g8 M0 j, W U K1 ^3 d6 ?4 T# L/ j1 e, Z
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。3 ?" p" ?( V. a7 b; @- F
# R* B1 a4 _0 e3 N# m- k
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
- n3 p1 P, v7 w/ q1 P
8 z6 |- E9 o1 ^$ N如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。
- s1 I( a# ]: R1 P9 U& P. T4 w
5 ^% b/ ~# P& Q: L" o: p% {此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
+ R( r1 u7 R. Q8 q7 F
$ W. V. q! I6 w$ f; k! x1 O- n具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。5 _, x& m7 @# x- ^
( f& \( K/ |4 A( D: m) @; f
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。% D$ s+ S+ W3 h
5 t( k& c2 x+ h+ T9 ^& ]数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
3 Z, _ u! V. L
: r1 l, B0 q$ |在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
+ M- \: w% w4 I i5 \. |0 q& J9 q1 }* T
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。; `* {: z* `& d0 T- x
, E" o0 p% c( p
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。1 Z* u- l- H0 l# }4 H$ X3 }
( L. R% z& r4 [
) u2 ?3 L+ s, {1 b* }
效果( P7 W& K! E; I6 g8 B( ]( n/ e
' m9 D' M Q" s. f6 T* [, M5 k; R) e两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
4 {" R8 G- K5 a; `; q& E! X
2 ]# l5 a4 y4 ?
l% A8 ]2 D4 `- ~& m
" h) D3 S9 P" ~5 V% ?& a z: O6 ireddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
# g8 C3 t6 o% b7 z! l5 P 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
5 H! q, m a# i. c2 c 7 H! b; x7 R7 P% C2 ^' N
当然,也有人认为 OpenGPT-2 的效果更好:
( g; t1 C# U; V1 I' d
- \: e9 w4 {- j% } I
6 J, L* J' ?/ P9 _3 ?5 l! T; h- w我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。$ X& {% G& m8 f& p H
3 E* d/ q: Y! k& I! i. y
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 1 T4 g) G0 r" q
" n5 K$ R# i4 h, E1 d; j' N
$ T. y, Y; w6 `7 _
2 `" [* q7 x- a4 c3 k至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。' M; m% W# `# r& l# c- i
4 l8 o% Q* B* S" E9 H7 y0 G
参考链接:
; v' E; o! Y3 t8 r: f6 n0 Y/ K
$ S1 t$ i8 z/ t+ p. ]: h, E J3 q! Z
, X' s5 q. V7 Q
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
; t) B" a. w1 V' W3 q( Ghttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc8 @1 D# ^) e, N% ~7 f) g u
# q) G/ }& i. }. G% G7 o0 W
; @; X+ X! V' @$ s% q6 C
+ z- Q9 e) c5 L& j6 y6 f+ @4 OWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 . X" l% F) \4 w- c5 b8 F5 k# X
; Y. a' @4 N ~8 W3 ?0 ?3 M. e0 y
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
2 X) B$ r, q7 h0 F: h* T1 x0 o点击阅读原文,立即报名。
- h3 u! E A' _ ^; C4 p! }+ N. o- N) {4 G3 {7 Y
1 W; }- |& N' u9 g2 A, \来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
# b; h6 j* M3 Q. [5 P) I免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |