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

    文章

    5727

    浏览量

    110297
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5324

    浏览量

    136214
  • 服务器
    +关注

    关注

    14

    文章

    10447

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞芯微(EASY EAI)RV1126B 模型部署示例

    1.模型部署示例介绍本小节展示yolov5模型的在EASYEAINano-TB的部署过程,该模型仅经过简单训练供示例使用,不保证
    的头像 发表于 05-06 15:24 5874次阅读
    瑞芯微(EASY EAI)RV1126B <b class='flag-5'>模型</b><b class='flag-5'>部署</b>示例

    IMX8M Plus 板上部署立体视觉模型 CPU 回退错误 IMX8M Plus问题

    您好,我想在 IMX8M Plus 板上部署立体视觉模型。我已经量化了模型并将其转换为 TFlite 架构,但是当模型部署
    发表于 04-29 07:23

    AI落地培训 | 人形检测模型嵌入式部署全链路实战

    你是否想系统了解AI落地全链路,却缺少一个完整的实战项目练手?模型部署环节繁多,缺乏一套清晰的实战路径?4月18日、4月25日、5月16日RT-Thread将分别在苏州、成都、南京举办“AI模型训练
    的头像 发表于 04-10 18:41 332次阅读
    AI落地培训 | 人形检测<b class='flag-5'>模型</b>嵌入式<b class='flag-5'>部署</b>全链路实战

    AI模型训练与部署实战 | 线下免费培训

    你是否想系统了解AI落地全链路,但缺少一个完整的实战项目练手?模型部署环节繁多,缺乏一套清晰的实战路径?4月18日、4月25日、5月16日RT-Thread将分别在苏州、成都、南京举办“AI模型训练
    的头像 发表于 04-07 13:08 775次阅读
    AI<b class='flag-5'>模型</b>训练与<b class='flag-5'>部署</b>实战 | 线下免费培训

    如何在ZYNQ本地部署DeepSeek模型

    一个将最小号 DeepSeek 模型部署到 AMD Zynq UltraScale+ MPSoC 处理系统的项目。
    的头像 发表于 12-19 15:43 7991次阅读
    如何在ZYNQ本地<b class='flag-5'>部署</b>DeepSeek<b class='flag-5'>模型</b>

    Termux手机摄像头采集图像/视频流 部署 YOLO 模型推理

    Termux手机摄像头采集图像/视频流 部署 YOLO 模型推理
    的头像 发表于 12-14 07:26 3436次阅读

    matlab的算法部署在simulink中

    有没有哪位大佬能提供一下思路,遇到一个问题matlab得不到神经网络fitcnet模型的权重参数,所以simulink没办法部署,那遇到这种情况该如何处理
    发表于 12-08 15:27

    RA8P1部署ai模型指南:从训练模型部署 | 本周六

    在嵌入式边缘AI中,如何把“训练好的模型”稳定地“跑在板子上”,决定了项目能否落地。我们带你基于RA8P1平台,跑通从数据准备、模型训练、量化转换,到工程部署的整个流程,帮助你快速实现在RA8P1
    的头像 发表于 11-20 18:06 2570次阅读
    RA8P1<b class='flag-5'>部署</b>ai<b class='flag-5'>模型</b>指南:从训练<b class='flag-5'>模型</b>到<b class='flag-5'>部署</b> | 本周六

    使用瑞萨RUHMI工具实现AI模型部署过程

    AI无处不在。你在部署AI,你的竞争对手也在部署AI,几乎所有人都在做AI。然而,AI并不简单,不仅在生成有效模型上复杂,在部署上同样充满挑战。
    的头像 发表于 10-17 10:00 3046次阅读
    使用瑞萨RUHMI工具实现AI<b class='flag-5'>模型</b><b class='flag-5'>部署</b>过程

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

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

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

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

    ai_cube训练模型最后部署失败是什么原因?

    ai_cube训练模型最后部署失败是什么原因?文件保存路径里也没有中文 查看AICube/AI_Cube.log,看看报什么错?
    发表于 07-30 08:15

    【VisionFive 2单板计算机试用体验】3、开源大语言模型部署

    1、ollama平台搭建 ollama可以快速地部署开源大模型,网址为https://ollama.com, 试用该平台,可以在多平台上部署 Deepseek-R1, Qwen3, Llama
    发表于 07-19 15:45

    如何本地部署NVIDIA Cosmos Reason-1-7B模型

    下一步行动。本文将一步步带你在本地服务器上完成该模型部署,并搭建一个直观的 Web 交互界面,亲身体验前沿 AI 的“思考”过程。
    的头像 发表于 07-09 10:17 1098次阅读

    企业部署AI大模型怎么做

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