|
|
|
机器之心报道 / k) A& F/ x+ ?7 q- t
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 9 S5 Z- |4 K+ |' ^/ R
" V1 E* j$ k+ h项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。* F- ~1 N6 O% J; f5 \" }+ x
读者可以在 Google Colab 上访问该模型并生成文本。
5 O2 N/ I* l, m: ZGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit. j& \7 S. t. O- `, G
& @6 {" Z, |- l. B模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1- s3 c, x; q, D/ H: h& p+ \
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。3 z+ D6 Z3 P: P/ e) Q
( H0 R3 V$ W" H0 Z" g
5 t" q- c c# U" B1 x" u- j4 B复制方法和成本
! ?6 E2 b8 n8 `3 i4 x' ]6 H$ z) O$ H2 s2 s
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。# j0 ?+ G6 I8 S3 |
4 B! e& C6 R; U4 h+ I
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
( c6 g! |- W7 r
* A, A6 p* K4 C) {1 D数据集
8 o L! A. P3 T: j0 i4 g/ H: O. H8 Y9 [: I9 G
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
* O. R3 l( E3 [5 [: z& K" _% i5 D4 Z0 G5 s8 x" ?6 @9 `
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf6 o( I* y8 e' ?0 {5 x
# T& D) i9 n9 ^) z; y4 V+ U如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。: b& `6 ^- d0 z. I( A, p# h7 \' n, V
+ h4 t. B& M* d7 z$ |
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
: D# @6 y2 ^ ^( x1 W. p4 S1 u! w% {% r, e+ @4 d/ S
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。 R% T3 n- Z- o
- }* B: Y3 e% V- T7 \
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。6 m) ]/ B. ]" S! f* p
8 @/ w) u1 C( T4 _" t
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/, f- m+ |1 m: _" W" z9 v
$ X# X; |+ u( `$ k- x
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。0 [+ f, ^3 {2 d7 b
% H7 U' Y0 T, j- }/ V
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
- z( d- y5 |, n' y7 z& k, `! H2 s1 N8 ^, c$ I, i
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。) v' H0 ^# _6 f: Z- K, A! [
/ i. Q/ X) m- G6 p4 W+ ~
( q4 k" Q% d, f- f1 H
效果
' w y6 c z0 I. u( {( d% n; C( K+ {: {& j% ^" d1 ~/ w
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
6 U5 V8 L% i3 J' m7 X4 c* S1 d6 Y3 w5 e7 s/ r
- p' a1 E! ]6 _% [$ w9 G, \
/ V' I$ n: H1 Areddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:) k1 b: I2 B( ^# U- i2 C0 q) Q
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
2 @) e1 M" W! X _
) i. e5 \/ c% V1 ~! u: l1 m9 ~9 T当然,也有人认为 OpenGPT-2 的效果更好:1 U) `: ^4 \# m
' F$ j1 A! }0 l$ W: G" _1 |
; ^% N: u8 V' f
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。; @# P d7 l; f
5 {0 R! h; h( y/ _1 f" }但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
1 w. g# E( j& a2 l) f
6 V/ O/ q! j- @6 O0 y- M) \) p# H" S* I9 Q, O3 b5 S# D: W
4 a* C1 W: z& C* I) \3 t
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
" [& a- e' b- x Z& ^+ `- i& M0 {2 H O' M* S% N
参考链接:
( a; |" p9 [0 o# e( h
$ ^( l! Q ^/ [0 q& f, A$ ], i) V' \* l7 q& Z/ F$ Y) r
" M& j5 E4 ^' i
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/% ?$ o. @% p/ D
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
, P) v$ q# e* r6 I" Y/ s# p1 |% C5 o- Q+ U! `
+ d7 U6 n% _4 `- u2 X6 c1 C
; p# m6 F; r; L, z$ KWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
; p$ q4 F+ M' U
% F* v4 F) l4 Q届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
: E& J& n. }9 D) |* ?8 S& G点击阅读原文,立即报名。 9 F2 H7 I) W+ ~, d$ x* j3 j* T& ?
5 D& g- Y- M1 F0 a ^# l5 v2 B
3 `3 R) { w0 K" q' R& m. R来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1: F. \" @: a) {( M
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|