模型蒸馏的目标主要用于模型的线上部署,解决Bert太大,推理太慢的问题.因此用一个小模型去逼近大模型的效果,实现的方式一般是Teacher-Stuent框架,先用大模型(Teacher)去对样本进行拟合,再用小模型(Student)去模仿Teacher. 为什么蒸馏本身会比直接用小模型去拟合样本取得更好的效果呢?这里先抛出几个可能的方向 样本降噪:大模型本身作为一个'BottleNeck',把难以学到的信息和噪声样本进行了一定程度过滤,降低了学习难度 样本增强:把大模型的预测prob作为小模型的…
Albert是A Lite Bert的缩写,确实Albert通过词向量矩阵分解,以及transformer block的参数共享,大大降低了Bert的参数量级.在我读Albert论文之前,因为Albert和蒸馏,剪枝一起被归在模型压缩方案,导致我一直以为Albert也是为了优化Bert的推理速度,但其实Albert更多用在模型参数(内存)压缩,以及训练速度优化,在推理速度上并没有提升.如果说蒸馏任务是把Bert变矮瘦,那Albert就是把Bert变得矮胖.最近写的文本分类库里加入了Albert预…
Bert通过双向LM处理语言理解问题,GPT则通过单向LM解决生成问题,那如果既想拥有BERT的双向理解能力,又想做生成嘞?成年人才不要做选择!这类需求,主要包括seq2seq中生成对输入有强依赖的场景,例如翻译,生成式问答,文本摘要等等 最初Transformer的Encoder+Deocder结构是在机器翻译领域,Encoder的部分通过双向LM来抽取输入的全部上下文信息,Decoder通过单向LM在Encoder抽取信息的基础上完成生成任务.但后续的预训练模型,Bert和GPT各自选取了T…
一章我们来聊聊在中文领域都有哪些预训练模型的改良方案.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…
1. 背景 需求:针对视频形式的数据输入,对每一帧图像,有多个神经网络模型需要进行推理并获得预测结果.如何让整个推理过程更加高效,尝试了几种不同的方案. 硬件:单显卡主机. 2. 方案 由于存在多个模型需要推理,但模型之间没有相互依赖关系,因此很容易想到通过并行的方式来提高运行效率. 对比了如下几种方案的结果,包括: 串行 线程 进程 协程 3. 实现 3.1 整体流程 配置了 4 个体量相近的模型. 为了屏蔽读取和解码的时间消耗对最终结果的影响,提前读取视频并准备输入. 统计每个单独模型执行推…
  欢迎关注我的公众号 [极智视界],回复001获取Google编程规范   O_o   >_<   o_O   O_o   ~_~   o_O   本文介绍一下 Tengine 模型转换及量化流程.    Tengine 同 ncnn 一样,也是优秀的端侧推理框架,前面写过一篇<ncnn 模型转换及量化流程>,有兴趣的同学可以查阅.   下面开始. 1.编译 Tengine Tools    CmakeList.txt 中打开 CONVERT_TOOL 和 QUANT_TOOL…
之前看过一条评论说Bert提出了很好的双向语言模型的预训练以及下游迁移的框架,但是它提出的各种训练方式槽点较多,或多或少都有优化的空间.这一章就训练方案的改良,我们来聊聊RoBERTa和SpanBERT给出的方案,看作者这两篇paper是一个组的作品,所以彼此之间也有一些共同点~ RoBERTa RoBERTa与其说是一个新模型,更像是一个篇炼丹手札( ˘•ω•˘ ).作者针对BERT预训练中的几个超参数进行了测试,给出了更好的方案.相信你一定也在不少paper里都看到过"训练方案参考RoBER…
借着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里面对更高效…
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)两种继续预训练方案,…