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

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

3天内不再提示

如何使用PyCaret + RAPIDS简化模型构建

星星科技指导员 来源:NVIDIA 作者:Sofia Sayyah 2022-04-19 16:32 次阅读

PyCaret是一个低代码 Python 机器学习库,基于流行的 R Caret 库。它自动化了从数据预处理到 i NSight 的数据科学过程,因此短代码行可以用最少的人工完成每个步骤。此外,使用简单的命令比较和调整许多模型的能力可以简化效率和生产效率,同时减少创建有用模型的时间。

PyCaret 团队在 2 . 2 版中添加了 NVIDIA GPU 支持,包括RAPIDS中所有最新和最伟大的版本。使用 GPU 加速, PyCaret 建模时间可以快 2 到 200 倍,具体取决于工作负载。

这篇文章将介绍如何在 GPU 上使用 PyCaret 以节省大量的开发和计算成本。

所有基准测试都是在一台 32 核 CPU 和四个 NVIDIA Tesla T4 的机器上运行的,代码几乎相同。为简单起见, GPU 代码编写为在单个 GPU 上运行。

PyCaret 入门

使用 PyCaret 与导入库和执行 setup 语句一样简单。setup()功能创建环境,并提供一系列预处理功能,一气呵成。

from pycaret.regression import * exp_reg = setup(data = df, target = ‘Year’, session_id = 123, normalize = True)

在一个简单的设置之后,数据科学家可以开发其管道的其余部分,包括数据预处理/准备、模型训练、集成、分析和部署。在准备好数据后,最好从比较模型开始。

与 PyCaret 的简约精神一样,我们可以通过一行代码来比较一系列标准模型,看看哪些模型最适合我们的数据。 compare _ models 命令使用默认超参数训练 PyCaret 模型库中的所有模型,并使用交叉验证评估性能指标。然后,数据科学家可以根据这些信息选择他们想要使用的模型、调整和集成。

top3 = compare_models(exclude = [‘ransac’], n_select=3)

比较模型

pYYBAGJec6KAEuJVAAJfAB5I3Mw802.png

图 1 : PyCaret 中 compare _ models 命令的输出。

**模型从最佳到最差排序, PyCaret 突出显示了每个度量类别中的最佳结果,以便于使用。

用 RAPIDS cuML 加速 PyCaret

PyCaret 对于任何数据科学家来说都是一个很好的工具,因为它简化了模型构建并使运行许多模型变得简单。使用 GPU s , PyCaret 可以做得更好。由于 PyCaret 在幕后做了大量工作,因此看似简单的命令可能需要很长时间。例如,我们在一个具有大约 50 万个实例和 90 多个属性(加州大学欧文分校的年度预测 MSD 数据集)的数据集上运行了前面的命令。在 CPU 上,花费了 3 个多小时。在 GPU 上,只花了不到一半的时间。

在过去,在 GPU 上使用 PyCaret 需要许多手动编码,但谢天谢地, PyCaret 团队集成了 RAPIDS 机器学习库( cuML ),这意味着您可以使用使 PyCaret 如此有效的相同简单 API ,同时还可以使用 GPU 的计算能力。

在 GPU 上运行 PyCaret 往往要快得多,这意味着您可以充分利用 PyCaret 提供的一切,而无需平衡时间成本。使用刚才提到的同一个数据集,我们在 CPU 和 GPU 上测试了 PyCaret ML 功能,包括比较、创建、调优和集成模型。切换到 GPU 很简单;我们在设置函数中将use_gpu设置为True:

exp_reg = setup(data = df, target = ‘Year’, session_id = 123, normalize = True, use_gpu = True)

PyCaret 设置为在 GPU 上运行,它使用 cuML 来训练以下所有型号:

对数几率回归

脊分类器

随机森林

K 邻域分类器

K 邻域回归器

支持向量机

线性回归

岭回归

套索回归

群集分析

基于密度的空间聚类

仅在 GPU 上运行相同的compare_models代码的速度是 GPU 的2.5倍多。

对于流行但计算昂贵的模型,在模型基础上的影响更大。例如, K 邻域回归器在 GPU 上的速度是其 265 倍。

poYBAGJec6aAZgk7AABQVDYtMHQ115.png

图 2 : CPU 和 GPU 上运行的常见 PyCaret 操作的比较。

影响

PyCaret API 的简单性释放了原本用于编码的时间,因此数据科学家可以做更多的实验并对实验进行微调。当与 GPU 配合使用时,这种影响甚至更大,因为充分利用 PyCaret 的评估和比较工具套件的计算成本显著降低。

结论

广泛的比较和评估模型有助于提高结果的质量,而 PyCaret 正是为了这样做。 GPU 上的 PyCaret 抵消了大量处理所带来的时间成本。

RAPIDS 的目标是加速您的数据科学, PyCaret 是越来越多的库之一,它们与 RAPIDS 套件的兼容性有助于为您的机器学习追求带来新的效率。

关于作者

Sofia Sayyah 是 NVIDIA 的数据工程实习生。

审核编辑:郭婷

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

    关注

    28

    文章

    4754

    浏览量

    129080
  • 机器学习
    +关注

    关注

    66

    文章

    8428

    浏览量

    132779
收藏 人收藏

    评论

    相关推荐

    小白学大模型构建LLM的关键步骤

    随着大规模语言模型(LLM)在性能、成本和应用前景上的快速发展,越来越多的团队开始探索如何自主训练LLM模型。然而,是否从零开始训练一个LLM,并非每个组织都适合。本文将根据不同的需求与资源,帮助
    的头像 发表于 01-09 12:12 160次阅读
    小白学大<b class='flag-5'>模型</b>:<b class='flag-5'>构建</b>LLM的关键步骤

    RAPIDS cuDF将pandas提速近150倍

    在 NVIDIA GTC 2024 上,NVIDIA 宣布,RAPIDS cuDF 当前已能够为 950 万 pandas 用户带来 GPU 加速,且无需修改代码。
    的头像 发表于 11-20 09:52 223次阅读
    <b class='flag-5'>RAPIDS</b> cuDF将pandas提速近150倍

    如何使用Python构建LSTM神经网络模型

    构建一个LSTM(长短期记忆)神经网络模型是一个涉及多个步骤的过程。以下是使用Python和Keras库构建LSTM模型的指南。 1. 安装必要的库 首先,确保你已经安装了Python
    的头像 发表于 11-13 10:10 456次阅读

    为THS3001构建一个简单的SPICE模型

    电子发烧友网站提供《为THS3001构建一个简单的SPICE模型.pdf》资料免费下载
    发表于 10-29 10:11 0次下载
    为THS3001<b class='flag-5'>构建</b>一个简单的SPICE<b class='flag-5'>模型</b>

    数据中心应用中适用于Intel Xeon Sapphire Rapids可扩展处理器的负载点解决方案

    电子发烧友网站提供《数据中心应用中适用于Intel Xeon Sapphire Rapids可扩展处理器的负载点解决方案.pdf》资料免费下载
    发表于 09-03 11:20 0次下载
    数据中心应用中适用于Intel Xeon Sapphire <b class='flag-5'>Rapids</b>可扩展处理器的负载点解决方案

    【飞凌嵌入式OK3576-C开发板体验】rkllm模型量化构建

    (model = modelpath) if ret != 0: print(\'Load model failed!\') exit(ret) 模型量化构建 # Build model ret
    发表于 08-27 22:50

    如何构建多层神经网络

    构建多层神经网络(MLP, Multi-Layer Perceptron)模型是一个在机器学习和深度学习领域广泛使用的技术,尤其在处理分类和回归问题时。在本文中,我们将深入探讨如何从头开始构建一个多层神经网络
    的头像 发表于 07-19 17:19 927次阅读

    PyTorch神经网络模型构建过程

    PyTorch,作为一个广泛使用的开源深度学习库,提供了丰富的工具和模块,帮助开发者构建、训练和部署神经网络模型。在神经网络模型中,输出层是尤为关键的部分,它负责将模型的预测结果以合适
    的头像 发表于 07-10 14:57 523次阅读

    神经网络预测模型构建方法

    神经网络模型作为一种强大的预测工具,广泛应用于各种领域,如金融、医疗、交通等。本文将详细介绍神经网络预测模型构建方法,包括模型设计、数据集准备、
    的头像 发表于 07-05 17:41 710次阅读

    如何在TensorFlow中构建并训练CNN模型

    在TensorFlow中构建并训练一个卷积神经网络(CNN)模型是一个涉及多个步骤的过程,包括数据预处理、模型设计、编译、训练以及评估。下面,我将详细阐述这些步骤,并附上一个完整的代码示例。
    的头像 发表于 07-04 11:47 1006次阅读

    基于神经网络算法的模型构建方法

    神经网络是一种强大的机器学习算法,广泛应用于各种领域,如图像识别、自然语言处理、语音识别等。本文详细介绍了基于神经网络算法的模型构建方法,包括数据预处理、网络结构设计、训练过程优化、模型评估
    的头像 发表于 07-02 11:21 589次阅读

    请问NanoEdge AI数据集该如何构建

    我想用NanoEdge来识别异常的声音,但我目前没有办法生成模型,我感觉可能是数据集的问题,请问我该怎么构建数据集?或者生成模型失败还会有哪些原因?
    发表于 05-28 07:27

    英特尔助力京东云用CPU加速AI推理,以大模型构建数智化供应链

    英特尔助力京东云用CPU加速AI推理,以大模型构建数智化供应链
    的头像 发表于 05-27 11:50 560次阅读
    英特尔助力京东云用CPU加速AI推理,以大<b class='flag-5'>模型</b><b class='flag-5'>构建</b>数智化供应链

    红帽发布RHEL AI开发者预览版,集成IBM Granite模型简化AI开发流程

    RHEL AI依托InstructLab开源项目,结合IBM Research的开源授权Granite大型语言模型与InstructLab模型对齐工具,采用LAB(Large-scale Alignment for chatBots)方法创建可引导的RHEL镜像,从而
    的头像 发表于 05-08 15:01 506次阅读

    【大语言模型:原理与工程实践】大语言模型的预训练

    增长。DeepMind在相关论文中指出,模型大小和训练Token数应以相似速率增长,以确保最佳性能。因此,构建模型规模相匹配的预训练数据至关重要。 在构建预训练数据时,不仅要考虑数
    发表于 05-07 17:10