选择正确人工智能数据存储的6个注意事项

AI启蒙研究院 2019-09-29

企业如果采用错误的存储人工智能平台可能会产生严重影响,因此需要了解可能影响产品选择和策略的6个注意事项。

选择正确人工智能数据存储的6个注意事项

人工智能和机器学习将成为帮助企业利用其核心数字资产创造竞争优势的两个最重要的工具。但在采用人工智能数据存储之前,企业必须考虑一系列基于机器学习平台如何获取、处理和保留数据的需求。

首先,企业需要检查机器学习软件使用的数据的生命周期,因为这可以帮助企业了解为人工智能选择存储时应考虑的事项。最初,企业必须获取数据来训练机器学习或人工智能算法。这些是处理数据以学习任务的软件工具,例如识别对象、处理视频和跟踪运动。数据可以从多种来源产生,并且通常本质上是非结构化的,例如对象和文件。

人工智能的训练过程需要使用数据资产,并使用机器学习或人工智能软件创建算法,以处理未来的数据源。在训练或开发算法时,人工智能软件将处理源数据,以开发一个模型,该模型可以创建企业需要获得的洞察力或收益。

开发机器学习算法很少作为一个单一的过程来完成。随着企业积累新的数据,其算法得到了改进和完善。这意味着很少的数据被丢弃,相反,它会随着时间的推移而增长并重新处理。

购买人工智能数据存储的标准

在企业为人工智能平台选择存储之前,必须首先考虑以下注意事项:

1.成本。人工智能数据存储的成本是企业考虑的关键因素。显然,企业管理层和参与采购决策的管理人员都希望其存储尽可能具有成本效益,并且在许多情况下,这将影响企业的产品选择和策略。

2.可扩展性。在此需要强调收集、存储和处理大量数据以创建机器学习或人工智能模型的必要性。机器学习算法要求源数据呈指数增长,以实现精度的线性提高。创建可靠和准确的机器学习模型可能需要数百TB甚至PB的数据,而且这只会随着时间的推移而增加。

构建PB级存储系统通常意味着使用对象存储或横向扩展文件系统。现代对象存储当然可以解决人工智能工作负载的容量需求,但是它们可能无法满足其他标准,例如高性能。横向扩展文件系统可以提供高性能和良好的可扩展性,但是将整个数据集存储在单个平台上可能会很昂贵。由于可扩展性要求和大容量产品的成本,块存储通常不是机器学习或人工智能的正确选择,因为高容量产品的可扩展性要求和成本。这里唯一的例外是在公共云中。

存储成本的变化引入了分层或使用多种存储类型来存储数据的思想。例如,对象存储是存储大量非活动人工智能数据的良好目标。当需要处理数据时,可以将其移动到高性能文件存储集群或为高性能而设计的对象存储中的节点,并且在处理完成后可以将数据移回。

3.性能。人工智能数据的存储性能包括三个方面。首先可能也是最重要的是延迟。这定义了软件发出的每个I/O请求的处理速度。低延迟很重要,因为改善延迟会直接影响创建机器学习或人工智能模型所需的时间。复杂的模型开发可能需要数周或数月的时间才能运行。通过缩短此开发周期,企业可以更快地创建和完善模型。在检查延迟功能时,由于对象访问的数据流特性,对象将引用时间存储到第一个字节,而不是单个I/O请求的延迟。

存储性能的另一个方面是吞吐量,这是可以将数据写入存储平台或从存储平台读取数据的速度。系统吞吐量很重要,因为人工智能培训会处理大量数据集,通常会反复读取和重新读取相同的数据以准确地开发模型。机器学习和人工智能数据的来源(例如自动驾驶汽车上的传感器)每天可以产生数TB的新数据。所有这些信息都必须添加到现有数据存储中,并且对任何现有处理的影响最小。

正确设置存储平台至关重要,因为涉及的数据量非常大。

存储性能的最后一个方面是并行访问。机器学习和人工智能算法并行处理数据,运行多个任务,这些任务可以多次读取同一数据,并跨越多个并行任务。对象存储擅长并行读取I/O处理,因为没有对象锁定或属性可管理。文件服务器跟踪内存中打开的I/O请求或文件句柄。因此,I/O请求的数量取决于平台上可用的内存。

机器学习的数据可以由大量的小文件组成。在这个领域,文件服务器可以提供比对象存储更好的性能。向人工智能存储供应商提出的一个关键问题是,其产品的性能特征将如何在大文件类型和小文件类型之间发生变化。

4.可用性和耐用性。机器学习和人工智能学习模型可以长期连续运行。通过训练开发算法可能需要几天或几周的时间。在此期间,存储系统必须启动并持续可用。这意味着任何升级、技术更换或系统扩展都需要在不停机的情况下进行。

在大型系统中,部件故障是正常的,必须按此处理。这意味着用于人工智能工作的任何平台都应该能够从设备(例如HDD硬盘或SSD硬盘)和节点或服务器故障中恢复。对象存储使用擦除编码在多个节点上广泛分布数据,并将组件故障的影响降到很低。有擦除编码技术可以扩展文件系统以提供同等的弹性级别。擦除编码方案的效率非常重要,因为它直接关系到读写I/O的性能,特别是对于小文件。

由于大多数大型对象存储太大而无法定期备份,因此可靠的擦除编码成为人工智能存储平台的基本功能。

5.公共云。开发机器学习和人工智能算法既需要高性能的存储又需要高性能的计算。许多人工智能系统都基于GPU(例如Nvidia DGX),可以减轻开发精确算法所涉及的许多复杂数学计算的负担。

公共云服务提供商已开始提供可用于机器学习的GPU加速虚拟实例。在公共云中运行机器学习工具可以降低构建机器学习开发基础设施的投资和成本,同时提供扩展开发机器学习模型所需基础设施的能力。

使用公共云计算面临的挑战是如何以经济高效和实用的方式将数据导入公共云。基于云计算的对象存储速度太慢,无法满足机器学习的I/O需求;因此,必须使用本地块存储。每延迟一分钟传输数据以及执行机器学习的延迟,就意味着增加运行基础设施的成本。

公共云的另一个问题是数据出口的成本。尽管云计算服务提供商不收取将数据移动到其平台的费用,但他们确实会收取从其平台之外的公共网络访问的任何数据的费用。因此,尽管公共云在计算方面提供了灵活性,但以一种及时且经济高效的方式在云中进出数据并不总是那么简单。

供应商正在开发存储产品,以在其内部部署和公共云中运行其产品。这些产品可以有效地复制数据或将数据移至云中,并且只在完成后才将结果移回。这些复制技术具有高带宽效率,使在本地存储数据并导入到云中进行分析工作变得切实可行。

6. 整合。在本文中,将机器学习和人工智能的存储方面与计算隔离开来。构建人工智能数据存储可能很困难,因为存储网络和调整存储必须考虑其他因素才能与机器学习应用程序一起工作。

相关推荐