【IT168评论】人工智能(AI)和机器学习将成为帮助企业利用其核心数字资产创造竞争优势的最重要工具之一。但在选购AI数据存储设备之前,企业必须考虑机器学习平台在获取、处理和保留数据时的一系列需求。
我们首先需要研究一下机器学习软件使用的数据的生命周期,因为这有助于企业理解在为AI选择存储时应该考虑哪些因素。最开始的时候,企业必须获取大量的数据来训练机器学习或AI算法。AI软件工具通过处理数据来学习任务,如识别某个对象、处理视频和跟踪运动。数据可以从各种各样的源生成,并且本质上是非结构化的,比如对象和文件。
在训练或开发AI算法时,能够通过对数据的处理开发一个模型,为企业提供所需的洞察力或效益。开发机器学习算法很少是作为一个单一的过程来完成的。随着企业不断积累新的数据,算法也会得到改进。这意味着很少有数据被丢弃,相反,数据会随着时间的推移而快速增长和重新处理。
AI数据存储设备的选型标准
在企业为AI平台选择存储设备之前,必须首先考虑以下几点:
1、成本。AI数据存储设备的价格对企业来说是一个关键因素。显然,高管层和那些参与采购决策的人会希望存储尽可能具有成本效益,在许多情况下,这将影响组织的产品选择和策略。
2、可伸缩性。如上文所说,在创建机器学习或AI模型的过程中,收集、存储和处理大量数据是非常必要的。机器学习算法要求源数据呈指数增长,才能实现精度的线性提高。创建可靠而准确的机器学习模型可能需要数百TB甚至PB的数据,而且这只会随着时间的推移而增加。
构建PB级存储系统,一般需要使用对象存储或横向扩展文件系统。如今的对象存储当然可以满足AI工作负载的容量需求,但它们可能无法满足其他标准,如高性能。横向扩展文件系统可以提供高性能和良好的可伸缩性,但是将整个数据集存储在一个平台上可能会很昂贵。另外,出于可伸缩性需求和高容量产品的成本,块存储往往不是机器学习或人工智能的正确选择。这里唯一的例外是公有云,稍后我们对此进行讨论。
存储成本的变化引入了分层存储或使用多种类型的存储来存储数据的概念。例如,对象存储是存储大量不活跃的AI数据的良好目标。当需要处理数据时,可以将数据移动到对象存储中的高性能文件存储集群或节点上,一旦处理完成,就可以将数据移动回来。
3、性能。AI数据的存储性能有三个方面。首先,可能也是最重要的是延迟,也就是软件处理每个I/O请求的速度。低延迟很重要,因为改善延迟对创建机器学习或AI模型所需的时间有直接影响。复杂的模型开发可能需要数周或数月的时间。通过缩短这个开发周期,组织可以更快地创建和细化模型。在检查延迟能力时,由于对象访问的流特性,对象将引用时间存储为第一个字节,而不是单个I/O请求的延迟。
性能的另一个方面是吞吐量,以及从存储平台写入或读取数据的速度。系统吞吐量很重要,因为AI训练需要处理大量数据集,经常重复读取相同的数据,以准确地开发模型。机器学习和AI数据的来源,例如自动驾驶汽车上的传感器,每天可以生成多个TB的新数据。所有这些信息都必须添加到现有的数据存储中,并且对任何现有处理的影响要最小。
性能的最后一个方面是并行访问。机器学习和AI算法并行处理数据,运行多个任务,这些任务可以多次读取相同的数据,并跨越多个并行任务。对象存储擅长并行读取I/O处理,因为不需要管理对象锁或属性。文件服务器跟踪内存中打开的I/O请求或文件句柄。因此,活动I/O请求的数量取决于平台上可用的内存。
机器学习数据可以由大量的小文件组成。在这个领域,文件服务器可以提供比对象存储更好的性能。这里需要问AI存储方案供应商的一个关键问题是,在大文件类型和小文件类型上,他们的产品的性能特征会如何变化。
4、可用性和耐久性。机器学习和AI模型可以长时间连续运行。通过训练开发算法可能需要几天或几周的时间。在此期间,存储系统必须保持启动并持续可用。这意味着任何升级、技术替换或系统扩展都需要在不停机的情况下进行。
在大型系统中,组件故障是常见的。这意味着任何用于AI工作的平台都应该能够从设备(如硬盘或SSD)和节点或服务器故障中恢复。对象存储使用擦除编码在许多节点上广泛分布数据,并最小化组件故障的影响。有一些擦除编码技术可以用在横向扩展文件系统,以提供同等水平的弹性。擦除编码方案的效率非常重要,因为它直接关系到读写I/O的性能,特别是对于小文件而言。
由于多数大规模对象存储都太大,无法定期备份,因此可靠的擦除编码成为AI存储平台的一个基本特性。
5、公有云。开发机器学习和AI算法需要高性能存储和高性能计算。许多AI系统都是基于GPU的,比如Nvidia DGX,它可以用于开发精确算法所涉及的许多复杂数学计算。
公有云服务提供商已经开始提供GPU加速的虚拟实例,可用于机器学习。在公有云中运行机器学习工具降低了构建机器学习开发基础设施的资本成本,同时提供了扩展开发机器学习模型所需的基础设施的能力。
使用公有云计算的挑战在于,如何以一种同时具有成本效益和实用性的方式将数据导入公有云。基于云的对象存储速度太慢,跟不上机器学习的I/O需求;因此,必须使用本地块存储。每延迟一分钟移动数据,就会带来更多运行基础设施的成本,以及执行机器学习的延迟。
公有云的另一个问题是数据导出的成本。尽管云服务提供商不收取将数据转移到其平台的费用,但它们确实对从其平台外的公共网络访问的任何数据收取费用。因此,尽管公有云在计算方面提供了灵活性,但以及时和经济有效的方式从云中获取数据并不总是那么简单。
供应商正在开发存储产品,这些产品运行在公有云中,覆盖了本地和云。这些产品可以有效地复制数据或将数据移动到云中,并且只在完成后将结果移动回来。这些复制技术具有高效的带宽,使得在前提上存储数据并导入到云中进行分析工作变得切实可行。
6、集成。在本文中,我们将机器学习和AI的数据存储与计算分开来看。构建AI数据存储可能很困难,因为必须考虑存储网络和调优存储以与机器学习应用程序协同工作的其他因素。
产品的预打包使供应商能够在将产品交付给客户之前测试和优化其产品。如今,有一些存储产品结合了流行的AI软件、计算(如通用cpu和gpu)、网络和存储,以交付一个AI就绪的平台,许多详细的调优工作是在部署这些系统之前完成的。尽管成本可能是个问题,但对许多客户来说,预先打包的系统可以降低采用AI存储的障碍。
显然,选择正确的AI数据存储平台,其实是性能、可伸缩性和成本等指标之间的平衡。正确使用存储平台非常重要,因为涉及的数据量非常大。一旦选择错误,其代价可能是高昂的。与任何存储产品选型决策一样,重要的是与供应商沟通,包括演示和评估,以准确了解他们的产品如何满足人工智能和机器学习的需求。
原文作者:Chris Evans