机器之心报道
- v/ a! R @: H) y参与:杜伟、张倩前几天,OpenAI 发布了 7.74 亿参数量的新一版 GPT-2,并表示将在几个月之内发布 15.58 亿参数量的完整版本。但还没等到完整版官宣,有人就已经等不及了,索性自己动手复制了一个 15 亿参数量的 GPT-2,并将其命名为 OpenGPT-2。项目作者是来自布朗大学的两位硕士研究生,他们复制 GPT-2 的花费大约是 5 万美元。 5 r# \; b7 Z7 M1 \7 e
3 Q6 C# u5 w+ C项目的两位作者:Aaron Gokaslan 和 Vanya Cohen 。
8 j9 n' [) o# Z1 J& [1 ^读者可以在 Google Colab 上访问该模型并生成文本。
# N5 M; \* Y4 L, PGoogle Colab 地址:https://colab.research.google.com/drive/1esbpDOorf7DQJV8GXWON24c-EQrSKOit
# o+ ~7 G. K4 ?( J x9 Q D/ `! F0 M' I! m8 M% z+ ~/ G
模型权重:https://drive.google.com/drive/u/0/folders/1KfK5MXtvgH8C615UUZoKPIUVJYIdJxX12 i% d2 Q0 n K1 R
作者表示,复制 GPT-2 没有那么难,论文中的很多结果都是他们两人可以复制的,并且二人并没有语言建模的经验。所以,只要你感兴趣(壕),你也能自己复制一份。
9 }* L5 @' Y1 [1 m: K* d9 |7 H3 v, ]$ i0 `
* p0 i, D2 [: ]% [6 u, V复制方法和成本4 E+ B! `) c# O# W) D
. x" z3 x$ `7 R
OpenGPT-2 的实现基于 Grover 模型,通过修改它们的代码库来达到 GPT-2 的语言建模训练目标。由于 Grover 模型是在类似的大型语料库上进行训练,所以很多代码和超参数很容易重复使用。他们也没有对 Grover 的超参数进行大量修改。
8 J1 `: @4 d7 }, j5 \+ U7 q) {
; \, d/ M l! k' D" k6 H至于成本嘛,他们使用自己的代码从零开始训练 GPT-2 模型大约花费了 5 万美元。但需要注意的是,5 万美元只是云计算的估算成本,没有包含更细微的内在成本(在其他效率更低的易用计算资源上训练模型的效果会更差)。
9 D3 F F' N+ |: H( ?' ]6 p0 U& z/ B: H" E+ v R
数据集9 B3 u* ~: ? L" _: i& n
1 y j5 ^: _9 } L" F
OpenAI GPT-2 的原始论文中有对清理数据集的详解。在该论文中,Open AI 的研究人员用到了一个名为 WebText 的数据集,其中包含数百万个网页。
% R0 d7 p6 T# e( l; L) r5 h
3 c8 x8 c2 |, G, M j, M) r0 H论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
' U0 w9 m0 k" V! {' I8 y, d$ N! P1 e$ ?9 M4 b
如 WebText 一样,本文中的两位研究者首先解析 Reddit 上 3 个 up-vote 以上的所有链接。同时,他们利用了 Pushshift Reddit scrape 数据集,该数据集集合了持续更新的 Reddit 帖子、评论和有关元数据。然后,作者对这些链接进行过滤,删除那些不太可能包含有用文本或 HTML 的文件类型(即视频文件、PDF 和 CSS 格式文件)的直接链接。
4 u& M, y9 \: J9 w: M/ L& i9 b2 @7 n0 R8 [: |4 R" Q$ k
此外,作者还过滤了网页,以删除被各种评估基准和数据集所使用的 Wikipedia 内容。他们并不能确定自己的过滤方法是否符合 OpenAI 的标准。因此,他们使用 Newspaper Python 库从 HTML 网页上提取文本,然后使用 fastText Python 库只过滤掉英文文本。2 _: e7 B" g0 |8 c) s9 }" i- B
, W# v7 X! Q8 U \
具体来说,作者使用了 WhatTheLang python Wrapper。他们利用局部敏感哈希(locally sensitive hashing,LSH)删除这些文档。最后,他们将这些文档散列到了 5-gram 的集合中,并删除了相似度阈值大于 0.5 的所有文档。
" S! _* _6 K4 N( e) T& c* |) ]* ^' _. F) ^
作者还从数据集中删除了 token 数少于 128 的文档。这些短文档往往质量较低。作者将这一数据集作为 OpenWebTextCorpus 发布。9 D+ j. q" Z4 c+ b+ J
" {' F1 J4 \8 t+ I$ s' l/ w: U
数据集链接:https://skylion007.github.io/OpenWebTextCorpus/6 F( z \; ?7 L$ Z* d0 C$ b
+ V, x( ]# q( G0 r X
在编码数据集时,作者使用了 Radford 等人发布的适用于小模型的 Binary Pattern 编码器。他们还利用 OpenWebText 网页爬取代码库的修订版作为自身数据集集合的起始点。& f3 {* t5 z3 X5 k
; Y; Y8 c- S2 a- l6 S* b. R) @& s
从公开发布的 WebText 的 26 万篇文档的集合来看,作者发现所有文档的双字节编码(BPE)长度最小为 40,最大为 1024。而 OpenWebText 的不同之处在于作者将文档长度的最低值设为 128 个 token(替代 BPE),并且不限制文档最大长度。此外,原始 WebTextCorpus 是在这些样本可用之前发布的,因此作者没有使用这些信息来生成清理启发式。
6 y- E0 V4 @( l2 c3 R/ s8 ~: i* R& v3 g( R$ K8 g) o1 C
尽管在训练分布上存在差异,作者依然得出了与多数数据集接近的困惑度。/ h) E7 X" e0 c. x
" J) P& K" I% {, K/ z
# f. `6 E6 p( g/ R$ Q2 `效果
. p5 A" Q k' t/ u8 e& F3 l3 n4 F8 V9 F- u" K c
两位作者在 medium 博客中展示了 OpenGPT-2 的生成效果。他们提供给模型的提示为:「Recycling is good for the world. NO! YOU COULD NOT BE MORE WRONG!!」,输入模型之后得到了以下输出:
: b' p, V5 Q( q! |. S( ?( M/ m J9 O3 F
# ?1 T; d: D8 g* B" F
, j7 I1 p- @- Y% {
reddit 网友也根据作者给出的连接进行了测试,并将测试结果与 OpenAI 前几天公布的 7.74 亿参数量版本进行了对比。有人表示:
2 |7 ^# l; E5 ~: v0 X" U$ z( h 我使用相同的提示分别测试了 OpenGPT-2 和 OpenAI 的 GPT-2 7.74 亿参数版本,结果还是 OpenAI 的输出效果更好,所以作者的复制过程或许存在一些问题。
) E& T" z, g. K% ]5 _4 w0 G
& r/ b* ~! u) o7 l; S5 ^8 N) k当然,也有人认为 OpenGPT-2 的效果更好:
{, T- D: L' T ^! S
" g% r. W! k6 j5 L& {$ j1 ]" `: P8 P
我认为作者的 OpenGPT-2 效果优于 OpenAI 的 GPT-2 7.74 亿参数版本,但还不足以用来制造令人信服的假新闻。几次尝试输入「Shocking revelation! Vladimir Putin and Donald Trump are」,我得出了以下效果最佳的文本。该文本能够更长时间地保持语义连贯性,语句也更有意义,但还是比较容易被识破。但不可否认,OpenGPT-2 对研究确实很有帮助。
w, ^0 h& y P9 e# L
! O8 V, ] b" s7 a/ B! `% a7 l但我还有一个疑问,OpenGPT-2 到底只是把它读过的文本随机组合到一起,还是真正地创造出了新文本。 . [. _0 K/ ~& L* m( ~* T7 s
/ m+ O7 {5 _8 `* P6 R
9 [% w9 p) O A3 D* w; @% j9 `& H
+ I5 i3 ?7 n' F% T% a1 R1 R
至于 OpenGPT-2 的生成效果究竟如何,大家可以根据文中提供的链接测试一下。
! z& A* r7 h( V+ V' B! R$ j2 ]9 W4 J" e% T$ v7 }6 j/ S4 W6 |+ X
参考链接:* ~5 \( C& C( v" m, G" O1 N
+ s" D$ s4 w0 R! H% F; w6 Y+ [3 \& k: ^$ I, X1 Q2 T
/ |) ~9 L4 K0 W1 P* E6 q5 H
https://www.reddit.com/r/MachineLearning/comments/cu9xgi/p_opengpt2_we_replicated_gpt2_because_you_can_too/
. R" e+ d6 ?2 y# E) dhttps://medium.com/@vanya_cohen/opengpt-2-we-replicated-gpt-2-because-you-can-too-45e34e6d36dc
1 `, A8 w6 b, T1 X* ~1 m
( D& m- o5 p" N; O. d- n, R. f
- @$ |6 p' E* L& G; Z
+ t3 E) I3 a ^# K8 DWAIC 2019 开发者日 将于 8 月 31 日在上海世博中心举办,包含 1 个主单元、4 个分单元、黑客马拉松比赛和开发者诊所互动区。 8 ]2 n( C3 ?% H8 Q, J; S7 x
: m1 n5 O: d+ X8 H, c1 z. R届时,全球顶尖 AI 专家、技术大牛、知名企业代表以及数千名开发者将齐聚上海,围绕人工智能前沿理论技术和开发实践进行分享与解读。 " I( I. ?( o7 A3 r) ^# ]; `6 P
点击阅读原文,立即报名。 " G* N# H! J' T2 ?7 Y3 c: P% `% j
$ |& F. S7 L) |3 r" o0 @$ w# r: W2 T( N) l+ m* @
来源:http://mp.weixin.qq.com/s?src=11×tamp=1566630003&ver=1809&signature=lixpkgck3Jci-PJs9nuYQ2-e-AoYyRsK9T2JfY8UTHbrfqeLiSdjvkGmvntU-OVvGe8*llf7XPaBdBKSdmrL7CrALKS1LX-KQs*HOTH8twOu5W3TN*s6mdYxiqgYsckc&new=1
! N5 j: r) A5 N7 s1 d# ~免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |