|
机器之心报道
4 x, o) \& }/ ^) Y参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
5 P7 t t+ Y; b. C
' l% M8 M8 {4 r项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。# `* R5 \1 ]' D$ X1 G# \6 N8 ^9 @2 ]
读者可以在 Google Colab 上访问该模型并生成文本。
/ q+ E o5 `# u- TGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
8 B5 \7 `' c3 K/ b& e5 t6 k W* T' s4 }) u8 \8 v# }1 U
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1$ y1 ]0 G$ {& ?+ y, X! B/ |2 `" [
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
4 J$ o6 l8 o/ l, J
- C4 V& R) D# q7 D9 B3 c" A- ~* G2 M6 ]! O6 d
复制方法和成本
- b9 x7 k7 ^0 K$ \
2 c1 T! @7 E5 |3 a' fOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
# C6 C1 {3 Q5 s" U* z6 a
4 {5 P; b. ]# Q- A$ K至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
( e. U# _1 S) ]6 s* G1 c4 U0 ?8 S7 q
6 ~, M8 B! ]2 H; t$ ?数据集
* A a( I5 w/ v9 B1 [" Z
8 R) H* k+ g+ s j+ M3 AOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
# m$ w9 }$ x0 J. ]1 K+ U, t8 b4 c
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf* D) e/ t" K: M2 y' f) q7 ?, @
5 f7 t8 t2 _7 u
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。, T) D2 x' G7 M' s4 v3 q: z1 R4 ]
, C! r4 @4 t+ L5 m% N此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。# a/ z4 r9 K; c' k
0 h' `& l$ A* Q# e& a
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。& n' q. O0 T( W, d2 q! @5 T
! N6 n; j2 Z+ ~2 ^4 }- g( U作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
+ k2 F: U$ |: v- \2 @8 d+ r7 F. m, p t1 F% s
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/5 M# s; S# D. |" i3 G* k$ Q
, L7 L& {+ E* D3 h) m- P7 z
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
! _' U3 L7 r# [/ l9 s7 y
2 @* v/ i/ q& h' |% D从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。" [5 \' T u' F. i, @
" j9 A1 c+ d! f, H3 @8 e# ~
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
$ I& S$ x v6 Q3 J& ?0 {0 Q/ J3 b' P
) n& v# v4 B# X
效果
. z8 j a1 Z! u7 w& O7 q& {2 {* _% C. q
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:& W9 I* q7 K6 e
6 |2 h! G; V3 N! F
c# R8 |# V6 y9 Y: i8 H
9 y) J; k( ~ ereddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
8 a. M! c/ r/ m/ V2 o 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 ( }* {. c3 K/ |) R8 M4 Y
+ G# _" n# H3 _当然,也有人认为 OpenGPT-2 的效果更好:6 r* q4 L G [
7 j3 l. V! Z- m$ ]( K5 t0 R% g
7 W" {& I5 t, ?! ? T' j8 ?8 I我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
/ c* Z5 R/ q, I
! j7 U2 w: N1 }0 h2 T' n9 R但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
! S z5 Q1 a5 D+ }5 ?
* S* Y% G: v2 ]
; e2 \* D7 s' h- |4 A# F) }& x1 t9 [9 n8 M3 Y8 _
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。4 B8 B9 R$ a% n( \9 X, Y' E3 ]
! G" Y9 `" n8 i* C8 C7 M, t参考链接:
$ l. j9 c: A9 ?% a. V2 K) u/ U/ N. \: y
2 U; K3 q0 j/ ~( I# F# k/ S- Q# b5 d m) Z5 [: M+ ?, N
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/1 f! B: ?% U1 P/ w) Z* d) y! `
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
, Y0 N$ v& a, u- A% F' G( T/ e3 v$ U$ R, r" f1 R
9 T% C( D$ R+ S9 r
8 T) ~3 g" s+ k& pWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 $ ~/ l/ M. a3 O; R
0 Z8 U2 X( @0 d2 F7 y
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 0 H, b4 ~, O& c$ h+ }
点击阅读原文,立即报名。 $ g' K( M) g0 I! S
/ v! G9 S) F7 c5 s* J& y2 k M
3 `9 l' g9 R0 R0 E: ^ R v
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1) Y/ K2 J. y5 G/ a* q
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |