Skip to content

Releases: PaddlePaddle/PaddleNLP

PaddleNLP v2.4.1

14 Oct 10:45
f43cfd0
Compare
Choose a tag to compare

New Features

ERNIE-Layout 文档智能大模型

  • 新增多语言跨模态文档预训练模型ERNIE-Layout,新增Benchmark及基于ERNIE-Layout的各类下游任务的微调及部署示例。#3183
  • 新增DocPrompt文档抽取问答模型,支持Taskflow一键调用。#3183

Pipelines 更新

  • 新增Docker cuda11.2镜像,并提供Docker编译教程。#3315
  • 新增Pipelines批量处理数据。 #3432
  • 新增一些用户反馈的FAQ和README文档的优化。 #3237
  • 新增Milvus 2.1的支持。#3283

Question Generation

  • 新增问题生成example,覆盖中文场景和英文场景。#3410
  • 新增问题生成taskflow。#3438

Compression API

  • 压缩 API 支持 ERNIE、ERNIE-M、BERT、TinyBERT、ELECTRA 等 NLU 模型。#3234 #3324
  • DynBERT 宽度自适应裁剪策略支持分布式训练。#3361

Prompt API

  • 新增 Prompt API 使用文档。#3362

Bug Fix

  • 修复了小样本文本分类中的失效链接以及在 windows 平台上推理时的数据类型问题。#3339 #3426
  • FAQ Finance 的Milvus升级为2.1版本,文档优化。#3267 #3430
  • 基于检索的文本分类代码简化和README优化。 #3322
  • Neural Search的文档优化。#3350
  • 修复了UIE的Dataloader在加载数据时可能导致内存溢出的问题。#3381
  • 修复DuEE序列标注代码导包错误。#2853
  • 修复Pillow warning问题。 #3404#3457
  • 更新artist模型的激活函数,修复dallebart中的warning,#3106
  • 修复Ernie tokenizer当中模型名称类型缺失的问题 #3423
  • 修复Bert单测中CI没检测到的Bug #3422
  • 修复动转静过程中对OrderedDict数据类型不支持的问题 #3364
  • 修复 bigru_crf 推理随机hang的问题。 #3418

Others

  • 添加Stable Diffusion的Licence #3210
  • 更新文档中微信群二维码。#3284
  • Processor和FeatureExtractor支持from_pretrained和save_pretrained #3453
  • 添加T5EncoderModel的单测 #3376
  • 添加9个模型的多输入输出和单测代码 #3305

PaddleNLP v2.4.0

06 Sep 11:19
9d9b00b
Compare
Choose a tag to compare

New Features

NLP Pipelines流水线工具

PaddleNLP Piplines旨在提升NLP模型上线效率,将NLP复杂系统的通用模块抽象封装为标准组件,支持快速组合复杂NLP系统应用

#3003 #3160 #3135 #3092 #3186

插拔式组件设计

  • 支持文档存储灵活节点配置,支持Faiss、Milvus高性能向量搜索引擎
  • 支持文档级别前处理节点配置,支持PDF、图片级别文档信息提取

飞桨SOTA模型快速串联

  • 支持飞桨中文SOTA预训练模型,ERNIE 3.0 系列轻量化快速集成到Pipelines中
  • 支持 RocketQA 语义索引模型,快速提升语义索引、FAQ系统效果

低门槛一键部署

  • RocketQA DuReader语义提取模型一键调用,通用场景无需进行语义模型训练
  • Docker和Docker-compose两种方式一键部署,减少环境安装成本

产业范例库升级

文本分类

文本分类全流程应用,支持预训练模型、小样本、语义索引方案,通过TrustAI来快速调优模型
#3087 #3184 #3104 #3180 #2956 #3011

文本分类方案全覆盖

  • 支持多分类、多标签、层次分类算法
  • 支持预训练微调、小样本Prompt tuning微调方式、以及语义索引分类方案
  • 底座模型支持ERNIE 3.0 全系列模型,适配不同的使用场景

高效模型调优

  • TrustAI模型可解释性工具,快速定位稀疏数据、脏数据问题,进一步提升模型效果
  • 接入数据增强工具,多种数据增强方法,可快速对稀疏数据进行增强

产业级全流程方案

  • 支持数据标注、模型训练、模型压缩、模型预测部署全流程

信息抽取

  • 新增多语言模型UIE-M-Base和UIE-M-Large,支持中英文混合抽取及Taskflow一键调用。#3192
  • 新增基于封闭域模型GlobalPointer的UIE数据蒸馏方案,支持Taskflow一键部署。#3136

语义索引

  • 新增RocketQA的CrossEncoder模型,并支持加载到pipelines中。#3196
  • Neural Search的召回模型换成 基于ERNIE3.0的RocketQA模型,并支持加载到Pipelines中。 #3172

AIGC内容生成

CodeGen代码生成

PaddleNLP 2.4版本发布CodeGen代码生成全系列SOTA模型,可快速一键调用代码生成模型
#2641 #2754 #3017

效果领先

  • 集成代码生成SOTA模型CodeGen
  • 集成12个CodeGen不同规模的代码生成模型,支持多编程语言代码生成模型

简单易用

  • 支持通过Github Copilot调用模型,同时支持Taskflow一键调用模型
  • 支持FasterGeneration打造高性能推理,毫秒级响应

文图生成

文图生成目前是AIGC一个重要方向,PaddleNLP 2.4发布众多有趣的文图生成模型,可一键调用模型快速趣玩文图生成模型

#2917 #2968 #2988 #3040 #3072 #3118 #3198

超多潮流文图生成

  • 支持 DALL-E-mini 、CLIP + Disco Diffusion 、CLIP + Stable Diffusion、ERNIE-ViL +Disco Diffusion等模型

简单易用

  • 支持Taskflow一键调用图文生成模型
  • 支持FasterGeneration打造高性能推理,打破图文生成性能瓶颈

文本摘要

文本摘要是目前NLP场景中高频场景,此次发版新增中文文本应用,支持文本摘要定制化训练 #2971

  • 新增文本摘要Application,支持定制化训练,打通高性能推理部署,支持Taskflow一键调用

框架升级

模型自动压缩Compression API

  • 新增 模型压缩 API,支持基于 PaddleSlim 的裁剪和静态离线量化功能,快速加速文本分类、语义匹配、序列标注、阅读理解任务 #2777
  • 模型压缩API可以快速调用模型裁减、模型量化功能,大幅降低模型压缩使用成本

小样本学习 Prompt API

  • 新增Prompt Learning训练框架,支持PET、P-Tuning、RGL等经典模型的快速实现 #2894
  • 文本分类场景中使用Prompt Learning训练框架快速提升小样本训练效果 #2894

Transformers 预训练模型

基础 API

  • BERT、ERNIE、RoBERT 等模型接口新增获取 attention score 和所有中间层输出功能,可以轻松使用满足蒸馏等需求 #2665
  • BERT、ERNIE、RoBERT 等模型接口新增对 past_key_values 输入支持,通过该输入可以进行 prefix-tuning #2801
  • BERT、ERNIE、RoBERT 等模型接口新增输入 label 返回 loss 支持,简化使用方式,无需再拆分label和额外定义损失函数 #3013
  • BERT、ERNIE、RoBERT 等模型接口支持输出支持以 dict 形式返回,可以用更清晰的方式从返回内容中获取需要的输出内容 #2665
  • 系统批量完善预训练模型接口单测,保障功能稳定性

模型权重

  • 新增XLM模型 #2080
  • 转换Langboat/mengzi-t5-base-mt权重,并新增Zero Shot使用样例 #3116
  • 新增Roformer-sim,支持复述生成,可以生成相似句做数据增强 #3049

Bug Fix

  • 批量新增模型model_max_input_size配置字段 #3127
  • 修复 FasterGeneration 部分模型Sampling解码出core的问题。#2561
  • 修复 UNIMOText 在不使用加速特性情况下生成出错问题 #2877
  • 修复 FasterGeneration 在基于采样解码策略下性能不稳定的问题 #2910
  • 修复 BART tokenizer 获取 bos_token_id 出错问题 #3058
  • 修复 BART tokenizer 无法设置 model_max_length 问题 #3018
  • 修复 Taskflow的文本相似度在Windows上dtype引起的预测失败问题 #3188

Others

  • 支持FasterGPT的word_embeddings 和 lm_head.decoder_weight的权重不共享 #2953
  • 重构RoFormer,新增RoFormerForCausalLM类,支持roformer-sim相似句生成 #3049
  • 更新ERNIE模型,当type_vocab_size=0时,表示不使用token_type_id #3075
  • 新增ERNIE-Tiny模型的benchmark #3100
  • 更新BERT预训练时混合精度的配置,AMP level改为O2 #3080
  • FasterBART支持动转静和高性能推理。#2519
  • FasterGeneration 预测库联编支持 ONNX 依赖引入 #3158
  • Generation API 支持 logits_processorget_decoder_start_token_id() #3018
  • BART 模型支持 get_input_embeddings()set_input_embeddings() 方法获取 embeddings #3133
  • GPT 模型支持 get_vocab()、 0/1 attention mask、add bos token 等新增接口功能 #2463

New Contributors

New Contributors

Full Changelog: v2.3.0...v2.4.0

PaddleNLP v2.3.6

24 Aug 08:45
98eab22
Compare
Choose a tag to compare

New Features

  • 新增基于ERNIE 3.0的RocketQA召回模型,包含rocketqa-zh-base(12-layer, 768-hidden)、rocketqa-zh-medium(6-layer, 768-hidden)、rocketqa-zh-mini(6-layer, 384-hidden),rocketqa-zh-micro(4-layer, 384-hidden)和rocketqa-zh-nano(4-layer, 312-hidden)5个语义检索召回模型,在Dureader Retrieval数据集上达到中文最佳效果。 #3033
  • 新增基于ERNIE 3.0的RocketQA排序模型。 包含rocketqa-base(12-layer, 768-hidden)、 rocketqa-medium(6-layer, 768-hidden)、rocketqa-mini(6-layer, 384-hidden)、rocketqa-micro(4-layer, 384-hidden)和rocketqa-nano(4-layer, 312-hidden)5个语义检索排序模型,在Dureader Retrieval数据集上达到中文最佳效果。 #3019
  • 新增VI-LayoutXLM文档多模态模型,推理速度与精度超越LayoutXLM。#2935
  • NLP流水线系统Pipelines新增RocketQA轻量化模型,端到端响应速度显著提升。 #3078

Unit Test

  • 新增Ernie-Gram模型单测 #3059
  • 新增TinyBert模型单测 #2992
  • 新增Roformer模型单测 #2991
  • 新增ERNIE-M模型单测 #2964
  • 新增Skep模型单测 #2941
  • 新增Electra和XLNet模型单测 #3031
  • 新增RoBERTa、ALBERT 和 ERNIE模型的单测 #2972

Bug Fix

  • 修复BART tokenizer获取 bos_token_id 出错问题 #3058
  • 修复BART tokenizer无法设置 model_max_length 问题 #3018
  • 修复Pipelines的随机问题生成按钮报错问题和搜索问题回退到上一个搜索结果的问题。 #2954
  • 修复Pipelines在Python3.7上利用FAISS抽向量引起的问题。 #2965
  • 修复Tokenizer resize-token-embeddings 错误 #2763
  • 修复OPT示例代码 #3064
  • pointer_summarizer支持xpu和多卡 #2963 #3004

New Contributors

Full Changelog: v2.3.5...v2.3.7

PaddleNLP v2.3.5

01 Aug 13:02
86a373e
Compare
Choose a tag to compare

New Features

代码生成

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

UIE

  • 新增UIE英文版本,支持Taskflow一键调用。 #2855

Neural Search

  • 新增排序模型的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

Full Changelog: v2.3.4...v2.3.5

PaddleNLP v2.3.4

28 Jun 11:22
2710b7d
Compare
Choose a tag to compare

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: v2.3.3...v2.3.4

PaddleNLP v2.3.3

07 Jun 10:52
Compare
Choose a tag to compare

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: v2.3.2...v2.3.3

PaddleNLP v2.3.2

02 Jun 13:34
7d1d6fe
Compare
Choose a tag to compare

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: v2.3.1...v2.3.2

PaddleNLP v2.3.1

19 May 11:56
6716b91
Compare
Choose a tag to compare

Improvements

  • GPT-3支持静态图混合并行情况下的生成推理。 #2188 #2245

BugFix

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

New Contributors

Full Changelog: v2.3.0...v2.3.1

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