如今,各行业领域的组织都在将机器学习技术(如人工智能)引入其业务流程,致力于为客户提供更好的产品,为股东提供更高的利润。但有效地实施人工智能需要定制的机器学习模型、大量的计算和几乎无法估量的数据量。这些数据包括从最小的物联网(IoT)设备数据到大都市的PB级数据,对于在兆字节和毫秒时代设计的存储技术来说可能是一项挑战。
将所有数据提供给机器学习需要一种专为内存速度存储而设计的新存储接口技术:NVM Express(NVMe)。与SATA和SAS不同,NVMe消除了延迟诱导的磁盘中心协议,而是使用最快的通用处理器连接技术PCI Express(PCIe),以最大限度地减少延迟,并为每个设备提供大量带宽。这种具有PB级存储和微秒存储速度的技术使NVMe协议成为机器学习的绝佳选择。
|| 数据作为一种人工智能管道
机器学习的关键是数据。而处理有意义结果所需的数据量需要采用经过验证的数据管道。为了满足其业务需求,每个企业的数据管道都有所不同,但所有管道都具有相同的一般阶段:收集、准备、设计、训练。这四个阶段数据管道的输出通常是一个模型,然后可以对边缘或核心中的新数据进行推断。但是,由于通常需要大量数据,所有阶段都必须优化其数据流以避免出现瓶颈。NVMe接口专为此类任务而设计,可以通过四种方式为人工智能管道提供帮助:
•更快、更经济的数据收集
•更快的数据集准备周转时间
•缩短模型设计周期的周转时间
•更有效的硬件模型培训
|| NVMe用于智能数据收集
实施人工智能的第一个挑战是将原始数据收集到中央数据存储中。这些数据的种类几乎是无限的:来自物联网设备的传感器报告、网络日志、制造质量报告等。实际上,Apache Spark和商业服务等工具处理此任务并对传入数据流执行过滤,最后将非结构化数据存入NoSQL数据库集群。NVMe可以减少这些服务器的物理占用空间,同时提高其响应能力。
传统的NoSQL集群由具有SATA硬盘驱动器的多个本地硬盘驱动器接口的服务器组成。硬盘驱动器提供了一种存储数PB数据的经济方法,但实现最大带宽通常需要每台服务器数十个SATA或SAS硬盘驱动器。这种架构显然增加了单个服务器的规模,并迅速填充了CPU主要处于空闲状态的服务器的数据中心机架。
单个NVMe接口可以提供许多单独SATA或SAS接口的带宽,同时只需要采用附加存储卡或2.5英寸硬盘驱动器。而采用体积更小的NVMe SSD硬盘替换单个NoSQL服务器的大型硬盘驱动器阵列,可以减少NoSQL节点,并减少总集群机架空间。
|| NVMe可实现更加智能的数据准备
拥有TB或PB的数据是人工智能训练的必要先决条件,但这些数据很少以易于使用的格式存在。需要将数据转换为人工智能管道可以更容易处理的格式。必须滤除异常值和杂散数据,可能不合适甚至非法的部分数据(例如受保护的个人信息)也可能需要在此阶段进行过滤。
这种处理需求可能会让不是为高吞吐量而设计的存储系统不堪重负。与NVMe的基于PCIe的高达6.4GB/s或更高的带宽相比,SAS和SATA的每个接口带宽有限。在准备阶段,带宽并不是存储系统的唯一要求:并行性也很重要。由于正在处理的数据量非常大,因此该处理阶段跨群集中的多个服务器,并跨单个服务器中的多个核心并行运行。NVMe支持最多64K命令队列和64K命令,简化了这些服务器内的并行操作。
|| NVMe用于智能模型设计
一旦数据干净且具有统一、易于转化的格式,数据科学家的真正工作就可以开始了。每个问题都不同,因此科学家们通常必须迭代地开发一种独特的机器学习结构。只有在对较小的数据子集进行大量试验之后,候选训练模型才会进入下一个处理阶段。与所有科学和工程项目一样,许多错误开始之前可能先于最终结果,这通常意味着需要多次尝试。
在这个反复试验的过程中,单个循环的速度会对最终的模型设计和最终的机器学习模型的质量产生外部影响。将设计和测试周期时间从10小时缩短到8小时可以使数据科学家将有效速率提高一倍。科学家们可以在第一天设计和运行测试,获得结果并及时调整参数,而直到第二天才看到结果,这样可以实现每天测试一次。
正如与之前几个阶段一样,NVMe的带宽和并行性可以发挥作用,有助于提高数据科学家的效率。他们在个人工作站或在私有沙箱中测试他们的模型,可以利用NVMe的低延迟操作系统和测试数据集,以及为分析和测试运行提供最快的空间。
|| NVMe智能模型训练
一旦数据工程师将数据转换为机器学习友好格式,并且数据科学家设计了学习模型结构,就开始训练网络。配备加速器的数百或数千台机器采用格式化数据,并使用它来优化模型参数,直到它们整合到真实应用程序可用于推理的模型上。
基于GPU的原有加速技术很少受到I/O限制,因此存储性能很少受到关注。运行服务器的通用CPU有足够的时间来处理I/O操作,并为GPU准备好下一批数据。然而,这已不再适用于FPGA,甚至是定制ASIC实施模型训练。
由于机器学习加速器可以比现有技术更快地处理大量的数据,因此运行服务器的通用CPU需要有效地处理I/O数量级模式。传统的I/O堆栈(如SATA和SAS)浪费了宝贵的CPU周期,将I/O请求转换为上个世纪设计的协议。这样做会增加I/O请求延迟,这会直接降低加速器利用率。这些传统的I/O堆栈也会增加主机CPU负载,可能会限制每个处理器可以运行的加速器数量。
因为NVMe从一开始就被设计为内存速度存储协议,所以NVMe不会产生这些协议转换开销。因此,它最大限度地减少了处理器负载,并有助于确保及时将数据馈送到这些下一代加速器。目前正在审查的NVMe协议(控制器内存缓冲区,CMB)的令人兴奋的扩展,可以通过允许NVMe设备在没有主机干预的情况下处理这些直接内存传输,进一步减少这种负载。
|| 人工智能的NVMe更加智能
机器学习和人工智能是围绕数据构建的。而收集这些数据,将其处理成可用的格式,探索学习架构,并最终训练模型需要一个存储接口,该接口可以在PB级存储有效,并针对微秒延迟进行优化。NVMe是一种专为内存速度存储而设计的技术,可以为机器学习和许多其他任务提供这样的界面。
-
处理器
+关注
关注
68文章
19286浏览量
229817 -
人工智能
+关注
关注
1791文章
47274浏览量
238468 -
机器学习
+关注
关注
66文章
8418浏览量
132628
原文标题:NVMe使人工智能变得更智能的四种方式
文章出处:【微信号:D1Net08,微信公众号:AI人工智能D1net】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论