|
机器之心报道 7 M7 R6 g' Z0 E
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
3 i1 t, |+ B0 C* u) ~$ W* H. y$ Q, J
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
0 w, V, }. ]5 Z1 ]6 y' H( }读者可以在 Google Colab 上访问该模型并生成文本。
5 M' b9 U" b" H/ B& t9 YGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit! e0 o% D% F" S8 c2 [
' a M F5 \ `% M
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1
9 h8 D6 W# w% i( L ?作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。; K" `, | f8 x. B0 P3 F5 a( S
2 _0 S6 X; _# m% ~5 U
% ~8 D& i, H# P( C
复制方法和成本" \1 H# X% f& O+ A
9 j) g! f0 ?8 I J9 }OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。" k! u' x( b. c% H
# g$ ?# n+ F4 U( V# y3 K; J
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
6 q. |4 w' X- V9 S/ w$ I! d) a# r* ^& R* c" |3 ~0 o1 H
数据集6 [# S/ n& V k7 T
' q7 k; Z* {2 k1 V* L3 {. F! P
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
/ z+ b% i) z0 V& ]2 x3 c* z1 Z. t( {! H9 M
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
$ m( L5 B9 L7 G1 |' H3 ^7 A& q; a+ C) f
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。
4 L- S n1 H- u) w8 r7 e6 q3 T+ f% F
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。% H# i/ c7 I( k6 ^
5 y8 U2 F; V# r& v
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
, K& j3 f5 N0 o1 h
, B& n, v+ {5 s* c作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。- q7 U& O. d3 J' W+ a! d
8 l D# u% Y; H& I5 q8 R7 f' {
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/1 _$ j( M4 D- G i( q
% [" X5 _# b$ U在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
' l4 L9 z2 b7 W3 h( Z3 [# K) p- ]: p# k1 I0 L
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。, O. w% @3 c% K
4 r( h) o" |" ^1 O+ t
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。
9 P4 ]( G+ c& b) f. g1 C; s4 L- Q: H5 f; c# j8 d6 ^
/ ~# f7 t% c L! B
效果' y: j( h* w- C
! o- _: J+ i% f. [# q( r+ u
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:, g/ r; i, @) k$ I7 \
: [& e/ i! Y3 q: V; q
/ `8 t% [' z" v. ?, P" o; o0 z# Y% G& x
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
4 W5 l2 X; M: I8 o5 H7 x& e$ g 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 ( t3 |! V8 w o; f8 z* y& a
7 B7 V+ A4 x$ U% ~
当然,也有人认为 OpenGPT-2 的效果更好:
+ W0 c5 b0 q% `8 U0 H9 m$ b4 m/ q& [9 r" w& e
9 n K' N, p2 }2 E! c我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。& A7 v2 f3 U7 D5 n. }0 B
4 r+ x I' H& U' u/ W0 Q但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 8 r2 U7 S- {- t. Y/ O7 B2 ?: o
, |- J+ S$ T) W+ G' f- D) V4 _) [& N! z+ ?% }. w7 ?: P
5 O" T* _, S! L3 V# @0 v$ {
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。1 [6 H3 e/ u! \: C* @4 F7 J ?+ n
( U8 e; V5 {; w. S" B) ?% V
参考链接:" v/ h, f. N5 @7 H) P [$ ^
. @8 N9 f/ f+ t$ |8 k% |) ]5 G
4 m6 B9 }/ M' m; x! f, S- g
3 [# J4 I$ L+ ~% z+ A. k& X! Yhttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
4 [/ c2 q8 A/ A% h9 ?; O% @https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
1 T z( [- R3 M! j3 H( A
7 g. f0 W8 i' C8 e* J' ?) G. @2 G! N4 u( D
8 H2 w9 G' Q' s' w2 {( V' G; ]# ]WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
( |6 `+ O5 m9 @ 7 e* j# k% V9 e! G: d# x
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
/ n+ @. g8 i5 w ?8 Z: R( o/ a点击阅读原文,立即报名。 ' k( A. H; R$ `6 }4 B# Y, K
3 x1 H p. F- M3 R
6 ^: I7 Y3 ~" Z b来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
3 O0 J* Q1 @; K8 m5 V8 X免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |