EasyNLP: A Comprehensive and Easy-to-use NLP Toolkit
Github: https://github.com/alibaba/EasyNLP
简介
在过去的三年里,我们基于PAI-TF推出了一套面向NLP的深度迁移学习框架 PAI-EasyTransfer,经过了集团内部10多个BU,20多个业务场景打磨,给NLP和迁移学习用户提供了多种便利,包括业界领先的高性能预训练工具链和预训练ModelZoo,丰富易用的AppZoo,高效的迁移学习算法,以及全面兼容阿里巴巴PAI生态产品,给用户提供从模型训练到部署的一站式服务。随着集团内外越来越多的研究和业务是PyTorch开发的,用户也希望能够在PyTorch框架中使用EasyTransfer的ModelZoo、AppZoo等进行开发;开源的一些算法,如近年来发展势头较旺盛的基于BERT的知识蒸馏,DistilBERT,BERT-PKD,TinyBERT等,都以PyTorch的方式进行开源;最后,除却迁移学习以外,NLP/文本挖掘领域还有大量需求不能被满足,如小样本学习、关键词提取、敏感词识别、数据增强等。因此,为了更全面地支持用户在PAI平台上对PyTorch、NLP/文本挖掘算法的开发,我们着手开发了PAI-EasyNLP(前身是EasyTexMiner),拥有以下几个特性:
- 易用且高度自定义:除却提供易用简洁的PAI命令形式对前沿算法进行调用以外,还抽象了一定的自定义模块如AppZoo和ModelZoo,用户可以根据自己的需求进行模型、数据处理、训练、评估、预测等上进行自定义,降低使用PyTorch开发NLP/文本挖掘算法的门槛。
- 兼容开源:可以无缝接入huggingface/transformers的模型,可以借助框架自带的训练框架提升训练效率。同时也兼容PAI-EasyTransfer(Tensorflow)的ModelZoo,可以将EasyTransfer的模型库迁移到EasyNLP平台跑。
- 知识注入预训练:PAI团队在知识注入预训练上有非常多的沉淀,其中知识预训练模型在CCF举办的知识预训练上取得了第一名。EasyNLP集成了这些前沿的知识预训练模型,包括DKPLM和KGBERT。
- 大模型高效落地的技术:EasyNLP提供小样本学习和知识蒸馏能力,方便用户在很少的样本上训练大模型并取得很好的效果,同时提供知识蒸馏功能帮助快速压缩大模型,学习出高效的小模型来满足线上需求;
- 无缝对接PAI产品: 借助PAI团队在通信优化、资源调度方面的深厚积累,我们可以为用户提供大规模、鲁棒的训练能力,我们离线分布式预测底座EasyPredict,使得离线预测更快速、更稳定。EasyNLP可以无缝对接PAI系列产品,比方说大模型训练平台,ModelHub,PAI-DSW,PAI Designer,给用户带来高效的训练到落地的完整体验。
框架Overview
英文文档
https://www.yuque.com/easyx/easynlp-en/sezenw