新智元从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史( 五 )


感兴趣的同学可以参考阿里的这篇paper:Few-Shot Text Classification with Induction Network 。
5.附录-快速上手BERT的4大工具包
预训练语言模型的代表BERT , 已经成为NLP领域的重要工具 , 不同机构/个人也分别开发了轻松使用BERT的工具包 。 笔者结合自身经验 , 简单概括了一下:
5.1 肖涵 - bert-as-service
顾名思义 , 将BERT模型直接封装成一个服务 , 堪称上手最快的BERT工具 。 作者是xxx肖涵博士 。
新智元从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
本文插图
按照GIthub上的教程 , 下载BERT权重并安装工具包 , 三行代码即可轻松使用BERT获得文本的向量特征 , 完成下游NLP各项任务 。 bert-as-service是跨平台的服务 , 不受限于OS、深度学习框架 , 且作者对于并发做了大量优化与加速 , 可以满足日常实验甚至公司的实际业务需求 。
5.2 Google - BERT源码
BERT源码官方仓库 , 可以学习BERT各模块的底层实现细节 。 Google开源了权重的同时 , 也开源了预训练、子任务微调的脚本 , 是学习BERT不可略过的学习教程 。 代码基于tensorflow , 对TF熟练的同学会更快上手 。

新智元从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
本文插图
当前 , 仓库中还发布了2/4/6/8..层不同大小的BERT , 以缓解BERT资源开销大、inference缓慢带来的问题 。 中文BERT可以参考哈工大崔一鸣、实在智能徐亮等开源的权重 。
5.3 huggingface - transformers
有了TF版 , pytorch怎甘落后 。 机构huggingface开发的transformers工具包 , 堪称预训练模型大礼包 , 囊括了10几种火热模型 。
新智元从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
本文插图
种类齐全且api接口实现统一、调用简单 , 是pytorch框架与BERT的最佳组合 。 transformers的src源码也是学习BERT等模型原理的绝佳资料 。
5.4 苏剑林 - bert4keras
接下来自然而然该Keras出场了!作为tf2.0的官方高阶api , Keras的简洁特性始终拥有超高人气 。
新智元从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史
本文插图
来自追一科技的苏神苏剑林 , 在业余时间自己实现了bert4keras框架 , 且提供了详细教程、众多下游任务微调脚本(分类、文本生成、QA、图片标题生成等) 。 始终走在BERT任务的前沿 。
除以上工具包 , github上还有众多用户开源的BERT相关工具 , 按需参考使用即可 。
Reference
[1] Devlin J, Chang M W, Lee K, et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding[J]. arXiv preprint arXiv:1810.04805, 2018.
[2] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need [C]//Advances in Neural Information Processing Systems. 2017: 5998-6008.
[3]Zhilin Yang, Zihang Dai, Yiming, et.al. XLNet: Generalized Autoregressive Pretraining for Language Understanding[C]. arXiv preprint arXiv:1906.08237, 2019.
[4]Kaitao Song, Xu Tan, Tao Qin, Tie-Yan Liu, et.al. MPNet: Masked and Permuted Pre-training for Language Understanding [C]. arXiv preprint arXiv:2004.09297, 2020.
[5]Weijie Liu, PengZhou, QiJu, et.al. FastBERT: a Self-distilling BERT with Adaptive Inference Time[C]. arXiv preprint arXiv:2004.02178, 2020.
[6]张俊林 - XLNet:运行机制及和Bert的异同比较
[7]李如 - FastBERT:又快又稳的推理提速方法