【导读】俄罗斯的科学家开发出一种超导内存单元的控制系统,只需不到1纳秒(ns)的时间,就能实现较当今所用的类似内存更快几百倍的读取与写入速度。
来自莫斯科物理技术学院(MIPT)与莫斯科国立大学(Moscow State Univeristy)的科学家在最近一期的《应用物理快报》(Applied Physics Letters)中发表这项研究成果。
这项理论性的研究成果预测在复杂的Josephson Junction超导组件中存在双稳态状态。建置这种组件可能需要进行超冷却作业,使其无法真正落实于某些应用。
由 MIPT超导系统量子拓扑现象实验室(Laboratory of Quantum Topological Phenomena in Superconducting Systems)主任Alexander Golubov为首的一支研究团队,提出了一种在Josephson Junction类型组件中基于量子效应的内存单元,这是一种“超导体—电介质—超导体”结构的夹层,在接合点的一侧包括了铁磁体和一般金属的组合。这 应该是一种可透过横向注入电流于结构中,从而实现在2种状态(1与0)之间切换的双稳态。透过电流流经该接合点,该系统的状态能够因此实现非破坏性读取。
读取内存单元各种不同状态时的超导电流;如图所示,电流越大,箭头也就越大
取决于所使用的材料以及特定系统的几何结构,所需的读写作业速度预计约几百皮秒(ps)。
Golubov解释,“此外,我们的方法只需要一种磁性层,这表示它可能适应所谓的单通量量子逻辑电路,也就是说不必再为处理器建立一种全新的架构。基于单通量量子逻辑的计算机可实现高达几百兆赫(GHz)的频率速度,而且功耗更降低了几十倍。”
Theano,由蒙特利尔大学开发,其正在研发的gpuarray后端对OpenCL提供非正式支持。
DeepCL,由Hugh Perkins开发的OpenCL库,用于训练卷积神经网络。
对于刚进入此领域、希望选择工具的人来说,我们的建议是从Caffe开始,因为它十分常用,支持性好,用户界面简单。利用Caffe的model zoo库,也很容易用预先训练好的模型进行试验。
增加训练自由度
有人或许以为训练机器学习算法的过程是完全自动的,实际上有一些超参数需要调整。对于深度学习尤为如此,模型在参数量上的复杂程度经常伴随着大量可能的超参数组合。可以调整的超参数包括训练迭代次数、学习速率、批梯度尺寸、隐藏单元数和层数等等。调整这些参数,等于在所有可能的模型中,挑选最适用于某个问题的模型。传统做法中,超参数的设置要么依照经验,要么根据系统网格搜索或更有效的随机搜索来进行。最近研究者转向了适应性的方法,用超参数调整的尝试结果为配置依据。其中,贝叶斯优化是最常用的方法。
不管用何种方法调整超参数,目前利用固定架构的训练流程在某种程度上局限了模型的可能性,也就是说,我们或许只在所有的解决方案中管窥了一部分。固定架构让模型内的超参数设置探究变得很容易(比如,隐藏单元数、层数等),但去探索不同模型间的参数设置变得很难(比如,模型类别的不同),因为如果要就一个并不简单符合某个固定架构的模型来进行训练,就可能要花很长时间。相反,FPGA灵活的架构,可能更适合上述优化类型,因为用FPGA能编写一个完全不同的硬件架构并在运行时加速。
低耗能计算节点集群
深度学习模型最让人着迷的就是其拓展能力。不管是为了从数据中发现复杂的高层特征,还是为数据中心应用提升性能,深度学习技术经常在多节点计算基础架构间进行拓展。目前的解决方案使用具备Infiniband互连技术的GPU集群和MPI,从而实现上层的并行计算能力和节点间数据的快速传输。然而,当大规模应用的负载越来越各不相同,使用FPGA可能会是更优的方法。FPGA的可编程行允许系统根据应用和负载进行重新配置,同时FPGA的能耗比高,有助于下一代数据中心降低成本。
结语
相比GPU和GPP,FPGA在满足深度学习的硬件需求上提供了具有吸引力的替代方案。凭借流水线并行计算的能力和高效的能耗,FPGA将在一般的深度学习应用中展现GPU和GPP所没有的独特优势。同时,算法设计工具日渐成熟,如今将FPGA集成到常用的深度学习框架已成为可能。未来,FPGA将有效地适应深度学习的发展趋势,从架构上确保相关应用和研究能够自由实现。