模型推理运行时-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万多个新的无法回答的问题。

设置

  1. 您集群的Istio入口网关必须是网络可访问的
  1. nvcr.io跳过标签解析,因为解析triton推理服务器镜像摘要需要认证
    1. 由于拉取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文件。
      预期输出

      检查推理服务

      您将看到转换器和预测器都已创建并处于就绪状态

      运行预测

      第一步是确定入口IP和端口并设置 INGRESS_HOSTINGRESS_PORT
      使用以下输入发送问题请求,转换器需要发送 instancesinputs 列表,然后 preprocess 将输入转换为发送给 Triton Inference Server 的预期张量。
      预期输出
       
      上一篇
      模型推理运行时-Triton-Torchscript
      下一篇
      模型推理运行时-Triton-HuggingFace
      Loading...
      文章列表
      Kserve中文文档
      快速开始
      管理指南
      用户指南
      开发指南
      机器学习概念
      大模型周报