|
机器之心报道 . z7 A" |; L& h; s: c6 X. ~* E. h" y+ R
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 ]! h/ I1 ]7 U' R
. X. R0 X- U6 E项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
8 F2 Z1 w( R7 L7 K2 A3 o- I6 B b读者可以在 Google Colab 上访问该模型并生成文本。
: p* X; D' c: \: r- P) k6 dGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit7 c2 a; t$ J; X4 @; c2 d g
0 T/ F2 P9 K. ~
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
3 F0 ^3 r+ a. I) j, O4 r, s8 A作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
* n/ q) e. Y" n2 i3 o, F* \
- b- w' e# |& t) `/ C2 _) H1 l, W4 x( N# k
复制方法和成本
* z8 j2 s4 y5 q5 _* O9 g
7 k/ o+ o7 } \5 I7 W" MOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。0 z% k, \9 h+ n r5 Q% E! G& w
; h p( g$ Y' o5 Z& |至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。0 }* ?6 E6 n, @0 N8 A) a( i
~# @( n# K- m! J( E
数据集3 J9 m( U7 B1 F
" {: }3 n& d& B! ?/ k* B" dOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
4 z+ ^+ y& H Q7 b( w% j$ f/ W
; O7 ?+ K2 s6 U2 d8 e论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf- O! c: s% H+ a
& [) n( s0 X( _, O! k, O+ \
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。# }: h' D2 j5 Q1 q
1 H2 S9 H9 X* z# `) G! y6 J
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
+ @. L/ X; ]5 {2 i/ _2 W) G, H* P
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。% o4 p8 y6 x# `7 } {- `
0 F0 O1 I/ W3 ]作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
4 o* c+ e U3 R6 n- |4 g+ _' s0 l. `3 ]* u4 d# w! i4 k* m7 p
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
7 P5 a) S. o+ H' A; J( a
Q' D* b0 l/ k" E! [在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
- M; k" y5 V* u" ^& Q) S( L- [" O9 Y
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。' F, }; W8 S% `/ s2 |
+ W7 X+ l3 N8 ` M% t h- B& f; v; W
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。) ?$ R d) @! A. N. w- f
4 U, \- e' M9 q+ [0 O( j
1 m7 B ?% B3 W2 U效果0 ^% [0 X% K$ K# Q) `# C! t
& I+ [) x% i; q: f
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
% j/ o4 V* ?- X- J
! O7 ^' `1 C/ E2 r: P# ]. ~
" K+ ^7 Z( U: \7 o, O3 J! a" C) [/ f. [0 J0 |( S& R7 o T
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:- `5 Y7 }6 t- p1 w8 f' ~$ l! A
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
V, U2 z- F& L8 s# `" [( ~. d ; P% T( J! O4 y7 Q& ^. V
当然,也有人认为 OpenGPT-2 的效果更好:
5 `0 v& y$ T3 m2 j5 `
N2 x; W, p! v& @' J& r) e* ?) E5 S0 H9 Z5 d) [
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
+ U8 H, `$ j0 l; c6 G% H. f
6 `* w9 b/ P& Q+ m但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
- ^1 r1 n% A l C/ t2 j
1 Z( F: Z* ^: `4 c7 X: R
$ z; v! O' Q i8 ~) U6 i M
8 w2 H5 l$ a' Y, I) K1 u. N至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
; t) F9 f0 T+ g; O! M& \+ C0 x, V2 z
参考链接:( s1 k+ T1 Q) p$ ]( ?+ _( ]6 Y0 ]
9 i9 O) |4 |1 H+ F
% S7 u3 m( j) ]
6 ?6 J' Z' u( \# e- mhttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
( T8 m. o3 W0 r$ E# }9 Ihttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
% ?* ~7 [6 }6 u' S- ~" s) h! L6 M( H9 w$ V6 P- Q6 n+ @" ~; C
' G; q% C8 D* F% P% A, V2 ^6 g( o; ]( D) {
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 8 H7 `7 E2 H. R x
0 k9 N3 c8 a6 a3 ]+ z8 q( H
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 0 M9 d+ N2 a- }# P
点击阅读原文,立即报名。 ( A, D0 v4 c. F- y8 p5 X9 N
$ P z* T3 Q6 ?& a x4 i1 f8 C% l: F1 o2 _$ U* v+ ~
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
' e1 v: ~$ F. U4 K i/ m免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |