Skip to content

Releases: PaddlePaddle/PaddleNLP

PaddleNLP v2.3.0

16 May 05:14
Compare
Choose a tag to compare

New Features

通用信息抽取技术 UIE

  • 新增基于统一结构生成的通用开放域信息抽取框架 UIE (Universal Information Extraction),单个模型可以支持命名实体识别、关系抽取、事件抽取、情感分析等任务,同时在模型规模上支持base和tiny两种结构,满足多种业务场景需求,均支持Taskflow一键预测。
  • 新增医疗领域信息抽取模型 UIE-Medical,支持医疗专名识别和医疗关系抽取两大任务,并支持小样本学习,预测精度业界领先。

文心NLP大模型升级

  • 新增文心大模型ERNIE 3.0轻量级版本,包含ERNIE 3.0-Base(12层)和 ERNIE 3.0-Medium(6层)两个中文模型,在CLUE Benchmark上实现同规模模型中文最佳效果。
  • 新增中文医疗领域预训练模型 ERNIE-Health,支持医学文本信息抽取(实体识别、关系抽取)、医学术语归一化、医学文本分类、医学句子关系判定和医学问答共5大类任务,并提供 CBLUE benchmark 使用实例。
  • 新增PLATO-XL(11B),全球首个百亿参数对话预训练生成模型,提供FasterGeneration高性能GPU加速,相比上版本推理速度加速2.7倍,更多使用说明请查阅PLATO-XL with FasterGeneration

FasterGeneration 高性能生成加速

FasterGeneration本次发版进行了以下的升级,更多使用说明请查阅FasterGeneration文档

速度更快

  • 更细致的融合加速:UnifiedTransformer、UNIMOText 模型Context计算加入加速支持,速度相比上个版本提升20%~110%
  • 更丰富的模型支持:扩展了 size_per_head 支持范围,支持了 CPM-Large(2.6B)和PLATO-XL(11B)等大模型生成加速
  • 更快的大模型推理:支持Tensor并行和Pipeline并行推理,CPM-Large 上 4卡 Tensor 并行速度较单卡高性能生成提升40%,PLATO-XL在4卡加速比为单卡的2倍

显存更少

  • 优化模型加载转换显存占用,支持直接使用 FP16 模型并允许去除原始未融合的QKV权重参数

部署更易

  • 新增参数支持直接使用 Encoder 加速能力,打通 Encoder 加速与 Decoding 加速
  • 支持UnifiedTransformer、UNIMOText 等更多加速版本模型导出静态图并在Paddle Inference实现高性能部署

更多产业范例与应用场景

  • 新增汽车说明书智能问答应用范例,基于百度领先的开放域问答技术RocketQA和多模态多语言预训练模型LayoutXLM提供了多模态文档问答的应用范例和最佳实践。
  • 新增智能语音指令解析应用范例,可广泛应用于智能语音填单、智能语音交互、智能语音检索、手机APP语音唤醒等场景,提高人机交互效率。
  • 新增端到端智能问答系统应用范例,提供低成本快速搭建可视化智能问答系统能力。
  • 新增端到端语义检索系统应用范例,提供低成本快速搭建语义检索系统能力。
  • 新增 NLP 模型可解释性应用示例 #1752 ,感谢 @binlinquge 的贡献
  • 新增 CLUE Benchmark 评测脚本,更全面的了解PaddleNLP中文预训练模型的效果,帮助开发者便捷完成中文模型选型
  • BERT 静态图训练增加 Graphcore IPU 支持 #1793 更多详情请查阅BERT IPU,感谢 @gglin001 的贡献

更多的预训练模型

Trainer API

  • 新增 Trainer API,简化了模型训练代码,并规范了统一的训练配置,支持VisualDL训练日志可视化,提升实验的可复现性#1761 。Trainer API 快速上手请参考教程

Data API

  • 兼容 HuggingFace Datasets,可以直接使用其 load_dataset 返回的数据集(建议在先import paddlenlp后再import datasets)
  • 新增 DataCollatorWithPaddingDataCollatorForTokenClassification 等常用任务的 Data Collator,简化数据处理流程
  • Tokenizer 功能新增与调整:
    • 支持自定义 special token 的保存和加载
    • 提供更丰富的 Padding 方式,包括定长 Pad、Longest Pad 以及 Pad 到特定倍数
    • 支持获取最长单句输入长度和句对输入长度
    • 支持返回 Paddle Tensor 数据
    • IMPORTANT NOTE 在输入为 batch 数据时,默认输出格式由 list of dict 调整为 dict of list (dict 为BatchEncoding类的对象),可通过 return_dict 设置
    • IMPORTANT NOTE save_pretrained 保存内容格式有调整(保证了兼容性,此前保存内容仍能正常使用)

BugFix

  • 修复Taskflow NPTag 解码问题 #2023
  • 修复语义检索 Application 召回模型训练 output_emb_size = 0 时报错问题 #2090

Breaking Changes

  • 调用 Tokenizer 在输入为 batch 数据时,默认输出格式由 list of dict 调整为 dict of list (dict 为BatchEncoding类的对象),可通过 return_dict 设置

New Contributors

Full Changelog: v2.2.6...v2.3.0

PaddleNLP v2.2.6

15 Apr 15:42
5dd1ba6
Compare
Choose a tag to compare

问题修复

  • 优化了AutoModel & AutoTokenizer模块的报错信息 #1902
  • 修复了ErnieDoc模型分类任务默认类别缺失的问题 #1867
  • 修复了Roberta tokenizer加载本地资源报错的问题 #1821
  • 修复了bstc数据集文件缺失的问题
  • 优化了xnli数据集的报错信息 #1838
  • 修复了FewCLUE数据集中unlabeled.json文件为空的问题 #1881
  • 修复了load_dataset读取CLUE tnews数据集所有splits时报错的问题 #1941
  • 修复中文阅读理解指标计算偏低的问题 #1874
  • 修复textcnn静态图预测报错的问题 #1839
  • 修复了文本分类使用预训练模型进行分布式训练时报错的问题 #1839

v2.2.5

21 Mar 13:13
08a2275
Compare
Choose a tag to compare

新功能

Taskflow

  • 分词和NER多级模式 #1666
  • AutoSplitter/AutoJoiner功能支持无限长文本自动切分 #1666

问题修复

  • 修复ERNIE-Doc文本分类任务数据集读取错误 #1687
  • 修复原生生成式 API 传入 tensor 为 None 时不能正确执行的问题 #1656
  • 修复 Roberta 模型不支持2维 attention mask #1676
  • 修复 ConvBert 模型不支持动转静 #1643
  • 修复 ERNIE-M 训练hang住的问题 #1681

文档更新

  • FasterTransformer 文档新增编译报错 FAQ #1750
  • 修复 T5 模型 example 文档 #1652
  • 更新生态贡献权重文档 #1749

PaddleNLP v2.2.4

26 Jan 10:05
3e68984
Compare
Choose a tag to compare

我们很高兴的发布 PaddleNLP 2.2.4 版本,主要是对 2.2.3 中一些功能的修复,并对部分功能点和文档做了增强,重点如下:

新功能

  • 新增西班牙语和荷兰语实体识别数据集 CoNLL-2012。 #1561

功能优化

  • 小模型 PP-MiniLM 接入 FasterTokenizer,量化、裁剪后的模型推理速度达到 BERTbase 的 8.8 倍。#1542
  • Transformer 动态图支持 O2 级别 AMP 训练@zhangbo9674#1574
  • 语义索引应用增加Paddle Serving支持。 #1558

问题修复

  • 修复 ERNIE-Doc 模型 NLTK 包模型下载的错误。#1515
  • 修复多个 Transformer 模型在 FP16 精度下 attention_mask 计算溢出的错误。#1585
  • 修复 LAC 模型 TRT 预测配置错误。 #1606
  • 修复 BART 文本摘要示例的评估错误。#1560
  • 修复 BART 文本摘要示例在 Windows 环境下报错。 #1588
  • 修复 Tokenizer.__call__() 方法truncation_strategy不生效的bug。 #1615
  • 修复 RobertaTokenizer 不能获取special token的bug。 #1618
  • 修复BART和mBART不支持2维attention mask。#1637
  • 修复CNN/DailyMail 和 XNLI 数据集多卡下载报错。#1587

文档更新

  • 为 ERNIE-1.0 训练任务添加了 CLUECorpusSmall 数据集训练教程。#1555

社区贡献

PaddleNLP v2.2.2

28 Dec 10:26
d82766b
Compare
Choose a tag to compare

New Features

新增产业应用案例

新增评论观点抽取的应用案例 #1505

  • 提供评论观点抽取和属性级情感分类能力,并支持全流程情感分析推理能力
  • 提供基于 PP-MiniLM 小模型推理加速解决方案,推理性能提升 900%

新增端到端语义检索引擎应用案例 #1507

  • 支持监督语义索引模型 In-Batch Negatives 基于 Paddle Inference 计算文本对相似度的推理能力
  • 支持无监督语义索引模型 SimCSE 基于 Paddle Inference 计算文本对相似度的推理能力

FasterGeneration

  • 优化 JIT 载入自定义 op 逻辑以优化 enable_faster_encoder() need_build 参数以及 pipeline 方式使用多个加速模型时框架冗余的 Warning,提升使用体验 #1495

New Models

  • 新增长文本语言模型 Funnel Transformer,新增基于Funnel Transformer的SQUAD问答任务示例 #1419

Bugfix

  • 修复了GPT-3静态图,训练参数选项错误问题 #1500
  • 修复了LayoutXLM模型在windows环境下的报错 #1489
  • 优化静态图参数转化成动态图参数脚本,支持paddlenlp中动静统一的模型结构 #1478

PaddleNLP v2.2.1

17 Dec 09:50
f56e429
Compare
Choose a tag to compare

New Features

中文特色小模型 PP-MiniLM 发布 #1403

  • 推理速度快,推理速度是BERT-base(12L768H) 4.2倍
  • 模型参数少,模型参数量相对BERT-base(12L768H) 减少52%
  • 模型精度高,在中文语言理解评测基准 CLUE 7 个分类数据集上精度比 BERT-base(12L768H) 高 0.32

产业级语义检索框架发布 #1463

  • 一站式提供高可用的训练&预测语义检索框架,同时集成高性能 ANN 引擎 Milvus
  • 召回模型方案覆盖有监督、无监督多种数据场景,支持只基于无监督数训练语义索引模型

Taskflow

  • Taskflow 新增中文对话PLATO-mini任务,支持多轮对话记忆功能 #1383

FasterGeneration

  • 生成解码框架新增注意力机制QKV融合,解码性能最高提升 8% #1455

Bugfix

  • 修复使用Paddle2.2及其以下版本兼容性问题 #1450
  • 修复MSRA_NER示例中 max_steps 选项,不生效的问题 #1451
  • 修复ERNIE-1.0模型预训练部分参数,增强预训练稳定性 #1344
  • 修复EFL及ernie-matching在windows下的静态图预测问题 #1480
  • 修复Taskflow文本相似度计算任务windows兼容性问题 #1465
  • 修复LayoutXLM模型加载时无法找到yaml文件的问题 #1454
  • 修复SqueezeBert模型vocab等资源路径的缺失和typo #1454
  • 修复FasterGeneration下diversity rate的结果错误的问题 #1477
  • 修复FasterGeneration下GPT模型的repetition_penalty被屏蔽的问题 #1471

PaddleNLP v2.2.0

10 Dec 17:51
9d9bd67
Compare
Choose a tag to compare

New features

预训练加速训推一体加速开发FasterERNIE

  • 新增支持高性能文本预处理算子FasterTokenizer,提供更快的文本预处理 #1220
  • 融合Fused TransformerEncoder API,极致优化Transformer性能 #1308
  • 新增to_static()接口,支持文本处理与模型计算整图导出,提供更易用的模型导出
  • 优化C++部署体验,显著降低C++开发成本
  • 提供文本分类、序列标注使用示例

面向生成任务的高性能加速组件FasterGeneration

  • FasterTransformer升级至V4.0版本
  • Transformer 加速版本在 sampling 以及 3 种 beam search 策略下新增 force decoding 策略支持
  • 生成API新增Diverse Beam Search策略

Taskflow升级

  • 新增名词短语标注及文本相似度计算任务 #1246 #1345
  • 句法分析任务增加已分词方式解析句法树能力 #1351
  • 中文分词、词性标注、命名实体识别任务支持用户自定义词典干预策略 #364 #1420
  • 知识挖掘任务支持自定义模型、自定义Term-Linking等进阶使用方式 #1329
  • 解语套件词类知识标注工具WordTag支持增量数据训练 #1329
  • 解语套件百科知识树TermTree使用体验完善,支持定制化使用 #1329

更多预训练模型

  • 新增表单多模态模型LayoutLM、LayoutLMv2、LayoutXLM模型
  • 新增基于unimo-text-1.0-lcsts-new中文摘要预训练模型
  • 新增mBART和mBART50模型,用于多语言翻译
  • 解语套件新增NPTag模型,可直接用于名词短语标注,标签类别2000+ #1246
  • 新增GPTModel预训练权重 gpt2-en、gpt2-large-en、gpt2-xl-en,可用于英文文本生成 #1302
  • 新增Mengzi中文预训练模型

自动模型与分词器加载

  • 新增AutoModel和AutoTokenizer模块,可更便捷加载不同网络结构预训练模型与分词器

社区贡献

  • 新增BertJapaneseTokenizer & 新增BertJapanese模型预训练权重 by @iverxin in #1115
  • 新增BlenderbotSmall & Blenderbot模型 #868 ,感谢 @kevinng77 的贡献
  • 新增SqueezeBERT模型 #937 ,感谢 @renmada 的贡献
  • 新增CTRL模型 #921 ,感谢 @JunnYu 的贡献
  • 新增T5模型 #916 ,感谢 @JunnYu 的贡献
  • 新增Reformer模型 #870 ,感谢 @JunnYu 的贡献
  • 新增MobileBert模型 #1160 ,感谢 @nosaydomore 的贡献
  • 新增ChineseBert模型 #1100 ,感谢 @27182812 的贡献
  • 新增End-to-End Memory Network模型 #1046,感谢 @yulangz 的贡献
  • 完善Bert模型下游任务代码 & 新增Bert预训练权重 by @JunnYu in #1085
  • 完善BigBird模型下游任务代码 by @iverxin in #1114
  • 完善Electra模型下游任务代码 & 新增Electra预训练权重 by @JunnYu in #1086
  • 完善Roberta模型下游任务代码 & 新增Roberta预训练权重 by @nosaydomore in #1133
  • 完善GPT模型下游任务代码 & 新增GPT预训练权重 by @JunnYu in #1088
  • 完善XLNet模型下游任务代码 & 新增DistilBert预训练权重by @renmada in

Misc

  • 新增文本分类数据集XNLI #1336
  • GPT-3模型预训练,支持静态图Pure FP16训练 #1353
  • 命名实体识别,增加了peoples_daily_ner数据集支持,同时支持使用ERNIE模型 #1361
  • 优化ViterbiDecoder解码性能,在GPU设备上可提升10倍 #1291

Bugfix

  • 修复下载进度条单位不正确的问题
  • 修复GPT模型导出后,预测报错问题 #1303
  • 修复文本纠错模型指标统计Bug #1255 #1265 #1273
  • 修复generate API接口的get_logits_processor参数缺失 @JunnYu in #1399
  • 修复BERT模型对2D attention mask的支持 @JunnYu in #1226

PaddleNLP v2.1.1

20 Oct 13:56
2791745
Compare
Choose a tag to compare

New Features

GPT-3动态图模式增加pure fp16支持。
Taskflow情感分析任务增加预测score输出。
Generation API新增Diverse Sibling Search策略。
Generation API新增Repetition Penalty策略。@JunnYu

Bug Fix

修复 FasterUNIMOText 在 top_p 为 1.0 时不能调用加速的问题。

PaddleNLP v2.1.0

11 Oct 18:32
91d81c9
Compare
Choose a tag to compare

New Features

  • 新增开箱即用的工业级NLP能力Taskflow,预置中文分词、词性标注、专名识别、句法分析、情感分析、文本纠错等8个任务,更多使用说明请参考Taskflow文档
  • 新增基于Promot Tuning的NLP小样本学习应用实例,配合R-Drop策略显著提升效果,更多技术细节请参考FewCLUE
  • 集成FasterTransformer加速能力,显著提升翻译、对话等文本生成任务的推理速度。支持Transformer/GPT/BART等主流生成结构与Beam Search与Sampling-based解码策略,更多使用说明请参考FasterTransformer使用文档

New Examples

New Pretrained Models

  • 新增RoFormer模型 #804 ,感谢 @JunnYu 的贡献🎉。
  • 新增ConvBert模型 #819,感谢 @JunnYu 的贡献🎉。
  • 新增MPNet模型 #869,感谢 @JunnYu 的贡献🎉。

New Dataset

  • 新增文本摘要数据集CNN/DailyMail #1061

Bug Fix

  • 修复维特比解码在长度为1的输入下预测不准确的问题 #1126
  • 修复词法分析模型的计算精度问题 #962
  • 修复Tokenizer计算offset mapping时对特殊字符处理的问题 #882,感谢 @JunnYu 的贡献🎉。
  • 修复Windows环境下出现的int类型变量错误 #856 #1023 #1146

Docs

  • 优化Transformer API Reference文档,更加清晰准确易懂。感谢 @huhuiwen99 的贡献🎉。

New Contributors

PaddleNLP v2.0.8

22 Aug 13:07
fe8c2d6
Compare
Choose a tag to compare

New Pretrained-Models

新增文本生成UNIMO-text模型和tokenizer,包括unimo-text-1.0和unimo-text-1.0-large。
新增长文本预训练模型ERNIE-Doc。

New Dataset

新增问题生成数据集DuReaderQG。
新增文案生成数据集AdvertiseGen。
新增短摘要生成数据集LCSTS_new。
新增长文本语义匹配数据集CAIL2019-SCM。
新增长阅读理解数据集C3。
新增文本分类数据集HYP、THUCNews。

New Feature

新增Layerwise-decay优化器。
新增 R-Drop loss API.

BugFix

修复生成API中min_out_len参数不起作用的bug和一些文档问题。
修复tokenizer计算offset mapping时会把原本有意义的#删除的问题。 @JunnYu

New Examples

新增【千言:面向事实一致性的生成评测比赛】baseline。
新增【千言-问题匹配鲁棒性评测】baseline.。