机器之心报道
: h( H' |3 X) a& Y4 H参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
4 c- q; w3 q5 M) S d' `4 F7 E
* D2 G6 O e9 j9 ^项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。5 N8 \4 {; i5 m4 Q A; S3 n
读者可以在 Google Colab 上访问该模型并生成文本。
' \6 n$ P, T- i& R0 P k4 R) hGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
& W$ G) Y4 |/ [6 M2 w0 e: i& ^+ }* Q, X
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
! A6 N0 i' D' j4 v( `5 z作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。1 u" O6 l, w6 `$ @ J3 C5 y8 V
$ B: B) C1 h+ N3 Y+ e3 S0 k8 n& f& J: g) V6 E7 e+ X# y
复制方法和成本
# A# t) S$ o a8 N' P: \: T4 _9 s4 I: y# `) I0 L
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。& m1 g$ w# ?- l( g/ \
" _, p+ ~# H' P# |- K, R" {' l ?至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。6 H1 J! x1 F9 T
" M7 G1 U" f8 [数据集
1 E* M( D' B+ H9 ~5 I2 I8 Q k0 J3 R% l
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
" q) E( c/ T5 S! g" n) \5 F9 A) P( f8 l, I) E9 I$ V
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
8 w: F' D K& c" B! \( ]! K+ i. V" N' E( w
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。
' V. T L; K, O2 ]
; C" L4 D2 D) Z9 g0 s此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。% D! g; [, Y. o+ h a# s
) l8 m. v" p$ b5 s8 R: h! g
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
8 _" Y1 I P; p; o' N- ~& Z/ }; ?/ b6 h4 X7 I# |& V1 _
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。
) u1 o0 X1 K! @. C0 f
2 l6 x1 C% y. U( [9 e数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
# @% |* _* ?# x; C0 V- u0 S% l+ V# L
1 v6 R- u8 N1 y5 f: S在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
1 s9 q% n( U% M9 |- A/ g+ \, u
, O9 x4 c3 x$ ?2 _' ~% d从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。- @. H- T* l- {) v! X
( z# a$ J3 T% }
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
; b e" u7 W8 X4 Q/ S
. _% S6 [5 P' v$ ^" Z- @; N' Q, j9 ]1 D7 u
效果. ~: E; j! p' D. H1 R
& P; \( m& u T% |+ v$ i1 P( m两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:( U2 o5 X( w. v" t8 q2 o$ g
/ |# b- j' J& V
3 c/ y; _% v0 Q: F/ n0 m0 H. Z' a3 Z! }$ M1 A
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:1 h/ B" G' E$ ~) Z' R
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 / W T* T0 P% f& s5 @
/ ^$ {$ k7 F* Y- p- \. s
当然,也有人认为 OpenGPT-2 的效果更好:
; ]( T" b$ x( c8 C" [5 B& v5 H5 L$ P
" P) \& {% n: B! h$ d
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
& f3 ], C4 N$ c1 o( P% [& i; F0 T/ Y4 _3 C* v# D- M. Q
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
" ]. S9 ~7 y. a& N$ S* H4 }" _/ I5 d5 {! m# K% W2 P
/ G/ t# b. K1 O& ]* q- N8 [
% d: P+ b' u8 Q5 @# W至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
3 E5 S# v9 t! E& H! y y- ~- `
! s/ c3 S1 d" l8 S7 P! W1 x7 d参考链接:# C' O B4 Z- T0 _5 N
: Z8 a6 K1 N+ h! E
8 H8 v1 g: C; _; ]
4 f8 D' U1 Y" q, i4 t) ]https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
6 y5 ~1 }; z/ I) Q8 ghttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
7 e$ z: z, s+ ~+ @7 p$ m# g1 d! {
4 L# L, V; Z/ `8 c
, e1 r9 i5 [' C5 D4 m1 [
+ R0 a6 @% ^$ O6 _& zWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 " V8 A3 f( D4 T# V
0 d6 ^& k. _3 |( Q: L% I2 E3 N8 O
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
3 i0 q* S: f6 l* Y4 I点击阅读原文,立即报名。
. {+ Y) Z I7 v: c$ G) m! o, C5 H
- e% j, P9 ^- y6 E
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
" ^# |: u1 T! l% m免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |