|
机器之心报道
* i: V( g) l4 [8 \参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 ) }. x" B e, I0 Q1 N( c4 I
3 P2 V" S! `% s5 j项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。% f2 c% L6 j/ B9 U4 l
读者可以在 Google Colab 上访问该模型并生成文本。, J e) F8 b8 @% b7 Q6 Y ]' [
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit j4 t, v, [9 C" T" W
+ t/ P" Y; v( ^, w2 y2 x% `
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
, E) B/ y# U0 v t作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
5 r! c$ ^3 E2 G+ X& t- b& Z/ w# i& X7 ?$ c2 j4 S. D% Z! r
! T0 K2 I) G+ z! O0 R J
复制方法和成本
7 ?& Q: r9 s4 h( H1 [% i) m% o( g9 G' t! s* @4 n+ J
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。, k. f( c4 x3 @- _ Q
; W# N- ^* n. C8 j至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
5 `3 ?( b; F6 l. J. h* u% P
J; D( p; R+ Y7 ?- G: A数据集
6 R; x1 B, q6 _6 h; v O& M; b/ I- u
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
2 Y7 y C) y: Z$ a% ?3 G( {
9 h) N% t$ D- o* ~7 T论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
3 ]8 k( l2 z2 e& b7 |
, N+ S- [ B/ d9 D; }如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。" {! ~ _0 u* Y- z
: V! h9 e( ]9 i3 R, B& k' \" f, w: W: G
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。6 ~- [( a3 _2 i9 x' I; r
+ i. q* s$ f' T* b
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
/ x( q8 X' h6 W0 O. H
( R I; N8 g4 \! B: a* K作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。0 j) x6 p# d- o7 @2 p+ s
$ p7 r& T2 o' _
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/6 P# ]- L# R! k! c, P
" G! G; {* k; `& D: @
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
% g0 N& Q, O, u5 j2 s: u# j6 Y9 O- n8 k5 U1 }9 J8 I
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
L: [- P$ |4 P7 A+ V# P$ s; q* B ~! V5 k H2 q
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。, a" j0 q3 ?* v- L& f2 [" a
5 n2 a% ~) i; N, ` O5 P% m3 y4 @/ U* U6 _" [1 T+ ~
效果
( j) h/ _4 @6 X8 b3 I$ f% Y' B1 v0 Z# r6 [. ?
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
* J- W9 w, |& D w* {; Z! |5 L; D, E* a2 Z% l& _# I1 J# R3 Z: q
" D. }/ O8 _1 Y1 i; F' j8 I3 N. }
6 ~9 B; A+ Y: G7 |reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
1 _- q, C2 `( @: S G2 W8 c 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 4 ~) T1 F. y; B0 s% p9 o( q
# J$ }) Y) ?! G5 B
当然,也有人认为 OpenGPT-2 的效果更好:
& g; m; z0 W8 G g8 d6 d7 |" x
' ]4 J6 K: S/ C0 H6 Z* g* u
2 ?: @! F' [0 J+ d4 {* L我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
4 y/ ^% C. N2 a5 A3 [! ^: U8 x1 p( ?( J0 ?9 w4 }4 U
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
* q2 c% t. t4 Y% p! g: P7 e% y* U A0 W @
7 p q& A6 {/ @/ v; N: M7 E! d
1 e3 K/ f2 K9 X! t9 X: `至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。5 `: m6 Q( L; G/ @3 r
: Q' }7 M* ]4 Q5 G( A0 b# j: s: r; \
参考链接:% c5 t3 B0 s3 x6 L
% y1 C9 {# |: E4 f V( u- y! J3 ~( }8 |0 d' ~% ]4 M1 V
( c' n6 i+ d3 t- w2 Q: P1 I
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
( d/ S8 f. B+ c4 j U, Khttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
, N9 v( U) O& E' Z2 `/ C! L% r/ m, }# M U* ^3 Z4 |2 ?
& h+ c% N& W6 F
/ H$ X/ a R- U: R+ g9 n4 fWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
' r4 W# b0 a. c5 [ : N5 \8 [1 b6 `& G
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
$ y# I$ R1 h- y, C点击阅读原文,立即报名。
, ]6 a, i+ x% y# k: X
# t* H2 Y, r+ q; @* p# [
( Z2 e# U+ X H9 N来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1- r: f& a& k& ]' Y, l9 O! E1 k
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |