机器之心报道
: ? k. i, s5 K1 N& _7 M参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 2 [! T( J3 P1 j$ L8 I
& r# `( x" ~4 x
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。+ ]% n5 s6 T1 Y# N$ ?2 s5 `4 j
读者可以在 Google Colab 上访问该模型并生成文本。/ P. |+ t& l( |1 ~* b% Y. s
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit2 j. u% Q" _4 T, G: @
+ Z3 y& x3 h( L' ?* `+ q* X) D6 U模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1+ V7 {4 a- }5 ^; }. u; ]
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
& L5 D2 E" \, c) ^$ u) N9 L( b; x* f6 G% N+ x
* h: q/ J# K4 ~复制方法和成本
( C4 N% n( ]. K) w4 @& {; y3 o8 b7 C4 Y& @0 I0 }) Z& a
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。2 C2 g4 B# c/ V4 o& J: j' p) x
8 n) h- B. ]4 W3 C* N
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
% d# |; L1 v0 i2 ^3 g& ^0 G' n: f6 B7 B2 R
数据集2 x( r2 d; V) g2 o0 f1 i/ d
7 x3 p6 o3 L( E! |OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
& l' M- Q2 d+ t) W4 W+ l
! a, w9 w. E C$ V. t论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
$ h7 Z3 r( F3 C2 O# v) y r T5 P* X% O7 N
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。& d2 F- m+ T- v- q, I4 ]9 C
V- _1 L* F8 }. F3 D此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
2 _, A+ @0 ^- s! L8 T2 J- _* G7 Q# K
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。) L1 p' o( j. x2 o/ M( p9 y. e
* P# R( @5 ^& V; F/ @6 A' B
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
J" W6 _, n' C+ C; s
+ k* R0 q. q9 [/ `2 O% n数据集链接:https://skylion007.github.io/OpenWebTextCorpus/1 y8 L0 ^) q3 u0 X
* J8 U _- f3 n% ?
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
+ g7 B0 S4 n) d. a3 l+ C/ m# c6 q7 [9 U- g2 q* D; p2 T
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
' O1 @" F, z& M! F1 {6 `" m* C ]( u. P- q0 K# M1 O
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。5 x& A" p1 ?5 X1 s
) ^, A, I- Z* _0 X- {. ~; F* J
' L$ @8 D8 ^/ j y# Y. P效果; s! Z+ X2 S- u
( t9 F, ~! v9 B! K5 v' \1 F两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:6 A V6 f2 C$ Q: S' l) q3 Z
/ ?0 v6 K8 k" r! a
* ~+ ^7 k% ? d) H5 _. u( J
# S5 ?+ }! Q% u* N1 O1 X+ M2 n; Ireddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
1 k2 M/ y: ^% H, k5 A9 v 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
' N$ V+ F" G1 s2 B! }9 W 5 z) W6 X! Y' B9 A: ^ u" J0 c
当然,也有人认为 OpenGPT-2 的效果更好:* z( |$ V# @0 @" n
% \2 {8 r/ T- }( i/ r
; T. f: I( Z& I4 [4 u' d/ H$ Y
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。0 b8 _8 g! t& Z
( @2 X! f6 t: D1 \% K; o- X( i+ \+ {
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
7 J; c |, w- q U! c
0 j) y. A6 Y; I8 @) P8 `) A, z- k7 h5 C# [
: G/ V4 G- \) [8 V& H
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
) D- s* t, y- o; f4 S0 _. d8 H: y( I/ m
参考链接:& W: d$ n* X2 m- `$ I) F
% L4 D) _5 Q' o1 \
+ A' }' {. d- v2 X
* F" n& M; j/ Q2 R% o% o5 R; Z- L$ J
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
7 n4 H' `/ b9 y* M( L/ Ahttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc! |% D- f7 _, v
4 \: x3 k; O2 ^& A# X/ O3 y
1 j, v% ^( a4 P7 J* J/ }( B
4 Z# i O' D4 q& J9 X$ V+ T! E
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 1 p6 e- N7 n. m" H4 ^9 ^6 A
2 f: i% f" U G届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
. z/ ?5 {* N+ K, G' E& G点击阅读原文,立即报名。
" ~: Y& G( c- n# E; |: T: C- V+ X- Y5 d J! M
/ b9 P6 D" F6 K
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
0 {2 ?+ ~% x! @% s( W免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |