|
机器之心报道 & L0 T& G* E H* s2 `. M. ^# W( k: S
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 $ ?- O# k+ S" a$ D2 I* W s! F3 u
( S% Z0 `& V! V& F& d! @
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
' k9 a7 c- C3 _: H8 y; V( D& A读者可以在 Google Colab 上访问该模型并生成文本。: { A+ v$ X8 f6 e, |
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
: y/ K" C% \5 X$ b' q4 N% Q5 N! O" w9 F; ?
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1+ A& o2 f0 R/ g! a5 z L
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。, G" o _8 N0 {6 E1 h$ f
3 T" Z1 m( @5 d4 y, g2 |1 S7 a
2 e2 m- Y# A. ^/ G复制方法和成本
+ o& b, H3 C+ K! X' g
$ L7 a" c! `8 ?' M$ p. k" L) ]OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。. @7 _2 r" U: }% ~
. h) G2 `3 g- C0 n, u4 _
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
5 |; v: s* M0 C; E6 g; X2 N* l# Z8 x' n( Y5 C4 u8 D8 W9 i
数据集
" g+ P( ^9 u* v
# y, d- D: ]/ c3 |OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
' e# {" ^; o( u' A, ]5 ?" `7 S: {" e$ N& y4 [% G7 h
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
5 \1 V5 y+ b3 F/ ?0 k) H8 K6 H8 n
2 x1 b6 h2 k, [3 z7 @; a/ o! y E如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。5 L: H, ~; U, {' b! Z9 `
; W( E3 C1 Y( i( `( A此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
) E1 i. A @! ]* f# N9 |) a7 I
0 t- L2 W* C2 p& V4 P8 I具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
$ d+ X0 ^' Q; E9 S
- G% S" K0 E) }8 S. [( ?+ c: r: R( _作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
. {1 Z# {* L9 T' }3 B5 @1 }5 R% S. ~2 ]9 F/ J$ t
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/ g. L/ p, z5 O, R+ B
$ q3 j! K& C! I# h4 v& o8 A
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
- Y" V' d' K' K6 F0 r& u) f+ Y) q! s" ?- i
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。! E1 O$ x. j. E" h, u: J/ v
$ z9 a& O+ H2 d4 q$ M' N* E |% N
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。0 M6 g$ N8 c5 f, w. f9 b
* [& ^0 {! L' G% `/ a
" o3 f* ~3 A1 W* I: B% d效果0 e1 l* B+ v, l/ w
2 I7 E# o+ I7 L5 ^
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:, B% {5 Q/ U4 F6 F
' K9 n) b7 u0 J) @( D" m- f& u" l
3 A: \8 T! z, n0 O) y6 J5 g/ y
/ v( j$ D7 W7 D
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
/ X. \* B4 j B 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
$ |9 F, c- O& c/ u" G6 ~ p# s% }& K- N9 {8 _
当然,也有人认为 OpenGPT-2 的效果更好:
: Q5 l3 a2 a) G) \6 x% ]# ^9 o9 v2 j9 Z1 b1 H" } K
9 F9 B3 _5 H4 M/ R
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
$ m6 i, A8 Z# q/ d* e' W6 g3 f
" N* t7 T9 `, }' B但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 + V# m |0 |/ r) e, F: P
) \; N- E) }3 G* q3 C/ t
$ d0 a6 v; Y9 q% I6 n& t, s K, N5 F5 c& h
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
+ n6 B, D; S1 H6 E2 M/ ~( u1 ?- \8 l+ c, I
参考链接:5 o5 q" b# y* V' O& n8 j8 M
% v9 }/ u5 A4 Q1 a* Q" ~
9 H% G# R* f/ i
0 {. [- N& r# A1 i" t; }https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
8 F- h- c# I( E- whttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
( h" o4 q, v: b/ F; c6 X
+ R V1 D9 |5 K7 E$ s7 |% G9 {0 T
- G2 R% L4 r0 Y: J. x$ v) A/ L: X1 o" T8 B o3 h% d; t
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
/ a/ n; J' n4 K; f$ c. Z% A ' p+ ?0 x8 E2 }
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 ( k0 w% Q6 b1 g5 E
点击阅读原文,立即报名。
. I4 s0 t4 F/ X, r& W3 i
$ }0 B7 s% p* l" T
5 K5 {1 C g3 D6 J# B来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
# G/ `) u; g, E& ^" u免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|