|
机器之心报道 ) s- Y4 u0 F. t+ i
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 8 g. z* N, P/ M4 I0 a- {. ^& u
0 H( C. C: c3 k& @4 ]项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。0 J( p) @4 q' D
读者可以在 Google Colab 上访问该模型并生成文本。/ W s6 F. j3 q4 V/ B/ F8 I2 u; v
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit0 |/ i$ Y4 _9 j9 q% c
' W( Q& x$ H3 Q( A' @! a2 s) l
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
- N* N( S6 S1 h: q/ M7 P) g- z作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
; e) @/ @% B7 `) \
; }( O# y% \2 Q" O
0 u- A% H6 M- y& W5 M复制方法和成本0 A9 U# ?, c( b7 [
9 i* X" b {3 w d# s1 U' R
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。! ]* L4 a9 R. i; p8 Z
$ q* _3 d( c, D. w; m至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。8 C e3 b k' B! Y( V. H: h; x
7 Z8 d1 N% k3 |1 L* t/ M数据集$ l b. {7 l" ^4 z! M
l! c( ~& V# c
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
K; X" t$ \. M5 V7 J0 ~) m1 e
4 u) n# e1 n6 W论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf3 ?! @ r* T6 k4 X7 \/ L' ]
' F7 K3 c8 Z- a4 ]6 _如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。$ N3 s8 G; d, |1 u
7 J1 r" Z2 K1 D4 k( D! _此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
9 E3 O8 `6 X, X6 w; P$ b' Y
s( h7 o0 G, o具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。$ K2 T$ P/ h4 w0 _) I U- A! \5 R
6 _; o3 j, O5 I3 G0 w- d作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
7 g; t3 J! V" ?) S( W
0 g$ z" o+ M4 H c7 c, `5 ^2 X数据集链接:https://skylion007.github.io/OpenWebTextCorpus/( R7 y( M6 T5 b _
: n6 l& a3 t# Z3 L1 l5 F
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。7 a& B* i4 _* u2 C, c8 v8 G2 s# ]- Z/ U
9 e. K4 Y$ p) V6 Q$ z' f$ P
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
9 _8 `) z: F0 y& E, h+ i9 \
2 ` _8 K( O6 x+ b! o. z2 w尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
' a3 m7 [5 h# J7 z
. h6 j7 i' G7 M! R# F5 q9 V$ r* u; `) T7 E
效果) O/ X) h) H9 n3 ?
; l2 d& J2 d, m4 m' s: |' f两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:# r3 K: [8 U: d T% v3 y
3 t2 L) T+ z. l, n, I: b2 m2 V) B1 Q0 h7 q
4 a& v. q+ x5 U' Dreddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:/ `* m2 r) B. y' n" b' q' R
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 ; A9 o' g1 q U3 e' K6 h
- |7 @3 x6 I# E
当然,也有人认为 OpenGPT-2 的效果更好:9 _7 U) s a) O+ M4 ?( I. e- V
- T3 D% ^ I8 e7 a! W! v2 R
r8 ?+ l( W+ ~' \
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
$ ]0 M# [* f8 }
" J- v% S7 I5 o) w; ~但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 8 X9 {" R! S0 k
. x: g( o/ u9 U7 u& |% D
" {$ o, G6 R- X, k; q
. i Z% {9 q8 F3 A" z, G. b4 k5 A至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
* `9 `$ l- f6 u1 W. I' J. w5 y% o4 V9 T, G$ `3 v% P
参考链接:
9 M6 }1 L; g5 ^- F2 A( b5 U6 {# u: a) y; p2 K& S& r" P
8 C% A1 y$ D4 R) c+ D3 P0 v9 j, A; ^) O
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
8 s7 x3 n! y% Ohttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
- H0 u) d5 J1 k* l, f
& R1 O& g. f& l; N& Y7 T7 D+ T0 Y, u3 P! r# X" `* p! V8 M
/ V; E2 e7 r$ U. s4 C1 P" c
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
. K& G4 @6 }0 n3 w1 n2 ~ ) C/ s, U$ F+ S
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 & f3 t. I6 D8 i. p! T7 h0 f- _9 v
点击阅读原文,立即报名。 / ]) Y: a" h8 }0 Y, A$ A" W
. t( O2 r) p4 ]' ]1 ^9 ]* D$ E( Q) J6 c( ^0 X+ {! m$ Y- y. L
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=11 ]3 b! g. j3 v, _4 f7 G
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |