阿里云CPFS在人工智能/深度学习领域的实践

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介:

AI/DL在迅速发展

随着数据量的爆发式增长和计算能力的不断提升,以及在算法上的不断突破,人工智能(AI,Artificial Intelligence )和其支持的深度学习(DL,Deep Learning)计算模型取得了突飞猛进的发展。
去年,中国制定了《新一代人工智能发展规划》立志要在AI总体技术和应用2020年与世界前沿同步,2025年AI成为产业升级和经济转型的主要动力,2030年,中国要成为世界主要AI创新中心。AI已经上升为国家策略,针对AI的投资也在不断迅速增长。
AI加持的自动驾驶汽车,自然语言处理,人脸识别等等行业已经逐渐变成现实,这些将深刻改变人类的生活和生产方式。

AI/DL的数据处理流程

Screen_Shot_2018_07_01_at_8_17_23_PM

采集数据:
根据业务需要,实际采集相应的数据,或者从专门的数据采集公司购买现成的原始数据。
数据预处理:
这些原始数据可能会存在有缺失值、重复值等,在使用之前需要进行数据预处理。数据预处理没有标准的流程,通常针对不同的任务和数据集属性的不同而不同。例如,调整照片的亮度、对比度等等。
特征工程:
将数据中的特征标注出来,比如标记自动驾驶采集的道路信息,道路两旁的汽车信息等等,再比如人脸识别的场景中,将人脸照片根据不同的特征进行分类等。
模型训练:
构建适当的算法,从训练集中计算出准确的预测值。比如,在自动驾驶汽车的场景中,机器学习算法的主要任务之一是持续感应周围环境,并预测可能出现的变化。
模型评估:
将训练好的模型放到实际的应用环境中,评估模型的好坏。在这个过程中,可以根据我们设定的评价指标和结果,反过来不断的修正我们的模型,使得模型的准确度不断提高。
从整个流程来看,AI需要强大的计算能力和大量的数据为基础,这也是为什么很多科技巨头宣布自己是数据驱动的公司,同时很多行业在不断推动将业务数据化。数据化之后,借力AI,就能让数据产生巨大的价值。有了数据之后,还要有高效的算法和匹配的模型,这是AI的核心竞争力。

AI/DL对存储系统的需求

目前AI/DL最常用的三大编程框架分别是 TensorFlow,Caffe,MXnet,并且GPU(Graphical Processing Units)在这一技术腾飞的过程中发挥了巨大的推动作用,逐渐奠定了GPU在AI/DL解决方案中的主导地位,几乎所有的AI/DL解决方案都采用了GPU的集群解决方案。
GPU比CPU有更多的计算核心,更容易扩展。数量众多的计算核心可以大量并行的运行更多的AI训练/推理线程,使得AI训练/推理在更短的时间内完成更多的计算任务。简单的说,GPU让AI更快,更准。
这种变化使得服务器的形态发生了很大的变化,用于AI/DL的服务器通常配置2个CPU+四个GPU,甚至有的厂商推出了一机8卡,一机16卡的服务器。 随着单机GPU数量的不断增加,前端计算系统的计算能力和计算密度得到了极大的提升,这也给后端的存储系统带来极大的挑战。
Screen_Shot_2018_06_30_at_8_35_48_PM

AI/DL对计算能力的不断苛求,正在创造着当今计算领域最复杂最苛刻的工作负载,这种变化正给数据中心解决方案的计算,存储,网络系统带来了越来越大的挑战。之前针对传统工作负载设计的存储系统,已经不能满足AI/DL工作负载的需求。
最开始,AI很多训练任务,都是在单机进行的,使用本地磁盘来创建RAID,然后格式化成本地的文件系统来存储数据。并且如果使用机械硬盘不能满足AI对IOPS的需求,很多用户使用了SATA的SSD硬盘,甚至使用了NVME的SSD硬盘来支持AI的工作负载。虽然这很好的满足了单机训练的需求,但是也带来了一定的问题,例如需要将训练样本拷贝到多个服务器进行训练,这样同一份数据不仅要拷贝多份占用存储空间,也给网络管理和数据管理带来了复杂性;并且由于数据无法共享,无法支持整个GPU集群同时运行任务,降低了整个IT系统的使用效率。

为了便于数据管理和共享,传统文件存储在AI系统中得到一定程度的使用。但是传统文件存储无法横向扩展,并且单个服务器很容易成为性能瓶颈,因此传统文件存储能提供的容量,带宽和IOPS都有限,无法满足AI对存储系统的苛刻需求。稳定性方面,随着磁盘容量的不断扩大,基于RAID的数据保护机制也越来越遭遇挑战,例如当RAID中某块磁盘坏掉,重建的时间越来越长。高可用方面,存储系统双节点的高可用配置在某些情况下,已经无法满足需求。

AI场景需要后端存储提供高带宽,高IOPS和高度的并行性,并且能够方便的扩展和管理。例如,在某些的训练场景中,训练集都是几十KB的小图片,并且训练集可以达到上百个TB。在训练开始的时候,GPU集群从后端存储系统中,读取这些小文件的训练集进行训练,这要求存储延迟要低,否则IO会成为整个工作流的瓶颈。

CPFS应用于AI/DL

CPFS(Cloud Parallel File System)并行文件系统是阿里云文件存储团队推出的并行文件系统。CPFS采用基于对象的设计思路,将数据和元数据分离,将多台服务器的存储空间聚合成一个统一的命名空间,原生支持POSIX和MPI接口,上层应用不需要修改可以直接访问CPFS上的数据。

CPFS的架构先进性

Screen_Shot_2018_06_30_at_10_10_59_PM

• 超高吞吐和IOPS
CPFS将数据条带化后均匀分布在存储集群上,实现计算节点并行访问,因此吞吐和IOPS可随存储节点的数量线性增长。同时,支持高带宽低延时的Infiniband网络用于数据交互,整个存储集群可提供超高的聚合带宽和IOPS。
• 盘古2.0
CPFS持久化存储基于飞天盘古2.0分布式存储系统,通过极致的性能优化,实现磁盘读写的超高性能。支持多份数据拷贝,可以提供11个9的数据可靠性,并完美通过了阿里双十一超高压力的考验。
• 深度优化的高可用性
所有节点均为高可用设计。实现集群内秒级别的故障检测,并由CPFS集群调度器自动将服务切换到其他节点,同时兼顾负载均衡。整个切换过程用户不感知,提供远高于传统两节点HA的高可用性。
• 弹性可扩展
支持在线的扩容,由于所有数据均以条带化的方式存储并且支持扩容以后的自动负载平衡,可满足性能的线性增长并且即时利用扩容节点的吞吐和存储能力,满足业务增长需要的更多容量与性能的诉求。
• 低成本
数据以EC方式持久化存储,在保证数据可靠性的同时,最大限度发掘存储集群的可用空间,提升存储性价比。
CPFS充分利用Infiniband高速网络的高带宽,低延迟的特性,同时支持在线横向扩展,可以为AI提供超高的聚合带宽和高IOPS,满足AI训练场景的苛刻要求,如图所示。同时,针对AI中应用容器的场景,CPFS可以支持在容器中直接挂载,容器直接访问数据,加速IO。
Screen_Shot_2018_06_30_at_10_04_39_PM

另外,CPFS提供了统一的命令空间,方便了数据在整个AI数据处理流程中的共享和流动,避免了不必要的数据拷贝,简化了数据管理的流程,方便了数据生命周期的管理。

案例分析

我们最近在跟某深度学习领域客户的合作中,在训练场景中使用了CPFS,得到了客户的认可。客户的训练场景中,训练集中的文件都是jpg格式的小图片,每个图片大概20KB~100KB,每个训练集容量不一定,在几个TB到几十个TB之间。训练机采用的是一机四卡的GPU服务器,总共四台。
训练开始之前,需要先将这些训练集拷贝到CPFS中,通常是拷贝训练集的压缩文件,然后再在CPFS来解压。解压过程中,会将数量众多的小文件直接保存到CPFS目录下。这时相当于在CPFS上写入海量的小文件,对文件系统的写入的IOPS要求比较高。训练过程中,训练机会从CPFS上读取数量众多的小文件,进行模型的训练和修正。训练过程中,主要要求保证读的IOPS。
客户希望在CPFS上,达到单个节点3W的File creation的IOPS才能满足需求。我们通过以下优化方法,最终在公有云CPFS上达到了用户的要求:
1.系统架构优化:
• 合理配置CPFS节点的CPU,内存配置,网络,磁盘,确保性能匹配;
• 合理分配CPFS中的元数据节点和数据节点,以及数据存储和元数据存储的容量;
2.调整CPFS的优化参数,针对小文件进行参数调优
经过上述优化方法,最终达到了单客户端File creation 3.5W的最高性能,获得客户认可。

总结

CPFS以其超高的稳定性,良好的扩展性,为AI/DL提供了高带宽,高IOPS的统一的命名空间的文件服务,满足其需求。
CPFS不仅支持公有云版本的弹性使用,支持存储包的付费模式,无缝对接阿里云AI生态;同时支持以专有云的形式输出,满足不同客户的需求。
阿里云CPFS并行文件系统,在高稳定性的前提下,为AI提供高带宽,高IOPS的文件存储服务,简化了整个AI的数据处理流程,为AI行业提供了一种高效稳定的文件存储解决方案。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
3天前
|
人工智能 Java Serverless
阿里云函数计算助力AI大模型快速部署
随着人工智能技术的快速发展,AI大模型已经成为企业数字化转型的重要工具。然而,对于许多业务人员、开发者以及企业来说,探索和利用AI大模型仍然面临诸多挑战。业务人员可能缺乏编程技能,难以快速上手AI模型;开发者可能受限于GPU资源,无法高效构建和部署AI应用;企业则希望简化技术门槛,以更低的成本和更高的效率利用AI大模型。
35 12
|
4天前
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
30 5
|
14天前
|
存储 人工智能 自然语言处理
拥抱Data+AI|B站引入阿里云DMS+X,利用AI赋能运营效率10倍提升
本篇文章针对B站在运营场景中的痛点,深入探讨如何利用阿里云Data+AI解决方案实现智能问数服务,赋能平台用户和运营人员提升自助取数和分析能力,提高价值交付效率的同时为数据平台减负。
拥抱Data+AI|B站引入阿里云DMS+X,利用AI赋能运营效率10倍提升
|
7天前
|
人工智能 NoSQL MongoDB
阿里云与MongoDB庆祝合作五周年,展望AI赋能新未来
阿里云与MongoDB庆祝合作五周年,展望AI赋能新未来
|
2天前
|
人工智能 Cloud Native 调度
阿里云容器服务在AI智算场景的创新与实践
本文源自张凯在2024云栖大会的演讲,介绍了阿里云容器服务在AI智算领域的创新与实践。从2018年推出首个开源GPU容器共享调度方案至今,阿里云容器服务不断推进云原生AI的发展,包括增强GPU可观测性、实现多集群跨地域统一调度、优化大模型推理引擎部署、提供灵活的弹性伸缩策略等,旨在为客户提供高效、低成本的云原生AI解决方案。
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
揭秘人工智能:深度学习的奥秘与实践
在本文中,我们将深入浅出地探索深度学习的神秘面纱。从基础概念到实际应用,你将获得一份简明扼要的指南,助你理解并运用这一前沿技术。我们避开复杂的数学公式和冗长的论述,以直观的方式呈现深度学习的核心原理和应用实例。无论你是技术新手还是有经验的开发者,这篇文章都将为你打开一扇通往人工智能新世界的大门。
|
8天前
|
机器学习/深度学习 算法 TensorFlow
深度学习中的自编码器:从理论到实践
在这篇文章中,我们将深入探讨深度学习的一个重要分支——自编码器。自编码器是一种无监督学习算法,它可以学习数据的有效表示。我们将首先介绍自编码器的基本概念和工作原理,然后通过一个简单的Python代码示例来展示如何实现一个基本的自编码器。最后,我们将讨论自编码器的一些变体,如稀疏自编码器和降噪自编码器,以及它们在实际应用中的优势。
|
9天前
|
人工智能 数据可视化 专有云
阿里云飞天企业版获评2024年AI云典型案例
近日,由全球数字经济大会组委会主办、中国信息通信研究院和中国通信企业协会承办的“云·AI·计算国际合作论坛”作为2024全球数字经济大会系列活动之一,在北京举办。论坛以“智启云端,算绘蓝图”为主题,围绕云·AI·计算产业发展、关键技术、最佳实践等展开交流讨论。阿里云飞天企业版异构算力调度平台获评2024年AI云典型案例。
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
揭秘AI:深度学习的奥秘与实践
本文将深入浅出地探讨人工智能中的一个重要分支——深度学习。我们将从基础概念出发,逐步揭示深度学习的原理和工作机制。通过生动的比喻和实际代码示例,本文旨在帮助初学者理解并应用深度学习技术,开启AI之旅。
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
深入浅出深度学习:从理论到实践的探索之旅
在人工智能的璀璨星空中,深度学习如同一颗耀眼的新星,以其强大的数据处理能力引领着技术革新的浪潮。本文将带您走进深度学习的核心概念,揭示其背后的数学原理,并通过实际案例展示如何应用深度学习模型解决现实世界的问题。无论您是初学者还是有一定基础的开发者,这篇文章都将为您提供宝贵的知识和启发。
39 5