ronghuaiyang · 2020年06月16日

你对NLP的迁移学习爱的有多深?21个问题弄懂最新的NLP进展

作者:Pratik Bhavsar
编译:ronghuaiyang
首发:AI公园公众号

导读

如果这21个问题你全部了解的话,你对最新的NLP进展的了解已经过关了。
640.jpg

2018年10月BERT发布之后发生了很多事情。

你知道BERT的掩码语言模型是老派模型吗?

你知道注意力的计算不需要平方时间复杂度吗?

你知道你可以偷用谷歌的模型吗?

我们这一代人中一些最聪明的人一直在紧张地工作,并有大量的产出!NLP现在是最性感的领域?

NLProc已经走了很长的路。

我们需要另一个总结!!

这20个问题会测试你对NLP当前状态的更新程度的了解,并为任何技术讨论做好准备。


什么是最新的预训练模型(PTM)?

640.png

https://arxiv.org/pdf/2003.08...

PTMs的训练任务是什么?

640-1.png

https://arxiv.org/pdf/2003.08...

在GLUE上,最好的PTMs是什么?

640-2.png

https://arxiv.org/pdf/2003.08...

更多的数据是不是总是可以得到更好的语言模型?

T5论文说不是的,质量比数量更重要。

640-3.png

https://arxiv.org/pdf/1910.10...

什么tokenisation方法对于训练语言模型是最好的?

这篇文章:https://arxiv.org/pdf/2004.03...,说一种新的方法Unigram LM要比BPE和WordPiece更好一些。

训练语言模型的最好的任务是什么

目前最好的方法是ELECTRA→在生成器的帮助下替换输入token,然后使用识别器来预测哪个token被替换了。
640-4.png

https://arxiv.org/pdf/2003.10...
640-5.png

https://arxiv.org/pdf/2003.10...

Also T5论文还说, dropping a span为3是最好的。

640-6.png

https://arxiv.org/pdf/1910.10...

Transformer训练的时候是否需要逐步的解冻参数?

T5 论文说不需要。

640-7.png

https://arxiv.org/pdf/1910.10...

如果你有固定的训练预算,你会通过改变什么来得到更好的语言模型?

T5 paper建议同时提升训练的步数和模型的大小。
640-8.png

https://arxiv.org/pdf/1910.10...

如果你的序列长度超过了512,你会用什么模型?

Transformer-XL或者Longformer

Transformer的处理时间随着序列的长度是怎么扩展的?

平方扩展。

如何降低长文档的transformers处理时间,因为它是序列长度的二次函数?

Longformer使用了一种随着序列长度线性扩展的注意力机制。

640-9.png

https://arxiv.org/pdf/2004.05...

Longformer在语义搜索中对编码长文档非常有用。下表显示了到目前为止所做的工作。

640-10.png

https://arxiv.org/pdf/2004.05...

BERT表现这么好是因为注意力层吗?

论文Attention is not Explanation认为注意力没有正确地与输出相关,因此我们不能说由于注意机制,模型的表现更好。

如果我们去掉一个注意力头,BERT的表现会下降很多吗?

不会 —见论文 Revealing the Dark Secrets of BERT

如果我们去掉一层,BERT的表现会下降很多吗?

不会 —见论文 Revealing the Dark Secrets of BERT

如果我们随机初始化BERT,BERT的表现会下降很多吗

不会 —见论文 Revealing the Dark Secrets of BERT

我们真的需要模型压缩吗?

也许不是!这篇文章的笔记:http://mitchgordon.me/machine...

“模型压缩技术通过解释过度参数化模型趋向于收敛的结果类型,给我们一个关于如何训练适当参数化模型的提示。模型压缩有很多种类型,每一种都利用了一种不同类型的“简单性”,这种“简单性”通常在训练过的神经网络中可以找到:

  • 许多权重接近于零(修剪)
  • 权重矩阵是低秩的(权重分解)
  • 权重能只用几个位表示(量化)
  • 层通常学习类似的功能(权重共享)
如果暴露为API,我们可以偷一个模型来用吗?

可以的Y → 在这里解释了:http://www.cleverhans.io/2020...

当前蒸馏的最新进展是什么样的?

640-11.png

https://arxiv.org/pdf/2003.08...

更大的Transformer模型训练起来比小的更快?

更大的模型更快,见这篇文章:https://bair.berkeley.edu/blo...

student-teacher框架的应用是什么?

Knowledge distillation用来产生更小的模型。

640-12.png

https://arxiv.org/pdf/1909.10...

对于不同的语言产生相似句子嵌入:https://arxiv.org/pdf/2004.09...

640-13.png

https://arxiv.org/pdf/2004.09...

如何设计模型?哪些是更重要的参数

这是一个很难回答的问题!所有这些都在“Scaling Laws for Neural Language Models”:https://arxiv.org/pdf/2001.08...

  • 测试损失 Vs 计算
  • 测试损失 Vs 数据集大小
  • 测试损失 Vs 参数

要设计和训练一个模型,首先要确定架构。然后得到它的参数量。由此,你可以计算出损失。然后选择所需的数据大小和计算量。

看一下图中的比例方程。

640-14.png

Scaling Laws for Neural Language Models


最后…

我希望你们能像我一样通过这些问题学到很多东西。要成为更好的NLP工程师,我们需要对快速发展的迁移学习有更深的理解。我相信这些想法会让你忙上几周???

推荐阅读


关注图像处理,自然语言处理,机器学习等人工智能领域,请点击关注AI公园专栏
欢迎关注微信公众号
AI公园 公众号二维码.jfif
推荐阅读
关注数
8244
内容数
210
关注图像处理,NLP,机器学习等人工智能领域
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息