夕小瑶的科技屋

7款优秀Vim插件帮你打造完美IDE
7款优秀Vim插件帮你打造完美IDE

集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,不管是Java、C还是Python,使用IDE编程可以帮你检查语法、自动补全、后台编译等,写代码就变得容易许多。另外,如果经常在服务器上工作的小伙伴一定知道Vim在进行文本编辑的时候是多么的方便。那么当vim的高效编辑性和IDE辅助编程性相融合,岂不是天下无敌?

ACL20 | 让笨重的BERT问答匹配模型变快!
ACL20 | 让笨重的BERT问答匹配模型变快!

在实际场景下,考虑到设备的运算速度和内存大小,往往会对模型进行压缩,比如通过蒸馏(distillation)小模型、剪枝(pruning)、量化(quantization)和低轶近似/权重共享等方法。 但模型压缩还是会带来一定的精度损失。因此我们思考,是不是可以参考双塔模型的结构,提前进行一些计算,从而提升模型的推理速度?

巨省显存的重计算技巧在TF、Keras中的正确打开方式
巨省显存的重计算技巧在TF、Keras中的正确打开方式

最近笔者发现,重计算的技巧在tensorflow也有实现。事实上从tensorflow1.8开始,tensorflow就已经自带了该功能了,当时被列入了tf.contrib这个子库中,而从tensorflow1.15开始,它就被内置为tensorflow的主函数之一,那就是tf.recompute_grad。找到 tf.recompute_grad 之后,笔者就琢磨了一下它的用法,经过一番折腾,最终居然真的成功地用起来了,居然成功地让 batch_size 从48增加到了144!然而,在继续整理测试的过程中,发现这玩意居然在tensorflow 2.x是失效的...于是再折腾了两天,查找了各种资料并反复调试,最终算是成功地补充了这一缺陷。

万万没想到,我的炼丹炉玩坏了
万万没想到,我的炼丹炉玩坏了

虽然懂点DL框架层知识,懂点CUDA和底层,但是我是做算法的哎,平时debug很少会遇到深度学习框架层的bug(上一次还是三年前被pytorch坑),更从没遇到过CUDA层甚至硬件层的bug。直到有一天....

算法与数据结构--空间复杂度O(1)遍历树
算法与数据结构--空间复杂度O(1)遍历树

遥想当年面试的时候,由于没有学过数据结构,在面试官出算法题之前就老实交待家底:“我的算法和数据结构不太行,树呀图呀都不太会(✿◡‿◡)"。但是经过两年断断续续的学习,发现其实树是一个套路非常明显的一类算法题,而遍历树是解决绝大多数树问题的基础(很多题目都是在树的遍历上扩展),下面小鹿就以树的遍历为例,解剖树里面深深的套路吧o(* ̄▽ ̄*)o。

文本匹配相关方向打卡点总结
文本匹配相关方向打卡点总结

前不久小夕在知乎上写了一个回答《NLP有哪些独立研究方向》,于是有不少小伙伴来问分类和匹配的参考资料了,鉴于文本分类的资料已经超级多了,就不写啦。匹配问题由于场景比较多,相关的文章不多,所以本文就致力于总结一下文本匹配问题上可以打卡的相关资料啦。

如何优雅而时髦的解决不均衡分类问题
如何优雅而时髦的解决不均衡分类问题

之前小夕因项目需要研究了一小阵子的不均衡(文本)分类问题,不过没有研究的太过深入,也没有总结出一套成体系的处理思路。正好今天发现数据挖掘大佬「微调」在知乎上写了一个言简意赅又很具有实际操作价值的回答,于是分享给大家啦~