|
机器之心报道 5 a5 @1 D" w. x* `
参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。
6 x; O4 ]9 G, }4 W8 V9 S& m E& l) S* j1 M9 M
项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。' ^. D4 X F8 t( }* g3 N- s [
读者可以在 Google Colab 上访问该模型并生成文本。
: i; _0 q9 g/ q, \3 FGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
2 O3 i( t t; j4 s2 L2 G( Q/ M/ I A& @6 S: |: A
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX1, b% H V: j0 `
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。# F! y9 X1 I# T( H" x- _# a& `+ k/ r
! _5 _7 x3 Z4 D. Z% ?
% w/ ~% i; }( y% O& m复制方法和成本
& ~* u4 t5 f$ U
- k+ c A( b0 vOpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
, c6 `9 @! ~& S, `1 j; W5 |7 x) o/ k! n, y
至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。- g" _1 Y( e' C [5 C9 z
6 E1 [' s" r, `# C7 x$ N数据集
. T6 G- F; Y0 w
8 P: q* r5 y, WOpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
' y+ P5 p6 R) N9 Y. f' c) r9 S5 A+ C* K8 U
论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
, y/ s% p$ S7 ]2 |
+ k O9 y1 T5 ?2 D如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。
9 U1 d& T7 A$ u; u+ t9 k& n4 P/ X( ?5 C4 H$ ?
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。
0 f* c ~8 `, J4 n$ o' G
6 R4 O' o7 Q& w! N具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。, D# R" L$ U7 z5 L+ ^
" u c2 Y/ H9 o! T3 z3 F作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。# G9 m: E' v2 \( a: f: _% p4 w
- p9 J: c+ `' x% D- u数据集链接:https://skylion007.github.io/OpenWebTextCorpus/
/ G. u" i' j& R) C F1 R" U4 v$ o* D2 W
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。
; z4 N* |/ d- O& f" K; ~0 _, g/ ?3 L
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。7 |% B8 I: m0 g' Z# k/ ?2 C
! p- |0 u* f1 }! s' `0 J$ o% M尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。2 n) {" H+ l- ?7 h- o2 p
6 ]2 a. v: x7 L/ C- `
: s* g+ l e' a效果
G; F& U N9 Q- ^' R* D* c1 S+ p4 X% o* G l& G
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
& W! Q6 l: H- k; d) s
$ C3 u/ s5 ?: O, `( @( ] b! J* j5 r8 e1 k0 j3 b
% _2 p! A6 n' E1 R3 h( J* F
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:' U* ?# o! l4 f
 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
* s) c% }& x! c% W9 _" l
$ v8 i% E' j* ` J2 V } k& V当然,也有人认为 OpenGPT-2 的效果更好:" \* P6 C" s8 J
+ P4 q W3 ?' w
: v* H7 X4 @6 R d+ S3 N1 f
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。3 ~9 c# c7 `. n- {$ Y! W
8 p7 `3 U' h2 B6 N但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。
: U! d# ]) K" ?# U( a" Z) Q ]: f+ b b4 [
( |" g/ [ S1 N/ q
3 E# `0 M8 I$ T至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
0 {3 r% E$ B' z( r, a; n. D' D" z4 S2 z* ~1 D
参考链接:
* U# c- ^8 z6 y# S& `, B: ]0 ^2 a2 U+ U9 P
5 i2 D& D+ v' q4 r
3 X4 @; M" E0 ^ `" O+ @( rhttps://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
6 A4 _* V' o6 D9 }! Z# L; {https://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
6 W# m5 X0 I% Y! r h6 H! Y8 [2 C0 m( f" J5 X2 u$ x( c! _8 y
2 [, Y Y' K( y: P# o
- P. E; z1 t4 @+ `5 \7 a" uWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 3 B- @: ^. @$ y1 }2 B& a: q
9 l( ~$ |2 \3 j! t; i
届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。
8 c) g( ^! y- d点击阅读原文,立即报名。
8 Y' S5 O2 z' {: i9 G8 s0 E. T( J. {5 E5 S
4 f# P l( m% s; U
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=12 F5 F: h9 F8 d' @
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |