0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用FIL后端部署XGBOOST模型

星星科技指导员 来源:NVIDIA 作者:William Hicks 2022-04-11 14:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

深度神经网络在多个领域的成功促使人们对如何有效地部署这些模型以用于实际应用进行了大量思考和努力。然而,尽管基于树的模型(包括随机森林和梯度增强模型)在表格数据分析中 continued dominance 非常重要,而且对于解释性非常重要的用例非常重要,但加速部署基于树的模型(包括随机森林和梯度增强模型)的努力却没有受到太多关注。

随着 DoorDash 和 CapitalOne 等组织转向基于树的模型来分析大量关键任务数据,提供工具以帮助部署此类模型变得简单、高效和高效变得越来越重要。

NVIDIA Triton 推理服务器 提供在 CPUGPU 上部署深度学习模型的完整解决方案,支持多种框架和模型执行后端,包括 PyTorch 、 TensorFlow 、 ONNX 、 TensorRT 等。从 21.06.1 版开始,为了补充 NVIDIA Triton 推理服务器现有的深度学习功能,新的 林推理库( FIL )后端 提供了对树模型的支持,例如 XGBoost 、 LightGBM 、 Scikit-Learn RandomForest , RAPIDS 卡米尔森林 ,以及 Treelite 支持的任何其他型号。

基于 RAPIDS 森林推理库 (NVIDIA ),NVIDIA Triton 推理服务器 FIL 后端允许用户利用 NVIDIA Triton 推理服务器的相同特性,以达到 deep learning 模型的最优吞吐量/延迟,以在相同的系统上部署基于树的模型。

在本文中,我们将简要介绍NVIDIA Triton 推理服务器本身,然后深入介绍如何使用 FIL 后端部署 XGBOOST 模型的示例。使用 NVIDIA GPU ,我们将看到,我们不必总是在部署更精确的模型或保持延迟可控之间做出选择。

在示例笔记本中,通过利用 FIL 后端的 GPU 加速推理,在一台配备八台 V100 GPU 的 NVIDIA DGX-1 服务器上,我们将能够部署比 CPU 更复杂的欺诈检测模型,同时将 p99 延迟保持在 2ms 以下, still 每秒提供超过 400K 的推断( 630MB / s ),或者比 CPU 上的吞吐量高 20 倍。

NVIDIA Triton 推理服务器

NVIDIA Triton 推理服务器为 machine learning 模型的实时服务提供了完整的开源解决方案。 NVIDIA Triton 推理服务器旨在使性能模型部署过程尽可能简单,它为在实际应用中尝试部署 ML 算法时遇到的许多最常见问题提供了解决方案,包括:

多框架 支持 : 支持所有最常见的深度学习框架和序列化格式,包括 PyTorch 、 TensorFlow 、 ONNX 、 TensorRT 、 OpenVINO 等。随着 FIL 后端的引入, NVIDIA Triton 推理服务器还提供对 XGBoost 、 LightGBM 、 Scikit Learn / cuML RandomForest 和任何框架中的 Treelite 序列化模型的支持。

Dynamic Batching : 允许用户指定一个批处理窗口,并将在该窗口中收到的任何请求整理成更大的批处理,以优化吞吐量。

多种查询类型 :优化多种查询类型的推理:实时、批处理、流式,还支持模型集成。

使用 NVIDIA 管道和集合 推理服务器部署的 管道和集合 Triton 型号可以通过复杂的管道或集成进行连接,以避免客户端和服务器之间,甚至主机和设备之间不必要的数据传输。

CPU 模型执行 : 虽然大多数用户希望利用 GPU 执行带来的巨大性能提升,但 NVIDIA Triton 推理服务器允许您在 CPU 或 GPU 上运行模型,以满足您的特定部署需求和资源可用性。

Dynamic Batching [VZX337 ]如果NVIDIA Triton 推理服务器不提供对部分管道的支持,或者如果需要专门的逻辑将各种模型链接在一起,则可以使用自定义 PythonC++后端精确地添加所需的逻辑。

Run anywhere :在扩展的云或数据中心、企业边缘,甚至在嵌入式设备上。它支持用于人工智能推理的裸机和虚拟化环境(如 VMware vSphere )。

Kubernetes 和 AI 平台支持 :

作为 Docker 容器提供,并可轻松与 Kubernetes 平台集成,如 AWS EKS 、谷歌 GKE 、 Azure AKS 、阿里巴巴 ACK 、腾讯 TKE 或红帽 OpenShift 。

可在 Amazon SageMaker 、 Azure ML 、 Google Vertex AI 、阿里巴巴 AI 弹性算法服务平台和腾讯 TI-EMS 等托管 CloudAI 工作流平台上使用。

Enterprise support : NVIDIA AI 企业软件套件包括对 NVIDIA Triton 推理服务器的全面支持,例如访问 NVIDIA AI 专家以获得部署和管理指导、安全修复和维护发布的优先通知、长期支持( LTS )选项和指定的支持代理。

图 1:NVIDIA Triton 推理服务器架构图。

为了更好地了解如何利用 FIL 后端的这些特性来部署树模型,我们来看一个特定的用例。

示例: FIL 后端的欺诈检测

为了在 NVIDIA Triton 推理服务器中部署模型,我们需要一个配置文件,指定有关部署选项和序列化模型本身的一些细节。模型当前可以按以下任意格式序列化:

XGBoost 二进制格式

XGBoost JSON

LightGBM 文本格式

Treelite 二进制检查点文件

在下面的笔记本中,我们将介绍部署欺诈检测模型过程的每个步骤,从培训模型到编写配置文件以及优化部署参数。在此过程中,我们将演示 GPU 部署如何在保持最小延迟的同时显著提高吞吐量。此外,由于 FIL 可以轻松地扩展到非常大和复杂的模型,而不会大幅增加延迟,因此我们将看到,对于任何给定的延迟预算,在 GPU 上部署比 CPU 上更复杂和准确的模型是可能的。

笔记本:

抱歉,出了点问题。 Reload

抱歉,我们无法显示此文件。

抱歉,此文件无效,无法显示。

查看器需要 iframe 。

view raw正如我们在本笔记本中所看到的, NVIDIA Triton 推理服务器的 FIL 后端允许我们使用序列化的模型文件和简单的配置文件轻松地为树模型提供服务。如果没有 NVIDIA Triton 推理服务器,那些希望服务于其他框架中的 XGBoost 、 LightGBM 或随机林模型的人通常会求助于吞吐量延迟性能差且不支持多个框架的手动摇瓶服务器。 NVIDIA Triton 推理服务器的动态批处理和并发模型执行自动最大化吞吐量,模型分析器有助于选择最佳部署配置。手动选择可能需要数百种组合,并且可能会延迟模型的展开。有了 FIL 后端,我们可以为来自所有这些框架的模型提供服务,而无需定制代码和高度优化的性能。

结论

使用 FIL 后端,NVIDIA Triton 推理服务器现在提供了一个高度优化的实时服务的森林模型,无论是在他们自己或旁边的深度学习模型。虽然支持 CPU 和 GPU 执行,但我们可以利用 GPU 加速来保持低延迟和高吞吐量,即使对于复杂的模型也是如此。正如我们在示例笔记本中看到的,这意味着即使延迟预算很紧,也不需要通过退回到更简单的模型来降低模型的准确性。

如果您想尝试部署自己的 XGBOST 、 LITGBM 、 SKEXCEL 或 CUML 森林模型进行实时推理,那么您可以很容易地从 Docker container 、NVIDIA 的 GPU 优化的 AI 软件目录中拉取 NVIDIA NVIDIA AI 企业套件 推理服务器 Docker container 。您可以在 FIL 后端文档 中找到入门所需的一切。如果准备部署到 Kubernetes 集群, NVIDIA Triton 还提供了 Helm charts 示例。对于希望在实际工作负载下试用 Triton 推理服务器的企业, NVIDIA LaunchPad 计划提供了一组在 Triton 中使用 Triton 的精心策划的实验室。

Krieger 说:“ STAR 的独特之处在于,它是第一个在软组织中规划、调整和执行手术计划的机器人系统,只需极少的人工干预。”。

关于作者

William Hicks 是NVIDIA RAPIDS 团队的高级软件工程师。希克斯拥有布兰代斯大学物理学硕士学位和布朗大学文学艺术硕士学位。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    5496

    浏览量

    109087
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5099

    浏览量

    134455
  • 服务器
    +关注

    关注

    13

    文章

    10094

    浏览量

    90880
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    DeepSeek模型如何在云服务器上部署

    随着大型语言模型(LLM)的应用日益普及,许多开发者和企业希望将像DeepSeek这样的优秀模型部署到自己的云服务器上,以实现私有化、定制化服务并保障数据安全。本文将详细阐述部署Dee
    的头像 发表于 10-13 16:52 567次阅读

    vision board部署模型到openmv的代码导致连接超时怎么解决?

    在env终端中勾选了tiflte support后烧录mdk到板子上后就开始显示连接不到 无法部署模型
    发表于 09-19 07:59

    企业部署AI大模型怎么做

    当下,AI大模型已成为驱动决策自动化、服务智能化与产品创新的核心引擎。然而,企业面对动辄数百亿参数的大模型部署时,常陷入算力不足、响应延迟高、成本失控等困境。如何突破瓶颈,实现高效、稳定的AI
    的头像 发表于 06-04 09:26 675次阅读

    如何使用Docker部署模型

    随着深度学习和大模型的快速发展,如何高效地部署这些模型成为了一个重要的挑战。Docker 作为一种轻量级的容器化技术,能够将模型及其依赖环境打包成一个可移植的容器,极大地简化了
    的头像 发表于 05-24 16:39 795次阅读

    K230D部署模型失败的原因?

    MicroPython部署的无法正常运行,采用C++版本的无法实现部署 尝试解决过程 1.考虑到可能是固件不匹配的问题,重新烧录了流程(生成模型后给的readme)中要求的固件,依旧无法成功
    发表于 03-11 06:19

    添越智创基于 RK3588 开发板部署测试 DeepSeek 模型全攻略

    DeepSeek 模型部署与测试,开启这场充满挑战与惊喜的技术探索之旅。 RK3588 开发板:AI 性能担当 RK3588 开发板基于先进的 8nm LP 制程工艺精心打造,其硬件配置堪称豪华,在 AI
    发表于 02-14 17:42

    xgboost超参数调优技巧 xgboost在图像分类中的应用

    的成绩。然而,XGBoost模型涉及众多超参数,这些参数的组合和调优对于模型性能至关重要。以下是一些XGBoost超参数调优的技巧: 理解主要超参数 : 学习率(Learning Ra
    的头像 发表于 01-31 15:16 2145次阅读

    常见xgboost错误及解决方案

    XGBoost(eXtreme Gradient Boosting)是一种流行的机器学习算法,用于解决分类和回归问题。尽管它非常强大和灵活,但在使用过程中可能会遇到一些常见的错误。以下是一些常见
    的头像 发表于 01-19 11:22 4644次阅读

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Pyt
    的头像 发表于 01-19 11:21 2214次阅读

    xgboost与LightGBM的优势对比

    在机器学习领域,集成学习算法因其出色的性能和泛化能力而受到广泛关注。其中,XGBoost和LightGBM是两种非常流行的梯度提升框架。 1. 算法基础 XGBoost(eXtreme
    的头像 发表于 01-19 11:18 2113次阅读

    xgboost的并行计算原理

    之一。 XGBoost简介 XGBoost是一种基于梯度提升框架的集成学习算法,它通过构建多个决策树来提高模型的预测性能。与传统的梯度提升树相比,XGBoost在算法上进行了优化,包括
    的头像 发表于 01-19 11:17 1571次阅读

    xgboost在图像分类中的应用

    XGBoost(eXtreme Gradient Boosting)是一种高效的机器学习算法,它基于梯度提升框架,通过构建多个弱学习器(通常是决策树)来提高模型的性能。XGBoost因其出色的性能
    的头像 发表于 01-19 11:16 1558次阅读

    企业AI模型部署攻略

    当下,越来越多的企业开始探索和实施AI模型,以提升业务效率和竞争力。然而,AI模型部署并非易事,需要企业在多个层面进行细致的规划和准备。下面,AI部落小编为企业提供一份AI模型
    的头像 发表于 12-23 10:31 1298次阅读

    AI模型部署边缘设备的奇妙之旅:目标检测模型

    以及边缘计算能力的增强,越来越多的目标检测应用开始直接在靠近数据源的边缘设备上运行。这不仅减少了数据传输延迟,保护了用户隐私,同时也减轻了云端服务器的压力。然而,在边缘端部署高效且准确的目标检测模型
    发表于 12-19 14:33

    如何开启Stable Diffusion WebUI模型推理部署

    如何开启Stable Diffusion WebUI模型推理部署
    的头像 发表于 12-11 20:13 1151次阅读
    如何开启Stable Diffusion WebUI<b class='flag-5'>模型</b>推理<b class='flag-5'>部署</b>