阿里云深度学习存储解决方案
image 人工智能 10/12

介绍

现如今在谈论数据的价值的时候,经常提到的概念之一就是深度学习,或者更广泛的说是人工智能。深度学习系统通常通过大规模的数据集和神经网络算法来训练和完善应用模型,这就需要强大的计算集群,高性能可扩展的存储系统来实现。

深度学习的基本概念

人工智能(AI,Artificial Intelligence)指由人制造出来的机器所表现出来的智能,通常AI尝试创造类人的用于通用目的的智能设备。

机器学习(ML,Machine Learning)是AI的一个分支,通常通过训练的方式来解决特定的问题,例如图片识别,语音识别等。

深度学习(DL,Deep Learning)是机器学习的一个分支,通常指机器学习中使用的神经网络算法超过一层,就称为深度学习。其中最经常使用的是卷积神经网络(CNN,Convolutional Neural Networks),通常包括输入层,隐层(多层),输出层组成的多层网络,并且只有响铃的层之间有连接,同一层及跨层之间无连接,是一种接近人类大脑的层次结构的分层结构。

三者的关系如下图所示:

阿里云深度学习存储解决方案

深度学习在最近几年得到了飞速的发展,许多深度学习的框架涌现了出来。这些框架都依赖于计算图的概念,计算图定义了需要执行的计算顺序,并且计算图可以并行地在GPU中优化和运行。目前比较流行的深度学习框架有TensorFlow,Caffee,Torch等,同时一些新的框架也不断涌现出来。

深度学习数据处理流程

深度学习通常包括以下数据处理流程:

阿里云深度学习存储解决方案

以上步骤完成后,会将训练完的模型部署到实际的应用环境中,实际使用模型来进行验证。部署完成后,我们可以在实际的应用场景中检验模型的好坏,同时用实际环境中的场景来验证和完善模型。

以上各个步骤的工作负载特征如下:

阿里云深度学习存储解决方案

从上面的表里,可以看出,AI各个流程中,工作负载表现出了很大的差别,这对存储系统提出了很高的要求。不仅要支撑顺序读写的大块工作负载,也要支撑随机读写的小块IO的工作负载。

深度学习对计算力的需求

深度学习近年来取得突破性的进展,离不开三个方面:大数据,深度学习模型,计算能力的提升(尤其是GPU在训练场景中的大量应用)。随着问题规模的不断增大,数据量的不断增加,以及训练用的神经网络深度的深度的不断增加,对计算能力的需求也越来越大。

阿里云深度学习存储解决方案

例如,Nvidia新发布的NVIDIA DGX-2服务器,包含了16个GPU单元,单个机器已经可以提供2Peta flops的计算能力。

谷歌的高级研究员、Google Brain 项目的负责人 Jeff Dean 曾说道,事实证明,我们真正需要的是超过现在 100 万倍的计算能力,而不只是区区几十倍的增长。

深度学习对存储系统的需求

共享需求

现在的深度学习通常是由规模庞大的高性能计算集群来完成的,多个节点并行的读取数据,协同的来处理一个任务。因此,在深度学习的场景中,需要一个共享的存储空间来收集和存储数据。将数据共享的好处包括,深度学习模型准备好后,立马可以开始运行,另外也省去了来回拷贝搬运数据的麻烦。

高性能需求

另外,深度学习需要大量的数据来训练模型,因此存储系统要提供高带宽来保证数据的流动足够快,以满足需求。另外,在训练的过程中,算法通常需要随机读取训练集中的训练样本进行训练,因此在训练过程中,随机读的负载占大多数,并且多数图片的训练场景中,图片文件的大小多数在1MB以下,这就对存储系统的IOPS提出了很高的要求。

生命周期管理需求

深度学习的场景中,还要有完善的数据生命周期的管理功能。数据从采集到清洗,标注,到训练,然后到归档,一直处于一个流动的状态,存储系统要提供完善的数据流动机制和管理机制,管理起数据的全生命周期。 传统的NFS存储,虽然提供了共享的命名空间,但是存在以下问题,单服务器节点是冥想的瓶颈,NFS协议本身带来的overhead,无法提供足够的带宽,无法满足数据访问低延迟的需求。另外,也无法提供一个生命周期管理的功能。

因此,深度学习的存储系统,一方面需要提供一个统一的命名空间来共享数据给前端的高性能计算集群,另一方面为了保证训练业务的流畅性,要提供高带宽高IOPS以满足需求,最后还需要提供完善的生命周期管理功能。

阿里云文件存储NAS

阿里云文件存储NAS是一个弹性扩展,高可靠,高可用,高性能的分布式文件系统。它基于 POSIX 文件接口,天然适配原生操作系统,共享访问,同时保证一致性和锁互斥,并且性能随容量线性扩展。

阿里云文件存储NAS架构:

阿里云深度学习存储解决方案

第一层是计算层,使用标准文件协议NFS/SMB或兼容posix的定制化客户端来访问文件存储。第二层是阿里云网络负载均衡ALB,把客户端请求轮转发送到前端机。第三层是负责协议处理的前端机,协议尽量做到无状态,涉及状态部分下沉到元数据管理层。第四层是元数据管理,把目录树结构转变成key-value对,通过基于log structure merge tree的分布式key-value来实现。第五层是元数据和数据持久化在盘古,使用盘古的分布式存储量提供高达10PB,和99.999999999%的数据可靠性,容量可弹性扩展,按需使用。

元数据和数据分离,NAS Protocol前端机IO直连盘古,把数据位置信息和元数据一起更新,前端机通过元数据更新盘古文件的信息。盘古文件是会散在整个集群的,所以前端机读写可充分利用整个集群的IO能力。

安全隔离,基于VPC安全组提供网络隔离和ACL访问控制,保证海量容器使用共享存储时的数据安全隔离。同时提供容器到文件存储的传输加密,保障数据传输过程在不被窃取和篡改。

数据备份,阿里云文件存储提供文件系统级的数据备份功能,可以基于灵活的备份策略提供多副本的数据保护,在发生数据误删除,错误修改的情景时,可以使用历史副本恢复数据。

关于文件存储NAS的详情,请参考:https://www.aliyun.com/product/nas

阿里云CPFS并行文件系统

随着高性能并行计算大规模商业化时代的到来,传统并行文件系统面临诸多挑战,存储资源的急剧增长、成本高、运维管理复杂度大、大规模存储系统的稳定性、性能随规模无法完全线性扩展等一系列问题困扰广大客户,CPFS应运而生。

CPFS(Cloud Parallel File System)是基于定制版Lustre的并行文件系统,,提供大型并行数据处理能力,数据存储到群集中的多个数据节点,多个客户端可以同时访问这些数据,为大型高性能计算机集群提供高IOPS、高吞吐、低时延的数据存储服务。

CPFS架构:

阿里云深度学习存储解决方案

CPFS架构在盘古之上,利用Pangu的block接口为Lustre提供块设备。网络支持Infiniband和以太网。CPFS有以下特点:

关于并行文件存储CPFS的详情,请参考:https://help.aliyun.com/document_detail/66278.html

CPFS目前处于公测阶段,要申请CPFS的测试请到如下链接: https://www.aliyun.com/product/nas

阿里云深度学习解决方案

解决方案架构

阿里云深度学习存储解决方案

数据上传:

阿里云提供两种数据上传的方式:

计算集群:

计算集群方面,阿里云提供GPU云服务器,为AI深度学习优化,提供强大高效的计算能力;还提供了一站式的弹性高性能计算(E-HPC)的公共云服务,便于管理和使用集群;在应用层,还提供了阿里云容器服务,一键生成AI容器集群。

调度方式可以选择E-HPC或者容器服务:

存储系统

文件存储NAS容量弹性扩展,按需使用,对于集群规模小于20台的集群,满足其深度学习工作负载对文件系统的带宽和IOPS需求。对于大规模的并发极高的集群,推荐使用并行文件系统CPFS。 同时,对于冷数据,阿里云提供了OSS对象存储系统,并且提供了Filesync的迁移服务,可以方便的将冷数据归档。

阿里云深度学习解决方案设计关注点

阿里云深度学习解决方案部署配置

利用E-HPC部署计算集群

建立集群

登录管理控制台,定位到 弹性高性能计算 > 集群,选择地域(如华东1),单击 创建集群。

阿里云深度学习存储解决方案

选择硬件配置,网络配置等参数,配置共享存储(文件存储NAS)!

阿里云深度学习存储解决方案

共享存储在这里配置过后,计算集群节点系统起来后,会自动挂载文件系统NAS。

注意:目前CPFS处于公测阶段,如果要使用CPFS并行文件系统,需要手动在服务器节点的终端里执行挂载命令。

选择软件配置,基础配置等参数,最后点击确认创建集群。确认配置清单,配置拓扑图,大约经过20分钟,您可以回到E-HPC集群列表页面,查看新集群状态。若新集群所有节点皆处于正常状态,则集群已创建完毕。

详细步骤及参数,请参考:https://help.aliyun.com/document_detail/57937.html?spm=a2c4g.11186623.2.11.32767c13pITowJ

使用集群:

登录集群,并使用作业调度系统提交作业。目前E-HPC支持两种作业调度软件PBS pro和 SLURM。详细步骤请参考:

https://help.aliyun.com/document_detail/58269.html

利用Kubernetes构建集群

Kubernetes集群部署

1.创建Kubernets集群

阿里云深度学习存储解决方案

2.确认集群配置

阿里云深度学习存储解决方案

3.集群创建成功

阿里云深度学习存储解决方案

阿里云NAS文件存储部署

1.创建NAS文件系统

阿里云深度学习存储解决方案

2.添加挂载点

阿里云深度学习存储解决方案 阿里云深度学习存储解决方案

3.成功添加挂载点,挂载地址用于后续对接容器使用

阿里云深度学习存储解决方案

Kubernetes集群对接NAS存储

  1. 为集群创建存储卷
阿里云深度学习存储解决方案

2.成功创建NAS存储卷

阿里云深度学习存储解决方案



简介:
介绍现如今在谈论数据的价值的时候,经常提...
本文采集自互联网,如有版权问题请联系我们进行处理。
联系方式:system@shangyexinzhi.com
2000+知识点 7000+案例
商业新知助力数字化转型
下载