机器之心报道
% w, I+ \; s3 q) P' x4 `/ t参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
* \: ~; n/ V9 ]0 H9 |; U- G
' g, I+ ~ w/ b, D; u1 o' }5 [项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。. |. ]0 o4 h B# u3 I% ]" V8 ~
读者可以在 Google Colab 上访问该模型并生成文本。
" n+ b% y) k p/ H: \- y$ V) D$ UGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit# d2 y5 x! x8 x @. I
7 I5 `* a ~& y7 @% y7 }# x
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
8 G) }+ v6 w& S3 x作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。$ G- l5 d: r j3 p3 m' z8 G7 f
3 G3 B: D$ w% p$ U; q/ P
& `; f! ^6 c8 f1 M& p. E" x复制方法和成本% E' y O8 z0 @
" |1 A% G9 o- M* S" j: SOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。( i$ j. p* J* k2 H' M# R& v: l2 T
% C6 |& p5 m* ?" Z
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
$ k* Z# `6 h1 V* \
$ m- A. O1 A: m0 f数据集& N& v& t$ k" u9 k7 L
: T+ i& Z' L5 ]! m GOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。2 H' }1 [8 h, h
. L' k3 s$ N! Q) u/ E
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf( J$ a7 Y, Z& z8 v4 B1 `* P
0 e5 L2 b- f; r5 r X
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。6 A( b( C! ~, m, B
/ g# U# Q; h/ h x' f9 m/ o) C% T, d
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
! Q+ @8 S1 N2 i( y B" w" U* n" {4 U
) \- ~. F. V$ M4 l: {具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。3 S8 k h) X) s
* C9 j; J4 Q$ d2 W. _
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
5 e8 U0 l, Z6 g5 O
$ N2 ]9 T7 f, n G数据集链接:https://skylion007.github.io/OpenWebTextCorpus/1 q/ v' \' J1 S& B. B6 G1 P4 {
* Q, t6 F- h$ g7 p E
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
8 E' J! }7 Y Z; x# `2 o& Q6 v$ |* V! ], j8 V
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
( {# r% K2 Y9 t+ Q3 @
) w7 o) d- \) p尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
% K* l' J7 _( v" X( g- t" V$ y6 ^; ?( D. Z
& L: \/ w# Z- W
效果4 L) T3 D: x! F& P" k) |; p
{, N; ] G" L6 x9 }1 {) o& c
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:8 Q2 h- n r, J/ L# \6 w
) P+ f- o* n K4 Z. N" A7 R$ f7 e& D- O! s0 o
7 S7 I( d6 Y* k
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
8 j' m) g9 T* v; e( n) z 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 # `$ F! x* l& J! a5 n9 P
9 [3 q9 |9 |* I
当然,也有人认为 OpenGPT-2 的效果更好:4 y9 \9 `6 O0 x1 m9 O( P( ]$ R
4 G3 V P5 X: P" S$ W
5 k* m- z( G7 h& u我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
0 C4 P' c7 H1 g: ?2 x
8 B& m g& t5 g2 d4 S' Q但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
, u; V9 p) P& l5 `3 l' [. A2 q' E7 M. S) H- B/ Y: v3 _- O) s
4 P2 t) a$ v0 D, k s6 W W0 I' g
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。; O% k4 n( n( P8 z' r! `
2 Q- L. d4 k" c% W' X7 J2 ~* K
参考链接:
L% C3 s* I! c; T" t
1 _8 q! j% |0 I" T- B# a
0 J& c+ h+ ~. v( E+ f6 d" @4 Z2 R3 e* b0 {$ P+ e
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
+ C6 ] I4 h4 w# Rhttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
" y8 c' T2 L& X ^+ J _) D& u8 ^ Z% t
4 d8 Z$ x% U; F1 x
! h0 h u* m3 U5 p
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 ; P. l6 j+ q) k' N6 m5 y
; L3 C7 S; f0 T! z! O2 Z届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 " w( K* T! b+ \7 H; ~' g
点击阅读原文,立即报名。
7 H y# V$ l8 X: d8 ~5 Y; }' M9 m$ y3 W9 N" e0 D6 O
- D g; w# {* u9 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
. I5 X2 K$ j7 X0 o& R- C5 Q免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |