恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
PaddleNLP UNIMO-Text 文本摘要 Paddle Inference 高性能推理部署指南
首页
资讯中心
/
PaddleNLP UNIMO-Text 文本摘要 Paddle Inference 高性能推理部署指南
PaddleNLP UNIMO-Text 文本摘要 Paddle Inference 高性能推理部署指南
发布时间:2026/9/25 20:16:00
人工智能大模型预训练微调LoRARLHF强化学习分布式训练【免费下载链接】PaddleNLPEasy-to-use and powerful LLM and SLM library with awesome model zoo.项目地址https://gitcode.com/gh_mirrors/pa/PaddleNLP点击查看免费下载导读本文以 PaddleNLP 仓库中 UNIMO-Text 自动文本摘要应用为例系统讲解如何使用 Paddle Inference 推理库完成生成式文本摘要的高性能部署覆盖「动态图模型导出为静态图预测模型」与「基于 Python API 编写推理程序」两个完整环节。读完本文你将掌握预测模型的导出命令与参数含义、Paddle Inference Python 端预测器的构建流程、输入特征的组织方式以及生成结果的解码后处理逻辑并可直接复用仓库中开箱即用的推理脚本投入实际部署。本文对应的部署说明文档位于 slm/examples/text_summarization/unimo-text/deploy/paddle_inference/README.md配套推理脚本为 inference_unimo_text.py。背景介绍Paddle Inference 与 Model.predict 的选型对比在 PaddleNLP 中文本摘要模型的推理存在两条技术路径一是使用主框架的Model.predict二是使用 Paddle Inference 原生推理库。两者对比如下对比维度Model.predictPaddle Inference定位主框架Model对象自带的预测接口适用于训练好的动态图模型直接预测飞桨原生推理库面向服务器端与云端的高性能推理部署加速能力常规推理可叠加 MKLDNN、CUDNN、TensorRT 等底层加速适用场景快速验证、训练后即测对推理性能与通用性有要求的线上部署场景覆盖范围依赖动态图执行针对不同平台与应用场景深度适配优化支持飞桨训练出的所有模型的推理可做到服务器端即训即用、快速部署Paddle Inference 的加速能力直接基于飞桨的训练算子构建因此它天然支持飞桨训练产出的全部模型这是其作为生产级部署方案的核心优势。Paddle Inference 在 Python 端的预测部署主要包含两个步骤导出预测部署模型将动态图模型转换为静态图预测格式模型基于 Python 预测编写推理脚本加载静态图模型完成预测。导出预测部署模型部署时必须使用预测格式的模型即通过动态图转静态图操作得到的模型。相比训练格式模型预测格式模型在拓扑上会裁剪掉预测阶段不需要的算子并执行特定的部署优化从而获得更小的体积与更快的推理速度。完整的静态图导出教程见 生成式文本摘要应用 README「FastGeneration 加速及模型静态图导出」章节。该章节的核心操作由 export_model.py 实现它使用FasterUNIMOText封装模型后通过paddle.jit.to_static声明各输入的InputSpec再调用paddle.jit.save导出静态图模型最终在inference_model_dir目录下生成unimo_text.pdmodel、unimo_text.pdiparams等部署文件。导出命令如下python export_model.py \ --model_name_or_path unimo-text-1.0-summary \ --decoding_strategy beam_search \ --inference_model_dir ./inference_model \ --max_out_len 30也可以直接使用仓库提供的 export_model.sh 脚本完成导出。关键参数释义参数含义默认值model_name_or_path动态图训练保存的参数路径支持 PaddleNLP 预置模型名或本地目录unimo-text-1.0-summaryinference_model_dir静态图模型的保存路径./inference_modelmax_out_len生成的最大输出长度64min_out_len生成的最小输出长度1decoding_strategy解码策略可选sampling或beam_searchbeam_searchnum_beamsbeam search 的 beam 数量4topk/topptop-k 采样候选数 / top-p 采样概率阈值4/1.0temperature采样温度1.0num_return_sequences每个输入返回的序列数1diversity_ratebeam search 的多样性惩罚系数0.0use_fp16_decoding是否使用 fp16 解码加速开关参数关闭执行命令后静态图模型会自动导出到指定的inference_model目录中其文件结构如下inference_model/ ├── unimo_text.pdiparams ├── unimo_text.pdiparams.info └── unimo_text.pdmodel从源码看export_model.py在paddle.jit.to_static中显式指定了静态图输入签名包括input_ids[None, None]、int64、token_type_ids[None, None]、int64、attention_mask[None, 1, None, None]、float32与seq_len[None]、int64并将cls_token_id、mask_token_id、pad_token_id等特殊 token id 以及解码超参数一并固化进静态图这正是推理脚本端输入与输出能保持稳定的契约基础。基于 Python 预测模型导出完成后即可基于 Paddle Inference 编写 Python 预测程序。仓库在 deploy/paddle_inference 目录下提供了完整的推理脚本inference_unimo_text.py。运行命令在终端输入以下命令可在 GPU 上进行预测python inference_unimo_text.py --inference_model_dir ../../inference_model关键参数释义inference_model_dir用于高性能推理的静态图模型参数路径默认为../../inference_model。脚本内置了两条中文新闻样例作为演示输入运行后会在终端打印每条输入在各 beam 下的摘要生成结果。脚本的输入输出均通过命令行固定位置与文件路径组织便于在服务器环境中直接接入测试数据。预测器构建setup_predictor推理入口setup_predictor完成了 Paddle Inference 预测器的核心装配主要步骤包括加载 FastGeneration 加速库调用paddlenlp.ops.ext_utils中的load(FastGeneration, verboseTrue)加载用于生成式解码加速的自定义算子库拼接模型与参数路径从inference_model_dir目录下定位unimo_text.pdmodel模型结构文件与unimo_text.pdiparams参数文件并校验文件是否存在构造推理配置inference.Config(model_file, params_file)加载模型随后依次调用enable_use_gpu(100, 0)使用显存 100 MB、GPU 卡 0、switch_ir_optim()开启 IR 图优化、enable_memory_optim()开启内存复用优化、disable_glog_info()关闭冗余日志输出创建预测器inference.create_predictor(config)返回可复用的predictor实例。需要说明的是enable_use_gpu与switch_ir_optim等配置展示了 Paddle Inference 在服务端部署时的典型优化组合读者可根据实际 GPU 显存情况调整显存预留值。输入特征组织convert_example 与 batchify_fn推理脚本先将每条原始文本转换为模型所需的特征convert_example再进行批量化batchify_fnconvert_example调用UNIMOTokenizer的gen_encode对源文本进行编码并设置add_start_token_for_decodingTrue为解码阶段添加起始 token同时返回序列长度信息batchify_fn使用paddlenlp.data.Pad对input_ids、token_type_ids进行右填充对齐并通过pad_mask构造[batch_size, 1, max_len, max_len]的二维注意力掩码矩阵缺失位置填充-1e9避免 padding 参与注意力计算最终整理出四个模型输入input_ids、token_type_ids、attention_mask、seq_len与导出静态图时声明的InputSpec一一对应。执行预测与结果后处理推理主体流程如下for name in predictor.get_input_names(): input_handles[name] predictor.get_input_handle(name) input_handles[name].copy_from_cpu(data[name]) output_handles [predictor.get_output_handle(name) for name in predictor.get_output_names()] predictor.run() output [output_handle.copy_to_cpu() for output_handle in output_handles]即通过get_input_handle将 CPU 侧numpy数据拷贝进输入张量调用predictor.run()完成推理再从输出 handle 取回结果。解码结果由postprocess_response处理它从第一个mask_token_id充当生成结束符处截断序列再经tokenizer.convert_ids_to_tokens与merge_subword合并子词还原为可读的中文摘要文本。最后按输入样例与 beam 序号逐条打印生成结果。模型与分词器加载推理脚本通过UNIMOTokenizer.from_pretrained(unimo-text-1.0-summary)加载与模型配套的分词器与上层应用 README 中「开箱即用」章节使用UNIMOLMHeadModel.from_pretrained(model_name)加载预训练模型的模式保持一致分词器首次使用时会自动下载并缓存unimo-text-1.0-summary对应的词表与配置。仓库中FasterUNIMOText的封装入口可参见 paddlenlp/transformers/unimo/modeling.py它负责将动态图模型桥接到高性能解码算子之上。从部署全流程看本文所处的位置在 UNIMO-Text 文本摘要应用的完整链路数据准备 → 模型训练 → 模型预测 → 模型推理部署中Paddle Inference 部署是承接「训练产出」走向「生产可用」的最后一环训练定制使用 train.py 对unimo-text-1.0-summary等预训练模型进行微调得到动态图 checkpoint静态图导出通过 export_model.py 基于 FastGeneration 完成动态图转静态图并生成inference_model目录Paddle Inference 部署使用本文讲解的 inference_unimo_text.py 加载静态图模型完成高性能预测服务化部署可选如需在线服务化可参考同一目录下的 Paddle Serving 服务化部署文档将静态图模型转换为 serving 格式后以 pipeline 方式对外提供接口。其中步骤 2 与步骤 3 是本文的核心二者通过inference_model目录下的pdmodel/pdiparams文件完成衔接。总结Paddle Inference 为 UNIMO-Text 文本摘要应用提供了「即训即用、高性能部署」的完整通路。通过本文你已掌握模型选型依据何时选用 Paddle Inference 而非Model.predict以及其支持的 MKLDNN、CUDNN、TensorRT 等加速手段静态图导出export_model.py的核心参数inference_model_dir、max_out_len、decoding_strategy等与产物文件结构Python 预测inference_unimo_text.py从预测器构建、输入特征组织到结果后处理的完整代码路径以及--inference_model_dir参数的默认值与含义。在此基础上你可以直接复用仓库脚本替换为自己的测试数据与模型路径将文本摘要能力快速部署到生产环境如需进一步服务化可继续查阅仓库中 Paddle Serving 部署方案完成在线服务发布。赞分享人工智能大模型预训练微调LoRARLHF强化学习分布式训练【免费下载链接】PaddleNLPEasy-to-use and powerful LLM and SLM library with awesome model zoo.项目地址https://gitcode.com/gh_mirrors/pa/PaddleNLP点击查看免费下载相关推荐基于 Paddle Serving 部署 UNIMO-Text 文本摘要服务从模型转换到 Pipeline 上线基于 Paddle Serving 部署 UNIMO Text 文本摘要服务从模型转换到 Pipeline 上线 本文以 PaddleNLP 仓库中的 uni人工智能大模型预训练微调LoRARLHF强化学习分布式训练模型推理服务推理引擎模型量化模型压缩本地部署NLPPaddleNLP 基于 UNIMO-Text 的生成式文本摘要应用从 Taskflow 开箱即用到训练推理全流程部署PaddleNLP 基于 UNIMO Text 的生成式文本摘要应用从 Taskflow 开箱即用到训练推理全流程部署 文本摘要是将输入文本自动压缩为简短摘要人工智能大模型预训练微调LoRARLHF强化学习分布式训练模型推理服务推理引擎模型量化模型压缩本地部署NLPCubeSandbox 节点隔离指南基于 CubeOps 的 cordon/uncordon 维护操作实践CubeSandbox 节点隔离指南基于 CubeOps 的 cordon/uncordon 维护操作实践 导读 节点隔离Node Isolation是人工智能大模型预训练微调LoRARLHF强化学习分布式训练模型推理服务推理引擎模型量化模型压缩本地部署NLP创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考