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

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

3天内不再提示

Saturn Cloud使得管理GPU基础设施变得更加容易

星星科技指导员 来源:NVIDIA 作者:NVIDIA 2022-04-20 15:42 次阅读

GPU加速计算是数据从业者和企业的游戏规则改变者,但利用 GPU 对数据专业人士来说可能是一项挑战。RAPIDS通过熟悉的界面抽象加速数据科学的复杂性,从而解决了这些挑战。使用 RAPIDS 时,从业者可以快速加速 NVIDIA GPU 上的数据科学工作负载,将数据加载、处理和培训等操作从数小时减少到数秒。

管理大规模数据科学基础设施带来了重大挑战。有了 Saturn 云,管理基于 GPU 的基础设施变得更加容易,使从业者和企业能够专注于解决其业务挑战。

什么是 Saturn Cloud ?

Saturn Cloud 是一个端到端平台,可通过云中的可扩展计算资源访问基于 Python 的数据科学。 Saturn Cloud 为移动到云提供了一条简单的路径,无需成本、设置或基础设施工作。这包括使用预构建的环境访问配备 GPU 的计算资源,预构建的环境包括 RAPIDS 、 PyTorch 和 TensorFlow 等工具。

用户可以在托管的 JupyterLab 环境中编写代码,或者使用 SSH 连接自己的 IDE (集成开发环境)。随着数据量的增加,用户可以扩展到支持 GPU 的Dask集群,以便在分布式计算机网络上执行代码。开发数据管道、模型或仪表板后,用户可以将其部署到持久位置,或创建作业以按计划运行它。

poYBAGJfuYSAIyP7AADM72Gc-yw364.png

图 1 : Saturn Cloud 为大规模数据科学提供了一个基于 Python 的平台。

除了 Saturn Cloud 的企业产品外, Saturn Cloud 还提供托管产品,任何人都可以免费开始 GPU – 加速数据科学。托管免费计划每月包括 10 小时的 Jupyter 工作区和 3 小时的 Dask 集群。如果需要更多资源,可以升级到托管的 Pro plan 和现收现付。

pYYBAGJfuYWAWbS6AAEwELKlito087.png

图 2 :用户可以在 Saturn 云主机上访问笔记本电脑、 GPU s 、集群和调度工具。

Saturn Cloud 为 GPU 加速数据科学应用提供了一个易于使用的平台。借助该平台, GPU 成为日常数据科学堆栈的核心组件。

开始使用 Saturn Cloud 上的 RAPIDS

在 Saturn Cloud 上创建免费帐户后,您可以快速开始使用 RAPIDS 。在本节中,我们将展示如何使用 Saturn Cloud 在纽约出租车数据上使用 RAPIDS 训练机器学习模型。然后我们进一步在 Dask 集群上运行 RAPIDS 。通过结合 RAPIDS 和 Dask ,您可以使用多节点 GPU 系统网络来训练模型,其速度远远快于使用单个 GPU 系统的速度。

在 Saturn Cloud 上创建免费帐户后,打开服务并转到“资源”页面。从那里,查看预制的资源模板,并单击标记为 RAPIDS 的模板。

pYYBAGJfuYaAZsQ1AACVfS4NqY4238.png

图 3 : Saturn Cloud 预先配置了 RAPIDS 图像,以便于使用 GPU s 。

您将被带到新创建的资源。这里的一切都已设置好,您可以在 GPU 硬件上运行代码, Docker 映像安装了所有必要的 Python 和 RAPIDS 软件包。

pYYBAGJfuYaASFotAACT7WyKdNk742.png

图 4 : Saturn Cloud 建立了一个装备了 RAPIDS 的 Jupyter 服务器和 Dask 集群。

开箱即用的环境包括:

4 v CPU s ,带 16 GB RAM

NVIDIA T4 GPU 16GB 的 GPU RAM

RAPIDS: including cuDF, cuML, XGBoost, 还有更多

NVDashboard JupyterLab 扩展,用于实时 GPU 指标

用于监视集群的 Dask 和Dask JupyterLab 扩展

常见的 PyData 包,如 NumPy 、 SciPy 、 pandas 和 scikit-learn

单击“ Jupyter 服务器”和“ Dask 群集”卡上的播放按钮启动资源。现在,您的集群已准备就绪;继续了解 GPU 如何显著加快模型训练时间。

pYYBAGJfuYeAKbJSAAFGBOHVVgI321.png

图 5 :具有单个和多个 GPU 后端的预构建 RAPIDS 环境。

用 RAPIDS 训练随机森林模型

对于本练习,我们将使用纽约出租车数据集。我们将加载一个 CSV 文件,选择我们的功能,然后训练一个随机森林模型。为了说明在 GPU 上使用 RAPIDS 可以实现的运行时加速,我们将首先使用传统的基于 CPU 的 PyData 包,如 pandas 和 scikit learn 。

我们的机器学习模型回答了以下问题:

根据行程开始时已知的特征,该行程是否会导致高小费?

这里的因变量是“小费百分比”,即小费的美元金额除以乘坐成本的美元金额。我们将使用取货目的地、下车目的地和乘客数量作为自变量。

接下来,您可以将下面的代码块复制到 Saturn Cloud JupyterLab 界面中的新笔记本中。或者,您可以下载整个笔记本都在这里。首先,我们将设置一个上下文管理器来计时代码的不同部分:

 from time import time
 from contextlib import contextmanager
  
 times = {}
  
 @contextmanager
 def timing(description: str) -> None:
        start = time()
        yield
        elapsed = time() - start
        times[description] = elapsed
        print(f"{description}: {round(elapsed)} seconds") 

然后,我们将从纽约出租车 S3 存储桶中取出一个 CSV 文件。注意,我们可以将文件直接从 S3 读入数据帧。但是,我们希望将网络 IO 时间与 CPU 或 GPU 上的处理时间分开,如果我们希望在数十次修改后运行此步骤,我们就不必多次承担网络成本。

!卷曲 https :// s3 。 Amazon aws 。 com / nyc tlc / trip + data / yellow _ tripdata _ 2019-01 。 csv 》 data 。 csv

在讨论 GPU 部分之前,让我们先看看传统的 PyData 软件包(如 pandas 和使用 CPU 进行计算的 scikit )的情况。

 import pandas as pd
 from sklearn.ensemble import RandomForestClassifier as RFCPU
  
 with timing("CPU: CSV Load"):
        taxi_cpu = pd.read_csv(
        "data.csv",
        parse_dates=["tpep_pickup_datetime", "tpep_dropoff_datetime"],
        )
     
 X_cpu = (
        taxi_cpu[["PULocationID", "DOLocationID", "passenger_count"]]
        .fillna(-1)
 )
 y_cpu = (taxi_cpu["tip_amount"] > 1)
  
 rf_cpu = RFCPU(n_estimators=100, n_jobs=-1)
  
 with timing("CPU: Random Forest"):
        _ = rf_cpu.fit(X_cpu, y_cpu) 

CPU 代码需要几分钟的时间,因此请继续并为 GPU 代码打开一个新的笔记本。您会注意到, GPU 代码看起来几乎与 CPU 代码相同,只是我们将“ pandas ”替换为“ cuDF ”,将“ scikit learn ”替换为“ cuml ”。 RAPIDS 包有意地类似于典型的 PyData 包,使您的代码尽可能容易地在 GPU 上运行!

 import cudf
 from cuml.ensemble import RandomForestClassifier as RFGPU
  
 with timing("GPU: CSV Load"):
        taxi_gpu = cudf.read_csv(
        "data.csv",
        parse_dates=["tpep_pickup_datetime", "tpep_dropoff_datetime"],
        )
     
 X_gpu = (
        taxi_gpu[["PULocationID", "DOLocationID", "passenger_count"]]
        .astype("float32")
        .fillna(-1)
 )
 y_gpu = (taxi_gpu["tip_amount"] > 1).astype("int32")
  
 rf_gpu = RFGPU(n_estimators=100)
  
 with timing("GPU: Random Forest"):
        _ = rf_gpu.fit(X_gpu, y_gpu) 

You should have been able to copy this into a new notebook and execute the whole thing before the CPU version finished. Once that’s done, check out the difference in the runtimes of each.

使用 CPU , CSV 加载耗时 13 秒,而随机森林训练耗时 364 秒( 6 分钟)。使用 GPU , CSV 加载耗时 2 秒,而随机森林训练耗时 18 秒。这就是快 7 倍 CSV 加载和快 20 倍随机林训练。


图 6 : RAPIDS + Saturn Cloud 帮助用户解决他们的挑战,而不是等待进程。

使用 RAPIDS + Dask 解决大数据问题

虽然单个 GPU 对于许多用例来说足够强大,但现代数据科学用例通常受益于越来越大的数据集,以生成更准确、更深刻的 i NSight s 。许多用例都需要由多个 GPU 或节点组成的横向扩展基础架构,以便在工作负载中快速切换。 RAPIDS 与 Dask 很好地匹配,以支持横向扩展到大型 GPU 集群。

 from dask.distributed import Client, wait
 from dask_saturn import SaturnCluster
 import dask_cudf
 from cuml.dask.ensemble import RandomForestClassifier as RFDask
  
 cluster = SaturnCluster()
 client = Client(cluster)
  
 taxi_dask = dask_cudf.read_csv(
        "s3://nyc-tlc/trip data/yellow_tripdata_2019-*.csv",
        parse_dates=["tpep_pickup_datetime", "tpep_dropoff_datetime"],
        storage_options={"anon": True},
        assume_missing=True,
 )
  
 X_dask = (
        taxi_dask[["PULocationID", "DOLocationID", "passenger_count"]]
        .astype("float32")
        .fillna(-1)
 )
 y_dask = (taxi_dask["tip_amount"] > 1).astype("int32")
  
 X_dask, y_dask = client.persist([X_dask, y_dask])
 _ = wait(X_dask)
  
  
 rf_dask = RFDask(n_estimators=100)
 _ = rf_dask.fit(X_dask, y_dask) 

使用 RAPIDS 和 Saturn Cloud 简化加速数据科学

此示例显示了在 GPU 或 GPU Dask 集群上使用 RAPIDS 加速数据科学工作负载是多么容易。使用 RAPIDS 可以将训练时间增加一个数量级,这可以帮助您更快地迭代模型。有了 Saturn Cloud ,你可以在需要的时候启动 Jupyter 笔记本电脑、 Dask 集群和其他云资源。

关于作者

Jacob Schmitt 是 NVIDIA 企业数据科学产品团队的产品营销经理,他帮助企业用户连接到强大的数据科学解决方案。在加入 NVIDIA 之前,他是 Capital One 机器学习中心的产品经理,推动了诸如 Dask 和 RAPIDS 等强大开源库的采用和扩展。

Jacqueline Nolis 博士是一位数据科学领导者,在 DSW 和 Airbnb 等公司管理数据科学团队和项目方面拥有超过 15 年的经验。她目前是 Saturn Cloud 的数据科学负责人,她帮助为数据科学家设计产品。杰奎琳有博士学位。在工业工程和合著本书建立在数据科学的职业生涯。

审核编辑:郭婷

使用 Saturn Cloud ,您可以从我们之前使用的同一项目连接到 GPU 供电的 Dask 集群。然后,要在 GPU 上使用 Dask ,您需要将cudf包替换为dask_cudf以加载数据,并使用cuml.dask子模块进行机器学习。现在请注意,我们在dask_cudf.read_csv中使用 glob 语法加载 2019 年的所有数据,而不是像以前那样加载一个月的数据。这与我们前面的示例一样处理大约12x的数据量,但只使用 GPU 集群处理90 秒。

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

    关注

    68

    文章

    10548

    浏览量

    207665
  • 机器学习
    +关注

    关注

    66

    文章

    8199

    浏览量

    131244
  • 数据集
    +关注

    关注

    4

    文章

    1186

    浏览量

    24468
收藏 人收藏

    评论

    相关推荐

    宁畅推出“全栈全液”AI基础设施方案

    近日,宁畅科技正式发布其“全栈全液”AI基础设施方案,这一创新举措旨在全面支持大模型落地所需的各项技术需求。该方案集成了计算、存储、网络、建设、管理、应用及液冷等多项关键技术,为用户提供一站式解决方案。
    的头像 发表于 05-31 09:18 321次阅读

    展望2024数据中心基础设施

    前阵子,DeLL'ORO GROUP发布预测报告,回顾了23年数据中心基础设施报告中的突出趋势,及展望了2024年数据中心基础设施的发展情况,以下是报告内容。
    的头像 发表于 03-25 15:59 189次阅读

    垂直起降机场:飞行基础设施的未来是绿色的

    电动垂直起降(eVTOL)飞机的日益发展为建立一个新的网络来支持它们提供了理由,这将推动开发绿色基础设施新模式的机会。这些电气化的“短途”客运和货运飞机通常被描述为飞行汽车,是区域飞行和城市出租车
    发表于 03-25 06:59

    KVM矩阵系统助力企业构建高效、安全的IT基础设施

    随着企业信息化程度的不断提高,IT基础设施的重要性日益凸显。如何构建高效、安全的IT基础设施成为了企业面临的重要挑战。KVM矩阵系统作为一种先进的远程管理解决方案,以其高效、灵活、安全的特点,成为
    的头像 发表于 02-18 14:53 360次阅读

    充电桩收费运营云平台:充电基础设施的智能化革新

    随着新能源汽车的普及,充电基础设施的建设和管理显得尤为重要。为了满足市场需求,提高充电设施的运营效率和服务质量,公司推出了一款充电桩收费运营云平台,为充电设施的智能化
    的头像 发表于 11-06 14:54 531次阅读
    充电桩收费运营云平台:充电<b class='flag-5'>基础设施</b>的智能化革新

    NVIDIA 校招 | 基础设施部门正在热招!

    时代带来了新动力 - GPU 在能够感知和理解世界的计算机、机器人和自动驾驶汽车中发挥着大脑的作用。 NVIDIA 成功的一个核心因素是我们拥有 GPU / SoC 开发所需要的先进的基础设施和完整
    的头像 发表于 10-26 09:05 320次阅读
    NVIDIA 校招 | <b class='flag-5'>基础设施</b>部门正在热招!

    沙盒网络: 运用强大的云基础设施,推广用户原创游戏

    以下文章来源于谷歌云服务,作者 Google Cloud 通过使用 Google Cloud 的高速全球网络和自定义虚拟机,沙盒网络得以在平台上向全球玩家提供更好的游戏体验,同时降低基础设施成本
    的头像 发表于 10-18 16:05 2884次阅读
    沙盒网络: 运用强大的云<b class='flag-5'>基础设施</b>,推广用户原创游戏

    智慧市政:“筑”力城市基础设施管理智慧+

    随着城市的快速发展和人口的不断增加,市政基础设施成为了现代城市运转不可或缺的一部分。 建设背景 城市道路、桥梁、照明设备、下水道、地下管网等公共设施统称市政设施,是充分发挥城市载体功能的先决条件
    的头像 发表于 10-18 10:59 651次阅读
    智慧市政:“筑”力城市<b class='flag-5'>基础设施</b><b class='flag-5'>管理</b>智慧+

    嵌入式软件架构基础设施设计方法

    基础设施,分为硬件基础设施和软件基础设施。硬件基础设施,包含常用器件库、封装库、原理图库和硬件参考设计等等;而今天我们讨论的重点,主要在于软件基础设
    的头像 发表于 10-12 16:09 518次阅读

    Oracle 云基础设施提供新的 NVIDIA GPU 加速计算实例

    。为了帮助满足这一需求,Oracle 云基础设施(OCI)于近日宣布,在 OCI Compute 上全面提供 NVIDIA H100 Tensor Core GPU ,同时 NVIDIA L40S GPU
    的头像 发表于 09-25 20:40 345次阅读
    Oracle 云<b class='flag-5'>基础设施</b>提供新的 NVIDIA <b class='flag-5'>GPU</b> 加速计算实例

    基础设施速度下的安全控制

    电子发烧友网站提供《云基础设施速度下的安全控制.pdf》资料免费下载
    发表于 09-08 09:47 0次下载
    云<b class='flag-5'>基础设施</b>速度下的安全控制

    KAN279在µVision中使用Git进行项目管理

    修订控制在软件开发中已经使用了几年。 过去,集中式服务器基础设施被用来跟踪微控制器开发项目的源代码变化。 随着Git的发布,去中心化的VCS变得越来越流行。 Git是根据GNU通用公共许可证条款分发
    发表于 09-04 06:58

    华为FusionCube荣获DCIG年度企业超融合基础设施最佳推荐

    FusionCube超融合基础设施凭借其极简智能的运维管理、多样化的算力生态以及高密灵活的硬件集成,位列推荐排名榜首。 DCIG 企业超融合基础设施(HCI)推荐报告旨在为用户提供全面、深度的产品技术采购分析及建议,其评估维度涵
    的头像 发表于 08-18 17:15 429次阅读

    航天宏图地下市政基础设施综合管理信息平台让城市更安全

    公共安全带来了严峻挑战。为有效解决地下市政基础设施底数不清、隐患发现不及时、运行管理手段不到位等问题,住建部要求到2023年底前,基本完成地下市政基础设施普查,到 2025 年底前,基本实现地下市政
    的头像 发表于 08-17 16:39 2083次阅读

    鉴源实验室丨公钥基础设施(PKI)在车联网中的应用

    公钥基础设施(PKI)在车联网中的应用为实现安全、可靠通信提供了关键的支持
    的头像 发表于 08-08 14:47 2489次阅读
    鉴源实验室丨公钥<b class='flag-5'>基础设施</b>(PKI)在车联网中的应用