|
机器之心报道
6 L# g% W! H0 X; H7 v F1 T K$ Y2 w. a参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
: C/ s7 G; a! u; f y: `
3 c7 @* a7 Q4 f% w项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
! w" N6 I1 Z) ^4 |% F' u1 U读者可以在 Google Colab 上访问该模型并生成文本。
. F3 i5 J# ]: ? l/ EGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit/ u7 i' c8 m, \( n6 g7 e
9 X0 |- q% _% {' V `模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
; X! [+ n- G! _- v9 C& z作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。9 C+ C" g9 H1 U1 A) U" z3 a
: H- M$ M& r$ n2 E2 |
$ M7 {3 x( B) \0 |: s3 \复制方法和成本 L# U" w/ o5 \+ z% m- T
& |$ I1 ?, j0 g4 f
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。3 P. ?& l' L# I+ h. e2 M
3 _* {) W1 k: R& \. g
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。+ R: `+ K" n$ j6 o% f( W
N Q4 @+ U' G. q. ~+ o
数据集: R6 e3 }3 D) Q
8 U- a# f. Y- c& |! g& YOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。( f% V: f; q5 E g
" i: D! G- J. \# }0 z8 {) M% G论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf7 b% U- _3 |4 c$ }
( Q9 E$ U+ j2 }' q& ?如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。
9 W9 Y! S& t; s
" D" `6 Q# j1 ?/ h2 b3 A @# U% b9 ~此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。4 H8 y- A+ g4 j- E' `! f
8 B6 f% E# l6 r, v具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
' z) b9 U- f# l3 o4 C4 a# Q" f7 h# d1 M
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。" J* a* t- F4 d, Z/ Y9 v& {% B+ Q
8 v% [7 h2 P1 x: H4 Y: r; N数据集链接:https://skylion007.github.io/OpenWebTextCorpus/+ N) R7 Z: D0 c) D3 _1 [
) `8 C; j6 t6 f7 O. z
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。! I/ g0 {$ H: d; x
- z6 h- t K# O% P5 a从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
) Q: r1 k3 q' Y$ j4 q+ X! \- z5 l# ^" d
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
. X1 ~' L7 W% n E
/ {) y6 ^/ ~8 X5 }: Y
. C2 J0 Z# `- [效果! @& a0 a2 T) M8 ~/ j2 j6 I
# I; {' {2 W. p' v8 c h+ W9 f两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
" F: M0 E0 N2 }: e7 V4 n
$ m+ m) W4 j4 Y( |+ [
6 p! ^# `- t* Y) X* _5 b9 S2 K1 U3 ^0 M a4 Z
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
- t1 y2 g( l- v c% _- B 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
8 i0 R% S& J6 h2 v3 D 0 i. c9 X2 T* p- u
当然,也有人认为 OpenGPT-2 的效果更好:
8 r6 X" M3 S/ O+ n9 B0 z; U/ ]: ^6 e! J7 E9 h5 F& m/ {
* Q* ~) A6 B* b- i" Y我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
* q! q* p; r, Y7 a! d3 y
6 t9 c+ c) b+ b! i* K但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
4 K. h! w, k& k
# Y% Q( }! N/ E& M7 s' H
9 E/ y6 M9 W6 W T0 l; e! N& p( H5 j0 U! H7 O
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
6 c3 \" M9 T! l. |% z( k: e" H
! x" f$ w; j1 v7 {! `2 h0 M4 j" n参考链接:+ f( B( b/ J9 W5 ?# h
: U0 G S9 R! K) Y) r0 W( `$ ]6 W% W8 q% L: n
/ X! N0 @( p Q3 W e" ghttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/3 [) D2 Q) J' V/ x$ f2 a: l& }
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc# g- w6 c4 B" ?4 D, R( `+ `
2 S: |* f5 a' M$ s) l: ?) O! Y5 X/ g- k6 C) W, W5 j6 A
5 }) g9 V( ?; O8 N( W" CWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
1 Q. Y0 R* J; z! T) w: F $ y( d8 m9 ?: t
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 F A: ^" x0 B( C( }& Y
点击阅读原文,立即报名。
: ?% i$ b, @1 C Z# g, Q) n0 D9 C8 R- d! @7 @
( k1 r* V" D/ l
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1& V. Z3 u7 }+ z; ~! S
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |