当前位置: 首页 > 编程日记 > 正文

预训练时代微调新范式,高性能加速2800%,NLPer赶紧看过来!

b56ded33e5a0bc79c348bf7ae6ca1130.gif

9a6da996c6494b7d8bc1acee55e8f422.png

导读

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

  • 开箱即用的工业级NLP预置任务能力Taskflow:八大经典场景一键预测。

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

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

传送门:

GitHub项目: https://github.com/PaddlePaddle/PaddleNLP

6c0de9935dafc99e7bef0f73c2e16511.png

PaddleNLP整体开源

能力速览

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

7ae6a0fb37dc7656b6b997d5b5dbac18.png

PaddleNLP功能全景图

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

8c31d5fe2e1b2e2ad4c96d6197dc40a9.gif

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

bb82708fbbf7d7d8f4711e474138cfdc.png

PaddleNLP 全新升级

深入解读

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

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

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

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

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

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

17905e816e60c36dddbd78ca91d05f07.gif

图:Taskflow使用示意图

https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/model_zoo/taskflow.md

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

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

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

  (1)EFL(Entailment as Few-Shot Learner)[1],将 NLP Fine-tune任务统一转换为二分类的文本蕴含任务。

  (2)PET(Pattern-Exploiting Training)[2],通过人工构建模板,将分类任务转成完形填空任务。

  (3)P-Tuning[3]:自动构建模板,将模版的构建转化为连续参数优化问题。

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

f160b815a9c62792d6c8cc4ba121b844.png

https://github.com/PaddlePaddle/PaddleNLP/tree/develop/examples/few_shot

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

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

f984cd51363470a83919b8e7a54a1c70.png

FasterTransformer Decoding Workflow

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

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

441f09ca0bb2311c41920c4a91492cd8.png

670aa76cc43d314c5c6bcc4433263a42.png

232c25cc6db565a6001df15965221716.png7911440d7f1950c1a3d1050d9cb461c2.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 支持加速的模型结构与解码策略b4b52a3889f452ac4e4e650e78f58758.png

更多PaddleNLP加速使用文档可以参考:https://github.com/PaddlePaddle/PaddleNLP/blob/develop/docs/advanced_guide/fastertransformer.rst

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

https://github.com/PaddlePaddle/PaddleNLP

273fdf8c056e2098ffa6c315ff836f92.png

2b0fee5629c88842de3761dec11acbb9.gif

a9f049a6a8505df40d0d2c1f1896e7ae.png

直播预告

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

扫描二维码报名,立即加入技术交流群

d08adc0fbaa03af9637dd6c4dd8d1e91.png

精彩内容抢先看👇   

b4ea2e23a538b66db72b6b6c3a3e44b5.png

官网地址:https://www.paddlepaddle.org.cn

PaddleNLP 项目地址:

GitHub: https://github.com/PaddlePaddle/PaddleNLP

Gitee: https://gitee.com/paddlepaddle/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)

相关文章:

图片服务器的url hash架构

什么是urlhash架构 url hash架构对url进行一次hash算法,然后通过hash结果找到对应的服务器。因为针对单一个url的hash结果是一样的,所以理论上这个url会被永久分配到固定的一台服务器上。另外因为经过了hash算法,所以分配url就很均匀&#xf…

Android系统--TouchEvent的处理流程

TouchEvent的处理流程就是TouchEvent在View树中的传递的过程:这个过程分为2步:第一步,ACTION_DOWN在View树中寻找处理TouchEvent的View;第二步,剩余的ACTION_XXX在View树传递给目标View; 第一步,ACTION_DOWN在View树中…

搜索引擎中的URL散列

散列(hash)也就是哈希,是信息存储和查询所用的一项基本技术。在搜索引擎中网络爬虫在抓取网页时为了对网页进行有效地排重必须对URL进行散列,这样才能快速地排除已经抓取过的网页。最理想的状态是对联网上所有的网页都分配一个哈希…

c++各种数据类型表示范围

符号属性 长度属性 基本型 所占位数 取值范围 输入符举例 输出符举例 -- -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%usigned -- char 8 -2^7 ~ 2^7-1 %c …

原来Python用得好,工作这么好找

Python是多数平台上写脚本和快速开发应用的编程语言,适用场景非常广,Web开发、大数据分析、机器学习、自动化运维/测试,甚至日常工作中的各种各样的问题都能用Python来解决。Python不仅可以批量处理上百个Excel、Word、PDF文件,工…

Litmus代码质量平台实践总结

背景代码质量在项目开发中是一个很重要的地方,更好的质量的代码,能够产生更少的bug,也能使开发人员更不容易犯错,产品的质量得到提升。那么怎么定义代码质量,怎么测量以及如何展现就成为我们内部平台Litmus的主要探索领…

到底什么是hash?它起什么作用?

从emule诞生到现在也已经有了两年左右时间了,随着emule的普及,喜欢他的人也越来越多,但是由于emule对技术相应有一个门槛,不像bt那么容易上手,所以很多朋友很长时间以来一直都有这样或那样的疑问,今天是周末…

20个精美图表,教你玩转 Pyecharts 可视化

作者 |俊欣来源 |关于数据分析与可视化本篇文章我们将继续聚焦c模块并且用它来绘制精美的图表,希望读者在看完之后会有不少收获01内嵌饼状图内接一个环状的饼图,里面还有一个饼状的图(Pie().add(series_name"访问来源",data_pair[list(z) for …

【SICP练习】136 练习3.67

练习3-67 原文 Exercise 3.67. Modify the pairs procedure so that (pairs integers integers) will produce the stream of all pairs of integers (i,j) (without the condition i < j). Hint: You will need to mix in an additional stream. 代码 (define (all-pairs s…

glibc方式安装mysql

下载安装包 mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz创建mysql用户useradd -r mysql -s /sbin/nologin解压文件tar -zxvf mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz -C /opt/改名mv /opt/mysql-5.6.38-linux-glibc2.12-x86_64/ /opt/mysql-5.6创建数据目录mkdir /data更…

淘宝网7年变化图--建议非美工UED人员也看看

从2003年开始&#xff0c;这么几年间淘宝网首页截图&#xff0c;UED美工和开发人员都可以看看。图片来自www.infoq.com网站 的PPT

Github 一夜爆火:这份金九银十 Java 面试手册我给跪了

这几天给筒子们整理了一份《Java面试手册》&#xff0c;106页&#xff0c;目前大约6万字左右&#xff0c;初衷也很简单&#xff0c;就是希望在面试的时候能够帮助到大家&#xff0c;减轻大家的负担和节省时间。废话不多说&#xff0c;本手册目前为第一版&#xff0c;后续慢慢也…

a different object with the same identifier value was already associated with the session

当出现a different object with the same identifier value was already associated with the session时&#xff0c;一般是因为在hibernate中同一个session里面有了两个相同标识但是是不同实体。 我直接将接受需要比较的id的list<ab>换成了list<object[]>,再直接将…

【转】unity3d 在UGUI中制作自适应调整大小的滚动布局控件

转自 http://blog.csdn.net/rcfalcon/article/details/43459387 在游戏中&#xff0c;我们很多地方需要用到scroll content的概念&#xff1a;我们需要一个容器&#xff0c;能够指定布局方式&#xff08;比如横排排列、竖排排列、网格排列&#xff09;等。然后我们向其中填充内…

(转)径向模糊效果shader

转自&#xff1a;http://blog.csdn.net/xoyojank/article/details/5146297 最先在这里看到:http://www.gamerendering.com/2008/12/20/radial-blur-filter/ 这效果在鬼泣4中切换场景时见过, 极品飞车12的运动模糊也有这种感觉. 原理: 确定一个中心点(如0.5, 0.5), 跟当前像素连…

初次体验hiphop-php

facebook在github上发布了hiphop-php的源代码。之前听说这玩意能把php代码翻译成c代码&#xff0c;然后带来巨大的性能提升&#xff0c;所以第一时间编译了一份hiphop-php。 我的机器环境是 Centos 5.3 x86_648G内存Intel(R) Xeon(R) CPU E5420 2.50GHz 安装注意事项 编译…

MySQL之父等国际数据库掌门人齐聚,1024 程序员节全体大会重磅官宣!

10月23-24日&#xff0c;由CSDN、长沙市政府及多家机构联合主办的第二届“长沙中国1024程序员节”&#xff08;1024.csdn.net&#xff09;将盛大举行。今年程序员节活动囊括&#xff1a;岳麓书院尖峰对话&#xff0c;2021技术英雄会&#xff0c;9场热门技术主题论坛/专场、第16…

通过yum安装配置lamp

1、安装httpdyum install httpd创建测试文件cd /var/www/htmlvim index.php加入以下内容<html><head><title>PHP Page</title></head><body><h1>PHP start</h1> <?phpphpinfo(); ?><h1>PHP end</h1> <…

PHP“Cannot use object of type stdClass as array”

php再调用json_decode从字符串对象生成json对象时&#xff0c;如果使用[]操作符取数据&#xff0c;会得到下面的错误错误&#xff1a;Cannot use object of type stdClass as array产生原因&#xff1a;展开 -PHP$res json_decode($res);$res[key]; //把 json_decode() 后的对…

RMAN_学习笔记1_RMAN Structure概述和体系结构

2014-12-23 Created By BaoXinjian 一、摘要 是一种用于集备份(backup)、还原(restore)和恢复(recover)数据库于一体的Oracle 工具&#xff0c;支持命令行及图形界面操作 能够备份整个数据库、表空间、数据文件、控制文件、归档文件以及Spfile参数文件。 支持增量数据块级别的备…

全球缺芯大潮中,以软代硬能否另辟蹊径?

在5G和人工智能的技术浪潮如约而至以后&#xff0c;业内人士无不对IoT产业的未来报以极大的期待。以人工智能和家居设备为基础&#xff0c;再加上算力与网络支持&#xff0c;有理由相信未来IoT相关产业必将迎来爆发。然而今年&#xff0c;席卷全球的芯片产能不足问题影响到了各…

Xtrabackup实现数据的备份与恢复

Xtrabackup介绍Xtrabackup是由percona开源的免费数据库热备份软件&#xff0c;它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份&#xff08;对于MyISAM的备份同样需要加表锁&#xff09;&#xff1b;mysqldump备份方式是采用的逻辑备份&#xff0c;其最大的缺陷是备份…

最简单的CI框架入门示例--数据库取数据

这个写给初学者看&#xff0c;这是最简单可以调通的例子&#xff0c;网上很多例子其实初学者本地跑不通&#xff0c;缺这少那。 1.下载CI框架&#xff08;自己找&#xff09;2.配置 database.php配置&#xff1a; 为数据库服务器设置 connection 参数&#xff1a; $db[defau…

ST-GCN 实现人体姿态行为分类

作者 | 李秋键 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 引用 人体行为识别是计算机视觉及机器学习方面的热门研究领域。它在对视频中的人类行为进行运动分析、行为识别乃至延伸至人机交互领域都有着非常广泛的应用。研究初期&#xff0c;人体行为识别主要是以…

【原创】Kakfa utils源代码分析(三)

Kafka utils包最后一篇~~~ 十五、ShutdownableThread.scala可关闭的线程抽象类&#xff01; 继承自Thread同时还接收一个boolean变量isInterruptible表明是否允许中断。既然是可关闭的&#xff0c;因此一定不是守护线程&#xff0c;而是一个用户线程(不会阻塞JVM关闭)。提供的方…

Oracle的分页查询

为什么80%的码农都做不了架构师&#xff1f;>>> 因为Oracle不像MySQL一样有limit函数来实现分页查找&#xff0c;oracle要实现分页查询可使用关键字rownum来处理。使用rownum有以下几点需要注意&#xff1a; 1、ROWNUM存在使用规则&#xff0c;在单个子查询中&…

微软成功抵御峰值高达 2.4Tbps 的 DDoS 攻击

整理 | 祝涛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;微软表示&#xff0c;他们成功抵御了一场发生于8月份的2.4Tbps分布式拒绝服务&#xff08;DDoS&#xff09;攻击&#xff0c;这次攻击超过了去年针对亚马逊Web服务的2.3Tbps最大攻击。这场攻击持续…

百度吴甜:首席AI架构师培养计划持续为行业输送高端复合型AI人才

CSDN 导语&#xff1a; 随着 AI 技术的发展&#xff0c;关注 AI 的开发者与日俱增&#xff1a;据 CSDN 发布的《中国 AI 应用开发者报告》显示&#xff0c;在 CSDN 的注册开发者中&#xff0c;689 万开发者有阅读、撰写和研究 AI 技术行为&#xff0c;其中精准聚焦 AI 学习和应…

Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法

.htaccess是什么 概述来说&#xff0c;htaccess文件是Apache服务器中的一个配置文件&#xff0c;它负责相关目录下的网页配置。 通过htaccess文件&#xff0c;可以帮我们实现&#xff1a;网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访…

Linux grep,egrep及相应的正则表达式用法详解

linux在进行文本处理过程中的文本搜索工具称为正则表达式。文本搜索工具有grep、egrep、fgrep,egrep为正则表达式的扩展正则表达式&#xff0c;fgrep用于搜索文本字符串&#xff0c;与 grep 和 egrep 命令不同&#xff0c;因为它搜索字符串而不是搜索匹配表达式的模式。grep的含…