如何优化人工智能、机器学习和深度学习的存储
2019/9/10 9:30:28

如今的人工智能和深度学习应用程序中使用了大数据集和快速I/O技术,但数据存储可能会导致性能问题。人们需要了解人工智能和深度学习存储系统应该具备哪些功能。  人工智能技术广泛应用在机器学习和深度学习中,已经引发了研究和产品开发的爆炸性增长,因为企业发现了创造性的方法,将这些新算法用于过程自动化和预测性见解的创新方法。机器学习和深度学习模型的本质要求获取、准备、移动和处理大量数据集,后者通常模拟大脑的神经结构和连接性。  特别是深度学习模型需要大量数据集,这对于人工智能和深度学习的存储是一种独特的挑战。简要介绍机器学习和深度学习软件的本质,将会揭示存储系统对于这些算法如此重要以提供及时准确结果的原因。  为什么人工智能和深度学习的存储很重要  许多研究者已经证明,随着数据集的增加,深度学习模型的准确性也会提高。这一改进意义重大,研究人员经常使用复杂的数据增强技术来综合生成额外的数据用于模型训练。  例如,用于对各种深度学习图像分类算法进行基准测试的ImageNet数据集包含超过1400万张具有大量注释的图像。虽然经常用于对图像分类硬件进行基准测试的ResNet-50模型的大小刚好超过100MB。这些模型最好保存在内存中,必须不断地提供数据,这通常会导致存储系统成为整体性能的瓶颈。  深度学习存储系统设计必须在各种数据类型和深度学习模型之间提供平衡的性能。  无论模型和应用如何,深度学习包括两个步骤:模型训练和数据推理。训练是在使用训练数据集进行重复的、通常是递归的计算的基础上计算和优化模型参数的过程。数据推理是在新的输入数据上使用经过训练的模型进行分类和预测的地方。  每个步骤都会以不同的方式强调为人工智能和深度学习提供存储的系统。通过训练,其压力源于大型数据集和对计算复合体(通常是分布式集群)的快速I/O,这是可接受性能所必需的。通过推理,其压力来自数据的实时性,必须以最小的延迟处理这些数据。  深度学习的存储性能要求  深度学习算法的本质意味着它们使用了大量的矩阵数学。与计算机图形不同,神经网络和其他深度学习模型不需要高精度浮点结果,并且通常由新一代人工智能优化的GPU和支持低精度8位和16位矩阵计算的CPU进一步加速,这种优化可以将存储系统转变为更大的性能瓶颈。  深度学习模型和数据源的多样性,以及通常用于深度学习服务器的分布式计算设计,意味着旨在为人工智能提供存储的系统必须解决以下问题:  •各种各样的数据格式,包括二进制对象(BLOB)数据、图像、视频、音频、文本和结构化数据,它们具有不同的格式和I/O特性。  •横向扩展系统架构,其中工作负载分布在多个系统中,通常为4到16个,用于培训,可能有数百个或数千个用于数据推理。  •带宽和吞吐量,可以快速向计算硬件提供大量数据。  •无论数据特性如何,IOPS都能维持高吞吐量;也就是说,可以实现许多小交易和较少的大转移。  •以最小的延迟提供数据,因为与虚拟内存分页一样,当GPU等待新数据时,训练算法的性能会显著降低。  深度学习存储系统设计必须在各种数据类型和深度学习模型中提供均衡的性能。根据Nvidia公司一位工程师的说法,在各种负载条件下验证存储系统性能至关重要。  他说,“工作负载的复杂性加上深度学习培训所需的数据量创造了一个具有挑战性的性能环境。考虑到这些环境的复杂性,在投入生产之前收集基准性能数据,验证核心系统(硬件组件和操作系统)是否能够在综合负载下提供预期性能至关重要。”  深度学习存储系统的核心功能  上述性能因素促使人工智能存储系统供应商采用五项核心功能,其中包括:  1.可增量扩展的并行扩展系统设计,其中I/O性能随容量而扩展。这种设计的

下一页
返回列表
返回首页
©2024 深度学习世界--关注深度学习应用,提供深度学习资料下载和技术交流 电脑版
Powered by iwms