5月21日,美光公司举行了年度分析师和投资者会议。
尽管很多人都希望获得更多关于3D XPoint技术的信息,美光的管理层依然对此秘而不宣。
我们将在本文讨论机器学习,它意味着什么,以及哪种硬件类型最适合机器学习应用。
最后,我们将推测美光正在从事的工作,以及他们可以在2019年向AI领域推出什么样的增值解决方案。我们认为美光肯定在准备一颗大炸弹。
近日,美光举行了年度分析师和投资者会议,会议上公开了许多令人兴奋的爆炸性信息,包括一个100亿美元的股票回购计划,以及关于美光在DRAM和NAND市场地位和角色定位的大量讨论,随后,许多文章深度报道了此次会议的诸多信息。在这次投资者大会上,一个显而易见的事情是,美光并没有透漏大家所关心的3D XPoint技术的任何细节。美光公司首席执行官Sanjay Mehrotra在其演讲中提到了3D XPoint,并暗示称公司计划在2019年开始发售3D XPoint器件。
3D XPoint是一项可带来10倍性能提升的激动人心的技术。与DRAM相比,3D XPoint芯片的密度更高,耐久能力比NAND提高了上千倍,速度也比NAND快上千倍。这种技术特性给3D XPoint提供了一个重要的价值主张和市场定位,它可以充当层次结构的内存和存储之间的解决方案。我们正在与客户在产品开发方面进行合作,正如我们前面所说,我们将于2019年推出3D XPoint产品,并在2019年下半年开始出货这些产品。
公司首席业务官SumitSadana也重申,因为他们现在正在和合作伙伴们一起开发3D XPoint产品,因此还没有做好讨论3D XPoint技术细节的准备。
我今天不会就我们的3D XPoint产品提供更多细节,因为我们明年将推出这些产品,而且,出于竞争的原因,我也不希望泄露我们和客户正在进行的一些工作。
在本文中,我们将简要解释人工智能特别是机器学习如何在现实生活中发挥相关作用,并基于我们对机器学习的深入了解和美光团队的公开声明,推测3D XPoint的未来。
AI和机器学习是什么?
首先,我们来看看人工智能和机器学习的含义。AI是一个通用的术语,适用于任何一种允许计算机执行通常由人类执行的任务的技术。这方面的例子林林总总,从下棋到分拣邮件,从识别猫狗图片到车辆驾驶等。
机器学习(简称ML)是AI的一个分支。这种技术通过向计算机显示一组输入和预期的输出,让计算机从这些输入输出的集合中“学习”如何执行特定任务来创建AI。
比如,假设你想训练一台计算机识别猫的照片。处理这项任务的一种方法是描述非常详细的启发式规则,以确定某张照片是否是猫的图片。
在规则中,你可能会指定猫有毛茸茸的皮、尖尖的耳朵。但是,不一定每只猫的耳朵都尖尖的,甚至有的猫皮秃毛稀。这就使得基于规则的AI方法很难处理,尤其是遇到特征不明显的案例时。
相比之下,ML方法依赖于向计算机显示成千上万张不同猫的图片,并让计算机自己制定猫的规则。对于图像识别而言,当今最常用的模型基于神经网络技术。本文并不打算详细讨论神经网络是如何工作的,不过下面提供了一个这样的神经网络的简化图,它可以帮助你思考一下,为什么ML和内存和存储大有关系。
上面这张图被简化用来显示一张9x9像素的图片。实际案例会涉及到更大的输入集,使用数十万甚至数百万个特征。
现在我们至少在概念上对神经网络的外观有了一些了解,下面让我们回到那个猫的例子上。
用于训练的猫的图片被归一化为特定大小,然后分解成像素,将这些像素的值输入ML模型中。该模型执行前向传播(模型考虑给予它的输入是否是猫的照片),并输出图片是猫的可能性的概率。
在训练阶段,模型会被告知它的回答是否正确。所以,如果给模型的图片确实是一只猫,并且模型回答正确,那么这个模型就会得到加强。反之,如果模型回答错误,那么通过反向传播算法对模型进行惩罚(正确答案和模型给出的答案之间的差异),调整一些个体的权重,以期下一次回答时会更好。
硬件要求
计算神经网络中给定预测的成本的数学公式,Zynath Capital提供。
前向传播和后向传播的数学计算相当复杂,也超出了本文的范围,读者只需要注意一点,即这些计算需要数以千计的线性代数运算。 如果你记得高中或大学阶段的线性代数课程,就会了解到,在这种数学运算中,大数据集会被组织成矩阵和向量。这也就解释了为什么GPU在机器学习应用中如此受欢迎。线性代数可以很容易地并行化,而且GPU在并行数学计算方面非常出色。
这个过程涉及的内存大小有点不直观。 举例来说,假设猫的照片是一张1,000 x 1,000像素的图片,按照今天的标准,这是一幅非常小的图片,但是,这样一幅图片也有超过一百万个单独的特征(像素),并且每个像素都必须由CPU进行处理,以便评估图片的“猫腻”。
现在,您应该已经了解了所述计算模型在一张图片上需要做多少计算和处理,想象一下,现实世界中需要在成百上千万张图片的数据集上进行相同操作,数据集规模达到2TB或3TB以上的情况并不少见,特别是在我们谈论诸如遗传学和天体物理等领域的时候。
为了快速训练模型,您需要将尽可能多的数据集加载到内存(RAM)中,以便功能强大的GPU和CPU可以执行并行化的计算任务。现在的CPU性能如此强大,以至于向CPU提供数据这个步骤成了瓶颈。一直以来,我们都是通过增加系统的DRAM容量,并将正在使用的数据集预先加载到DRAM中来解决这个问题。
SumitSadana在他的发言中谈到了这个确切的问题:
“在云公司内部,一个众所周知的事情是,处理器需要花费大量的时间等待数据。随着这些新兴处理器内核数量在过去几年内的大幅增加,相对来讲这些处理器的附属内存容量并没有增加太多,这就意味着每个内核可以使用的内存带宽容量是实际下降的。”
DRAM还要一个显著的缺点-易失性。想象一下,你花费了数天时间,投入了大量的CPU和电力资源来为你的新的和革命性的识别猫ML模型计算新权重,结果大楼电源断电,后者由于某些硬件或软件相关原因需要重启计算机,显然,你会丢掉DRAM中的一切数据,你的模型会回归到最原始的认为桌子也是一只猫的阶段(因为桌子也有四条腿)。这正是3D XPoint的用武之地。