License

Triton 推理服务器 FIL 后端#

Triton 是一个机器学习推理服务器,可以轻松且高度优化地部署几乎所有主流框架中训练的模型。此后端专门用于促进在 Triton 中使用树模型(包括使用 XGBoostLightGBMScikit-LearncuML 训练的模型)。

如果您想在生产环境中部署基于树模型的优化实时或批量推理,Triton 的 FIL 后端将允许您做到这一点。

目录#

使用信息#

贡献者文档#

不知道从哪里开始?#

如果您不确定从哪里开始阅读本文档,请考虑以下路径之一

我目前使用 XGBoost/LightGBM 或其他树模型,并尝试评估 Triton 是否是生产环境部署模型的正确解决方案

  1. 查看 FIL 后端的 博客文章公告

  2. 通过查看 模型支持 部分,确保您的模型受支持

  3. 查看 入门示例

  4. 通过查阅 FAQ 笔记本,尝试在本地部署您自己的模型。

  5. 查看主要的 Triton 文档,了解有关部署的其他功能和有用的提示(包括示例 Helm chart)。

我熟悉 Triton,但这是我第一次使用它来部署 XGBoost/LightGBM 模型。

  1. 查看 入门示例

  2. 通过查阅 FAQ 笔记本,尝试在本地部署您自己的模型。请注意,它包含用于序列化 XGBoostLightGBM 模型的特定示例代码。

  3. 查看 FAQ 笔记本中关于 优化模型性能 的技巧。

我熟悉 Triton 和 FIL 后端,但这是我第一次使用它来部署 Scikit-Learn 或 cuML 树模型

  1. 查看关于为 Triton 准备 Scikit-Learn/cuML 模型 的章节。

  2. 通过查阅 FAQ 笔记本,尝试部署您的模型,特别是关于 Scikit-Learn 和 cuML 的章节。

我是一名熟悉树模型训练的数据科学家,我正在尝试了解如何将 Triton 与我的模型一起使用。

  1. 浏览 Triton 产品页面,了解 Triton 的用途。

  2. 下载并运行 入门示例。如果您在本地无法访问 GPU,您可以浏览此笔记本,然后跳转到 FAQ 笔记本,其中包含有关仅 CPU 训练和部署的具体信息。

我以前从未使用过树模型。

  1. 查看 XGBoost 的 文档

  2. 下载并运行 入门示例

  3. 通过查阅 FAQ 笔记本,尝试在本地部署您自己的模型。

我不喜欢阅读文档。

  1. 查看下面的 快速入门

  2. 在浏览器中打开 FAQs 笔记本

  3. 尝试部署您的模型。如果您遇到困难,请在 FAQ 页面上使用 Ctrl-F 搜索关键字。

快速入门:3 步部署树模型#

  1. 将您的模型复制到以下目录结构中。在本示例中,我们展示了一个 XGBoost json 文件,但也支持 XGBoost 二进制文件、LightGBM 文本文件和 Treelite 检查点文件。

model_repository/
├─ example/
│  ├─ 1/
│  │  ├─ model.json
│  ├─ config.pbtxt
  1. 按如下所示填写 config.pbtxt,将 $NUM_FEATURES 替换为输入特征的数量,将 $MODEL_TYPE 替换为 xgboostxgboost_jsonlightgbmtreelite_checkpoint,并将 $IS_A_CLASSIFIER 替换为 truefalse,具体取决于这是分类器还是回归器。

backend: "fil"
max_batch_size: 32768
input [
 {
    name: "input__0"
    data_type: TYPE_FP32
    dims: [ $NUM_FEATURES ]
  }
]
output [
 {
    name: "output__0"
    data_type: TYPE_FP32
    dims: [ 1 ]
  }
]
instance_group [{ kind: KIND_AUTO }]
parameters [
  {
    key: "model_type"
    value: { string_value: "$MODEL_TYPE" }
  },
  {
    key: "output_class"
    value: { string_value: "$IS_A_CLASSIFIER" }
  }
]

dynamic_batching {}
  1. 启动服务器

docker run -p 8000:8000 -p 8001:8001 --gpus all \
  -v ${PWD}/model_repository:/models \
  nvcr.io/nvidia/tritonserver:23.09-py3 \
  tritonserver --model-repository=/models

Triton 服务器现在将通过 HTTP(端口 8000)和 GRPC(端口 8001)提供您的模型,如果 NVIDIA GPU 可用,则使用 NVIDIA GPU,否则使用 CPU。有关如何 提交推理请求、如何 部署其他树模型类型高级配置选项 的信息,请查看 FAQ 笔记本