性能加速最高可达28倍!这个NLP工具包不容错过

2021年11月23日 阅读数:11
这篇文章主要向大家介绍性能加速最高可达28倍!这个NLP工具包不容错过,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

导读

PaddleNLP 是兼具科研学习和产业实践能力的 Python NLP 工具包,提供中文领域丰富的预训练模型和部署工具,被高校、企业开发者普遍应用。近日,PaddleNLP v2.1正式发布,为开发者带来三项重要更新:git

  • 开箱即用的工业级NLP预置任务能力Taskflow:八大经典场景一键预测。
  • 预训练时代的微调新范式应用:三行代码显著提高小样本学习效果。
  • 高性能预测加速:文本生成任务高达28倍加速效果。

传送门:github

https://github.com/PaddlePadd...算法

PaddleNLP总体开源能力速览

PaddleNLP是飞桨生态的天然语言处理开发库,旨在提高文本领域的开发效率,为开发者带来模型构建、训练及预测部署的全流程优质体验。segmentfault

image.png
PaddleNLP功能全景图网络

PaddleNLP项目自发布以来,就受到广大NLPer的关注。在2021年6月PaddleNLP官方直播打卡课中,有7000+ 用户参加PaddleNLP的项目学习和实践,加速了自身科研和业务实践进程,同时也带动PaddleNLP屡次登上GitHub Trending榜单。框架

image.png

那么最近的2021年10月份更新,PaddleNLP又给你们带来哪些惊喜呢?下文将为您逐一细细解读。机器学习

PaddleNLP全新升级深刻解读

**开箱即用的工业级
NLP预置任务能力——Taskflow**工具

依托于百度在多年语言与知识领域的业务积淀,PaddleNLP面向NLP八种任务场景,聚合了众多百度自研的算法以及社区开源模型,并凭借飞桨核心框架的能力升级提供开箱即用、极致优化的高性能一键预测能力——Taskflow。性能

本次Taskflow升级覆盖天然语言理解(NLU)和生成(NLG)两大场景共八大任务,包括中文分词、词性标注、命名实体识别、句法分析、文本纠错、情感分析、生成式问答和智能写诗。学习

这些高质量模型的背后,一方面聚合了百度在语言与知识领域多年的业务积淀和领先的开源成果:如词法分析工具LAC、句法分析工具DDParser、情感分析系统Senta、文心ERNIE系列家族模型、开放域对话预训练模型PLATO、文本知识关联框架解语等;另外一方面也涵盖了开源社区优秀的中文预训练模型如CPM等。

将来Taskflow会随着PaddleNLP的版本迭代不断扩充技能,如开放域对话、文本翻译、信息抽取等能力,以知足更多NLP开发者的需求。

以下图所示,经过PaddleNLP Taskflow,只须要一行代码,传入任务名称便可自动选择最优的预置模型,而且以极致优化的方式完成推理,开发者能够方便地集成到下游的应用中。

image.png
Taskflow使用示意图

https://github.com/PaddlePadd...

**预训练时代的微调新范式应用:
三行代码提高小样本学习效果**

Few-Shot Learning(如下简称FSL)是机器学习的一个子领域。在仅有少数监督样本的状况下,训练获得强泛化能力的模型,实现对新数据的分类。

结合最新的Prompt Tuning的思想,PaddleNLP中集成了三大前沿FSL算法:

  • EFL(Entailment as Few-Shot Learner)[1],将 NLP Fine-tune任务统一转换为二分类的文本蕴含任务;
  • PET(Pattern-Exploiting Training)[2],经过人工构建模板,将分类任务转成完形填空任务;
  • P-Tuning[3]:自动构建模板,将模版的构建转化为连续参数优化问题。

使用小样本学习策略,仅仅32条样本便可在电商评论分类任务上取得87%的分类精度[4]。此外,PaddleNLP集成 R-Drop 策略做为 API,只须要增长三行代码便可在原任务上快速涨点,如图所示:

image.png

https://github.com/PaddlePadd...

**高性能预测加速:
文本生成场景高达28倍加速效果**

PaddleNLP与NVDIA强强联合,以FasterTransformer[5]为基础,提供了Faster系列的推理API,重点拓展了更多主流网络结构适配与解码策略支持。同时结合飞桨核心框架2.1版本全新的自定义OP的功能,提供了与飞桨框架无缝衔接的使用体验。

image.png

FasterTransformer Decoding Workflow

(1) 大幅提高生成任务的推理能力
在Transformer机器翻译、GPT文本生成两个任务中,分别对比使用动态图版本的性能和内置Faster系列的推理API后,不一样batch size下预测性能加速比,从对比数据能够看到不管Transformer仍是GPT,都可获得高达28倍推理速度提高!

image.png

image.png

image.png
image.png

PaddleNLP Transformer翻译模型加速优化先后的

Nsight Profling对比图

(2)支持丰富的经典解码策略
PaddleNLP v2.1提供工业界主流的解码加速支持,包括经典的Beam Search,以及多个Sampling-based的解码方式:如Diverse Sibling Search[6]、T2T版本的Beam Search实现[7]、Top-k/Top-p Sampling等。丰富的加速策略能够知足对话、翻译等工业场景的实际应用,同时PaddleNLP的加速实现也在百度内部通过了大规模互联网业务的真实考验。

表1:PaddleNLP 2.1 支持加速的模型结构与解码策略

image.png

更多PaddleNLP加速使用文档能够参考:

https://github.com/PaddlePadd...

别的不须要多说了,你们访问GitHub点过star以后本身体验吧:

图片

https://github.com/PaddlePadd...