Albert是A Lite Bert的缩写,确实Albert通过词向量矩阵分解,以及transformer block的参数共享,大大降低了Bert的参数量级.在我读Albert论文之前,因为Albert和蒸馏,剪枝一起被归在模型压缩方案,导致我一直以为Albert也是为了优化Bert的推理速度,但其实Albert更多用在模型参数(内存)压缩,以及训练速度优化,在推理速度上并没有提升.如果说蒸馏任务是把Bert变矮瘦,那Albert就是把Bert变得矮胖.最近写的文本分类库里加入了Albert预…
模型蒸馏的目标主要用于模型的线上部署,解决Bert太大,推理太慢的问题.因此用一个小模型去逼近大模型的效果,实现的方式一般是Teacher-Stuent框架,先用大模型(Teacher)去对样本进行拟合,再用小模型(Student)去模仿Teacher. 为什么蒸馏本身会比直接用小模型去拟合样本取得更好的效果呢?这里先抛出几个可能的方向 样本降噪:大模型本身作为一个'BottleNeck',把难以学到的信息和噪声样本进行了一定程度过滤,降低了学习难度 样本增强:把大模型的预测prob作为小模型的…
一章我们来聊聊在中文领域都有哪些预训练模型的改良方案.Bert-WWM,MacBert,ChineseBert主要从3个方向在预训练中补充中文文本的信息:词粒度信息,中文笔画信息,拼音信息.与其说是推荐帖,可能更多需要客观看待以下'中文'改良的在实际应用中的效果~ Bert-WWM Take Away: Whole Word Masking全词掩码 Paper:Bert-WWM,Pre-Training with Whole Word Masking for Chinese BERT Githu…
背景 海量且优质的数据集是一个好的 AI 模型的基石之一,如何存储.管理这些数据集,以及在模型训练时提升 I/O 效率一直都是 AI 平台工程师和算法科学家特别关注的事情.不论是单机训练还是分布式训练,I/O 的性能都会显著影响整体 pipeline 的效率,甚至是最终的模型质量. 我们也逐渐看到容器化成为 AI 训练的趋势,利用容器可以快速弹性伸缩的特点,结合公有云的资源池,能够最大化资源利用率,为企业大大节约成本.因此也就诞生了类似 Kubeflow 和 Volcano 这样的开源组件,帮助…
之前看过一条评论说Bert提出了很好的双向语言模型的预训练以及下游迁移的框架,但是它提出的各种训练方式槽点较多,或多或少都有优化的空间.这一章就训练方案的改良,我们来聊聊RoBERTa和SpanBERT给出的方案,看作者这两篇paper是一个组的作品,所以彼此之间也有一些共同点~ RoBERTa RoBERTa与其说是一个新模型,更像是一个篇炼丹手札( ˘•ω•˘ ).作者针对BERT预训练中的几个超参数进行了测试,给出了更好的方案.相信你一定也在不少paper里都看到过"训练方案参考RoBER…
paper: Don't stop Pretraining: Adapt Language Models to Domains and Tasks GitHub: https://github.com/allenai/dont-stop-pretraining 论文针对预训练语料和领域分布,以及任务分布之间的差异,提出了DAPT领域适应预训练(domain-adaptive pretraining)和TAPT任务适应预训练(task-adaptive pretraining)两种继续预训练方案,…
Bert通过双向LM处理语言理解问题,GPT则通过单向LM解决生成问题,那如果既想拥有BERT的双向理解能力,又想做生成嘞?成年人才不要做选择!这类需求,主要包括seq2seq中生成对输入有强依赖的场景,例如翻译,生成式问答,文本摘要等等 最初Transformer的Encoder+Deocder结构是在机器翻译领域,Encoder的部分通过双向LM来抽取输入的全部上下文信息,Decoder通过单向LM在Encoder抽取信息的基础上完成生成任务.但后续的预训练模型,Bert和GPT各自选取了T…
借着ACL2022一篇知识增强Tutorial的东风,我们来聊聊如何在预训练模型中融入知识.Tutorial分别针对NLU和NLG方向对一些经典方案进行了分类汇总,感兴趣的可以去细看下.这一章我们只针对NLU领域3个基于实体链接的知识增强方案Baidu-ERNIE,THU-ERNIE和K-Bert来聊下具体实现~ 知识增强 Knowledge is any external information absent from the input but helpful for generating…
这一章我们来唠唠如何优化BERT对文本长度的限制.BERT使用的Transformer结构核心在于注意力机制强大的交互和记忆能力.不过Attention本身O(n^2)的计算和内存复杂度,也限制了Transformer在长文本中的应用. 之前对长文档的一些处理方案多是暴力截断,或者分段得到文本表征后再进行融合.这一章我们看下如何通过优化attention的计算方式,降低内存/计算复杂度,实现长文本建模.Google出品的Efficient Transformers: A Survey里面对更高效…
BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding 谷歌AI语言组论文<BERT:语言理解的深度双向变换器预训练>,介绍一种新的语言表征模型BERT——来自变换器的双向编码器表征量.异于最新语言表征模型,BERT基于所有层的左.右语境来预训练深度双向表征量.BERT是首个大批句子层面和词块层面任务中取得当前最优性能的表征模型,性能超越许多使用任务特定架构的系统,刷新11项NLP任务当前最…