Datawhale开源

内容:NLP开源项目详解

导读

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

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

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

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

GitHub地址:

https://github.com/PaddlePaddle/PaddleNLP

PaddleNLP整体开源

能力速览

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

PaddleNLP功能全景图

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

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

PaddleNLP 全新升级

深入解读

  1. 开箱即用的产业级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

  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,只需要增加三行代码即可在原任务上快速涨点,如图所示:

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

  3. 高性能预测加速:文本生成场景高达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最新技能点!

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

精彩内容抢先看

最新的NLP开源神器来了!相关推荐

  1. 最新中文NLP开源工具箱来了!支持6大任务,面向工业应用 | 资源

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 对于开发者来说,又有一个新的NLP工具箱可以使用了,代号PaddleNLP,目前已开源. 在这个基于百度深度学习平台飞桨(PaddlePad ...

  2. NLP判断语言情绪_最新中文NLP开源工具箱来了!支持6大任务,面向工业应用 | 资源...

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 对于开发者来说,又有一个新的NLP工具箱可以使用了,代号PaddleNLP,目前已开源. 在这个基于百度深度学习平台飞桨(PaddlePad ...

  3. 开源神器:可快速在 iOS 设备上安装 Windows、Linux 等操作系统!

    大家好,我是 JackTian. 对于从事 IT 或热爱技术开发的小伙伴们来说,都有装过双系统或在自己的电脑上装虚拟机的经验,针对装双系统,大家可以参考这篇文章:神器工具:新一代多系统启动 U 盘装机 ...

  4. github创建项目_用了 GitHub 上这款开源神器后,创建项目文档变得 so easy!

    大家好,我是小 G. 今天跟大家分享一个可用于快速创建项目文档的开源神器:MkDocs. https://github.com/mkdocs/mkdocs 该项目创建自 2014 年,目前 GitHu ...

  5. nlp mrc的损失是什么_你对NLP的迁移学习爱的有多深?21个问题弄懂最新的NLP进展...

    作者:Pratik Bhavsar 编译:ronghuaiyang 导读 如果这21个问题你全部了解的话,你对最新的NLP进展的了解已经过关了. 2018年10月BERT发布之后发生了很多事情. 你知 ...

  6. @程序员,Web 开源神器了解一下? | 程序员硬核评测

    "用户体验也应该包含用户遇到问题时我们如何快速 debug 和修复,而这对于内网部署并且逻辑非常复杂的应用而言并非易事." 针对该难题,GitHub 上恰好有个页面录制与回放的开源 ...

  7. 最新Xpay全开源无授权免签约支付系统源码V3.1版本

    正文: 最新Xpay全开源无授权免签约支付系统源码V3.1版本,系统有非常详细的安装文档,程序是属于JAVA开发的,其它的就没什么介绍的了,有兴趣的自行去体验吧. 程序: wwuth.lanzouy. ...

  8. 小程序源码:全网独家小程序版本独立微信社群人脉系统社群空间站最新源码开源+详细教程

    功能介绍: 1.微信社群是一个集发布.展示社群信息.人脉推广的裂变工具/平台. 2.通过人脉广场,将商家信息通过名片进行展示,让资源对接.人脉推广更加便捷高效.为平台带来更多流量,让平台更有价值. 3 ...

  9. 开源神器:让你一键卸载 Windows 默认程序!

    公众号关注 "GitHubDaily" 设为 "星标",每天带你逛 GitHub! 大家好,我是小 G. 今早凌晨两点的时候,我闲着无聊打开了 Reddit P ...

最新文章

  1. windows中路径\和 linux中用/
  2. Jmeter模拟不同带宽进行测试
  3. Android ----制作自己的Vendor
  4. 软件研发的这些误区,你中了吗?
  5. EF Core 实现读写分离的最佳方案
  6. php 自动验证类,Thinkphp实现自动验证和自动完成
  7. Android中SimpleAdapter的使用—自定义列表
  8. 后台弹框。刷新不提示确认VB或.NET
  9. 图相处理自学(二):图像处理基本算法Black level / sensor offset/ Shading/ Color Matrix/ AWB(QP值)
  10. 写作一篇SCI的13个要点(也适用社会科学SSCI)
  11. Visual Components 4.0仿真软件优势
  12. 『网站设计』配色宝典
  13. 图书管理系统数据库设计
  14. c++源码逆向UML工具踩坑
  15. python 苹果李子橙_分享|苹果和它千万不能放在一起!因为它们会……
  16. java 国际象棋_java – 自我项目:使用GUI创建国际象棋游戏
  17. 如何关闭迅雷极速版的升级提示
  18. 万字长文文带你了解自动驾驶重要传感器——激光雷达
  19. 好记性不如烂笔头The palest ink is better than the best memory
  20. 百度文字识别OCR接口使用

热门文章

  1. Sublime遇见中文乱码问题?
  2. JS设计模式——3.封装与信息隐藏
  3. controlfile
  4. delphi对窗体的查询(delphi xe2)
  5. jQuery选择器的工作原理和优化
  6. 【组队学习】【33期】数据可视化(Matplotlib)
  7. Numpy入门教程:10. 统计相关
  8. Pandas 多层级索引的数据分析案例,超干货!
  9. Copilot 真会砸了程序员的饭碗?
  10. 程序员奶爸用树莓派制作婴儿监护仪:哭声自动通知,还能分析何时喂奶