Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

开箱即用的产业级NLP工具库,性能加速最高可达28倍!

PaddleNLP v2.1 正式发布啦!
PaddleNLP 是兼具科研学习和产业实践能力的 Python NLP 工具包,提供中文领域丰富的预训练模型和部署工具,被高校、企业开发者广泛应用。近日,PaddleNLP v2.1 正式发布,为开发者带来三项重要更新:
  • 开箱即用的产业级 NLP 预置任务能力 Taskflow:八大经典场景一键预测。

  • 预训练时代的微调新范式应用:三行代码显著提升小样本学习效果。

  • 高性能预测加速:文本生成任务高达 28 倍加速效果。

传送门:https://github.com/PaddlePaddle/PaddleNLP

PaddleNLP 整体开源能力速览

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

PaddleNLP 项目自发布以来,就受到广大 NLPer 的关注。在 2021 年 6 月 PaddleNLP 官方直播打卡课中,有 7000+ 用户参加 PaddleNLP 的项目学习和实践,加速了自身科研和业务实践进程,同时也带动 PaddleNLP 多次登上 GitHub Trending 榜单。
那么最近的 2021 年 10 月份更新,PaddleNLP 又给大家带来哪些惊喜呢?下文将为您逐一细细解读。

PaddleNLP 全新升级深入解读

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

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

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

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

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

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

项目地址:https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/model_zoo/taskflow.md

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

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,只需要增加三行代码即可在原任务上快速涨点,如图所示:
项目地址:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/few_shot

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

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

(1) 大幅提升生成任务的推理能力

在 Transformer 机器翻译、GPT 文本生成两个任务中,分别对比使用动态图版本的性能和内置 Faster 系列的推理 API 后,不同 batch size 下预测性能加速比,从对比数据可以看到无论 Transformer 还是 GPT,均可得到高达 28 倍推理速度提升!

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 支持加速的模型结构与解码策略

更多 PaddleNLP 加速使用文档可以参考:

https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/advanced_guide/fastertransformer.rst

别的不需要多说了,大家访问 GitHub 点过 star 之后自己体验吧:

https://github.com/PaddlePaddle/PaddleNLP

直播预告

除了重磅发版以外呢,我们还为大家精心准备了配套课程,在 10 月 13-15 日,连续三天 PaddleNLP 技术精讲课程百度飞桨的明星讲师们历时一个月呕心沥血打磨的三日课,小伙伴们速度扫码报名,快速 get PaddleNLP 最新技能点!

扫描二维码或点击「阅读原文」报名,立即加入技术交流群

[1] Entailment as Few-Shot Learner
(https://arxiv.org/pdf/2104.14690.pdf)
[2] Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
(https://arxiv.org/pdf/2001.07676.pdf)
[3] GPT Understands, Too
(https://arxiv.org/pdf/2103.10385.pdf)
[4]FewCLUE: A Chinese Few-shot Learning Evaluation Benchmark
(https://arxiv.org/pdf/2107.07498.pdf)
[5] https://github.com/NVIDIA/FasterTransformer
[6] A Simple, Fast Diverse Decoding Algorithm for Neural Generation
(https://arxiv.org/pdf/1611.08562.pdf)
[7] Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation (https://arxiv.org/pdf/1609.08144.pdf)
工程NLP百度PaddlePaddle
1
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

词性标注技术

词性标注是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

机器翻译技术

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

词法分析技术

词法分析是计算机科学中将字符序列转换为标记序列的过程。进行词法分析的程序或者函数叫作词法分析器,也叫扫描器。词法分析器一般以函数的形式存在,供语法分析器调用

命名实体识别技术

命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

信息抽取技术

信息/数据抽取是指从非结构化或半结构化文档中提取结构化信息的技术。信息抽取有两部分:命名实体识别(目标是识别和分类真实世界里的知名实体)和关系提取(目标是提取实体之间的语义关系)。概率模型/分类器可以帮助实现这些任务。

百度智能云机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

http://www.baidu.com
文本生成技术

文本生成是生成文本的任务,其目的是使人类书写文本难以区分。

小样本学习技术

人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。

命名实体识技术

命名实体识别(英语:Named Entity Recognition,简称NER),又称作专名识别、命名实体,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,以及时间、数量、货币、比例数值等文字。指的是可以用专有名词(名称)标识的事物,一个命名实体一般代表唯一一个具体事物个体,包括人名、地名等。

推荐文章
暂无评论
暂无评论~