PaddleNLP Versions Save

👑 Easy-to-use and powerful NLP and LLM library with 🤗 Awesome model zoo, supporting wide-range of NLP tasks from research to industrial applications, including 🗂Text Classification, 🔍 Neural Search, ❓ Question Answering, ℹ️ Information Extraction, 📄 Document Intelligence, 💌 Sentiment Analysis etc.

v2.3.5

1 year ago

New Features

代码生成

  • CodeGen支持Taskflow一键调用。 #2754
  • 增加CodeGen使用文档。#2791

UIE

  • 新增UIE英文版本,支持Taskflow一键调用。 #2855
  • 新增排序模型的C++和pipeline的部署。 #2721
  • 新增in-batch negatives边训练边评估的功能。 #2663

小样本学习

  • 新增小样本模型RGL的实现。#2651

文本分类

  • 新增多分类、多标签application。#2661 #2675
  • 数据增强策略 #2805

文本匹配

  • 新增无监督语义向量模型DiffCSE。 #2643

Bug Fix

  • 修复pipelines未传入max_seq_len的问题。#2736
  • 修复pipelines的faiss-cpu依赖,新增乱码处理的FAQ。 #2709
  • 修复neural search的预测时dropout引起的结果不一致的错误,新增对ANN索引的FAQ。#2710
  • 修复ERNIE tokenizer的 get_offset_mapping 错误。#2857 #2897
  • 修复 model 中间 output 输出导致的 UNIMOText 原生生成失败问题。 #2877

其他

New Contributors

  • @lastrei Add pet static model export script and inference code #2875
  • @zhiyongLiu1114 Add the get_speical_token_mask for the ernie tokenizer #2671 #2690

Full Changelog: https://github.com/PaddlePaddle/PaddleNLP/compare/v2.3.4...v2.3.5

v2.3.4

1 year ago

New Features

Taskflow

  • 新增三个UIE小模型:UIE-Mini(6-layer, 384-hidden)、UIE-Micro(4-layer, 384-hidden)、UIE-Nano(4-layer, 312-hidden)。#2604
  • 新增基于中文词类知识的信息抽取工具WordTag-IE。 #2540

更多预训练模型

  • 开源 ERNIE Tiny 预训练模型,效果、精度领先于HFL、UER、Huawei-Noah 同等规模下开源中文模型。
  • 新增CodeGen代码生成模型。#2641

基础体验优化

  • Trainer 支持 constant、cosine、linear三种学习率调度策略。 #2511
  • FasterBART支持动转静和推理。#2519
  • FasterGeneration 支持使用带有 onnx 的预测库的编译。#2463

CLUE Benchmark

  • 支持 CLUE 10 个任务的训练、评估、预测,支持用户产出预测结果提交至 CLUE 榜单,并提供 Grid Search 工具供用户一键训练,最终获取最优评估结果。

文本分类

  • 新增多标签层次分类。 #2501
  • ERNIE-DOC模型在分类任务上添加预测部署流程。#1845

生态模型

  • 新增XLM模型。#2080

Bug Fix

  • 修复UIE同类别嵌套的评估问题。 #2558
  • 修复UIE prompt为英文时,prompt与文本的offset重叠的问题。#2453
  • 修复BERT Tokenizer调用get_offset_mapping出错的问题。 #2508
  • 修复FasterGeneration部分模型Sampling解码出core的问题。#2561
  • 修复PretrainedTokenizer和PretrainedModel 中from_pretrained中的潜在问题。 #2521 #2578 #2424
  • 修复LukeTokenizer当中的字段缺失导致保存时报错的问题。 #2631
  • 修复ChineseBertTokenizer由于Tokenizer机制更新导致expect parameter的问题。 #2625
  • 修复 PretrainedTokenizer special token 设置被覆盖及遗漏的问题 #2534 #2629
  • 修复 albert pad token id 缺失问题 #2495
  • 修复 ERNIE-1.0 预训练使用amp 02时,加载checkpoint错误问题 #2479
  • 移除RandomGenerator的is_init_py属性 #2658

其他

  • BERT 支持 fused_ffn、fused_attention进行fuse #2523

Full Changelog: https://github.com/PaddlePaddle/PaddleNLP/compare/v2.3.3...v2.3.4

v2.3.3

1 year ago

Bug Fix

  • 修复 AutoModel 模型选择 bug 导致从本地目录加载 ernie-1.0 等模型失败的问题 #2426
  • 修复 tokenizer 从本地目录加载时由于文件检查 bug 导致失败的问题 #2424
  • 修复 Taskflow 依存分析输出的类型问题 #2422
  • 修复 UIE 中 doccano 标注数据转换脚本的 split 检查问题;并完善 Task 使用 ONNX 预测的报错方式 #2417
  • 修复代码中的 data 拼写问题 #2410
  • 修复 PaddleNLP/README 中的 UIE 链接 #2419

Full Changelog: https://github.com/PaddlePaddle/PaddleNLP/compare/v2.3.2...v2.3.3

v2.3.2

1 year ago

New Features

更快的推理部署

  • UIE 推理加速:支持 UIE 模型 CPU、GPU 设备上高性能推理能力,显著提升 UIE 推理速度。
  • ERNIE 3.0 模型支持 Triton Inference Server服务化部署。

更多预训练模型

基础体验优化

  • ERNIE-M 模型支持多项选择式阅读理解任务。
  • 新增支持 XLNet 模型动转静能力。
  • BART Tokenizer 兼容性优化。

生态模型

  • 新增 GAU-alpha 生态模型。

Bug Fix

  • 修复 ElectraTokenizer 缺失 do_lower_case 属性问题。#2263
  • 修复 CLUE Benchmark 评估 CHID 任务日志 Bug。#2298
  • 修复语义检索 Application、FAQ System 在 Windows 系统数据类型报错问题。#2381
  • 修复基于 AutoTokenizer 加载 ERNIE 模型报错问题。#2315
  • 修复 load_dataset 函数报 dict_keys 错误问题。#2364
  • 修复文本生成 example Windows 平台数据类型报错问题。#2351
  • 修复 ERNIE 3.0 ONNX Runtime 推理 Bug。#2386
  • 修复 DDParser 针对 1-D Array 的 Padding 问题。#2333

New Contributors

Full Changelog: https://github.com/PaddlePaddle/PaddleNLP/compare/v2.3.1...v2.3.2

v2.3.1

1 year ago

Improvements

BugFix

  • 新增基于 FAISS ANN 引擎一键运行语义检索系统示例。https://github.com/PaddlePaddle/PaddleNLP/pull/2180
  • 修复 PaddleNLP 智能文本产线示例 CPU 运行报错问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2201
  • 修复 GPT 编译报错问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2191
  • 修复 GPT 预训练数据流未传入 max_seq_len 参数问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2192
  • 修复 GPT-3 静态图混合并行,预训练报错问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2190 https://github.com/PaddlePaddle/PaddleNLP/pull/2223 https://github.com/PaddlePaddle/PaddleNLP/pull/2195
  • 修复 tokenizer 非兼容升级导致 NPTag 解码错误问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2199
  • 修复Taskflow UIE Schema 重复构建的问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2170
  • 兼容 NER 标注任务 doccano 多种导出格式的数据转换。https://github.com/PaddlePaddle/PaddleNLP/pull/2187
  • 修复 NPTag 解码问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2233
  • 修复 DuUIE max_seq_len 报错问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2207
  • 修复 Windows 系统默认编码非 UTF8 时的编码报错问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2209
  • 修复 AlbertForQuestionAnswering import 报错问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2216
  • 修复 CLUE Benchmark 预测结果格式问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2215
  • 修复死链问题。https://github.com/PaddlePaddle/PaddleNLP/pull/2231 https://github.com/PaddlePaddle/PaddleNLP/pull/2230 https://github.com/PaddlePaddle/PaddleNLP/pull/2235 https://github.com/PaddlePaddle/PaddleNLP/pull/2240 https://github.com/PaddlePaddle/PaddleNLP/pull/2241

New Contributors

Full Changelog: https://github.com/PaddlePaddle/PaddleNLP/compare/v2.3.0...v2.3.1

v2.3.0

2 years ago

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 的贡献

更多的预训练模型

  • 新增 300+ 重要模型权重,涵盖 BERTGPTT5 等模型结构,目前PaddleNLP精选预训练模型数达500+
  • 新增 FNet 模型 #1499,感谢 @HJHGJGHHG 的贡献
  • 新增 ProphetNet 模型 #1698,感谢 @d294270681 的贡献
  • 新增 Megatron-LM 模型 #1678,感谢 @Beacontownfc 的贡献
  • 新增 LUKE 模型 #1677,感谢 @Beacontownfc 的贡献
  • 新增 RemBERT 模型 #1701 ,感谢 @Beacontownfc 的贡献

Trainer API

  • 新增 Trainer API,简化了模型训练代码,并规范了统一的训练配置,支持VisualDL训练日志可视化,提升实验的可复现性https://github.com/PaddlePaddle/PaddleNLP/pull/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: https://github.com/PaddlePaddle/PaddleNLP/compare/v2.2.6...v2.3.0

v2.3.0rc0

2 years ago

New Features

文心NLP大模型升级

  • 新增百度文心大模型 ERNIE 3.0,包含 ernie-3.0-base (12层)和 ernie-3.0-medium(6层)两种规模的权重,在CLUE Benchmark上实现同规模模型中文最佳效果。
  • 新增中文医疗领域预训练模型 ERNIE-Health,支持医学文本信息抽取(实体识别、关系抽取)、医学术语归一化、医学文本分类、医学句子关系判定和医学问答共5大类任务,并提供CBLUE Benchmark 使用实例。
  • 新增超大规模百亿(11B)开放域对话预训练模型 PLATO-XL(英文),模型来源于 PaddlePaddle/Knover,并提供FasterGeneration高性能GPU加速,相比上版本推理速度加速2.7倍。

通用信息抽取框架 UIE (Universal Information Extraction)

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

更多预训练模型

  • 新增 300+ 模型权重,涵盖 BERTGPTT5 等模型结构
  • 新增 FNet 模型 #1499,感谢 @HJHGJGHHG 的贡献
  • 新增 ProphetNet 模型 #1698,感谢 @d294270681 的贡献
  • 新增 Megatron-LM 模型 #1678,感谢 @Beacontownfc 的贡献
  • 新增 LUKE 模型 #1677,感谢 @Beacontownfc 的贡献
  • 新增 Rembert 模型 #1701 ,感谢 @Beacontownfc 的贡献

Trainer API

  • 新增 Trainer API,极大简化了模型训练代码,并规范了统一的训练配置,提升实验的可复现性。

Dataset API

  • 支持 HuggingFace Datasets,可以直接使用其 load_dataset 返回的数据集。建议先import paddlenlp后再import Datasets,以保证一些 patch 功能生效,若检测到 Datasets 先于 paddlenlp 加载,将会进行提示。
  • 新增 DataCollatorWithPadding、DataCollatorForTokenClassification 等常用任务的 data collator,简化数据处理流程
  • Tokenizer 功能新增与调整:
    • 支持自定义 special token 的保存和加载
    • 提供更丰富的 padding 方式,包括定长 pad、 longest pad 以及 pad 到特定倍数
    • 支持获取最长单句输入长度和句对输入长度
    • 支持返回 Paddle Tensor 数据
    • NOTE 在输入为 batch 数据时,默认输出格式由 list of dict 调整为 dict of list (dict 为BatchEncoding类的对象),可通过 return_dict 设置
    • NOTE save_pretrained 保存内容格式有调整(保证了兼容性,此前保存内容仍能正常使用)

General improvements and bugfix

  • 【模型应用示例】新增 NLP 可解释性评估 #1752 ,感谢 @binlinquge 的贡献
  • 【新硬件支持】BERT 静态图训练增加 IPU 支持 #1793,感谢 @gglin001 的贡献
  • 【TaskFlow】修复Taskflow NPTag 解码问题 #2023
  • 【FasterGeneration】速度优化:UnifiedTransformer、UnimoText 模型context计算加入加速支持,速度为此前1.2~2.1倍
  • 【FasterGeneration】速度优化:扩展模型加速 size_per_head 支持范围,基于此支持了 CPM(2.6B,开源最大GPT中文模型)等生成加速
  • 【FasterGeneration】显存优化:优化模型加载转换显存占用,支持直接使用 FP16 模型并允许去除原始未融合的QKV权重参数
  • 【FasterGeneration】API 增强:FasterTransformer API 新增参数支持直接使用 encoder 加速能力,打通 encoder 加速与 decoding 加速
  • 【FasterGeneration】预测部署:UnifiedTransformer、UnimoText 更多 Faster 模型支持导出部署
  • 【FasterGeneration】模型并行:GPT 模型加入NV FT模型并行(Tensor并行和Pipeline并行)支持,在 cpm-large-cn 上 4卡 Tensor 并行速度较单卡高性能生成提升40%
  • 【FasterGeneration】修复 encoder 加速在预测模式下编译问题
  • 【FasterGeneration】调整 JIT 编译目录路径,新的编译目录在$PPNLP_HOME/extensions

Breaking Changes

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

v2.2.6

2 years ago

问题修复

  • 优化了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

2 years ago

新功能

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

v2.2.4

2 years ago

我们很高兴的发布 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 数据集训练教程。https://github.com/PaddlePaddle/PaddleNLP/pull/1555

社区贡献

  • 新增 FNet @HJHGJGHHG。#1499
  • 修复 Read the Docs 文档 Dataset API 页面格式错误的问题@GT-ZhangAcer。#1570