|
机器之心报道
8 o8 Q: i3 A$ c/ b0 |/ p参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
8 W( h" O" ^# ?! I
2 a! K- f, ] {) ?7 L7 z6 Q! B& }* \项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。6 e5 I, J: A& p8 S: p
读者可以在 Google Colab 上访问该模型并生成文本。
( g. l4 a; Y: `: \, mGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
4 a' q5 C1 s+ c5 C0 z
3 q/ ^9 |7 y& t: K b模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
0 {$ k' @' _8 M- m# Z* N作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
8 a1 e( t* w O) L$ _0 u( |
" N4 I+ N. B; G. H! f( D' z. I9 \* t Y/ @* T( }0 N: i
复制方法和成本
# z* C( P, M# N. K3 w( Y/ [% @. F7 O9 N, G+ x% Z
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。 t5 R6 R4 |$ R# @) Y- }$ _1 i
; o8 C$ r' @) }" |
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。. t# U# ~9 s* Y/ K
. w- D: V" ?3 k+ m* @4 V数据集
) q9 x8 E- V( z3 Z/ S. @" s. v- i4 Y4 r2 ^+ j
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。3 R J: Y- i4 P9 x- s8 ~
) E+ ^; {4 ^. N `, U论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
4 ]) d2 v1 a9 P9 D% A; y( a( Y8 J0 x4 [. a4 t3 |
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。6 n6 \( K. I7 ^+ j) E8 J2 o+ g
4 J0 i; Z/ B$ `4 x+ P$ ]3 M& }此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
. q6 V8 R! l1 A/ s* z! S; Q r8 G9 j' e7 i9 g9 `$ F( j: X
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
& u7 Z) R d, {& o4 p- {! I4 F" R( J4 U$ Z9 Q% l( V
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。* E+ I$ A0 z4 E0 e* W$ M
3 Z& J) ~; S9 X5 l
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/& c- A( T ^6 u8 _
( l% p3 ?6 q9 Y6 ~' K6 m
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。, e; i+ _+ g+ q
3 z3 ]1 A! }; `: f0 @9 }8 R4 M从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。) r. }. l0 `" ?4 o& ?
% k% G# g9 ^# q) {: }7 P7 _5 p
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
' M2 e+ r0 y0 R; d" i8 n% q- d% @! ]6 Q( v
. u4 r4 j) @) {/ K
效果
( c* ]/ b- V# k3 x: G7 }/ }$ O* M: i3 o8 Y. m
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
# p3 [1 x3 H6 O
8 t$ {( r' B; {+ t+ z5 w# q" S) E; W% Z0 m# g- s8 y1 Q( s
' L4 C7 H. n- @
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:, {* |1 K# ]2 d1 s% X
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
9 U/ k& b3 D* A- Y' N9 O , t! c! g% E- d8 f
当然,也有人认为 OpenGPT-2 的效果更好:
; R; [* h' m' e- _' a. Y+ \$ R1 {/ a. `
: p1 T; D8 o: |) ~9 a W我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
" C* S" ?# _3 u8 S( I( |- L0 U. S. ^) M6 T, b0 x I2 Z3 r3 k
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 ) |/ { d% C( P) X
. u) t- \! l& M6 P" ^8 U1 g8 t
% Z) Z8 p" \6 U1 G
A; u! d3 l% ]; w
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
`3 [2 g m: [! R) h% f. N4 X
, a, m7 |, m0 U% N( U2 t' s# f参考链接:
1 F: r% C- [9 R! \* B. e
$ T8 s6 t8 @5 [1 C5 U* \1 p* f" N8 i8 Q* |! c6 t1 F: c8 E7 `
1 n1 O, B9 P1 w! E* Y8 J* N" Ghttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/ {" M# y3 ~; I
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
3 o; ~1 Q& C- l# y) c6 I+ M8 G/ t7 `) d
9 r$ U3 e) G0 p7 H3 L' ~& k; k) K! V. ]- E% B# N
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
7 z5 {6 X! q5 C0 t# a' Z
( y7 m6 U; r( o2 P1 {( F届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 ; D+ ]" p$ p, r7 `; [1 U' Z: o' d m
点击阅读原文,立即报名。
& o8 p/ g) ]* J2 E% G) e2 t- {0 [% C A* E( ^
1 u( }4 n* d C, W
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1/ a' R9 K6 b4 ^7 a7 M
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |