自然语言处理nlp 大语言模型 知识图谱构建 问答系统 信息检索 知识抽取
PaddleNLP是一款简单易用且功能强大的自然语言处理和大语言模型(LLM)开发库。聚合业界优质预训练模型并提供开箱即用的开发体验,覆盖NLP多场景的模型库搭配产业实践范例可满足开发者灵活定制的需求。PaddleNLP的优势在于它提供一键预测功能,无需训练,直接输入数据即可开放域抽取结果。
paddlenlp GitHub链接:PaddleNLP
PaddleNLP提供了方便易用的Auto API,能够快速的加载模型和Tokenizer。
Taskflow提供丰富的开箱即用的产业级NLP预置模型,覆盖自然语言理解与生成两大场景,提供产业级的效果与⚡️极致的推理性能。
PaddleNLP一键预测功能:Taskflow API
PaddleNLP提供一键预测功能,无需训练,直接输入数据即可开放域抽取结果。
值得注意的的是,利用这个功能可以实现知识图谱构建所需的实体识别,关系抽取,时间抽取。
业界最全的中文预训练模型
精选 45+ 个网络结构和 500+ 个预训练模型参数,涵盖业界最全的中文预训练模型:既包括文心NLP大模型的ERNIE、PLATO等,也覆盖BERT、GPT、RoBERTa、T5等主流结构。通过AutoModel API一键⚡高速下载⚡。
全场景覆盖的应用示例
覆盖从学术到产业的NLP应用示例,涵盖NLP基础技术、NLP系统应用以及拓展应用。全面基于飞桨核心框架2.0全新API体系开发,为开发者提供飞桨文本领域的最佳实践。
精选预训练模型示例可参考Model Zoo,更多场景示例文档可参考examples目录。更有免费算力支持的AI Studio平台的Notbook交互式教程提供实践。
PaddleNLP针对信息抽取、语义检索、智能问答、情感分析等高频NLP场景,提供了端到端系统范例,打通数据标注-模型训练-模型调优-预测部署全流程,持续降低NLP技术产业落地门槛。更多详细的系统级产业范例使用说明请参考PaddleNLP 提供了多个版本的产业范例:Applications。
语义检索系统
针对无监督数据、有监督数据等多种数据情况,结合SimCSE、In-batch Negatives、ERNIE-Gram单塔模型等,推出前沿的语义检索方案,包含召回、排序环节,打通训练、调优、高效向量检索引擎建库和查询全流程。
❓ 智能问答系统 和 文档智能问答
基于RocketQA技术的检索式问答系统,支持FAQ问答、说明书问答等多种业务场景。
评论观点抽取与情感分析
基于情感知识增强预训练模型SKEP,针对产品评论进行评价维度和观点抽取,以及细粒度的情感分析。
️ 智能语音指令解析
集成了PaddleSpeech和百度开放平台的语音识别和UIE通用信息抽取等技术,打造智能一体化的语音指令解析系统范例,该方案可应用于智能语音填单、智能语音交互、智能语音检索等场景,提高人机交互效率。
⚡ FastTokenizer:高性能文本处理库
为了实现更极致的模型部署性能,安装FastTokenizers后只需在AutoTokenizer API上打开 use_fast=True选项,即可调用C++实现的高性能分词算子,轻松获得超Python百余倍的文本处理加速,更多使用说明可参考FastTokenizer文档。
⚡️ FastGeneration:高性能生成加速库
简单地在generate()API上打开use_fast=True选项,轻松在Transformer、GPT、BART、PLATO、UniLM等生成式预训练模型上获得5倍以上GPU加速,更多使用说明可参考FastGeneration文档。
Fleet:飞桨4D混合并行分布式训练技术
更多关于千亿级AI模型的分布式训练使用说明可参考GPT-3。
通用信息抽取应用
文本通用信息抽取 UIE(Universal Information Extraction)
文档通用信息抽取UIE Taskflow使用指南
ERNIE-Health 中文医疗预训练模型
使用医疗领域预训练模型Fine-tune完成中文医疗语言理解任务
PaddleNLP的环境要求比较复杂,需要我们有以下软件或库:
1、cuda和cudnn,这是PaddleNLP环境搭建的重难点。
2、paddlepaddle或者叫paddle,这两个在我理解来是一个东西,安装方式是一样的。
3、paddlenlp,这个的安装应该是最简单的了。
需要注意的是:paddlenlp的搭建过程挺复杂的,对各个软件或库的安装版本要求比较严格。
博主使用的是:anaconda3-2022.10-Windows-x86_64 + pycharm-community-2023.2.3 + CUDA11.8 + cuDNN8.9. + paddle2.5.2 + paddlenlp2.6.1.post
这里可以参考suibianshen2012博主的paddlenlp安装教程,照着步骤一步一步来对应好版本应该是可以的,建议不要选太新的版本,bug比较多。
uie-x-base,uie-m-large,uie-m-base模型使用时报错
在使用Taskflow的uie-x-base,uie-m-large,uie-m-base模型时会出现以下错误,而其他模型正常。
Out of memory error on GPU 0. Cannot allocate 70.312500MB memory on GPU 0, 1.999999GB memory has been allocated and available memory is only 0.000000B.
Please check whether there is any other process using GPU 0.
1. If yes, please stop them, or start PaddlePaddle on another GPU.
2. If no, please decrease the batch size of your model.
报错显示GPU内存不足
gpt告诉我可以通过以下方法解决
经过尝试都无法解决,而且我们是利用模型直接进行预测而不是训练按理说不应该gpu内存不足。
修改一次device_id
按下Crtl,点击Taskflow,可以看到它的构造函数。
可以看到如果你的电脑只有cpu或者device_id==-1,那么将使用cpu进行训练或预测,而如果你的电脑有gpu并且你没有指定device_id,那么是使用gpu:0进行训练或预测的。
我们就是在使用gpu:0时报的错,所以你可以通过设置Taskflow的参数device_id来换成cpu或者其它的gpu来运行程序。
设置完参数后,就可以正确运行了。接着我又把这个参数去掉,发现它又不报错了。神奇。