2014年1月12日星期日

群集集群

可以肯定的是,在不久的将来,数据将继续在群集文件系统(例如HDFS)中累积,这些文件系统由具有以太网互连功能的商用多核CPU驱动。这样的集群相对便宜,容错,可扩展,并且有大量的系统研究人员正在研究它们。

几年前,可以肯定的是,机器学习的迭代处理工作负载将越来越多地迁移到可以在数据所累积的同一硬件上运行,毕竟,我们要“将代码移至数据”。现在看起来不太清楚。当深度学习通过利用GPU跃升至多个基准数据集的前端时,就出现了这种世界观的第一个严峻挑战。 院长等等 开始使用具有以太网互连功能的大型多核CPU群集来复制并超越这些结果,并且尽管成功了,但所需的硬件数量却令人惊讶。然后 科茨(Coates)等。等 通过密切关注通信成本(通过以通信友好的格式布置模型,抽象通信原语并利用Infiniband互连),使用少得多的机器即可获得可比的结果。

是科茨等人。等为深度学习提供定制解决方案?有趣的是 坎尼和赵 他们得出类似的结论“squaring the cloud”论文,他们根本没有明确提到神经网络。这是论文的关键语录:
“快速混合算法(SGD和MCMC)尤其会遭受通信开销的困扰。加速通常是$ n $的子线性函数$ f(n)$,因为网络容量会在更大范围内减小(典型的近似值是$ f(n)= n ^ \ alpha $对于某些$ \ alpha<1 $)。这意味着云计算的成本增加了$ n / f(n)$倍,因为总工作量增加了该倍数。能源使用量类似地增加相同的因素。相比之下,单节点速度提高$ k $意味着在成本和功耗上节省了简单的$ k $倍。”
换句话说,对于我们真正关心的某些算法,通过将通信成本视为主要因素,您可以用更少的机器做等效的工作,从而降低总成本。

所以这就是我所看到的当前状态。仍然有许多算法可以在运行分布式文件系统的同一硬件上最高效地运行,例如, ADMM系列,其中包括L1正则化logistic回归等美味商品。但是,也会有一些经济利益很高的算法无法正确地映射到此类硬件上。因此,我们应该期望看到数据中心正在部署“HPC islands”由相对较少的机器组成,这些机器装满了矢量化处理器,高带宽(至矢量化处理器)内存和快速互连。这些类型的集群在某些社区(例如高能物理研究人员)中很受欢迎,但是现在面向消费者的互联网公司将广泛采用此技术。

These HPC岛屿 do not need to stage all the data they are working on before they start doing useful work, e.g., SGD algorithms can start as soon as they receive their first mini-batch. 咖啡 and a single K20 can train on Imagenet 在 7ms per image amortized, which works out to roughly 40 megabytes per second of image data that needs to be streamed to the training node. That's not difficult to arrange if the HPC island is collocated with the HDFS cluster, and difficult otherwise, so the prediction is near the HDFS cluster is where the HPC岛屿 will be. Of course the HPC island should have a smart caching policy so that not everything has to be pulled from HDFS storage all the time. A 智能缓存策略将是任务感知的,例如,利用 主动学习 最大限度地提高HDFS和HPC岛之间的信息传输。

对这样一个异构系统进行编程将非常具有挑战性,这将为处于适当位置的个人提供大量机会。

没意见:

发表评论