机器之心报道 , g4 |) [; R" N4 e' {* D& W
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 # ]# D2 \& z* l5 r0 j3 a6 B v
! z. O4 F" y: v- S; E3 \7 W) n7 I+ `项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。& Y* }/ E# n7 F0 S, W
读者可以在 Google Colab 上访问该模型并生成文本。
3 N3 g6 `9 \: y' b- t+ t6 DGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
# A* w: O3 B& D6 I
& P1 P' l3 [ ^! E2 \' n模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1' ~. ~% n" p& Q. c
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
9 Q+ y9 I/ n, P; J* A. ?) T) {& D& h4 i+ ]
0 h+ g2 R/ t1 J" y; x复制方法和成本# ?4 T; x) c* E6 Q5 O7 c
+ q0 ~- N# n7 z! YOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
& _# Y; E) {8 _
+ W& t6 g! d( J0 K& g至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。% ^' J1 Y0 ~8 }# F/ S* i- ^1 X
! W/ x. o% s) k. \3 n. J
数据集3 a4 j+ Z1 A: \" F, Z, }0 |
+ D/ |% ]8 r, m- |0 G) OOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
- {# j5 c4 `! t/ ]' g: N
$ h1 ^0 M0 f! h1 X7 v论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf5 x! M5 v$ } I, K! d; V% k" e
( e0 K- u6 v* \
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。: Z2 n& z/ @0 d( |9 i
& D% l- {6 Y1 _) C5 A5 w! ~$ k
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。% K( z, z" G' E5 N1 C. h6 e
$ B* o: P% E r
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。" ]' S" g, k7 [; Y
0 c, r# [8 Q8 p- k作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。8 I) c& k6 K# M m* n4 p/ |% l
% E5 Q. p& q* u. Q数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
( R L4 Y! q% b/ E
" |+ t; n. J6 c" c5 A. x在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
% h; V- \# f! Y2 Y9 j, a. Y1 ~, h9 a
8 O5 C: q7 e+ Q) q5 Z) y2 A9 R从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。! q/ [5 g/ W! M. Q( `: l$ @. `
; d" L$ y+ ~; Z/ R) H4 d
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。( B/ _3 K& r( ?! {; i5 z
% n! O4 n2 ?+ \5 f
0 `" R. a/ t, [6 b7 @. }效果
9 }2 U# ^& B6 N& |: C( @
4 T" a# G: y6 s, {: K8 a% f7 D两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:! ~! @3 g- Z: F6 f( x) X# {; F
) V: l) q d7 f
" w5 w& q9 n2 @- e t3 O" ?4 d% f' ?/ g5 C$ t& g
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
% J& H& h6 z/ X' }) B& Y3 ~! { 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。 # P }( P% @' \9 A
3 |5 \1 I* z2 w( P& W( x
当然,也有人认为 OpenGPT-2 的效果更好:- Y9 m, ^( E! j2 s. s3 j5 g- _/ t4 ^
8 l- O5 q- X& K" ]: ?( o' s5 B: g
; c0 ~9 B q; u0 e
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
& k8 k# E& ~% X, z; Q, |# q- |2 O, j! m2 r
但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 3 g, V0 l/ m0 m6 z3 g
3 m" j+ }& Z/ \
0 k) ^# ~+ V4 `9 ~! p
4 D8 N B- I& b w0 y( O至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
# ]. T" L- B0 r- M% V+ @1 _+ L; b6 |: }- R' N9 ~8 I' E+ E
参考链接:% ?, D. L4 x% w8 c, H: {9 s& k
- g+ l6 X8 S5 s6 w: ^, S! X
% z% A# ]4 A( c- j7 }# \9 @- F
* c3 Q1 |: b. j& y3 x- G: h% r1 Ahttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/7 F5 n) i7 _ a" L. T2 B
https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc) F6 B- i; ~5 S, W
( @# a' O' l0 L4 k- }
" x0 e! J. T, d' s5 C$ L9 t z& q& |5 M. E+ m
WAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。
E4 y: k2 `% o& |* r) u" I . e g/ T3 M6 i$ J& f6 a7 Y
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 0 x8 I$ |0 F4 ~
点击阅读原文,立即报名。 4 J. b9 W; y( x$ Y+ n W
& d3 d' ]: t1 q& `2 d" o& Z0 I6 [% }: C6 r3 N
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
2 N k1 h* m! O5 b) i免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |