|
机器之心报道 6 \5 D/ E5 o: A
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 8 T( B; k& [( J9 A' d, Q3 z
9 m9 V0 H1 v- A
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
3 D& w' l2 H2 a' ? _0 @读者可以在 Google Colab 上访问该模型并生成文本。6 v' d2 F+ O' L t% u7 v
Google Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit }# t8 O, Z6 `: {$ Z& A( \2 F
: k v7 m; V9 i( Q( Z
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX14 V8 Y( h4 \% T# X4 {9 G o
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
1 z, P. O# T+ K( B" V) m( H
% x$ {7 o& J/ q% i5 R- w; ~% \8 N' S5 e2 R5 a0 v1 m1 S
复制方法和成本- k( d/ k Y% [3 t5 X
# J4 i% W, q: M0 a5 W1 U: d! c
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
" h( C6 \( }) {- j4 c. C% H4 j5 U2 N- C& e6 E
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。 K% B+ u G* c4 Y& K& v0 F( z# N
, R. s4 V* P1 g4 ]
数据集9 w" o1 t4 I1 n
: K( W( F/ |& Q. IOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
8 T8 T- L6 z# u$ G! ~( r6 w8 t3 u( w
- k; O( L) o1 f( d论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
* d9 d; ~" C0 @" ~2 n2 C& b% N. Z; k+ {8 k- @5 p
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。# D0 Z) z' F: n, M5 O7 s& d7 Y) u/ _
+ F; e5 H% @5 M* P `此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。+ V, N$ e& u5 \& u
0 r# m x4 T; Z$ w* k& `具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
# w, \/ n( f; m( C3 }7 J5 J& C4 O/ x6 ~2 l; R; L' H% z
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。5 ^- R# i# l+ E6 C) d, W
) \$ [9 e0 W' B# \: _数据集链接:https://skylion007.github.io/OpenWebTextCorpus// L+ A# w4 T) O
/ @5 h) \# v+ R
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
9 E1 A% [. \. j2 W' |2 E
- V/ `6 j4 ^0 U% c6 A从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。% Q3 h2 }7 d% [+ S
9 H1 \7 c! y7 e/ R尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。$ S- Q* ^: N- ^
) o8 A; Y: I" p7 D1 B; V
, G+ Q. l. B O* `
效果
) w# [) i- S: S9 L* d3 f! [
# `2 R! v' S4 g: n两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:6 u% b% r/ C& j
# d* V! R. F7 P( I) ~4 t1 g! Q+ S
! J1 W+ E3 f, F# X+ L, Z4 E6 N! S
* m+ _3 u, z% i) qreddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
d$ M+ C* _2 C; v 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 7 g, E4 O! X- Z+ H2 c7 A6 f3 h4 K
# H. h3 N( C9 Y/ t. \
当然,也有人认为 OpenGPT-2 的效果更好:
1 K! f' m) F+ k @4 Q: f7 s# `. A, D7 j% E1 U& p q8 h
; s3 D6 A6 f W* K6 a, p我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
_7 `+ e4 D. E, v: _+ K& Z( \ {- h! [; N* A
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
3 _0 q4 b6 x. N4 {
$ \4 U" B( [, o) w
/ R, W7 S" T6 F% C4 I# v$ X3 Q+ ?$ t. X
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
0 g( [; z9 I# P7 q9 @) P7 `3 \0 E0 r2 m$ j& {9 m4 ]
参考链接:2 V2 i& ]5 Q3 \, Y$ k* `! J8 w& z
& E! N/ B- X) s8 t3 l) J! N( o1 x
& ^+ q- p6 n9 P+ I9 r& |3 g$ J0 Y2 F* Z5 Q0 T0 ?0 ^
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/' E, e% }' t0 w5 Z8 S3 O3 r
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc7 M6 Q2 ]8 O, `' c+ j7 M! R. ~+ D
6 [0 z6 M1 O) {5 O% N
: a+ H- ^' X. ]: |4 N X) M- h9 U1 t n$ T. M4 B+ h9 c& X1 p' h
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 5 O Z3 o* V. R5 Z: r/ I
% s# K- @; h" E, T4 I$ y
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 * s8 N( F1 u! e) t5 @- v
点击阅读原文,立即报名。 . M3 S) `( F' M8 K
" m- O, {- Q J/ U3 ~5 x
: J- m+ V" ]) _; t6 D* G来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1# }& J/ U8 C' _2 ?6 _( q' w" _/ c9 f7 [
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |