|
机器之心报道
4 \$ p' G B- r参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 ' H$ N F# C* {4 q( W; O
1 e' d/ \; |5 J0 F. ~项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
2 v$ G6 k6 d! h读者可以在 Google Colab 上访问该模型并生成文本。' N" W( d& \" b* h. G
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
3 {3 y7 N1 D$ t+ z' e1 i8 d. q$ s3 r, o2 K
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
+ E; C9 m" V) P1 W+ Q作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。% x: U) _' f8 Q6 j9 B" t# O }, o3 P
% P& ?4 |8 r6 x2 ]4 Q
5 L( r; p9 ^9 y. a, s& R复制方法和成本
9 ^9 v7 s2 n# _) `- }5 ?3 H* g2 k. n
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。* h" b. i2 E0 i* w7 o- y
' `4 x$ G3 W _3 @4 k. {7 ?; W! Q至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。' O: X5 c* t; E" R
' P% J6 y j. K/ `' p数据集. f1 D- W9 g1 ?, ^. `% t; j
6 v1 ?- ] P) s# R" M( XOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。8 g/ W. Q3 s4 g+ d* X# E+ c
; `1 K6 G% r2 D
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
, a L! T+ d) O7 n/ t$ G8 {8 ~/ T! u! ]0 U% p+ P- q; h
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。
7 d; L5 X; S/ U+ L* |5 D* O' O C( J" S
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。1 d0 L8 k7 g9 z" W) h5 i5 o
0 m* y7 A4 b! Y: u) m" o& ~具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。; V8 N; n7 u+ p: @
L) _6 h8 |8 i* L/ j
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。5 I% p7 s" x, @" _( f
5 c0 s5 S$ S. o3 S7 v9 |
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/+ [; H; \9 Z. r( u( B
& _' L0 D% G/ M- @$ D" }
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
6 T5 k# u* e* n6 P- R5 L
2 x- b3 v7 H8 |! g) f* y* Y% _从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。" ~% C: b/ h7 ~7 T0 Q
# F r4 E( k" p& l尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。" Z6 H/ {3 h& q( v
/ w8 b R( `0 S0 d/ a
/ ~) H# }$ }- W% D% U+ Z效果
. o2 ~0 k; _% R9 u( l2 v( I8 p3 n% U) r" x" s. i/ a
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
& q) U( R) N( x' I$ ]1 U3 b7 S' f3 g. l# c, K
$ p# d( M! [: U/ M# m
+ l( b+ S" G7 L0 |9 ireddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
B0 n4 E7 W4 g 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
1 n, g6 g, L* O9 A3 q % Q$ M% }) F( F# J, A" P
当然,也有人认为 OpenGPT-2 的效果更好:
0 O$ f4 S) L& R0 q; X
3 y1 b4 |3 S/ E
1 ^" v3 x0 C% }1 ]- d% m我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。: Q# Y+ d! X5 ^6 h6 k6 h, N; _
- x0 J8 M5 a6 h. u3 q& z% J7 e# ]
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 ' ~* \( n2 {8 p I6 W" L0 W
' D" ]9 I* Y/ L2 ]7 k: Y9 q
+ T& |" G5 V6 c8 A% q3 s
! I8 W7 ~8 x6 ^2 h5 W' [: _7 X" D" |至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。3 U4 z& J. T7 G. u6 h% S! j
% Q0 d8 l& [- |8 U' W参考链接:% j% Z* M. V/ c6 p
6 T7 r; L5 n- Z4 l) Z+ K( B* Q: @( H" x# y6 o2 M# ^
* j; A1 r& r. m2 |" chttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/5 Z) E& E# K' ~( H: m5 S* h# s8 t
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc- v! Q# s+ ~' z6 W! H2 W: D
" ^. z$ w5 l8 C9 u
8 E Q& X% f: p
5 u Y |0 I' K8 C" ]: JWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 8 a7 T+ L! O3 g/ ^& ~
4 ~6 r5 A4 ]# ~% W. T
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 ) y0 r* X# V! M/ _: ^" n% [
点击阅读原文,立即报名。
% m: |/ P& l2 _4 c; G% e1 ?# ~: u# Z: _6 g
" e7 u3 \8 p0 d }1 Q% {
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1& X% v9 b9 G) X; d0 N3 S* d
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |