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

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

3天内不再提示

使用加速WEKA加速机器学习模型

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-08-15 17:27 次阅读

近年来,建筑业和采用机器学习( ML )工具。使用 GPU 加速计算日益密集的模型已成为一个突出的趋势。

为了增加用户访问,加速 WEKA 项目通过集成开源 RAPIDS 库,为在知名的 WEKA 算法中使用 GPU 提供了一个可访问的入口点。

在这篇文章中,我们将向您介绍加速 WEKA ,并学习如何使用 WEKA 软件利用图形用户界面( GUI )的 GPU 加速算法。这种 Java 开源替代方案适合于从不同环境或包中寻找各种 ML 算法的初学者。

什么是加速 WEKA ?

加速 WEKA 将WEKA软件(一种著名的开源 Java 软件)与利用 GPU 缩短 ML 算法执行时间的新技术相结合。针对没有系统配置和编码专业知识的用户,它有两个好处:易于安装和指导 ML 任务的配置和执行的 GUI 。

加速 WEKA 是一个可用于 WEKA 的软件包集合,它可以扩展以支持新的工具和算法。

什么是急流?

RAPIDS是一组开源 Python 库,供用户在 NVIDIA GPU 上开发和部署数据科学工作负载。流行的库包括用于 GPU 加速数据帧处理的 cuDF 和用于 GPU 加速机器学习算法的 cuML 。 RAPIDS API 尽可能符合 CPU 对应项,例如 pandas 和scikit-learn。

%1 : %2 加速的 WEKA 架构

加速 WEKA 的构建块是WekaDeeplearning4j和wekaRAPIDS(受wekaPython启发)等包。 WekaDeeplearning4j ( WDL4J )已经支持 GPU 处理,但在库和环境配置方面有非常特殊的需求。 WDL4J 为 Deeplearning4j 库提供了 WEKA 包装。

对于 Python 用户, weka Python 最初通过创建服务器并通过套接字与之通信来提供 Python 集成。有了它,用户可以在 WEKA 工作台内执行 scikit learn ML 算法(甚至XGBoost)。此外, weka RAPIDS 通过在 wekaPython 中使用相同的技术提供与 RAPIDS cuML 库的集成。

总之,这两个包在用户友好的 WEKA 工作台内提供了增强的功能和性能。加速 WEKA 通过改进 JVM 和 Python 解释器之间的通信,在性能方面更进一步。它通过使用 Apache Arrow 和 GPU 内存共享等替代方法来实现这两种语言之间的高效数据传输。

加速 WEKA 还提供了与 RAPIDS cuML 库的集成,该库实现了在 NVIDIA GPU 上加速的机器学习算法。一些 cuML 算法甚至可以支持多 GPU 解。

支持的算法

加速 WEKA 目前支持的算法有:

线性回归

物流回归

山脊

套索

弹性网

MBSGD 分类器

MBSGDRegressor 公司

多项式 nb

伯努林

高斯 B

随机森林分类器

随机森林采伐

静止无功补偿器

SVR 公司

LinearSVC

Kneighbors 回归器

Kneighbors 分类器

多 GPU 模式下加速 WEKA 支持的算法有:

Kneighbors 回归器

Kneighbors 分类器

线性回归

山脊

套索

弹性网

多项式 nb

光盘

使用加速 WEKA GUI

在加速 WEKA 设计阶段,一个主要目标是使其易于使用。以下步骤概述了如何在系统上进行设置,并提供了一个简单的示例。

有关更多信息和全面入门,请参阅文档。加速 WEKA 的唯一先决条件是在系统中安装Conda。

加速 WEKA 的安装可通过提供包和环境管理的系统 Conda 获得。这种能力意味着一个简单的命令可以安装项目的所有依赖项。例如,在 Linux 机器上,在终端中发出以下命令以安装加速 WEKA 和所有依赖项。

conda create-n accelweka-c rapidsai-c NVIDIA -c conda forge-c waikato weka

Conda 创建环境后,使用以下命令将其激活:

激活时

这个终端实例刚刚加载了加速 WEKA 的所有依赖项。使用以下命令启动 WEKA GUI 选择器:

韦卡

图 1 显示了 WEKA GUI 选择器窗口。从那里,单击 Explorer 按钮访问 Accelerated WEKA 的功能。

poYBAGL6EmWAdcHGAAHjhG3QMT8517.png

图 1 。 WEKA GUI 选择器窗口。这是启动 WEKA 时出现的第一个窗口

在 WEKA Explorer 窗口(图 2 )中,单击 Open file 按钮以选择数据集文件。 WEKA 使用 ARFF 文件,但可以从 CSV 中读取。根据属性的类型,从 CSV 转换可能非常简单,或者需要用户进行一些配置。

pYYBAGL6EmyAbx2uAAChQtx9148264.png

图 2 :在 WEKA Explorer 窗口中,用户可以导入数据集,检查有关属性的统计信息,并在预处理时对数据集应用过滤器

加载了数据集的 WEKA Explorer 窗口如图 3 所示。假设不想预处理数据,单击“分类”选项卡将向用户显示分类选项。

poYBAGL6EnOACReOAAB-lGnhXdI816.png

图 3 。加载数据集的 WEKA Explorer 窗口。加载数据集(从 ARFF 文件或 CSV 文件)后,属性名称显示在左侧。有关选定属性的信息显示在右上角。在右下角可以看到一个图表,其中包含根据所选属性的类分布

分类选项卡如图 4 所示。单击“选择”按钮将显示已实现的分类器。由于数据集的特性,有些可能被禁用。要使用加速 WEKA ,用户必须选择急流。积云分类器。之后,单击粗体 CuMLClassifier 将使用户转到分类器的选项窗口。

pYYBAGL6ErKAEXbSAAB-aSQVWxA067.png

图 4 。在 WEKA 分类选项卡中,用户可以配置分类算法和测试选项,这些选项将在使用之前选择的数据集的实验中使用

图 5 显示了 CuMLClassifier 的选项窗口。使用字段 RAPIDS 学习器,用户可以在软件包支持的分类器中选择所需的分类器。现场学习者参数用于修改 cuML 参数,其详细信息可在cuML documentation中找到。

其他选项用于用户微调属性转换,配置要使用的 Python 环境,并确定算法应操作的小数位数。为了学习本教程,请选择随机林分类器,并将所有内容保留为默认配置。单击“确定”将关闭窗口并返回到上一个选项卡。

poYBAGL6EquAIS1wAAFEbTj-YWg228.png

图 5 。通过 WEKA 分类器配置窗口,用户可以配置所选分类器的参数。在这种情况下,它显示了新集成的 CuMLClassifier 选项和所选的 RandomForestClassifier 学习器

根据上一步配置分类器后,参数将显示在选择按钮旁边的文本字段中。单击开始后, WEKA 将开始使用数据集执行所选分类器。

图 6 显示了分类器的作用。分类器输出显示有关实验的调试和一般信息,例如参数、分类器、数据集和测试选项。状态显示执行的当前状态,底部的 Weka 鸟在实验运行时从一侧动画并翻转到另一侧。

pYYBAGL6EqSAJqAaAADlQP47HEw622.png

图 6 。 WEKA 分类选项卡,所选分类算法正在进行中

算法完成任务后,将输出执行摘要,其中包含有关预测性能和所用时间的信息。在图 7 中,输出显示了使用从 cuML 到 CuMLClassifier 的 RandomForestClassifier 进行 10 倍交叉验证的结果。

poYBAGL6EpuAHWgbAAFVg-KSSfs812.png

图 7 。实验完成后的 WEKA 分类选项卡

基准测试加速 WEKA

我们评估了加速 WEKA 的性能,比较了算法在 CPU 上的执行时间和使用加速 WEKA 的执行时间。实验中使用的硬件是 i7-6700K 、 GTX 1080Ti 和具有四个 A100 GPU 的 DGX 站。除非另有说明,否则基准测试使用单个 GPU 。

我们使用具有不同特征的数据集作为基准。其中一些是合成的,用于更好地控制属性和实例,如 RDG 和 RBF 生成器。 RDG 生成器基于决策列表构建实例。默认配置有 10 个属性, 2 个类,最小规则大小为 1 ,最大规则大小为 10 。我们将最小值和最大值分别更改为 5 和 20 。使用该生成器,我们创建了具有 1 、 2 、 5 和 1000 万个实例的数据集,以及具有 20 个属性的 500 万个实例。

RBF 生成器为每个类创建一组随机中心,然后通过获取属性值中心的随机偏移来生成实例。属性的数量用后缀 a _ uu 表示(例如, a5k 表示 5000 个属性),实例的数量用后缀 n _ u 表示(例如, n10k 表示 10000 个实例)。

最后,我们使用了HIGGS 数据集,其中包含有关原子加速器运动学特性的数据。希格斯数据集的前 500 万个实例用于创建希格斯粒子。

显示了 weka RAPIDS 积分的结果,其中我们直接比较了基线 CPU 执行和加速 weka 执行。 WDL4J 的结果如表 5 所示。

pYYBAGL6EeGAS91-AABqaRDDsAk357.png



该基准测试表明,加速 WEKA 为具有较大数据集的计算密集型任务提供了最大的好处。像 RBFa5k 和 RBFa5kn1k 这样的小数据集(分别拥有 100 个和 1000 个实例)呈现出糟糕的加速,这是因为数据集太小,无法使将内容移动到 GPU 内存的开销值得。

这种行为在 A100 (表 4 )实验中很明显,其中架构更为复杂。使用它的好处开始在 100000 个实例或更大的数据集上发挥作用。例如,具有 100000 个实例的 RBF 数据集显示了约 3 倍和 4 倍的加速,这仍然不太明显,但显示出了改进。更大的数据集,如 covertype 数据集(约 700000 个实例)或 RBFa50n1m 数据集( 100 万个实例),分别显示了 56X 和 271X 的加速。请注意,对于深度学习任务,即使使用 GTX 1080Ti ,加速也可以达到 20 倍以上。

关键要点(与行动要求挂钩)

加速 WEKA 将帮助您使用激流为 WEKA 增压。加速 WEKA 有助于 RAPIDS 的高效算法实现,并具有易于使用的 GUI 。使用 Conda 环境简化了安装过程,从一开始就可以直接使用加速 WEKA 。

如果您使用 AcceleratedWEKA ,请在社交媒体上使用标签“ AcceleratedWEKA ”。此外,请参阅 文档 以获取在学术工作中引用加速 WEKA 的正确出版物,并了解有关该项目的更多详细信息。

加速 WEKA

WEKA 在 GPL 开源许可证 下免费提供,因此加速了 WEKA 。事实上, Accelerated WEKA 是通过 Conda 提供的,用于自动安装环境所需的工具,对源代码的添加将发布到 WEKA 的主包中。

关于作者

Albert Bifet 是特议会联盟特马哈拉艾研究所所长。他是一位计算机科学家,主要兴趣领域是数据流及其应用的人工智能/机器学习。他是 MOA 机器学习软件的核心开发者,拥有 150 多篇关于机器学习方法及其应用的出版物。

Guilherme Weigert Cassales 自 2021 以来一直是人工智能研究所的博士后研究员,同年他在圣卡洛斯联邦大学( UFSCar )获得了计算机科学博士学位。他的研究兴趣包括数据流的机器学习、分布式系统和高性能计算。

自 2021 以来,Justin Liu 一直是人工智能研究所的研究程序员。他在该行业有十多年的软件开发经验。他的兴趣包括机器学习、大规模数据处理和 ML 操作。

审核编辑:郭婷

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

    关注

    68

    文章

    10757

    浏览量

    210231
  • 加速器
    +关注

    关注

    2

    文章

    788

    浏览量

    37444
  • gpu
    gpu
    +关注

    关注

    27

    文章

    4623

    浏览量

    128399
  • 机器学习
    +关注

    关注

    66

    文章

    8313

    浏览量

    132105
收藏 人收藏

    评论

    相关推荐

    RISC-V跑AI算法能加速吗?

    现在好多ARM单片机都带机器学习加速,RISC-V有这方面的硬件加速吗?
    发表于 10-10 22:14

    【「大模型时代的基础架构」阅读体验】+ 第一、二章学习感受

    程分为下图中的四步: 此后引入机器学习开发框架TensorFlow,该框架下集成了多种“轮子”,但要避免“重复造轮子”。下一小节是分布式AI训练,从中知道了训练测略分为模型并行策略和数据并行策略,第二章很短,就此完成,感觉良好。
    发表于 10-10 10:36

    模型向边端侧部署,AI加速卡朝高算力、小体积发展

    电子发烧友网报道(文/李弯弯)AI加速卡是专门用于处理人工智能应用中的大量计算任务的模块。它集成了高性能的计算核心和大量的内存,旨在加速机器学习、深度
    的头像 发表于 09-17 00:18 2665次阅读

    NVIDIA 加速人形机器人发展

    —SIGGRAPH— 当地时间 2024 年 7 月 29 日— 为加速全球人形机器人的发展,NVIDIA 于今日宣布,为全球领先的机器人制造商、AI 模型开发者和软件制造商提供一套
    发表于 07-30 09:15 676次阅读
    NVIDIA <b class='flag-5'>加速</b>人形<b class='flag-5'>机器</b>人发展

    LLM大模型推理加速的关键技术

    LLM(大型语言模型)大模型推理加速是当前人工智能领域的一个研究热点,旨在提高模型在处理复杂任务时的效率和响应速度。以下是对LLM大模型推理
    的头像 发表于 07-24 11:38 617次阅读

    深度学习模型量化方法

    深度学习模型量化是一种重要的模型轻量化技术,旨在通过减少网络参数的比特宽度来减小模型大小和加速推理过程,同时尽量保持
    的头像 发表于 07-15 11:01 395次阅读
    深度<b class='flag-5'>学习</b><b class='flag-5'>模型</b>量化方法

    如何加速大语言模型推理

    随着人工智能技术的飞速发展,大语言模型(LLM)已成为自然语言处理领域的核心工具,广泛应用于智能客服、文本生成、机器翻译等多个场景。然而,大语言模型的高计算复杂度和资源消耗成为其在实际应用中面临
    的头像 发表于 07-04 17:32 384次阅读

    NVIDIA在加速识因智能AI大模型落地应用方面的重要作用介绍

    本案例介绍了 NVIDIA 在加速识因智能 AI 大模型落地应用方面的重要作用。生成式大模型已广泛应用于各领域,通过学习人类思维方式,能快速挖掘海量内容,满足不同需求。
    的头像 发表于 03-29 15:28 530次阅读

    NVIDIA Isaac机器人平台升级,加速AI机器人技术革新

    NVIDIA Isaac机器人平台近期实现重大升级,通过引入最新的生成式AI技术和先进的仿真技术,显著加速了AI机器人技术的发展步伐。该平台正不断扩展其基础模型
    的头像 发表于 03-27 10:36 546次阅读

    家居智能化,推动AI加速器的发展

    提高了系统的运算能力和数据处理能力,还为用户带来了更加智能化、个性化的生活体验。   AI 加速器的发展   在人工智能和机器学习任务变得日益复杂和密集之前,传统的CPU和GPU已经足以处理这些任务。然而,随着深度
    的头像 发表于 02-23 00:18 4455次阅读

    加速度传感器的基本力学模型是什么

    加速度传感器的基本力学模型是一个受力物体的运动学和动力学模型的组合。本文将从以下几个方面介绍加速度传感器的基本力学模型。 一、运动学
    的头像 发表于 01-17 11:08 1018次阅读

    如何使用TensorFlow构建机器学习模型

    在这篇文章中,我将逐步讲解如何使用 TensorFlow 创建一个简单的机器学习模型
    的头像 发表于 01-08 09:25 852次阅读
    如何使用TensorFlow构建<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b>

    如何让网络模型加速训练

    ,对 Pytorch的AMP ( autocast与Gradscaler 进行对比) 自动混合精度对模型训练加速 。 注意Pytorch1.6+,已经内置torch.cuda.amp,因此便不需要加载
    的头像 发表于 11-03 10:00 1441次阅读
    如何让网络<b class='flag-5'>模型</b><b class='flag-5'>加速</b>训练