0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

内存速度存储设计新的存储接口技术 NVMe非常适合机器学习

电子工程师 来源:yxw 2019-05-13 11:19 次阅读

各领域的业务都在将以AI为例的机器学习技术引入其流程中,以期为客户带来更好的产品,为股东创造更高的营收成果。然而,要有效部署AI,需要自定义的机器学习模型、大量的计算和数量不可预估的数据。处理PB级数据,无论这数据是来自于最小的物联网设备还是世界上最大的城市,这一任务对设计于兆字节和毫秒的时代的存储技术来说都将是一大挑战。

为机器学习提供所有的数据,就需要为内存速度存储设计一项新的存储接口技术:NVM Express (NVMe)。NVMe与SATASAS不同,它消除了磁盘为中心协议的延迟诱导水平,而使用更快的通用处理器连接技术和PCI Express (PCIe)来减少延迟,为每个设备提供大量的带宽能力。对于PB级别的专注和微秒的处理使得NVMe非常适合机器学习。

数据是AI传递途径

机器学习的关键是数据。生成有意义的结果需要处理大量数据,这就要求我们有经过深思熟虑的数据工作流程。每个公司都有着不同的数据工作流程,以满足其自身的业务需求,流程可大概分为以下阶段:收集、准备、设计和训练。这四个阶段的数据工作流程输出的通常是可以对边缘或核心的新数据进行推断的模型。由于需要大量的数据,因此所有阶段都需要通过其对数据流的优化,避免出现瓶颈。NVMe接口的设计就是为了满足此要求,可以通过以下四种方式为AI的传递途径提供帮助:

更快捷、更经济实惠的数据收集

更快速的数据集准备周期

更短的模型设计周期转变时间

更有硬件效率的模型训练

NVMe用于更智能的数据收集

实现AI首先会面临到的挑战即是如何将原始数据收集到集中式数据存储中。这些数据的种类几乎是无限的:包括来自IOT设备的传感器报告、网络日志、制造质量报告等。事实上,数据是由例如Apache Spark™之类的工具或商业服务对该任务进行处理,然后在新的数据流中进行筛选,最后将非结构化数据输出到NoSQL数据库集群中。NVMe在提高其反应速度的同时,还能减少占用这些服务器的物理空间。

传统的非结构化查询语言(NoSQL=Not Only SQL)集群由具有多个本地硬盘接口的服务器和SATA硬盘组成。硬盘确实为PB级的数据提供了经济实惠的存储方法,但要实现更大的带宽,需要通过几十个SATA或SAS硬盘与服务器连接。此架构明显增加了单个服务器的大小,并且快速填充数据中心的机架,其中CPU服务器却大多处于空闲的状态。

单独的NVMe接口即可为多种独立的SATA或SAS接口提供所需的带宽,且只需要一个附加卡或2.5寸硬盘。用更小的NVMe SSD替换单个NoSQL服务器的大硬盘阵列,可以缩小单个NoSQL节点并显着减少整个机架的空间。

NVMe用于更智能数据准备

当今AI训练的一个必要前提就是拥有TB级或PB级的数据。但通常该数据并不是随时可用的格式。需要将数据转化成更容易被AI传递途径处理的格式,过滤掉异常值和虚假数据。对于部分不适合使用或不能合法使用的数据,例如受到保护的个人信息,也可能需要在这一阶段将其过滤掉。

这种处理需求可能会超过一个存储系统的可受范围,如果该存储系统不是为高吞吐量而设计的话。与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数量级的模式。像SATA和SAS这样的传统I/O栈浪费了宝贵的CPU周期,将I/O请求转换为上世纪设计的协议。这样就增加了I/O请求的延迟,会直接影响加速器的使用。这些遗留I/O栈也增加了主机CPU的负载,限制了每个处理器上可运行的加速器的数量。

由于从一开始就将NVMe设计成为内存速度存储协议,因此其不会产生协议转换的成本。这就减少了处理器的负载,有助于保证及时将数据反馈到下一代加速器中。目前正在研究的NVMe协议具有一个激动人心的扩展—控制器内存缓冲(CMB),允许NVMe设备在不受主机干预的情况下,得以直接处理内存转换并进一步减少负载。

NVMe-用于更智能的AI

机器学习和AI是建立在数据之上。从最初的数据收集、将其处理为可用的格式、开发学习架构、到最后训练的模型都需要一个在PB级规模上有效的存储接口,并且针对微秒级延迟进行优化。NVMe作为一项提升内存速度的存储技术能为机器学习和其它应用提供所需的存储接口。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    30898

    浏览量

    269133
  • 机器学习
    +关注

    关注

    66

    文章

    8418

    浏览量

    132657
  • nvme
    +关注

    关注

    0

    文章

    221

    浏览量

    22642
收藏 人收藏

    评论

    相关推荐

    存储技术未来演进:NVMe over Fabrics (NVMeoF)

    众所周知,NVMe 是一个逻辑设备接口规范,NVM代表非易失性存储器(Non-Volatile Memory)的首字母缩略字,是固态硬盘(SSD)的常见的闪存形式。SSD 通常分为两类接口
    的头像 发表于 11-16 10:44 674次阅读
    <b class='flag-5'>存储</b><b class='flag-5'>技术</b>未来演进:<b class='flag-5'>NVMe</b> over Fabrics (NVMeoF)

    PCIe与NVMe存储的关系

    在现代计算机系统中,存储技术的发展对于提高整体性能至关重要。PCI Express(PCIe)和NVMe(Non-Volatile Memory Express)是两种关键技术,它们共
    的头像 发表于 11-06 09:29 682次阅读

    内存储器的特点是速度快成本低容量小对吗

    最低的。 1. 内存储器的分类 内存储器可以根据其存储技术速度、容量和用途进行分类。 1.1 按存储
    的头像 发表于 10-14 10:05 681次阅读

    内存储器由什么组成

    内存储器,通常称为内存或RAM(随机存取存储器),是计算机系统中用于存储数据和程序的硬件组件。它是计算机运行时的主要工作区域,因为CPU(中央处理单元)直接从
    的头像 发表于 10-14 09:58 541次阅读

    内存储器主要用来存储什么

    内存储器(内部存储器)是计算机硬件的重要组成部分,它直接与中央处理器(CPU)相连,用于存储正在运行的程序和当前处理的数据。内存储器的容量、速度
    的头像 发表于 10-14 09:55 769次阅读

    内存储器分为随机存储器和什么

    内存储器是计算机系统中用于临时存储数据和程序的关键部件,它直接影响到计算机的运行速度和性能。内存储器主要分为两大类:随机存储器(RAM,Ra
    的头像 发表于 10-14 09:54 1036次阅读

    Synology如何使用Nvme固态做存储空间

    Synology 如何使用Nvme固态做存储空间
    发表于 10-09 10:55 0次下载

    国产NVMe SSD扩展卡:驱动存储新纪元

    NVMe技术的标准化接口使得不同厂商的设备能够更好地兼容和互操作,提升了存储系统的灵活性和扩展性。
    的头像 发表于 08-17 14:59 1469次阅读
    国产<b class='flag-5'>NVMe</b> SSD扩展卡:驱动<b class='flag-5'>存储</b>新纪元

    防水和防振动功能2.5 英寸SAS/SATA硬盘抽取盒 非常适合车载数据存储

    首创的防水和防振动功能 2.5 英寸 SAS/SATA 硬盘抽取盒 – 非常适合车载数据存储
    的头像 发表于 08-12 19:16 460次阅读
    防水和防振动功能2.5 英寸SAS/SATA硬盘抽取盒 <b class='flag-5'>非常</b><b class='flag-5'>适合</b>车载数据<b class='flag-5'>存储</b>

    Jtti:新加坡云服务器运行内存存储内存有何区别?

    。它是一种易失性存储,意味着在断电后存储的数据会丢失。 存储内存:用于持久化存储数据,如操作系统、应用程序、数据库和用户数据。它是一种非易失
    的头像 发表于 06-25 14:26 494次阅读

    高性能NVMe主机控制器,Xilinx FPGA NVMe Host Accelerator IP

    独立的数据写入AXI4-Stream/FIFO接口和数据读取AXI4-Stream/FIFO接口非常适合于超高容量和超高性能的应用。此外,NVMe
    发表于 04-10 22:55

    Xilinx FPGA高性能NVMe SSD主机控制器,NVMe Host Controller IP

    独立的数据写入AXI4-Stream/FIFO接口和数据读取AXI4-Stream/FIFO接口非常适合于超高容量和超高性能的应用。此外,NVMe
    发表于 03-27 17:23

    Xilinx FPGA NVMe主机控制器IP,高性能版本介绍应用

    独立的数据写入AXI4-Stream/FIFO接口和数据读取AXI4-Stream/FIFO接口非常适合于超高容量和超高性能的应用。此外,NVMe
    发表于 03-09 13:56

    Xilinx FPGA NVMe Host Controller IP,NVMe主机控制器

    独立的数据写入AXI4-Stream/FIFO接口和数据读取AXI4-Stream/FIFO接口非常适合于超高容量和超高性能的应用。此外,NVMe
    发表于 02-21 10:16

    Xilinx FPGA NVMe控制器,NVMe Host Controller IP

    据读取AXI4-Stream/FIFO接口非常适合于超高容量和超高性能的应用。此外,NVMe Host Controller IP支持RAID存储
    的头像 发表于 02-18 11:27 907次阅读
    Xilinx FPGA <b class='flag-5'>NVMe</b>控制器,<b class='flag-5'>NVMe</b> Host Controller IP