其他
上线周期缩短上百倍!NLP流水线系统发布,10分钟搭建检索、问答等复杂系统
企业的 NLP 系统需求多种多样,例如智能客服、智能检索、文档信息抽取、商品评论观点分析等,虽然这些系统的外在形态千差万别,但是从技术基础设施角度看:
NLP 系统都可以抽象为由多个基础组件串接而成的流水线系统;
多个 NLP 流水线系统可共享使用相同的基础组件。
如上图,举例来说:
(1)语义检索系统可以抽象为文档解析、语义向量抽取、向量存储、召回、排序5个基础组件;(2)在此基础上,只需串接1个答案定位模型组件即可构成阅读理解式问答系统;(3)更进一步,在问答流水线的起点和终点分别加入 ASR(语音转换文本)和 TTS(文本转换语音)2个模型组件即可构成智能语音客服系统。
由以上示例可以看出,面向各种场景的 NLP 系统本质上都是由一些可复用的基础组件串接而成的流水线系统。基于此,Pipelines 提出通过丰富、强大的基础组件灵活、快速地构建 NLP 全场景智能系统,主要包括以下四类重要组件。
Pipelines 除深度兼容 PaddleNLP 中的模型外,还可兼容飞桨生态下任意模型、AI 开放平台算子、其它开源项目如 Elasticsearch 等作为基础组件。用户可通过对基础组件进行扩展来满足个性化需求,从而实现任意复杂系统的灵活定制开发。
⬇️戳官方地址,查看详情:https://github.com/PaddlePaddle/PaddleNLP/tree/develop/pipelines
飞桨 SOTA 模型 支持快速串联
Pipelines 中集成 PaddleNLP 中丰富的预训练模型和领先技术,例如文心 ERNIE 3.0轻量级模型,刷新中文小模型的 SOTA 成绩。
除小模型外,Pipelines 中也可直接使用 PaddleNLP 近期开源的24层模型 ERNIE 1.0-Large-zh-CW,效果优于同等规模的 RoBERTa-wwm-ext-large。
除多任务通用的预训练模型外,Pipelines 中还集成了面向特定任务的模型,如通用信息抽取技术 UIE,其多任务统一建模特性大幅降低了模型开发成本和部署的机器成本,基于 Prompt 的零样本抽取和少样本迁移能力更是惊艳!例如,在金融领域的事件抽取任务上,仅仅标注5条样本,F1 值就提升了25个点!
面向检索、问答等任务,Pipelines 预置了领先的召回模型和排序模型,依托国际领先的端到端问答技术 RocketQA 和首个人工标注的百万级问答数据集 DuReader。
这些强大的 NLP 模型可以直接使用 Pipelines 的模型 Node 来调用,例如,使用下面的方式就可以使用效果突出的 RocketQA 语义召回技术,是不是十分简单粗暴!
retriever = DensePassageRetriever(
document_store=document_store,
query_embedding_model=“rocketqa-zh-dureader-query-encoder”,
passage_embedding_model=“rocketqa-zh-dureader-query-encoder”,
max_seq_len_query=args.max_seq_len_query,
max_seq_len_passage=args.max_seq_len_passage,
batch_size=args.retriever_batch_size,
use_gpu=use_gpu,
embed_title=False
)
一键部署端到端系统 超低门槛
为了进一步降低开发门槛,提供最优效果,Pipelines 针对高频场景内置了产业级端到端系统。目前已开源语义检索、MRC(阅读理解)问答、FAQ 问答3大系统,未来会持续丰富语音问答、多模态信息抽取、舆情分析、文本分类等各类场景。
接下来,一起看看 Pipelines 内置的端到端系统有多强!下面以检索系统展开。
▎端到端全流程
Pipelines 内置的语义检索系统包括文档解析(支持 PDF、WORD、图片等解析)、海量文档建库、模型组网训练、服务化部署、前端 Demo 界面(便于效果分析)等全流程功能。
▎效果领先速度快
该检索系统基于端到端问答技术 RocketQA,该模型结合知识增强的预训练模型 ERNIE 3.0和百万量级的人工标注数据集 DuReader 训练得到,效果优异。该模型可以在 Pipelines 一键调用,大大降低问答系统模型建模成本。
性能方面,Pipelines 直接集成 Elasticsearch、Milvus 等高性能 ANN(近似最近邻)引擎,支持海量文本高效建库和相似查询。采用 ERNIE 3.0轻量化模型,提升语义向量抽取速度,单个 Query 在 CPU 上的检索速度从 2.2s 缩减到了 0.4s,内存占比进一步降低,适用于低资源环境。
▎低门槛一键部署
用户可以基于 Docker 采用如下命令默认一键部署端到端语义检索系统。
docker-compose -f docker-compose-gpu.yml up -d
在 Pipelines 功能建设期间,已经有多位开发者跟进到该项工作。来自建筑工程设计领域的电气工程师尹昊使用 Pipelines,仅用1周时间就开发上线了建筑设计规范检索系统,支持网页端、小程序端、还以插件形式将检索系统内嵌到 CAD 制图软件中,满足设计师多场景下的检索需求,投入使用后倍受好评。
Pipelines 下一步将向以下两个方向扩展:
🌟 预置更丰富的基础组件库
支持跨模态通用文档预训练模型 ERNIE-Layout 的调用,支持图片、文档的解析; 支持飞桨语音模型库 PaddleSpeech 的 PP-TTS 和 PP-ASR 各类语音模型串联; 支持 PaddleNLP 通用信息抽取 UIE、文本分类等 NLP 组件直接调用。
🌟 预置更多流水线系统
多模态信息抽取系统; 跨模态智能文档问答系统; 智能语音指令系统系统。
欢迎来自学术界和工业界的朋友加入 PaddleNLP Pipelines 开源项目,扩展新的组件,或者定制自己的 NLP 流水线系统。欢迎各位提需,加入社区讨论。
⬇️STAR 收藏,及时跟踪最新发布:https://github.com/PaddlePaddle/PaddleNLP
线上私享会
为了充分和开发者交流产品使用中遇到的难题,共同进步,PaddleNLP 核心开发成员将和大家线上交流,针对性讨论大家遇到的问题和需求。欢迎各位扫码进群,获取线上会议链接!限定200席,报满为止。报名还可获得:
PaddleNLP Piplines 直播课链接; PaddleNLP 团队整理的 10G 重磅 NLP 学习大礼包。
▎入群方式
微信扫描下方二维码,关注公众号,填写问卷后进入微信群,查看群公告领取福利。
▎PaddleNLP 项目地址
🌟 GitHub:https://github.com/PaddlePaddle/PaddleNLP🌟 Gitee:https://gitee.com/paddlepaddle/PaddleNLP