BpFile(id=259, bpId=91, name=RAPIDS加速图像搜索, author=null, keyword=机器学习,RAPIDS,GPU,图像搜索, description=使用GPU实例+RAPIDS结合容器服务ACK实现明显的加速图像搜索任务的效果, position=null, ossUrl=bp-ZIJR0GV70DV0HF88.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版部署图
像搜索环境
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版部署图
像搜索环境
3. 使用 NAS存储计算数据
产品列表
容器服务 Kubernetes版
GPU云服务器
文件存储 NAS
文档版本:20191210
2文档模板(手册名称)/Error! Use the Home tab to apply
云服务器 ECS(产品名称) 标题 to the text that you want to appear here.
阿里云智能
RAPIDS加速图像搜索
最佳实践
文档版本:20150122(发布日期) II
3RAPIDS加速图像搜索 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 RAPIDS加速图像搜索
文档编号 091
文档版本 V1.3
版本日期 2020-01-14
文档状态 外部发布
制作人 敬海
审阅人 云滴 毕役
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2019/08/02 敬海 - 创建
V1.1 2019/09/10 筱晖 - 文档优化
V1.2 2019/12/10 敬海 - 内容更新
V1.3 2020/01/14 敬海 - 更新架构图
I
4RAPIDS加速图像搜索 前言
前言
概述
本文讲述在阿里云的 GPU实例上采用 RAPIDS加速库加速图像搜索的最佳实践。
应用范围
本文讲述在阿里云的 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。
III
5RAPIDS加速图像搜索 目录
目录
文档版本信息 ........................................................................................................................................ I
法律声明 ............................................................................................................................................... II
前言 ...................................................................................................................................................... III
目录 ......................................................................................................................................................IV
最佳实践概述 ........................................................................................................................................ 1
前置条件 ................................................................................................................................................ 4
资源规划 ................................................................................................................................................ 5
1. 注册 NGC并获取下载 Rapids命令 ............................................................................................. 6
1.1. 打开 NGC官网并注册 .................................................................................................... 6
1.2. 获取下载 RAPIDS镜像命令 ........................................................................................... 7
2. 创建 VPC ........................................................................................................................................ 9
3. 创建并配置 gnv6实例 ................................................................................................................. 12
3.1. 创建 gnv6实例 ............................................................................................................... 12
3.2. 修改安全组规则 ............................................................................................................. 19
3.3. 登录终端,启动 ssh服务 .............................................................................................. 21
4. 登录实例并检查 ........................................................................................................................... 22
5. 单机部署图搜应用 ....................................................................................................................... 24
5.1. 下载镜像并启动 ............................................................................................................. 24
5.2. 部署 RAPIDS运行环境 ................................................................................................. 25
5.3. 图像搜索示例程序介绍 ................................................................................................. 27
5.4. 示例程序执行过程 ......................................................................................................... 28
6. 使用容器服务 Kubernetes版部署 RAPIDS环境....................................................................... 35
6.1. 创建容器服务集群 ......................................................................................................... 35
6.2. 添加节点 ......................................................................................................................... 40
6.3. 创建容量型 NAS ............................................................................................................ 42
6.4. 登录集群并绑定 NAS实例 ........................................................................................... 46
6.5. 下载数据 ......................................................................................................................... 49
6.6. 部署服务 ......................................................................................................................... 49
IV
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加速。
cuML简介
cuML是 RAPIDS项目中实现机器学习算法和数学计算的库。它可以让我们在 GPU
上运行传统的机器学习算法。cuML可以让数据科学家、研究员、开发者在不了解
CUDA编程细节的情况下,在 GPU上运行传统的机器学习任务。为了方便大家使
用,cuML还提供了与 scikit-learn像似的算法接口。对于较大的数据集,与在 CPU
上运行相比,cuML运行在 GPU上要快 10-50倍。结合 Dask,cuML支持多个
GPU或者多节点多 GPU的运算,并支持越来越多的算法。更多信息请参见下图。
1
7RAPIDS加速图像搜索 最佳实践概述
场景描述
本方案适用于使用 RAPIDS加速平台+GPU云服务器来对图像搜索任务进行加速的
场景。相比 CPU,利用 GPU+RAPIDS在某些场景下可以取得非常明显的加速效
果。
方案优势
阿里云 GPU云服务器资源丰富,实例众多,可以根据不同的 workload选择适
合的 GPU云服务器实例类型。
可以和容器服务 ACK结合在一起,利用容器服务来部署和分发应用,迅速部署
大规模的应用
2
8RAPIDS加速图像搜索 最佳实践概述
共享存储 NAS/CPFS提供强大的存储性能
示例介绍
本示例通过一个抵押贷款回归的任务的例子,来演示 RAPIDS+GPU的加速效
果。
RAPIDS仅适用于特定的 GPU型号(采用 NVIDIA Pascal及以上架构),因此
您需要选择 GPU型号符合要求的实例规格,建议您选择显存更大的 gn6i、
gn6v或 gn5实例。本示例使用 gn6v实例。
本文案例在阿里云 gn6v(NVIDIA Tesla V100)实例上执行。执行案例后,对
比了 GPU加速的 RAPIDS cuml KNN与 CPU实现的 scikit-learn KNN的性
能,可以看到 GPU加速的 KNN向量检索速度为 CPU的近 600倍。
3