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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介:

介绍

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

深度学习的基本概念

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

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

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

三者的关系如下图所示:
_1

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

深度学习数据处理流程

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

 数据采集:
根据业务需要,采业务需要的的数据。同时,也有专门的数据公司,提供数据,可以直接购买。
 清洗标注:
采集后的原始数据可能会存在有缺失值、重复值、无效数据等问题,在使用之前需要进行处理。处理的过程,通常针对不同的任务和数据集属性的不同而不同。例如,汽车驾驶中等待红绿灯的时间采集的数据是要删除的。
 模型训练:
构建适当的算法和模型,用准备好的训练集训练和修正模型。这通常需要GPU的训练集群来进行训练。

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

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

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

深度学习对计算力的需求

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

例如,Nvidia新发布的NVIDIA DGX-2服务器,包含了16个GPU单元,单个机器已经可以提供2Peta flops的计算能力。
谷歌的高级研究员、Google Brain 项目的负责人 Jeff Dean 曾说道,事实证明,我们真正需要的是超过现在 100 万倍的计算能力,而不只是区区几十倍的增长。

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

共享需求

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

高性能需求

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

生命周期管理需求

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

阿里云文件存储NAS

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

阿里云文件存储NAS架构:
_4
第一层是计算层,使用标准文件协议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架构:
_5

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

 超高的数据可靠性
基于飞天盘古分布式存储系统构架的Lustre持久化存储,多份数据拷贝,99.99999999%数据可靠性,远高于传统存储厂商提供的磁盘阵列raid的可靠性。
 深度优化可用性
基于paxos ring的仲裁调度,自动检测异常服务节点,并在分钟级别重新提供服务,远高于传统存储厂商提供的手动配置HA的可用性。
 符合标准的POSIX/MPI接口,无需对应用做任何修改
 高性能,高并发,容量、性能水平扩展

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

CPFS目前处于公测阶段,要申请CPFS的测试请到如下链接:
https://www.aliyun.com/product/nas
定位到并行文件系统CPFS的板块,点击申请公测。

阿里云深度学习解决方案

解决方案架构

_6

数据上传:

阿里云提供两种数据上传的方式:
 闪电立方
闪电立方Lightning Cube是阿里云为TB乃至PB级数据迁移提供的服务。它使用定制设备,安全,高效,低成本的帮助您把海量数据从本地机房迁移到云端或者是从云端迁移会本地机房。
关于闪电立方的详情,请参考:https://www.aliyun.com/product/mgw

 高速通道

阿里云高速通道(Express Connect)服务,帮助您在VPC间、VPC与本地数据中心间搭建私网通信通道,提高网络拓扑的灵活性和跨网络通信的质量和安全性。使用高速通道可以使您避免绕行公网带来的网络质量不稳定问题,同时可以免去数据在传输过程中被窃取的风险。
关于高速通道的详情,请参考:https://www.aliyun.com/product/expressconnect

计算集群:

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

 GPU云服务器/弹性裸金属服务器(神龙):

GPU云服务器是基于GPU应用的计算服务,多适用于AI深度学习,视频处理,科学计算,图形可视化,等应用场景,型号有AMD S7150, Nvidia M40, Nvidia P100,Nvidia P4,Nvidia V100阿里云成为中国首家与NGC GPU加速容器合作的云厂商。
关于GPU云服务器的详情,请参考:https://www.aliyun.com/product/ecs/gpu

弹性裸金属服务器(ECS Bare Metal Instance)是一种弹性可水平伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点,分钟级的交付周期助你的企业获得实时的业务响应能力,助力核心业务飞速成长。
关于GPU云服务器的详情,请参考:https://www.aliyun.com/product/ebm

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

 弹性高性能计算(E-hpc):

弹性高性能计算(E-HPC)基于阿里云基础设施,为用户提供一站式公共云HPC服务,面向教育科研,企事业单位和个人,提供快捷,弹性,安全和与阿里云产品互通的技术计算云平台。
关于容器服务的详情,请参考:https://www.aliyun.com/product/ehpc

 容器服务:

容器服务提供高性能可伸缩的容器应用管理服务,支持用Docker和Kubernetes进行容器化应用的生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。容器服务简化了容器管理集群的搭建工作,整合了阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器运行环境。
关于容器服务的详情,请参考:https://www.aliyun.com/product/containerservice

存储系统

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

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

 提供强大计算能力的同时,还保证了弹性和易用性:
神龙服务器,既具有裸服务器的性能,又有虚拟机的弹性,并且使用E-HPC提供了简单高效的集群管理和调度系统。
一键部署容器集群,快速建立训练环境。
文件共享方面,文件存储NAS和CPFS并行文件系统按需使用,灵活扩展。

 保证稳定性的同时,提供了全生命周期的数据管理和灵活高效的数据流动机制:
文件存储NAS和CPFS高可靠,高稳定,保证业务的连续性。
数据从采集到训练,归档,使用高效的数据传输工具,压缩数据流动时间。
从采集到归档,完全的数据生命周期管理。

 保证高可靠性的同时,提供了高性能:
高效可靠的容器管理,支持海量容器秒级启动,并经过阿里超大规模验证。
文件存储NAS和CPFS并行文件系统基于盘古架构,提供了11个9个高可靠性的同时,提供了高带宽和高IOPS。

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

利用E-HPC部署计算集群

建立集群

登录管理控制台,定位到 弹性高性能计算 > 集群,选择地域(如华东1),单击 创建集群。
_7
选择硬件配置,网络配置等参数,配置共享存储(文件存储NAS)!
_8
共享存储在这里配置过后,计算集群节点系统起来后,会自动挂载文件系统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?spm=a2c4g.11186623.2.18.4de045d6BXuXRW

利用Kubernetes构建集群

Kubernetes集群部署

  1. 创建Kubernets集群
    _9
  2. 确认集群配置
    _10
  3. 集群创建成功
    _11

阿里云NAS文件存储部署

1.创建NAS文件系统
_12
2.添加挂载点
_13
_14
3.成功添加挂载点,挂载地址用于后续对接容器使用
_15

Kubernetes集群对接NAS存储

1.为集群创建存储卷
_16
2.成功创建NAS存储卷
_17

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 分布式计算
阿里云PAI:一站式AI研发平台,引领深度学习潮流
阿里云PAI:一站式AI研发平台,引领深度学习潮流 随着人工智能的飞速发展,深度学习框架已经成为AI研发的核心工具。然而,选择合适的深度学习框架并不容易,需要考虑的因素包括计算性能、易用性、支持的算法组件等多种因素。今天,我们就来介绍一款一站式AI研发平台——阿里云PAI,看看它如何解决这些痛点。
51 1
|
1月前
|
存储 编解码 弹性计算
阿里云网盘与相册开发版提供了丰富的功能和全面的加速解决方案
阿里云网盘与相册开发版提供了丰富的功能和全面的加速解决方案【1月更文挑战第13天】【1月更文挑战第63篇】
16 2
|
1月前
|
存储 对象存储 Python
Python中使用阿里云OSS存储实现文件上传和下载功能
Python中使用阿里云OSS存储实现文件上传和下载功能
144 2
|
1月前
|
存储 Java 对象存储
springboot配置阿里云OSS存储实现文件上传下载功能
【1月更文挑战第1天】springboot配置阿里云OSS存储实现文件上传下载功能
189 2
|
1月前
|
人工智能 搜索推荐 数据挖掘
瓴羊X阿里云上的Salesforce联合解决方案正式发布
瓴羊X阿里云上的Salesforce联合解决方案正式发布
|
1月前
|
NoSQL 安全 MongoDB
|
1月前
|
存储 人工智能 安全
阿里云企业成长解决方案,含通用、企业上云、企业服务、教育等多场景
在数字化时代,企业的成长离不开云计算技术的支持。阿里云作为领先的云服务提供商,推出了全面的企业成长解决方案,涵盖通用场景、企业上云、新零售、企业服务、教育、游戏、医疗健康、文化传媒和工业制造等多个行业。这些解决方案旨在帮助企业轻松应对各种挑战,实现数字化转型和升级。
阿里云企业成长解决方案,含通用、企业上云、企业服务、教育等多场景
|
1月前
|
存储 弹性计算 测试技术
阿里云E实例评测:为个人开发者、学生和小微企业打造的经济高效解决方案
阿里云E实例是面向个人开发者、学生和小微企业的入门级云服务器,具备优秀的性能、价格优势和良好的用户体验。E实例采用高性能处理器,支持多种内存配比,满足各种应用需求。与其他同类产品相比,E实例的价格更具有竞争力,还提供多种优惠活动和免费试用,降低用户成本。此外,E实例的用户体验良好,官方文档和帮助中心提供完善的资料和教程,控制台界面简洁明了。总的来说,阿里云E实例是一款经济高效的云服务器解决方案,适合个人开发者、学生和小微企业使用。
|
2月前
|
存储 人工智能 文件存储
阿里云吴结生:面向大规模数据智能的阿里云存储创新
近年来,越来越多人意识到,我们正处在一个数据爆炸式增长的时代。IDC 预测 2027 年全球产生的数据量将达到 291 ZB,与 2022 年相比,增长了近 2 倍。其中 75% 的数据来自企业,每一个现代化的企业都是一家数据公司。
322 3
阿里云吴结生:面向大规模数据智能的阿里云存储创新
|
2月前
|
弹性计算 安全 关系型数据库
阿里云上云解决方案参考,多种技术与行业解决方案助力企业上云
对于初次上云的用户来说,参考一份适合自己行业的解决方案可帮助自己快速上手,并根据方案的内容选择适合自己的云产品进行方案部署。阿里云发布各种解决方案是基于众多客户上云的成功案例萃取而成的最优化企业上云指导,涵盖前端Web和移动应用程序开发、网站搭建、网络组网、数据库、迁云等众多上云项目。本文为大家汇总了一些上云解决方案的详情入口,方便大家快速查询与自己场景相符的解决方案。
阿里云上云解决方案参考,多种技术与行业解决方案助力企业上云

相关产品

  • 文件存储NAS
  • 对象存储
  • 日志服务