• 上线周期缩短上百倍!NLP流水线系统发布,10分钟搭建检索、问答等复杂系统


    伴随着产业智能化升级的浪潮,企业对灵活可定制的智能NLP系统有着广泛需求。例如,保险公司希望通过智能客服平台向客户提供24小时问答服务,同时也想建设企业内搜平台向员工提供精准、高效的搜索服务。然而众多企业自建这些复杂系统所耗费的人力成本和时间成本巨大成为产业智能化升级的 “拦路虎”

    为了解决上述难题,PaddleNLP推出NLP流水线系统——PaddleNLP Pipelines,将各个NLP复杂系统的通用模块抽象封装为标准组件,支持开发者通过配置文件对标准组件进行组合,仅需几分钟即可定制化构建智能系统让解决NLP任务像搭积木一样便捷、灵活、高效。同时,Pipelines中预置了前沿的预训练模型和算法,在研发效率、模型效果和性能方面提供多重保障

    本文将对Pipelines三大特色进行解读,全文约2千字,预计阅读时长1分半。

    插拔式组件设计
    灵活可扩展

    企业的NLP系统需求多种多样,例如智能客服、智能检索、文档信息抽取、商品评论观点分析等,虽然这些系统的外在形态千差万别,但是从技术基础设施角度看:

    • NLP系统都可以抽象为由多个基础组件串接而成的流水线系统

    • 多个NLP流水线系统可共享使用相同的基础组件

    图片
    图1:通过增删基础组件实现多个复杂系统的迁移

    如上图,举例来说:

    (1)语义检索系统可以抽象为文档解析、语义向量抽取、向量存储、召回、排序5个基础组件

    (2)在此基础上,只需串接1个答案定位模型组件即可构成阅读理解式问答系统

    (3)更进一步,在问答流水线的起点和终点分别加入ASR(语音转换文本)和TTS(文本转换语音)2个模型组件即可构成智能语音客服系统

    由以上示例可以看出,面向各种场景的NLP系统本质上都是由一些可复用的基础组件串接而成的流水线系统。基于此,Pipelines提出通过丰富强大的基础组件灵活快速地构建NLP全场景智能系统,主要包括以下四类重要组件。

    图片
    图2:Pipelines基础组件示例

    **Pipelines除深度兼容PaddleNLP中的模型外,还可兼容飞桨生态下任意模型、AI开放平台算子、其它开源项目如Elasticsearch等作为基础组件。**用户可通过对基础组件进行扩展来满足个性化需求,从而实现任意复杂系统的灵活定制开发。

    戳官方地址,查看详情:

    https://github.com/PaddlePaddle/PaddleNLP/tree/develop/pipelines

    飞桨SOTA模型
    支持快速串联

    Pipelines中集成PaddleNLP中丰富的预训练模型和领先技术,例如文心ERNIE 3.0轻量级模型,刷新中文小模型的SOTA成绩。
    图片
    图3:ERNIE3.0轻量级模型效果SOTA

    除小模型外,Pipelines中也可直接使用PaddleNLP近期开源的24层模型ERNIE 1.0-Large-zh-CW,效果优于同等规模的RoBERTa-wwm-ext-large。
    图片
    表1:ERNIE 1.0-Large-zh-CW和ERNIE 3.0-Xbase-zh效果领先

    除多任务通用的预训练模型外,Pipelines中还集成了面向特定任务的模型,如通用信息抽取技术UIE,其多任务统一建模特性大幅降低了模型开发成本和部署的机器成本,基于Prompt的零样本抽取和少样本迁移能力更是惊艳!例如,在金融领域的事件抽取任务上,仅仅标注5条样本F1值就提升了25个点
    图片
    表2:UIE在信息抽取数据集上零样本和小样本效果(F1-score)

    面向检索、问答等任务,Pipelines预置了领先的召回模型和排序模型,依托国际领先的端到端问答技术RocketQA和首个人工标注的百万级问答数据集DuReader。
    图片
    图4:RocketQA问答技术领先

    这些强大的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界面(便于效果分析)等全流程功能。
    
    ![图片](https://img-blog.csdnimg.cn/img_convert/edb143a5f25262700d636b77903e1892.png)
    
    图5:检索系统流水线示意图
    
    ![图片](https://img-blog.csdnimg.cn/img_convert/059a8567189f901b1c843a6b70544eaf.gif)图6:检索系统前端Demo
    
    
     **效果领先速度快**
    
    该检索系统基于端到端问答技术RocketQA,该模型结合知识增强的预训练模型ERNIE 3.0和百万量级的人工标注数据集 DuReader训练得到,效果优异。该模型可以在Pipelines一键调用,大大降低问答系统模型建模成本。  
    
    ![图片](https://img-blog.csdnimg.cn/img_convert/6d1137a7d0465655b5a210114fe19d05.png)
    
    表3:Pipelines检索系统精度(数据集:DuReader\_retrieval )
    
    性能方面,Pipelines直接集成**Elasticsearch、Milvus**等高性能ANN(近似最近邻)引擎,支持海量文本高效建库和相似查询。**采用ERNIE 3.0轻量化模型**,**提升语义向量抽取速度**,**单个Query在CPU上的检索速度从2.2s缩减到了0.4s**,内存占比进一步降低,适用于低资源环境。
      
    
    **低门槛一键部署**
    
    用户可以基于Docker采用如下命令默认一键部署端到端语义检索系统。  
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    启动GPU容器

    docker-compose -f docker-compose-gpu.yml up -d

    
    在Pipelines功能建设期间,已经有多位开发者跟进到该项工作。来自建筑工程设计领域的电气工程师尹昊使用Pipelines,**仅用****1周时间**就开发上线了建筑设计规范检索系统,支持网页端、小程序端、还以插件形式将检索系统内嵌到CAD制图软件中,满足设计师多场景下的检索需求,投入使用后倍受好评。
    
    ![图片](https://img-blog.csdnimg.cn/img_convert/52ff0577fbd75c942c8f6769ae93c564.gif)
    
    图7:开发者作品 基于Pipelines的建筑设计规范检索系统——寻规
    
    (https://xungui365.com/)
    
    **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
    
      
    
    
    关注【飞桨PaddlePaddle】公众号
    
    获取更多技术内容~
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
  • 相关阅读:
    react render的作用
    Linux安全之iptables高级特性
    Python使用遗传算法(Evolutionary Algorithm、进化算法)构建优化器获取机器学习模型最优超参数组合、拟合最佳模型、实战+代码
    IDM(Internet Download Manager)下载器2024最新版本如何下载?
    【Python接口自动化】--深入了解HTTP接口基本组成和网页构建原理
    SwiftUI CoreData 教程之如何加速搜索速度
    LeetCode2125
    数据结构线性表
    邮件出现延时的本质究竟是什么......
    五十二、BBS项目
  • 原文地址:https://blog.csdn.net/PaddlePaddle/article/details/126739861