BERT重计算:用22.5%的训练时间节省5倍的显存开销(附代码) 14
一只小狐狸带你解锁 炼丹术&NLP 秘籍 前言 虽然TPU的显存令人羡慕,但是由于众所周知的原因,绝大部分人还是很难日常化使用的。英伟达又一直在挤牙膏,至今单卡的最大显存也仅仅到32G(参考V100、DGX-2)。然而,训练一个24层的BERT Large模型的时候,如果sequence length开满512,那么batch size仅仅开到8(有时候能到10)就把这寥寥32G的显存打满...
一只小狐狸带你解锁 炼丹术&NLP 秘籍 前言 虽然TPU的显存令人羡慕,但是由于众所周知的原因,绝大部分人还是很难日常化使用的。英伟达又一直在挤牙膏,至今单卡的最大显存也仅仅到32G(参考V100、DGX-2)。然而,训练一个24层的BERT Large模型的时候,如果sequence length开满512,那么batch size仅仅开到8(有时候能到10)就把这寥寥32G的显存打满...
自然语言处理实在是太难啦!中文尤其难! 相比于英文,中文是以词作为语义的基本单位的,因此传统的中文 NLP 都需要先进行分词。分词这步就劝退了很多人,比如“研究生活很充实”,怎么让模型分出“研究|生活”,而不是“研究生”呢? 随着预训练模型的到来,中文模型通常直接用字作为输入。甚至 19 年的一篇 ACL[1] 给出结论:基于“字”的模型要好于基于“词”的模型。但是,中文是以词作为语义的基本单位的...
大家好,我是小昌,今天和大家聊一聊如何从 BERT 中获取好的句子表征。 大家都知道,BERT 的设计初衷是为了获得更好的单词表征。但是,利用 BERT 来表征句子的需求无论在学术界还是工业界都是非常紧迫的。因此,当下有许多方法被研究者们提出来去利用 BERT 来获取更好的句子表征。最直接的,就是对句子中的每一个单词的表征相加求均值。 而今天带来的这篇文章则是利用了对比学习,使得只使用 BERT ...
文:涅生 编:兔子酱 你有尝试从 BERT 提取编码后的 sentence embedding 吗?很多小伙伴的第一反应是:不就是直接取顶层的[CLS] token的embedding作为句子表示嘛,难道还有其他套路不成? nono,你知道这样得到的句子表示捕捉到的语义信息其实很弱吗?今天向大家介绍一篇来自于 CMU 和字节跳动合作,发表在 EMNLP2020 的 paper, 详尽地分析了从预训...
一只小狐狸带你解锁 炼丹术&NLP 秘籍 FastBERT 自从BERT问世以来,大多数NLP任务的效果都有了一次质的飞跃。BERT Large在GLUE test上甚至提升了7个点之多。但BERT同时也开启了模型的“做大做深”之路,普通玩家根本训不起,高端玩家虽然训得起但也不一定用得起。 所以BERT之后的发展也比较清晰,一部分壕大佬们继续搞预训练提升效果,当你对BERT Large望而...
一只小狐狸带你解锁炼丹术&NLP秘籍 背景 文本纠错(Spelling Error Correction)技术常用于文本的预处理阶段。在搜索引擎、输入法和 OCR 中有着广泛的应用。2020年的文本纠错自然也离不开 BERT 的表演。但原生的 BERT 在一些NLP任务如error detection、NER中表现欠佳,说明预训练阶段的学习目标中对相关模式的捕获非常有限,需要根据任务进行一...
这个世界上有两种极具难度的工程:第一种是把很平常的东西做到最大,例如把语言模型扩大成能够写诗写文写代码的GPT-3;而另一种恰恰相反,是把很平常的东西做到最小。对于NLPer来说,这种“小工程”最迫在眉睫的施展对象非BERT莫属。 从18年那个109M参数的BERT,到52M参数的蒸馏后的DistilBERT,再到14.5M参数的蒸馏更多层的TinyBERT,最后到12M参数的层级共享的ALBER...
推广返利