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

    文章

    4935

    浏览量

    102801
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4700

    浏览量

    128691
  • 服务器
    +关注

    关注

    12

    文章

    9017

    浏览量

    85180
收藏 人收藏

    评论

    相关推荐

    AI模型部署和管理的关系

    AI模型部署与管理是AI项目成功的两大支柱,它们之间既相互独立又紧密相连,共同推动着AI技术从实验室走向实际应用。
    的头像 发表于 11-21 10:02 78次阅读

    企业AI模型部署怎么做

    AI模型部署作为这一转型过程中的关键环节,其成功实施对于企业的长远发展至关重要。在此,AI部落小编为您介绍企业AI模型部署的步骤以及注意事项。
    的头像 发表于 11-04 10:15 102次阅读

    NVIDIA NIM助力企业高效部署生成式AI模型

    Canonical、Nutanix 和 Red Hat 等厂商的开源 Kubernetes 平台集成了 NVIDIA NIM,将允许用户通过 API 调用来大规模地部署大语言模型
    的头像 发表于 10-10 09:49 358次阅读

    快速部署Tensorflow和TFLITE模型在Jacinto7 Soc

    电子发烧友网站提供《快速部署Tensorflow和TFLITE模型在Jacinto7 Soc.pdf》资料免费下载
    发表于 09-27 11:41 0次下载
    快速<b class='flag-5'>部署</b>Tensorflow和TFLITE<b class='flag-5'>模型</b>在Jacinto7 Soc

    llm模型本地部署有用吗

    ,将这些模型部署到本地环境可能会带来一些挑战和优势。 1. LLM模型概述 大型语言模型(LLM)通常是基于深度学习的神经网络模型,它们能够
    的头像 发表于 07-09 10:14 398次阅读

    基于AX650N/AX630C部署端侧大语言模型Qwen2

    本文将分享如何将最新的端侧大语言模型部署到超高性价比SoC上,向业界对端侧大模型部署的开发者提供一种新的思路。
    的头像 发表于 07-06 17:43 3247次阅读
    基于AX650N/AX630C<b class='flag-5'>部署</b>端侧大语言<b class='flag-5'>模型</b>Qwen2

    PerfXCloud大模型开发与部署平台开放注册

    PerfXCloud 介绍 PerfXCloud是澎峰科技为开发者和企业量身打造的AI开发和部署平台。它专注于满足大模型的微调和推理需求,为用户提供极致便捷的一键部署体验。 PerfXCloud为算
    的头像 发表于 07-02 10:27 352次阅读
    PerfXCloud大<b class='flag-5'>模型</b>开发与<b class='flag-5'>部署</b>平台开放注册

    使用TVM量化部署模型报错NameError: name \'GenerateESPConstants\' is not defined如何解决?

    各位好,我在使用TVM部署模型时,遇到一下错误,请问如何解决?我进esp.py文件看,有如下两个函数是找不到定义的: GenerateESPConstants(), ExtractConstantsFromPartitionedFunction(),
    发表于 06-28 10:50

    模型端侧部署加速,都有哪些芯片可支持?

    电子发烧友网报道(文/李弯弯)大模型在端侧部署是指将大型神经网络模型部署在移动终端设备上,使这些设备能够直接运行这些模型,从而执行各种人工智
    的头像 发表于 05-24 00:14 3960次阅读

    基于stm32h743IIK在cubeai上部署keras模型模型输出结果都是同一组概率数组,为什么?

    基于stm32h743IIK,在cubeai上部署keras模型模型输出结果都是同一组概率数组,一点也搞不明白,看社区也有相同的问题,但没有解决方案
    发表于 05-20 08:18

    模拟后端是什么意思

    模拟后端,在软件开发和测试领域,通常是指使用工具或技术来模拟实际后端服务的行为。这样做的主要目的是在项目开发过程中,当后端服务还未就绪或暂时无法访问时,前端或其他依赖后端的系统能够继续
    的头像 发表于 03-15 15:58 622次阅读

    使用CUBEAI部署tflite模型到STM32F0中,模型创建失败怎么解决?

    看到CUBE_AI已经支持到STM32F0系列芯片,就想拿来入门嵌入式AI。 生成的模型很小,是可以部署到F0上的,但是一直无法创建成功。 查阅CUBE AI文档说在调用create函数前,要启用
    发表于 03-15 08:10

    源2.0适配FastChat框架,企业快速本地化部署模型对话平台

    北京2024年2月28日 /美通社/ -- 近日,浪潮信息Yuan2.0大模型与FastChat框架完成全面适配,推出"企业快速本地化部署模型对话平台"方案。该方案主要面向金融、法律、教育等领域
    的头像 发表于 02-29 09:57 775次阅读
    源2.0适配FastChat框架,企业快速本地化<b class='flag-5'>部署</b>大<b class='flag-5'>模型</b>对话平台

    边缘侧部署模型优势多!模型量化解决边缘设备资源限制问题

    电子发烧友网报道(文/李弯弯)大模型的边缘部署是将大模型部署在边缘设备上,以实现更快速、更低延迟的计算和推理。边缘设备可以是各种终端设备,如智能手机、平板电脑、智能家居设备等。通过将大
    的头像 发表于 01-05 00:06 3349次阅读

    【爱芯派 Pro 开发板试用体验】模型部署(以mobilenetV2为例)

    啊抱歉,上周得了一周的流感,人才活过来。。本来还想研究下sam它是怎么部署的,但是时间好像有点来不急,就讲个最简单的efficientNet吧。但是会仔细讲下使用模型部署,实际也就是推理引擎的全过程
    发表于 12-10 16:34