您的位置:首页 >生活 >

分形并行计算几何启发的生产力助推器

当尝试使用购物应用程序进行购买时,我们可能会快速浏览推荐列表,同时承认机器确实了解我们——至少,它正在学习这样做。作为一种有效的新兴技术,机器学习(ML)已经变得非常普遍,应用范围从各种应用程序到超级计算。

因此,专用的ML计算机正在以各种规模开发,但它们的生产力有些有限:工作量和开发成本主要集中在它们的软件堆栈中,需要临时开发或返工以支持每个缩放模型。

为了解决这个问题,中国科学院(CAS)的研究人员提出了一种分形并行计算模型,并于9月5日在智能计算上发表了他们的研究。

“针对生产力问题,我们提出了具有分形冯诺依曼架构(FvNA)的机器学习计算机,”中国科学院计算技术研究所处理器国家重点实验室研究员赵永伟说。

“分形”是一个借用的几何概念,描述了应用于任何尺度的自相似模式。如果一个系统是“分形的”,根据研究人员的说法,这意味着无论规模大小,系统总是使用相同的程序。

FvNA是一种多层、并行的冯·诺依曼架构,它不仅是分形的,而且是等层的——字面意思是“跨层结构相同”。

也就是说,与传统的各向异性ML计算机架构相反,FvNA对每一层都采用相同的指令集架构(ISA)。“下层完全由上层控制,因此,只有顶层作为单片处理器暴露给程序员。因此,使用FvNA构建的ML计算机在尺度不变、同质和顺序视图下是可编程的,”研究人员解释说。

尽管FvNA已被证明适用于ML领域并且能够缓解编程生产力问题,同时作为其临时对应物有效运行,但仍有一些问题有待解决。在本文中,解决了以下三个问题:

FvNA如何在如此严格的架构约束下保持相当高效?

FvNA是否也适用于来自其他领域的有效载荷?

如果是这样,确切的先决条件是什么?

为了回答这些问题,研究人员首先对分形并行机(FPM)进行建模,这是一种从FvNA建模的抽象并行计算机。FPM建立在Valiant的multi-BSP之上,这是一种同构的多层并行模型,仅进行了少量扩展。

FPM的实例是嵌套组件的树状结构;每个组件都包含内存、处理器和子组件。组件可以执行fracops——分形并行计算系统上的有效负载方案,例如从外部存储读取一些输入数据,在处理器上执行计算,然后将输出数据写入外部存储。

“与Valiant的多BSP相比,FPM最小化了更简单抽象的参数,”研究人员说。“更重要的是,FPM通过只将单个处理器暴露给编程接口,对编程施加了明确的限制。处理器只知道它的父组件和子组件,但不知道全局系统规范。”换句话说,程序永远不知道它在树结构中的位置。因此,根据定义,FPM不能被编程为依赖于比例。

同时,研究人员提出了两种不同的ML-targetingFvNA架构——特定的Cambricon-F和通用的Cambricon-FR——并通过运行几个通用示例程序来说明FPM的分形编程风格。这些示例涵盖了令人尴尬的并行、分而治之和动态编程算法,所有这些算法都被证明是高效可编程的。

“我们澄清说,虽然分形并行计算最初是从ML领域发展起来的,但分形并行计算是相当普遍适用的,”研究人员总结说,从他们的初步结果中得出结论,FPM具有通用性和成本优化性,与许多基本的并行计算模型,例如BSP和交替图灵机。他们还认为,从整个全球网络到微米级体内设备,FPM的全面实施在各种情况下都可以派上用场。

尽管如此,研究人员还是指出了这项研究的一个值得注意的发现,即FPM通过对并行计算系统的控制模式应用约束来限制编程的熵。“目前,分形机,例如Cambricon-F/FR,仅利用这种熵减少来简化软件开发,”他们观察到。“是否可以通过将分形控制引入传统并行机来实现节能,这是一个有趣的悬而未决的问题。”

免责声明:本文由用户上传,如有侵权请联系删除!