Triton 推理服务器 FIL 后端#
Triton 是一个机器学习推理服务器,可以轻松且高度优化地部署几乎所有主流框架中训练的模型。此后端专门用于促进在 Triton 中使用树模型(包括使用 XGBoost、LightGBM、Scikit-Learn 和 cuML 训练的模型)。
如果您想在生产环境中部署基于树模型的优化实时或批量推理,Triton 的 FIL 后端将允许您做到这一点。
目录#
使用信息#
贡献者文档#
不知道从哪里开始?#
如果您不确定从哪里开始阅读本文档,请考虑以下路径之一
我目前使用 XGBoost/LightGBM 或其他树模型,并尝试评估 Triton 是否是生产环境部署模型的正确解决方案
查看 FIL 后端的 博客文章公告
通过查看 模型支持 部分,确保您的模型受支持
查看 入门示例
通过查阅 FAQ 笔记本,尝试在本地部署您自己的模型。
查看主要的 Triton 文档,了解有关部署的其他功能和有用的提示(包括示例 Helm chart)。
我熟悉 Triton,但这是我第一次使用它来部署 XGBoost/LightGBM 模型。
查看 入门示例
通过查阅 FAQ 笔记本,尝试在本地部署您自己的模型。请注意,它包含用于序列化 XGBoost 和 LightGBM 模型的特定示例代码。
查看 FAQ 笔记本中关于 优化模型性能 的技巧。
我熟悉 Triton 和 FIL 后端,但这是我第一次使用它来部署 Scikit-Learn 或 cuML 树模型
查看关于为 Triton 准备 Scikit-Learn/cuML 模型 的章节。
通过查阅 FAQ 笔记本,尝试部署您的模型,特别是关于 Scikit-Learn 和 cuML 的章节。
我是一名熟悉树模型训练的数据科学家,我正在尝试了解如何将 Triton 与我的模型一起使用。
浏览 Triton 产品页面,了解 Triton 的用途。
下载并运行 入门示例。如果您在本地无法访问 GPU,您可以浏览此笔记本,然后跳转到 FAQ 笔记本,其中包含有关仅 CPU 训练和部署的具体信息。
我以前从未使用过树模型。
我不喜欢阅读文档。
快速入门:3 步部署树模型#
将您的模型复制到以下目录结构中。在本示例中,我们展示了一个 XGBoost json 文件,但也支持 XGBoost 二进制文件、LightGBM 文本文件和 Treelite 检查点文件。
model_repository/
├─ example/
│ ├─ 1/
│ │ ├─ model.json
│ ├─ config.pbtxt
按如下所示填写 config.pbtxt,将
$NUM_FEATURES
替换为输入特征的数量,将$MODEL_TYPE
替换为xgboost
、xgboost_json
、lightgbm
或treelite_checkpoint
,并将$IS_A_CLASSIFIER
替换为true
或false
,具体取决于这是分类器还是回归器。
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 {}
启动服务器
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 笔记本。