PaddleNLP v2.4.0
New Features
NLP Pipelines流水线工具
PaddleNLP Piplines旨在提升NLP模型上线效率,将NLP复杂系统的通用模块抽象封装为标准组件,支持快速组合复杂NLP系统应用
插拔式组件设计
- 支持文档存储灵活节点配置,支持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_processor
、get_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
- @Spico197 made their first contribution in #2170
- @sandyhouse made their first contribution in #2190
- @qingqing01 made their first contribution in #2188
- @RicardoL1u made their first contribution in #2299
- @Intsigstephon made their first contribution in #2285
- @sljlp made their first contribution in #2398
- @zche4846 made their first contribution in #1845
- @tianberg made their first contribution in #2461
- @lidanqing-intel made their first contribution in #2468
- @fightfat made their first contribution in #2499
- @LiYuRio made their first contribution in #2504
- @FeixLiu made their first contribution in #2523
- @ArtificialZeng made their first contribution in #2537
- @freeliuzc made their first contribution in #2543
- @taixiurong made their first contribution in #2556
- @westfish made their first contribution in #2423
- @sneaxiy made their first contribution in #2660
- @lastrei made their first contribution in #2671
- @WenmuZhou made their first contribution in #2695
- @littletomatodonkey made their first contribution in #2732
- @piotrekobi made their first contribution in #2730
- @Liujie0926 made their first contribution in #2829
- @buchongyu2 made their first contribution in #2817
- @GuoxiaWang made their first contribution in #2846
- @zhiyongLiu1114 made their first contribution in #2875
- @veyron95 made their first contribution in #2879
- @BasicCoder made their first contribution in #2977
- @dongfangshenzhu made their first contribution in #3046
- @Haibarayu made their first contribution in #2694
Full Changelog: v2.3.0...v2.4.0