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

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
文件存储 NAS,50GB 3个月
简介:

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盲盒。
目录
相关文章
|
18天前
|
人工智能 算法 计算机视觉
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
106 62
【01】opencv项目实践第一步opencv是什么-opencv项目实践-opencv完整入门以及项目实践介绍-opencv以土壤和水滴分离的项目实践-人工智能AI项目优雅草卓伊凡
|
5天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
42 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
2天前
|
存储 人工智能 Serverless
阿里云《AI 剧本生成与动画创作》技术解决方案测评
本问是对《AI 剧本生成与动画创作》的用心体验。结论不是特别理想,在实际使用中仍存在一些问题。
53 22
|
4天前
|
人工智能 前端开发 Serverless
阿里云《AI 剧本生成与动画创作》解决方案技术评测
随着人工智能技术的发展,越来越多的工具和服务被应用于内容创作领域。阿里云推出的《AI 剧本生成与动画创作》解决方案,利用函数计算 FC 构建 Web 服务,结合百炼模型服务和 ComfyUI 工具,实现了从故事剧本撰写、插图设计、声音合成和字幕添加到视频合成的一站式自动化流程。本文将对该方案进行全面的技术评测,包括实现原理及架构介绍、部署文档指引、具体耗时分析以及实际使用体验。
58 16
|
5天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云《AI 剧本生成与动画创作》解决方案深度评测
阿里云《AI 剧本生成与动画创作》解决方案深度评测
29 7
|
5天前
|
人工智能 搜索推荐 安全
正式上线!阿里云短信模板 AI 助手,10 秒生成/改写个性化、合规短信内容
阿里云短信服务 - 短信模板AI 助手已全面开放,欢迎体验!
|
1月前
|
存储 人工智能 自然语言处理
|
1月前
|
机器学习/深度学习 人工智能 分布式计算
我的阿里云社区年度总结报告:Python、人工智能与大数据领域的探索之旅
我的阿里云社区年度总结报告:Python、人工智能与大数据领域的探索之旅
115 35
|
30天前
|
人工智能 自然语言处理 测试技术
阿里云通义实验室自然语言处理方向负责人黄非:通义灵码2.0,迈入 Agentic AI
在通义灵码 2.0 发布会上,阿里云通义实验室自然语言处理方向负责人黄非分享了代码大模型的演进。过去一年来,随着大模型技术的发展,特别是智能体技术的深入应用,通义灵码也在智能体的基础上研发了针对于整个软件研发流程的不同任务的智能体,这里既包括单智能体,也包括多智能体合并框架,在这样的基础上我们研发了通义灵码2.0。
163 21
|
22天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置,包括CPU+GPU、FPGA等,适用于人工智能、机器学习和深度学习等计算密集型任务。本文整理了阿里云GPU服务器的优惠价格,涵盖NVIDIA A10、V100、T4等型号,提供1个月、1年和1小时的收费明细。具体规格如A10卡GN7i、V100-16G卡GN6v等,适用于不同业务场景,详情见官方页面。
116 11