BpFile(id=258, bpId=87, name=RAPIDS加速机器学习, author=null, keyword=机器学习,RAPIDS,XGboost,GPU, description=使用GPU实例+RAPIDS结合容器服务ACK实现快速的端到端加速机器学习任务的效果, position=null, ossUrl=bp-3DYC3R1VPNQVP9G1.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=0, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
场景描述
本方案适用于使用RAPIDS加速库+GPU
云服务器来对机器学习任务或者数据科学
任务进行加速的场景。相比CPU,利用
GPU+RAPIDS在某些场景下可以取得非常
明显的加速效果。
解决问题
1.搭建RAPIDS加速机器学习环境
2.使用容器服务Kubernetes版部署
RAPIDS环境
3.使用NAS存储计算数据
产品列表
容器服务Kubernetes版
GPU云服务器
文件存储NAS
, templateId=null, freetry=null, visitTime=null, visitCount=null, video_url=null, buttonName=null, buttonUrl=null, targetId=null, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
RAPIDS加速机器学习 最佳实践
部署架构图
场景描述
本方案适用于使用 RAPIDS加速库+GPU
云服务器来对机器学习任务或者数据科学
任务进行加速的场景。相比 CPU,利用
GPU+RAPIDS在某些场景下可以取得非常
明显的加速效果。
解决问题
1. 搭建 RAPIDS加速机器学习环境
2. 使用容器服务 Kubernetes版部署
RAPIDS环境
3. 使用 NAS存储计算数据
产品列表
容器服务 Kubernetes版
GPU云服务器
文件存储 NAS
文档版本:20191209
2文档模板(手册名称)/Error! Use the Home tab to apply
云服务器 ECS(产品名称) 标题 to the text that you want to appear here.
阿里云智能
RAPIDS加速机器学习
最佳实践
文档版本:20150122(发布日期)
II
3RAPIDS加速机器学习 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 RAPIDS加速机器学习
文档编号 087
文档版本 V1.3
版本日期 2020-01-14
文档状态 外部发布
制作人 敬海
审阅人 -
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2019/07/15 敬海 - 创建
V1.1 2019/09/03 筱晖 - 文档优化
V1.2 2019/12/09 敬海 - 增加概览页
V1.3 2020/01/14 敬海 - 更新架构图
文档版本信息:20200114 I
4RAPIDS加速机器学习 前言
前言
概述
本文为在阿里云的 GPU实例上,采用 RAPIDS加速库,加速机器学习任务的最佳
实践。
名词解释
RAPIDS,全称 Real-time Acceleration Platform for Integrated Data Science,
是 NVIDIA针对数据科学和机器学习推出的 GPU加速库。更多 RAPIDS信息请
参见 https://rapids.ai/。
NGC,全称 NVIDIA GPU CLOUD,是 NVIDIA推出的一套深度学习生态系统,
供开发者免费访问深度学习和机器学习软件堆栈,快速搭建相应的开发环境。
NGC网站提供了 RAPIDS的 Docker镜像,预装了相关的开发环境,详见
https://ngc.nvidia.com/。
JupyterLab是一套交互式的开发环境,帮助您高效地浏览、编辑和执行服务器
上的代码文件,详见 https://github.com/jupyterlab/jupyterlab。
Dask是一款轻量级大数据框架,可以提升并行计算效率,详见
https://github.com/dask/dask。
文档版本信息:20190903 III
5RAPIDS加速机器学习 目录
目录
文档版本信息 ........................................................................................................................................ I
法律声明 ............................................................................................................................................... II
前言 ...................................................................................................................................................... III
目录 ......................................................................................................................................................IV
最佳实践概述 ........................................................................................................................................ 1
1. 前置条件 ......................................................................................................................................... 3
2. 注册 NGC并获取下载 Rapids命令 ............................................................................................. 4
2.1. 注册并登录 NGC官网 .................................................................................................... 4
2.2. 获取 Rapids下载命令 ...................................................................................................... 5
3. 创建 VPC ........................................................................................................................................ 7
4. 创建并配置 gnv6实例 ................................................................................................................. 10
4.1. 创建 gnv6实例 ............................................................................................................... 10
4.2. 修改安全组规则 ............................................................................................................. 16
4.3. 登录终端,启动 ssh服务 .............................................................................................. 19
5. 登录实例并检查 ........................................................................................................................... 20
6. 单机部署 RAPIDS环境 ............................................................................................................... 22
6.1.1. 下载镜像并启动 ...................................................................................................... 22
6.1.2. 部署 RAPIDS示例 .................................................................................................. 23
6.1.3. RAPIDS示例程序介绍 ........................................................................................... 25
6.1.4. 运行 RAPIDS示例 .................................................................................................. 29
6.1.5. 停止服务 .................................................................................................................. 33
7. 使用容器服务 ACK部署 RAPIDS环境 .................................................................................... 35
7.1.1. 创建容器服务集群 .................................................................................................. 35
7.1.2. 添加节点 .................................................................................................................. 39
7.1.3. 创建容量型 NAS ..................................................................................................... 42
7.1.4. 登录集群并绑定 NAS实例 .................................................................................... 45
7.1.5. 下载数据 .................................................................................................................. 48
7.1.6. 部署服务 .................................................................................................................. 48
IV
文档版本信息:20191209
6RAPIDS加速机器学习 最佳实践概述
最佳实践概述
RAPIDS简介
RAPIDS(Real-time Acceleration Platform for Integrated Data Science)发布于
2018年 10月 10日的 GTC Europe大会上,是一款针对数据科学和机器学习的
GPU加速平台,它将 GPU的应用领域拓展到了数据科学和传统的机器学习领域,
并且是端到端的加速。它为数据科学家提供标准化的流水线式工具,数据处理速度
较仅用 CPU提升 50倍。 RAPIDS的三大关键词是:面向数据科学和机器学习、
软件平台、开源。RAPIDS构建于 Apache Arrow、pandas和 scikit-learn等流行的
开源项目之上,为最流行的 Python数据科学工具链带去 GPU提速。
通常一个数据处理流程包含,数据处理,模型训练,可视化三部分。对应以上三部
分,RAPIDS分别使用 CUDF,CUML和 CUGRAPH三个软件库来进行加速。
CUDF是一个 GPU版本的 PANDAS(最常用的数据处理 Python库)。
CUML是 RAPIDS中用于加速机器学习算法的库,其中包含了异常火爆的
XGBOOST算法。
CUGRAPH提供了 3个库用于统一的图分析的 GPU加速。
XGBOOST简介
XGBOOST用于加速机器学习,在很多场景中,都取得了不错的效果。在集成学习
中,通过将多个弱学习器进行结合,从而获得比单一学习器显著优越的泛化性能。
根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类:
Boosting方法:个体学习器间存在强依赖关系、必须串行生成的序列化方法。
Bagging方法:个体学习器间不存在强依赖关系、可同时生成的并行化方法。
Gradient Boosting Machine(GBM),是一种 Boosting的方法,它主要的思想是,每
一次建立模型是在之前建立模型损失函数的梯度下降方向。XGBoost,全称
eXtreme Gradient Boosting,它是 Gradient Boosting Machine(GBM)的一个 c++
实现。XGBoost最大的特点在于,它能够自动利用 CPU/GPU的多线程进行并行,
同时在算法上加以改进提高了精度。
7RAPIDS加速机器学习 前置条件
场景描述
本方案适用于使用 RAPIDS加速平台+GPU云服务器来对机器学习任务或者数据科
学任务进行加速的场景。相比 CPU,利用 GPU+RAPIDS在某些场景下可以取得非
常明显的加速效果。
方案优势
阿里云 GPU云服务器资源丰富,实例众多,可以根据不同的 workload选择适
合的 GPU云服务器实例类型。
可以和容器服务 ACK结合在一起,利用容器服务来部署和分发应用,迅速部署
大规模的应用
共享存储 NAS/CPFS提供强大的存储性能
示例介绍
本示例通过一个抵押贷款回归的任务的例子,来演示 RAPIDS+GPU的加速效
果。
RAPIDS仅适用于特定的 GPU型号(采用 NVIDIA Pascal及以上架构),因此
您需要选择 GPU型号符合要求的实例规格,建议您选择显存更大的 gn6i、
gn6v或 gn5实例。本示例使用 gn6v实例。
本示例提供了一套基于 NVIDIA的 RAPIDS Demo代码及数据集修改的示例代
码,演示了在 GPU实例上使用 RAPIDS加速一个从 ETL到 ML Training端到
端任务的过程。其中,ETL时使用 RAPIDS的 cuDF,ML Training时使用
XGBoost。本文示例代码基于轻量级大数据框架 Dask运行,为一套单机运行的
代码。
2
文档版本信息:20191209
8RAPIDS加速机器学习 前置条件
前置条件
在进行本文操作之前,您需要完成以下准备工作:
注册阿里云账号,并完成实名认证。
说明:您可以登录阿里云控制台,并前往实人认证页面
(https://account.console.aliyun.com/v2/#/authc/home),查看是否已经完成实
名认证。
阿里云账户余额大于 100元。
说明:您可以登录阿里云控制台,并前往账户总览页面
(https://expense.console.aliyun.com/#/account/home),查看当前账户余额。
阿里云账号下已开通以下阿里云服务:
ᅳ GPU云服务器
ᅳ NAS服务
ᅳ 容器服务 ACK
ᅳ ROS服务
下载本文用到的操作命令和代码:
以 CentOS主机为例:
# yum -y install git
# git clone https://code.aliyun.com/best-practice/087.git
# cd 087
# ls
README.md samplecode.sh
其中,samplecode.sh包含了所有使用的命令。
3
文档版本信息:20191209