< 返回 比特网

如何优化人工智能、机器学习和深度学习的存储

如今的人工智能和深度学习应用程序中使用了大数据集和快速I/O技术,但数据存储可能会导致性能问题。人们需要了解人工智能和深度学习存储系统应该具备哪些功能。
 
人工智能技术广泛应用在机器学习和深度学习中,已经引发了研究和产品开发的爆炸性增长,因为企业发现了创造性的方法,将这些新算法用于过程自动化和预测性见解的创新方法。机器学习和深度学习模型的本质要求获取、准备、移动和处理大量数据集,后者通常模拟大脑的神经结构和连接性。
 
特别是深度学习模型需要大量数据集,这对于人工智能和深度学习的存储是一种独特的挑战。简要介绍机器学习和深度学习软件的本质,将会揭示存储系统对于这些算法如此重要以提供及时准确结果的原因。
 
为什么人工智能和深度学习的存储很重要
 
许多研究者已经证明,随着数据集的增加,深度学习模型的准确性也会提高。这一改进意义重大,研究人员经常使用复杂的数据增强技术来综合生成额外的数据用于模型训练。
 
例如,用于对各种深度学习图像分类算法进行基准测试的ImageNet数据集包含超过1400万张具有大量注释的图像。虽然经常用于对图像分类硬件进行基准测试的ResNet-50模型的大小刚好超过100MB。这些模型最好保存在内存中,必须不断地提供数据,这通常会导致存储系统成为整体性能的瓶颈。
 
深度学习存储系统设计必须在各种数据类型和深度学习模型之间提供平衡的性能。
 
无论模型和应用如何,深度学习包括两个步骤:模型训练和数据推理。训练是在使用训练数据集进行重复的、通常是递归的计算的基础上计算和优化模型参数的过程。数据推理是在新的输入数据上使用经过训练的模型进行分类和预测的地方。
 
每个步骤都会以不同的方式强调为人工智能和深度学习提供存储的系统。通过训练,其压力源于大型数据集和对计算复合体(通常是分布式集群)的快速I/O,这是可接受性能所必需的。通过推理,其压力来自数据的实时性,必须以最小的延迟处理这些数据。
 
深度学习的存储性能要求
 
深度学习算法的本质意味着它们使用了大量的矩阵数学。与计算机图形不同,神经网络和其他深度学习模型不需要高精度浮点结果,并且通常由新一代人工智能优化的GPU和支持低精度8位和16位矩阵计算的CPU进一步加速,这种优化可以将存储系统转变为更大的性能瓶颈。
 
深度学习模型和数据源的多样性,以及通常用于深度学习服务器的分布式计算设计,意味着旨在为人工智能提供存储的系统必须解决以下问题:
 
•各种各样的数据格式,包括二进制对象(BLOB)数据、图像、视频、音频、文本和结构化数据,它们具有不同的格式和I/O特性。
 
•横向扩展系统架构,其中工作负载分布在多个系统中,通常为4到16个,用于培训,可能有数百个或数千个用于数据推理。
 
•带宽和吞吐量,可以快速向计算硬件提供大量数据。
 
•无论数据特性如何,IOPS都能维持高吞吐量;也就是说,可以实现许多小交易和较少的大转移。
 
•以最小的延迟提供数据,因为与虚拟内存分页一样,当GPU等待新数据时,训练算法的性能会显著降低。
 
深度学习存储系统设计必须在各种数据类型和深度学习模型中提供均衡的性能。根据Nvidia公司一位工程师的说法,在各种负载条件下验证存储系统性能至关重要。
 
他说,“工作负载的复杂性加上深度学习培训所需的数据量创造了一个具有挑战性的性能环境。考虑到这些环境的复杂性,在投入生产之前收集基准性能数据,验证核心系统(硬件组件和操作系统)是否能够在综合负载下提供预期性能至关重要。”
 
深度学习存储系统的核心功能
 
上述性能因素促使人工智能存储系统供应商采用五项核心功能,其中包括:
 
1.可增量扩展的并行扩展系统设计,其中I/O性能随容量而扩展。这种设计的一个标志是分布式存储体系结构或文件系统,它将对象和文件等逻辑元素与保存它们的物理设备或设备区分开。
 
2.可编程的、软件定义的控制平台,它是实现横向扩展设计和大多数管理任务自动化的关键。
 
3.企业级可靠性、耐久性、冗余和存储服务。
 
4.对于深度学习培训系统,采用紧密耦合的计算存储系统架构,采用无阻塞网络设计,连接服务器和存储,最低链路速度为10GB至25GB以太网或EDR(25Gbps)Infiniband。
 
5. SSD设备越来越多地使用速度更快的NVMe设备,提供比SATA更高的吞吐量和IOPS。
 
o DAS系统通常使用NVMe-over-PCIe设备。
 
o NAS设计通常使用10Gb以太网或更快的以太网,使用NVMe over fabric、Infiniband或交换PCIe结构。
 
Nvidia公司的DGX-2系统是深度学习的高性能系统架构的一个例子。
 
量身定制的存储产品
 
人工智能现在是一项热门技术,供应商通过混合使用新产品和更新产品快速应对市场,以满足人工智能工作负载的需求。鉴于市场活力,不会尝试提供针对人工智能存储优化或针对的产品的综合目录,但以下是一些示例:
 
Dell EMC公司针对人工智能提供的现成解决方案,包括机架、服务器、存储、边缘交换机、管理节点。该存储使用isilon H600或F800所有闪存扩展NAS,带有40GbE网络链路。
 
DDN A3I使用AI200或AI400 NVMe全闪存阵列(AFA),分别具有360TB容量和750K和1.5MIOPS以及4或8个100GbE或EDR InfiniBand接口,或DDN AI7990混合存储设备(5.4 PB)容量,750K IOPS和4个100 GbE或EDR InfiniBand接口。DDN还将产品与Nvidia DGX-1 GPU加速服务器和Hewlett Packard Enterprise Apollo 6500加速服务器捆绑在一起。
 
IBM Elastic Storage Server AFA阵列具有多种基于SSD硬盘的配置,可提供高达1.1 PB的可用容量。IBM公司还有一个参考系统架构,它将Elastic Storage Server与Power Systems服务器和PowerAI Enterprise软件堆栈相结合。
 
NetApp OnTap AI参考架构将Nvidia DGX-1服务器与NetApp AFA A800系统和两个Cisco Nexus 3K 100GbE交换机相结合。A800可提供1M IOPS,延迟时间为半毫秒,其横向扩展设计可在24节点集群中提供超过11M的IOPS。
 
Pure Storage AIRI是另一个DGX-1集成系统,它使用Pure的FlashBlade AFA系统,支持文件和对象存储。Arista、Cisco或Mellanox交换机提供参考系统。例如,Arista公司设计使用15个17TB FlashBlades和8个40GbE链路连接到Arista 32端口100 GbE交换机。
 
Pure Storage的AIRI系统架构
 
深度学习推理系统对存储子系统的要求较低,通常可以通过在x86服务器中使用本地SSD硬盘来实现。虽然推理平台通常是具有本地SSD硬盘或NVMe插槽的传统1U和2U服务器设计,但它们越来越多地包括计算加速器,如Nvidia T4 GPU或可以将一些深度学习操作编译到硬件中的FPGA。