机器之心报道 $ `9 N+ B/ n7 z: P" |3 d5 h7 P
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
8 P! @4 {+ g* T4 N# F/ p& y% x0 h/ Y3 ?
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
7 m6 Q, }$ ~6 N9 X3 B读者可以在 Google Colab 上访问该模型并生成文本。
8 o& j9 f, c6 r, ^( H5 b* }2 ?Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit$ E5 y1 {6 t: `9 R- W' J
( e2 ?& K; D: I% x! R
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1+ F8 @! ?) `2 B- C! c# S
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。2 ]* q% d9 }: J& V! ^) }+ ~
% t) m) _, C: |* \4 W- ^/ h* U& E3 {" G) {+ q
复制方法和成本
; G, }* ~, t, [1 G! N4 _; d
1 h) }+ f! K8 ]% WOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。; b+ |. a; _5 D% T
6 r3 `. W' G# D/ @( Z1 Y至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。# Z" z" s' o, s8 A
* R3 m( P! O6 \! _5 ^3 z4 w0 F
数据集& S# N' N( \; T" E! y/ x1 b* q3 a* @" P1 M
' f+ p" O- n4 Y) ROpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。5 _4 T" B! X# X5 G
8 h! C* }* t1 {( a论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
/ m: `" O* s3 d$ L& i' ?, K( N! e% }# o+ v4 [( Y$ v z3 [' Z% g7 a
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。# g) V, l; p7 g0 ^6 Q
! I& K1 O+ f' ?" L此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
& u4 N. h7 \2 ^: w, O
0 r" q! X _& E! ]3 b6 i具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
4 C' p4 \* f- S/ }# E" N0 q2 [6 E* H `: t/ Z" h' n
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
& J$ G N( X3 N* P2 c E8 h( m% ]1 S5 Z, i
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/3 `. o' M3 f3 B! L! K; E7 R8 M
5 L# Z7 C1 ]! m: ]% L8 K在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。8 N ~' j& y3 p
/ c6 l# |& Q1 w/ r& I, k
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。1 x2 Z) X. V0 m: x8 m4 _# i
2 q) _% g( n2 t/ N7 Y尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。6 e% g u' G! N P
, g. J1 A+ X9 E9 z, G0 K6 p/ h# x- `4 m8 m2 F: l0 ]. [
效果
! H, J5 J9 w3 a% a- n/ h1 t; k8 H/ G& P; h
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:7 f8 |8 G) [: y
% N7 Z( B3 |# k+ g! d& {" `8 {* F" ~
% H T( O& H) ?# H0 Z9 F. a( t1 O6 m& _8 M
- B0 k4 w: ]" e9 r Wreddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
+ r5 E$ Q; P3 g- i" g 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
& Z- k8 O1 ^) ?
1 G, M4 @( _3 r2 x当然,也有人认为 OpenGPT-2 的效果更好:; w" _% W0 Q/ q- ]- x7 }3 u' m" B
( ?# [% f" K8 \3 Z7 a( {
- C, }* Y1 W# G" B
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
/ v7 P. l/ t) F1 I1 @+ R- X( p' s: F+ R. R' ?( _8 k0 D
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 1 {: j9 O. T# C1 q- s
: u$ h7 ]- T+ N$ p
, R; {" _5 V @5 g/ k
* U6 F' w8 S' t& A$ P- }1 g至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。' q: Q) `4 y! Y: [- U% P
: ]9 U) `6 n* G0 ]+ D8 \$ ]参考链接: h& \; T. m: d
/ l+ V" c3 @+ o% ~* j/ ~0 Q9 M/ F; E# a3 Q, ?
* m8 `; c% k) l
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/( p& l- t: t* B8 h9 }* Q b, |
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
9 S6 `9 l1 D4 |2 V% `. `: E: s
* x! A$ n9 h4 v' M* p: Z. A2 b$ a( L/ D& A
: m2 i( |: ~6 h1 cWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 6 W4 a# i8 q# ^7 e3 A) C: l
5 R O; K" T6 c2 u届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 , P+ |8 `% p+ @0 o6 d% N6 O" T
点击阅读原文,立即报名。
7 ^, H2 Z+ H; F- @+ s2 N( O" u: P& Q0 {
$ f5 Q4 n# i8 p& Z7 Z" D; z
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=17 u; B% V8 \6 V5 @1 a
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |