Skip to content

PaddleNLP v2.3.0

Compare
Choose a tag to compare
@ZeyuChen ZeyuChen released this 16 May 05:14
· 3039 commits to develop since this release

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