ALBERT蓝振忠:预训练模型应用已成熟,ChineseGLUE要对标GLUE
机器之心原创
作者:一鸣
今年产生的众多预训练语言模型中,ALBERT 是不同寻常的一个,因为它参数量明显比大部分模型都要小,却能在多项基准测试中达到 SOTA。本文是对该研究的第一作者——谷歌科学家蓝振忠博士进行了采访。在与机器之心的交流中,蓝博士解答了关于 ALBERT 的一些问题。同时,我们也和蓝博士就 ChineseGLUE 榜单(蓝博士为项目作者之一)和他个人的研究生涯进行了探讨。
今年石破天惊的预训练语言模型,可谓是下半年的 ALBERT 预训练模型。和 XLNet、RoBERTa 等不同。ALBERT 模型大幅减少了模型的参数量,却仍然在 GLUE、SQuAD 2.0、RACE 榜单上达到了 SOTA。另一项引起业界关注的项目,则是中文预训练语言模型评价基准 ChineseGLUE。ChineseGLUE 项目目前已吸引多个企业和研究机构参与,目前已有 6 项中文自然语言处理任务评价基准加入。这两个重要的工作背后,都有着谷歌科学家,CMU 毕业博士蓝振忠的身影。 蓝博士曾于 2010 年获中山大学软件工程和统计学学士学位,后于 2012 年至 2017 年在 CMU 攻读博士学位,主要研究计算机视觉和多媒体分析相关的技术。毕业后,蓝博士现在在谷歌担任机器智能方面的科学家。
蓝博士在多项顶会上发表过论文,包括 NeurlPS、CVPR、ICCV、IJCAI、ICDM 等。据谷歌学术统计,蓝博士已有论文 20 多篇,h-index 为 17,总引用数量为 1400 余次。在本次采访中,机器之心就 ALBERT、ChineseGLUE 等话题和蓝博士进行了交流。
ALBERT:受知识蒸馏启发的架构微创新
机器之心:我们首先谈谈 ALBERT 方面的问题吧。您当时为什么会想到要写 ALBERT 的论文?是因为什么样的契机?
蓝振忠:这个工作其实不是我一直在做的,我之前做的更多的是视频分析,但是也是集中在特征理解方面,所以两者的工作是有延续性的。当时,我有位朋友在国内做一家叫做贪心科技的 AI 教育方面的公司,需要我做一个演讲。我于是把自然语言理解的工作整个梳理一下,梳理完的时候就刚好发现有这样一个问题,于是就开始做了,前后时间也就四五个月。
机器之心:可否请您谈谈发现的问题是什么样的?是怎样引导您想到去做 ALBERT 的思路上去的?
蓝振忠:主要的问题是:现有的预训练模型的参数量都太大了。BERT 本身是一个应用非常广泛、效果很好的工作,对各项任务的提升都很大,属于在 NLP 领域开创性的工作,类似于 CV 领域的「AlexNet」,但是问题就是模型的参数量太大了,比如说 BERT-large 有三亿多个参数。所以很多人都在做 distillation(知识蒸馏)方面的工作。但知识蒸馏有一个问题是其学习能力受限于大模型。如果想要在大模型的基础上还有所提升的话,需要做架构上的改变。所以,我们基本是借鉴 CV 的一些做法,如 MobileNet,去做一些架构上的创新。首先思考的是是在性能不变的情况下,如果做到减少参数量,于是我们就有对词向量的投射做一个因式分解和对隐层的参数做共享两个方法分别来减少这两个不同模块的参数量。
BERT 和 ALBERT 两者的参数量比较。
机器之心:我们知道 ALBERT 中使用的参数化因式分解和参数共享两个方法,它们分别是怎样提升了模型的表现呢?
蓝振忠:这两个方法实际上都是将模型的参数进行降低。从架构的角度来看,可以把 BERT 或者 Transformer 的架构分为两个部分。其中一个是把单词投射到隐层。另一个部分是在隐层上做迭代的词向量变换。两块的模型参数都比较大。所以,我们如果想整体的去减少整个模型的参数量,就需要把两块的参数量都降下来。参数的因式分解和共享刚好对应的是这两个模块的降低参数量的方法。 除了这两个方法可以降低参数量,从而降低模型的内存占用,我们还发现去掉 Dropout 以后可以显著的降低内存占用。
机器之心:为什么说去掉 Dropout 可以减少内存的占用呢?
蓝振忠:在计算的时候,除了参数会占用内存之外,还有临时变量也会占用内存。去掉 Dropout 可以显著减少临时变量对内存的占用,所以提升了性能。
机器之心:现在是否可以说,预训练模型已经可以应用在移动设备上了?如果不成熟的话,还有哪些技术难点需要解决?
蓝振忠:我觉得已经可以应用了。最近有一个这样研究,是 ChineseGLUE 的项目组做的,是 ALBERT 的中文版。他们训练了一个 ALBERT-Tiny 模型。我在谷歌的同事将它转成 tensorflow-lite 之后在手机端上做了一些测试。在 4 线程的 CPU 上的延时是 120 毫秒左右;这个是符合某些手机端的要求的。当然,我们最近还在做一些更新,还有进一步提升的空间。
机器之心:在未来,预训练语言模型的研究方面还会有哪些进步和发展呢?
蓝振忠:未来可能会有两个方向。第一个是在训练目标上的创新,我们目前在寻找比语言模型和句子顺序预测更好的一些训练目标。另外在架构上,如果在 Transformer 上有创新的,可以借鉴过来。不过,所谓的突破性进展其实都是由一点一点的微创积累而来。比如说 ALBERT 的这个例子,它是在 BERT 上做微创新而来的,而 BERT 又是在 GPT 基础上做微创新而来的。这些又都是基于 Transformer 这样一个架构的创新。如果没有 Transformer,这些工作都不会有这么好的效果。这说明,大的技术都是一点点积累起来的。
BERT(左)、GPT(中)和 ELMo(右)预训练语言模型的架构对比。BERT 吸收了 GPT 使用 Transformer 和 ELMo 采用双向预训练的优点。
ChineseGLUE 的目标是成为中文领域的 GLUE
机器之心:我们刚才谈到了 ChineseGLUE,您也是这个项目的作者之一,当初加入这个项目是什么样的一个想法? 蓝振忠:这个项目的意义非常好。如果我们想要提升中文预训练模型的效果,需要有一个比较完整的评价体系。之前,我们是没有一个比较全面的评价体系的。加入 ChineseGlue,我希望和小伙伴们把这个体系给搭起来。现在在 NLP 方面的中国研究人员非常多。我们希望最终中文也能被纳入作为新模型评价的一个指标。
在 ChineseGLUE 上进行过评价的模型。
机器之心:我们知道现在 ChineseGLUE 上面已经有一些相关的任务了,接下来还会加入哪些呢?当我们在考虑将一个任务加入评价体系的时候,会需要考虑哪些方面的因素和评价标准?
蓝振忠:首先说一下我们考虑的标准。第一个标准就是:这个任务必须有用。对现有的应用能起到推动作用。第二个标准是:这个任务不是评价一个已经被解决或快被解决的一个问题。如果它是一个现有的模型已经能够解决的,我们就不会考虑了。 在要添加的任务上,我们当然是希望将更多任务加入,越多越好。现在 ChineseGLUE 的成员里面有一些工业界的朋友,希望他们能够在开源方面贡献一些数据出来。例如,像我们说的 Chatbot——聊天机器人,国内很多聊天机器人都需要进行意图识别的工作。如果(工业界)能够贡献出一些意图识别的数据,其实对他们来说也是很有用的。他们可以利用整个学术界的力量提高他们的产品。如果他们贡献出一个数据集,大家都在上面提高(模型效果),那他们要采用这些技术也容易一些。
机器之心:之前机器之心也报道过像 ChineseGLUE 这样的项目,从观察上来看,好像没有看到人类在 ChineseGLUE 的各项任务上的表现。之后是否会添加人类的表现做对比呢?
蓝振忠:这的确是一个我们现在面对的问题。因为项目现在都是志愿者,所以我们没有能力去做人类水平的评价。以后我们会去做这方面的工作,因为如果有了人类的结果,对于了解数据集的难度、任务本身的难度是非常有用的。 机器之心:现在进行测试的时候,模型都是志愿者团队,或者说是项目作者们大家一起实现的,是否有其他的机构,比如说提出模型的研究者和机构参与进来?比如说,把自己的测评结果上传到一个排行榜网站上?
蓝振忠:这是我们最终希望的。现在基本上都是志愿者在做,我们希望以后 ChineseGLUE 有一定影响力以后,写文章的人们会自然而然地去使用这个标准进行测试,然后提交结果,最后做到像 GLUE 那样的标准。
ChineseGLUE 测评结果的提交页面。地址:http://106.13.187.75:8003
喜欢何恺明和 Alexei Efros 的工作
机器之心:关于您个人的研究工作上的一些问题。您的一个主要的研究兴趣是「multi-media analysis(多媒体分析)」,和我们常接触到的计算机视觉或自然语言处理研究有什么样的联系?
蓝振忠:我当时做的是多媒体方面,主要是视频分析。所以说它也属于计算机视觉领域,但是视频的帧之间的联系。 我之前做过两三个工作。其中一个是叫做「double fusion」的工作。我们需要把各种视频中的特征进行融合,如文字,语音、图像、视频的特征进行融合。我当时做的工作是将这些特征先融合,然后训练一个单独的分类器;再对每个单独特征训练一个分类器,最后把这些分类器的结果汇总起来。 之后我做的主要工作还是在计算机视觉上,从视频数据上提取一些好的特征。比如我 CVPR 2015 年的一篇文章是把图像处理一个非常经典的高斯金字塔的算法延伸到视频(时序)分析上。这个工作叫做 Beyond Gaussian Pyramid: Multi-skip Feature Stacking for Action Recognition。
- Double Fusion论文地址:http://www.cs.cmu.edu/afs/cs.cmu.edu/Web/People/lanzhzh/index/Double%20Fusion_MMM2012.pdf
- Beyond Gaussian Pyramid: Multi-skip Feature Stacking for Action Recognition论文地址:https://arxiv.org/pdf/1411.6660v3.pdf
机器之心:我们知道您经常接触很多研究和实验,如果某个研究或实验的效果不理想,遇到了一些瓶颈的时候,您会有什么样的方法论去解决这些问题?
蓝振忠:我一般喜欢去跟同事们去交流。当我有一个想法或碰到一个问题,我先不做,先跟同事、朋友聊。问问看他们对这个想法或问题的看法。另外一个方法是:有时候我会放下手头的工作,然后去读一些邻近领域的文章。因为我最开始是做计算机视觉的,所以我现在还会经常跟进这方面的工作。 机器之心:您现在是在谷歌工作,您觉得在大企业和在高校进行研究,有什么样的共同点和区别?
蓝振忠:总的来说,在计算机视觉领域,一些核心的工作,如 ImageNet 这样的,如果你有一个小的集群,这也是可以训练起来的。但是如果是 BERT 那样的模型,只有大的集群才能训练起来。所以现在在自然语言理解方面,在大公司做人工智能研究的优势要明显一些。在大公司的集群里面,你能跑的实验会多很多。 但是,在研究机构里面,你可以做一些方法论方面的工作。很多时候,你不需要在一个大的模型上去做验证。在 ALBERT 的对比实验上,基本上都是在一个最小的模型上去做,然后把它最终再把有用的方法应用到到大的模型上。因为大模型训练的确比较昂贵,所以我们基本上也是在小的模型上去做快速的迭代;高校也可以采用同样的方法。 机器之心:最后一个问题,在您目前的职业生涯中,有哪些印象比较深的研究工作?
蓝振忠:我比较喜欢两个人的工作。何恺明的工作是我非常喜欢的,他的文章里面很少出现公式,但是非常有用。还有一位是 Alexei Efros,曾经在 CMU 当教授,现在是 UC 伯克利的老师。他有很多奇思妙想方面的工作,文章读起来非常优美。读他们两个人的工作,感觉特别舒服。