人工智能搭配云存储 深度学习训练的完美组合

存储技术

606人已加入

描述

从1956年夏天在达特茅斯首次提出人工智能概念以来,人工智能技术的发展已经走过了60余载。如今,随着数据量的爆炸性增长、计算能力的大幅提升以及深度学习算法的成熟,人工智能在第三次浪潮中迎来了“奇点”,基于图像识别、语音识别以及自然语言处理等技术的人工智能应用开始大量兴起,并且在真实的商业世界中扮演着越来越重要的角色。

然而,不可忽视的是深度学习对于算力和存储的渴求可谓是极其迫切,尤其是随着模型规模不断增大,数据量的不断增加,深度学习用于训练的神经网络深度也不断增加,传统计算平台的算力和存储性能的瓶颈逐渐显现。对于大部分人工智能公司而言,计算和存储性能的不足已经成为其人工智能之路上的重要挑战。

地平线作为一家全球估值领先的人工智能芯片独角兽,在其人工智能产品研发过程中也遇到了类似情况,自身数据中心的计算和存储逐渐显露出性能短板。不过,地平线公司与国内领先的公有云服务提供商、英特尔公司共同合作,构建基于高性能云物理主机(Elastic Physical Compute,简称EPC)集群的模型训练计算平台,并且充分发挥英特尔傲腾性能、低延迟以及稳定性的优势,走出了一条云上构建高效深度学习平台之路。

众所周知,深度学习本质就是一种大规模的神经网络,其模型训练通常需要规模庞大的高性能计算集群来完成,并且需要大量小文件数据样本进行持续训练。业界普遍认为,深度学习至少要从十万个样本起步。自动驾驶领域是深度学习一个重要的应用领域。在自动驾驶领域,深度学习对于数据样本的要求则会更高,当前一辆自动驾驶汽车一天收集的样本就是上百万张高清图像,并且需要不断地对这些海量数据样本进行持续学习。以地平线面向智能驾驶的算法为例,地平线预测未来一辆自动驾驶汽车每天在路上产生的数据就高达4TB。

尤其是,随着深度学习训练数据的不断扩容,以及训练过程中的高并发和高 IO 需求,地平线专家团队意识到自身数据中心中存在的各种短板,尤其是在存储系统的短板最为突出。首先,旧有存储系统在低延迟数据访问、海量小文件存取以及扩展性方面都有待提升,已无法弹性应对地平线深度学习所需的海量数据读写。其次,地平线由上一代固态盘、硬盘组成的存储基础设施,也无法提供与强大计算力相匹配的 IOPS能力,形成了明显系统性能瓶颈。

在公有云上进行深度学习训练可谓是目前人工智能应用中一个重要的趋势。公有云拥有强大的算力,并且拥有弹性、可扩展的特点,能够提供源源不断的计算力,在云端通过深度学习不断进行大规模训练,并且不断将训练好的新模型部署到本地应用之中。为此,为了应对深度学习系统日益增长的计算力和存储能力需求,除了自建数据中心以外,地平线也将目光投向日趋成熟的云服务。

地平线选择了金山云EPC集群作为模型训练计算平台,并且借助英特尔领先产品和技术提供的强大计算、存储和网络性能,为这一深度学习平台构建了基于 Ceph 的高性能分布式存储系统。由英特尔傲腾固态盘DC P4800X与传统机械硬盘组合构建的分层存储能力,使得地平线深度学习平台存储系统在读写速度、存储容量以及成本控制方面都获得了可观的收益。

金山云EPC 云服务是金山云基于裸金属服务器理念构建的创新型云服务产品,其可为地平线提供性能卓越的独享物理服务器,通过安全、稳定、便捷的计算、存储服务帮助地平线快速构建高性能的深度学习应用平台。同时,金山云优秀的云网络架构,也能让地平线可以在云环境中方便地配置和使用物理服务器,既享受独享物理服务器带来的高性能,也能方便地获取负载均衡、弹性IP等各类网络服务,并可进行便捷的网络部署与管理。

除了向地平线深度学习应用提供强有力的计算力支撑,金山云 EPC另一个重要任务是为其提供高效、可扩展的存储系统。为应对不断扩展的海量训练数据集,地平线利用金山云 EPC 提供的弹性、易扩展能力,构建了基于Ceph的高性能分布式存储系统。Ceph 开源分布式存储系统将文件分割后均匀随机地分散在各个 OSD 节点上,并采用CRUSH 算法来确定文件的存储位置。通过解析集群的拓扑结构,地平线深度学习应用可以直接计算出文件的存储位置,直接跟OSD节点通信获取文件,而无需通过询问中心节点来获取文件位置。

这一“去中心化”的设计,不仅大大地提升了数据访问与处理性能,更有效降低了金山云 EPC 存储集群的管理复杂性,并显著提高了可用性及可扩展性。同时,其采用存储节点与访问节点分离的设计,也使得地平线深度学习应用的 IO 请求上升时,可为其单独扩充访问节点来提高读写性能,从而带来良好的弹性扩展能力。另外,Ceph 还对固态盘,以及分级存储有着良好支持,这也能够有效地提升数据读写效率。

深度学习对于存储的性能要求尤为苛刻。在深度学习的模型训练中,算法通常需要随机读取训练集中的训练样本来进行训练,像自动驾驶这样的深度学习典型应用场景中,通常都是对于海量小图片进行读取,当训练规模不断增大之后,对于存储系统的IOPS提出了极高要求。因此,地平线在利用深度学习方法研发 AI 芯片和算法过程中,对于海量数据的快速处理有着强烈的需求。

但是,传统机械硬盘受制于其物理结构,其IOPS性能并不理想,在应对地平线深度学习应用所需的小文件高频次读写需求时,难以胜任。如果采用全固态硬盘的方式,固然可以提高IOPS能力,但是昂贵的价格也会带来巨大的成本压力,并且会限制存储系统容量的扩展需求。

为此,金山云 EPC存储集群中采用分级存储方案来实现性能与容量之间的平衡。非活动数据(冷数据)被存放在由12块8TB 容量机械硬盘组成的存储池中,而活动数据(热数据)则被置放在由375GB版本的英特尔傲腾固态盘DC P4800X构成的缓存区中。当地平线深度学习应用对数据进行访问和操作时,Ceph 分布式存储系统的内部处理器将优先读写缓存区中的数据,如果数据不在缓存区中,Ceph 会通过请求命中算法、缓存刷写算法、缓存淘汰算法等方式将数据从存储池中“提取”到缓存区中。通过这一方式,既可使热数据被高效地访问和操作,缩短数据的访问时延,也能以更合理的成本承载地平线深度学习应用所需的海量数据。

英特尔的傲腾固态盘可谓是让地平线深度学习训练如虎添翼。傲腾固态盘是基于创新的英特尔3D XPoint技术,以及一系列先进系统控制器、接口软硬件构建的全新存储产品。根据测试数据显示,英特尔傲腾固态盘DC P4800X 的 随机写IOPS 最高可达 500,000,同时读取响应时间低于10微秒,并可承受最高2 GB/秒的随机写入压力。与传统NAND介质的固态盘相比,傲腾在IOPS、低延迟以及稳定性方面有着突破性的提升,非常适合于大数据、高并发的应用场景。

此外,地平线还将傲腾固态盘来承载Ceph Journal。Journal 是Ceph 分布式存储系统最重要的安全机制之一,一旦发生停电、宕机或其他意外事件时,Ceph 可利用Journal 进行系统重建。Ceph Journal中记录着存储系统事无巨细的数据,IO请求极为密集,采用傲腾固态盘来承载Journal,无疑让Ceph读写性能获得显著提升。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分