模型推理运行时-Triton-Tensorflow
type
status
date
slug
summary
tags
category
icon
password
网址
双向嵌入表示转换器(BERT)是一种预训练语言表示的方法,在广泛的自然语言处理(NLP)任务中都能取得最先进的结果。
本示例演示了
- 使用BERT Base/Large模型进行问答(QA)任务推理
- 使用经过微调的NVIDIA BERT模型
- 部署Transformer用于使用BERT分词器进行预处理
- 在Triton推理服务器上部署BERT模型
- 使用V2 KServe协议进行推理
我们可以在经过微调的BERT模型上运行问答等任务的推理。
这里我们使用了在SQuaD 2.0数据集上微调的BERT模型,该数据集包含了500多篇文章中的10万多个问答对,以及5万多个新的无法回答的问题。
设置
- 您集群的Istio入口网关必须是网络可访问的。
- 为
nvcr.io
跳过标签解析,因为解析triton推理服务器镜像摘要需要认证
- 由于拉取triton镜像和大型bert模型可能超过默认的120秒超时时间,增加进度截止时间,此设置需要knative 0.15.0+
创建BERT分词器的自定义Transformer
扩展ModelServer基类并实现预处理/后处理
preprocess
处理程序使用BERT分词器将段落和问题转换为BERT输入
predict
处理程序使用PYTHON REST API调用Triton Inference Server
postprocess
处理程序将原始预测转换为带概率的答案
请在此处查看代码示例。
构建Transformer Docker镜像
使用上述代码构建KServe Transformer镜像
或者您可以使用预构建镜像
kfserving/bert-transformer-v2:latest
创建推理服务
将上述自定义KServe Transformer镜像和Triton预测器添加到
InferenceService
规范中应用
InferenceService
yaml文件。预期输出
检查推理服务
您将看到转换器和预测器都已创建并处于就绪状态
运行预测
使用以下输入发送问题请求,转换器需要发送
instances
或 inputs
列表,然后 preprocess
将输入转换为发送给 Triton Inference Server
的预期张量。预期输出
上一篇
模型推理运行时-Triton-Torchscript
下一篇
模型推理运行时-Triton-HuggingFace
Loading...