摘要:
由暴力匹配引入KMP算法 > 暴力匹配算法 问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置。 如果用暴力匹配的思路,并假设现在文本串S匹配到 i 位置,模式串P匹配到 j 位置,则有: 如果当前字符匹配成功(即S[i] == P[j]),则i++,j++,继续匹配下一个字符; 如果失 阅读全文
摘要:
说句题外话,最近脑子一团浆糊,堆了数不清的任务又啥啥都不想干,只有总结整理这种简单却效果明显的事才能让心里舒服一点。 做笔试题的过程中,用到了以下一些提升C++算法性能的技巧,在此记录: 得到性能提升的设置均用橘黄色标出。 1. 加速输入输出: 优化: std::ios::sync_with_std 阅读全文
摘要:
持续更新 2020-06-28 目录 ELMO BERT SpanBERT structBERT(Alice) RoBERTa ERNIE2 XLNet ELECTRA MASS BART UniLM T5 C4 Smaller Model: ALBERT Distill BERT Tiny BER 阅读全文
摘要:
参考:机器之心 论文:Pre-trained Models for Natural Language Processing: A Survey 首先简要介绍了语言表示学习及相关研究进展; 其次从四个方面对现有 PTM (Pre-trained Model) 进行系统分类(Contextual、Arc 阅读全文
摘要:
MobileBert: 自下而上的知识转移: 将 Bottleneck BERT-LARGE teacher 的知识传递给student。 先训练teacher,然后逐步从下网上训练student,要求它一层一层地模仿teacher。 知识转移的渐进过程分为L个阶段,其中L为层数。图2展示了渐进式知 阅读全文
摘要:
结合/融合/整合 (integration/ combination/ fusion)多个机器学习模型往往可以提高整体的预测能力。这是一种非常有效的提升手段,在多分类器系统(multi-classifier system)和集成学习(ensemble learning)中,融合都是最重要的一个步骤。 阅读全文
摘要:
模型压缩相关 [github code] 本文研究对BERT的剪枝。结论:BERT可以在预训练时进行一次修剪,而不是在不影响性能的情况下对每个任务进行单独修剪。 针对不同水平的修剪: 低水平的修剪(30-40%)根本不会增加训练前的损失或影响下游任务的转移。中等水平的修剪会增加训练前的损失,并阻止有 阅读全文
摘要:
Transefomer-based 的预处理模型往往很消耗资源,对运算性能要求极高,还有严格的延迟需求。 潜在补救方法:模型压缩。 这篇文章主要讲如何压缩Transformers,重点关注BERT。使用不同的方法对attention层 全连接层等不同部分的压缩会有不同的效果,来看看作者后面怎么说。 阅读全文
摘要:
模型压缩可减少受训神经网络的冗余,由于几乎没有 BERT 或者 BERT-Large 模型可直接在 GPU 及智能手机上应用,因此模型压缩方法对于 BERT 的未来的应用前景而言,非常有价值。 一、压缩方法 1、剪枝——即训练后从网络中去掉不必要的部分。 这包括权重大小剪枝、注意力头剪枝、网络层以及 阅读全文
摘要:
C++性能提升 树相关算法 经典排序算法: 归并排序 快速排序 堆排序 基数排序 希尔排序 KMP算法 阅读全文