机器之心报道
" [: V: W; @5 {; Q1 u9 @, w参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 " m# ?) K- O1 ^- `
) O$ ?% B1 o: l1 \+ d5 H
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
; O$ X: ?3 a( Y5 k. x4 a读者可以在 Google Colab 上访问该模型并生成文本。
2 Q% G8 T( I: z3 KGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit$ I& H+ r. K- A! w0 h! n/ j2 Z9 i
# `" n7 U9 O$ f, V6 y
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
" l" I* n q m! a. V作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。% {3 f9 V& q% N
$ ]" E5 M$ _. H' E
- j9 y( d8 v2 i4 O" k4 g
复制方法和成本8 T" I2 k. ?: r8 j9 Q
( l; W9 [# |- V1 U2 ^8 dOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。. H G W" z/ x4 U# I9 Z
) j5 h8 n* F% E- ?
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
8 a+ {- ?2 x, ]8 o) V9 G f& o9 i
4 W7 ]. ]! v, t5 \ [数据集
$ h+ J9 P/ i: E0 I) q+ }/ d, d/ ]3 V& o9 }6 G3 G6 W
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。3 g/ T0 c9 S1 } B
8 S" h# B) o; I# {
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
4 i( F% q/ g" N- r5 F
, J$ m% |% y' s9 V2 R如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。
3 {, P4 V* b: c$ W" P9 \. ^, h! y. W/ a# a
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
/ n4 u: a# R( F( |" a. `# k! q
4 c' g K+ Q% Z* J1 \, k具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
; x+ r4 q; w: [% T+ R- E# Y
4 L# ^$ L- n$ J( s, O+ C1 @/ F* D9 E作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。 y' [) \% f. K: z) J6 v
( w0 C% ~1 Y& r8 E/ a% P. i8 k, r, P6 Q
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
. f5 s" q; Q5 F9 u4 d% f. M: b3 l% j K* E0 v8 F& ]1 v9 Y9 l
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。1 E& T- f( ~, r0 C5 b
; w, G3 t% g. A, y
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。, \3 |# Z6 l1 o; W
4 r! n ^( K* Q9 e0 f
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
. ~3 Y1 q2 T; f* i: w2 E; g- s' U6 w" `: Y& a5 L0 p
$ M1 [4 I7 F( O0 ]7 ^ g( l- s
效果# | |% J- m4 E3 J; o+ n% K; j3 X
$ A C; Z- V* f, F" e/ C- q
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:: v& d# _0 X/ f/ r( P1 W
" T' B6 K0 V/ x" I5 c/ P* u* U3 C5 h3 c4 G6 I
/ _4 A' o! \) Z6 x* z
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:9 J& r; K6 T5 F6 @' p" F: n: j7 n
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
2 _0 w! W, _; \0 v3 N- [ Y& I* a 4 _% j% b5 ]+ C9 |3 L g) B
当然,也有人认为 OpenGPT-2 的效果更好:+ a) D3 g3 e8 l+ d, F
/ | n) c% I8 a# }/ V
& W4 Z9 j* G! f& O) r/ @) i
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
$ L; A( b/ t: A0 S. E8 c' z! L0 i) V" i
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 * |. q$ h& J4 \! { s/ |/ t1 F
. x8 R) |. k, P% N2 B- n" Z
" V" ] ~0 ]! _3 d1 c; @
: O. {) k* T" u+ Q* t
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。5 G: {* j7 Q" R( S; P
" q1 j) F5 V1 h8 p; O: `* [
参考链接:
* _5 W4 E0 Q4 a
0 O, W) M; O s" r% I, H! M+ e& p7 d: ?5 @1 a+ }3 ?% M5 T
2 w5 |' o+ {( C8 }! Y8 [. Vhttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/% ?2 L1 T' Z* q% ?2 h) Z; x
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc9 ^6 n- @/ h9 Z9 P# o& K. T( b: R
' b/ M9 L! \3 t u) k! j7 S
9 E& w8 D% |9 j3 X3 Z( F% {, P/ |/ U
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
. f2 I4 w% M; Z' K( F ) R! v9 w) |- [
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
3 w: Q! D: i& }点击阅读原文,立即报名。
' [& ]8 A/ }5 Z4 @
9 b% f# @& x# Y# v! _. y
9 q/ G7 b0 R( n! D; 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$ o1 F3 R: q8 p$ u+ g( H
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |