Raspberry Pi集群,神经元网络和大脑模拟

时间:2011-09-14 18:11:58

标签: arm cluster-computing supercomputers raspberry-pi

由于RBPI(Raspberry Pi)具有非常低的功耗和非常低的生产价格,这意味着可以构建一个非常大的集群。我不确定,但是一个100000 RBPI的集群只需要很小的功率和很小的空间。

现在我认为它在FLOPS或其他类型的计算测量方面可能没有现有的超级计算机那么强大,但它能否允许更好的神经网络模拟?

我不确定是否说“1 CPU = 1神经元”是一个合理的陈述,但似乎足够有效。

这是否意味着这样的聚类对神经元网络模拟更有效,因为它比其他经典聚类更加平行?

8 个答案:

答案 0 :(得分:20)

使用Raspberry Pi本身并不能解决构建大规模并行超级计算机的整个问题:如何有效地将所有计算核心连接在一起是一个非常大的问题,这就是为什么超级计算机是专门设计的,而不仅仅是由商品部件组成的。也就是说,研究单位真正开始将ARM核心视为一种节能计算能力来解决这个问题的节能方式:例如,这个项目旨在模拟拥有数百万个ARM内核的人脑。

http://www.zdnet.co.uk/news/emerging-tech/2011/07/08/million-core-arm-machine-aims-to-simulate-brain-40093356/“百万核心ARM机器旨在模拟大脑”

http://www.eetimes.com/electronics-news/4217840/Million-ARM-cores-brain-simulator“一百万个ARM核心来托管大脑模拟器”

这是非常专业的,定制的硬件,但从概念上讲,它与您建议的Raspberry Pis网络相距不远。不要忘记ARM内核具有JohnB提到的Xeon所具有的所有功能(高级SIMD而不是SSE,可以进行64位计算,重叠指令等),但是每个MIPS每瓦特的功能非常不同-spot:你有不同的选项来包含哪些功能(如果你不想要浮点数,只需买一个没有浮点的芯片),所以我可以看出为什么它是一个吸引人的选择,特别是当你考虑到这个功能时使用是超级计算机最大的持续成本。

答案 1 :(得分:4)

对我来说似乎不太可能是一个好/便宜的系统。 考虑一个现代的至强CPU。它有8个核心,以5倍的时钟速度运行,所以只需在这个基础上可以完成40倍的工作量。此外,它有SSE,似乎适合这个应用程序,并将让它并行计算4件事。所以我们的工作量可能高达160倍。然后它有多线程,可以进行64位计算,重叠指令等。我猜它会比这种工作快至少200倍。

然后最后,至少200个本地“神经元”的结果将在本地内存中,但在树莓pi网络上你必须在其中200个之间进行通信......这将非常慢。

我认为树莓派很棒并且肯定计划至少获得一个:P但是你不打算建立一个廉价而快速的网络,它们将与“真正的”计算机网络竞争:P

无论如何,这种东西最快的硬件很可能是显卡GPU,因为它可以并行运行多个小程序的副本。或者只是编写一个带有几百个“硬件”神经元副本的fpga。

答案 2 :(得分:4)

GPU和FPU做得比CPU好得多,支持CDUA编程的Nvidia GPU实际上有100个独立的处理单元。或者至少它可以使用像素管线的演变(其中卡可以并行渲染多个像素)以产生巨大的速度。 CPU允许一些核心可以执行相对复杂的步骤。 GPU允许100个线程执行简单的步骤。

因此,对于具有简单线程的任务,像单个GPU这样的事情将会使一组强大的CPU出现。 (或一堆树莓派)

然而,为了创建一个运行像“condor”这样的东西的集群,可以使用诸如疾病破坏建模之类的东西,在这种情况下你运行相同的数学模型数百万次,并且有不同的起点。 (外出的大小,风向,疾病的感染程度等等。)所以像Pi这样的东西是理想的。因为你一般都在寻找可以运行标准代码的完整CPU.http://research.cs.wisc.edu/condor/

这种方法的一些众所周知的用法是“Seti”或“在家折叠”(寻找外星人和癌症研究)

很多大学都有这样的集群,所以我可以看到他们中的一些尝试了多种Raspberry Pi的方法

但是,为了模拟大脑中的nurons,你需要在节点之间具有非常低的延迟,它们是特殊的操作系统和使多个系统作为一个系统的应用程序。您还需要使用特殊网络将其链接到收集,以便在节点之间提供延迟(< 1毫秒。

http://en.wikipedia.org/wiki/InfiniBand

Raspberry不会以任何方式管理它。

所以是的,我认为人们会用它们制作群集,我认为他们会非常高兴。但我认为更多的大学和小型组织。他们不会与顶级超级计算机竞争。

假设我们要对我们群集中的当前节点进行一些测试并测试它们,看看它们与具有决斗核心3.2ghz CPU且成本为650英镑的桌面进行比较!我估计我们可以获得25个Raspberries,它们将使用更少的功率,因此比较有趣。这将用于疾病爆发建模。

答案 3 :(得分:1)

我正在进行混沌时间序列预测(回波状态网络)领域的大量神经网络研究。 虽然我看到以这种方式使用树莓PI会比强大的cpu或GPU提供几乎没有好处,但我一直在使用树莓PI来管理模拟作业到多台机器的分配。大核心的处理能力优势将在树莓PI上实现,而不仅如此,但在此配置中运行多个PI会产生大量的开销,等待它们同步,数据传输等。 由于PI的低成本和稳健性,我让它托管网络数据的来源,以及将作业调解到代理机器。如果模拟失败使机器停机,它也可以硬复位并重新启动机器,从而实现最佳的正常运行时间。

答案 4 :(得分:0)

神经网络训练费用昂贵,但运行起来非常便宜。虽然我不建议使用这些(甚至聚集的)迭代无限时期的学习集,但是一旦你有权重,你就可以将学习努力转移到它们中。

以这种方式使用,一个覆盆子pi应该比单个神经元更有用。鉴于内存与CPU的比例,它可能会在其规模上受到内存限制。假设大约有300兆的可用内存(根据操作系统/驱动程序等不同而有所不同)并假设您正在使用8字节双精度权重,那么您将拥有5000个“神经元”的上限(在成为存储绑定之前),虽然有很多其他因素可以改变这种情况,但它就像是在问:“一条字符串有多长?”

答案 5 :(得分:0)

南安普顿大学的一些工程师建立了Raspberry Pi supercomputer

答案 6 :(得分:0)

我已经将一个尖峰网络(请参阅http://www.raspberrypi.org/phpBB3/viewtopic.php?f=37&t=57385&e=0了解详细信息)移植到Raspberry Pi,它的运行速度比2005年的旧Pentium-M笔记本慢24倍,具有SSE和预取优化功能。

答案 7 :(得分:0)

这一切都取决于你想要做的计算类型。如果您正在使用数字密集型算法,并且处理器高速缓存和RAM内存之间的内存移动不多,则会指示GPU解决方案。中间地带是使用SIMD汇编语言指令的英特尔PC芯片 - 您仍然可以轻松地受限于可以与RAM之间传输数据的速率。几乎相同的成本,您可以获得50块ARM板,每块板有4个内核,每块板有2Gb RAM。这是200核和100 Gb的RAM。每秒CPU和RAM之间可以混洗的数据量非常高。对于使用大权重向量的神经网络来说,它可能是一个很好的选择。此外,最新的ARM GPU和基于nVidea ARM的新芯片(用于平板电脑)也具有GPU计算能力。