14

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

现在我认为它在 FLOPS 或其他类型的计算测量方面可能不如现有的超级计算机强大,但它可以实现更好的神经网络模拟吗?

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

那么这是否意味着这样的集群对于神经元网络模拟会更有效,因为它比其他经典集群更并行?

4

8 回答 8

21

使用 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 Pi 网络不远。不要忘记 ARM 内核具有 JohnB 提到的 Xeon 所具有的所有功能(高级 SIMD 而非 SSE,可以进行 64 位计算、重叠指令等),但具有非常不同的 MIPS-per-Watt 甜蜜-spot:对于包含哪些功能,您有不同的选择(如果您不想要浮点,只需购买没有浮点的芯片),所以我明白为什么它是一个吸引人的选择,尤其是当您考虑到这种能力时使用是超级计算机最大的持续成本。

于 2011-09-28T19:29:34.387 回答
4

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

最后,至少 200 个本地“神经元”的结果将在本地内存中,但在 raspberry pi 网络上,您必须在其中的 200 个之间进行通信……这会慢得多。

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

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

于 2011-09-14T20:25:31.047 回答
4

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

因此,对于具有简单线程的任务,诸如单个 GPU 之类的东西将胜过强大的 CPU 集群。(或一堆树莓派)

但是,对于创建一个运行类似“condor”之类的东西的集群,可以将其用于疾病爆发建模之类的东西,在这种情况下,您正在以可变的起点运行相同的数学模型数百万次。(爆发的大小、风向、疾病的传染性等。)所以像 Pi 这样的东西是理想的。因为您一般都在寻找可以运行标准代码的完整 CPU。http://research.cs.wisc.edu/condor/

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

很多大学都有这样的集群,所以我可以看到其中一些正在尝试 mutipl Raspberry Pi 的方法

但是为了模拟大脑中的神经元,您需要节点之间的延迟非常低,它们是特殊的操作系统和使多重系统充当一个的应用程序。您还需要特殊的网络将其链接在一起,以使节点之间的延迟小于 1 毫秒。

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

覆盆子不会以任何方式解决这个问题。

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

假设我们将获得一些并针对我们集群中的当前节点进行测试,看看它们与具有双核 3.2ghz CPU 且成本为 650 英镑的台式机相比如何!我认为我们可以得到 25 个覆盆子,而且它们会消耗更少的能量,所以比较起来会很有趣。这将用于疾病爆发建模。

于 2012-03-01T21:54:46.563 回答
1

我在混沌时间序列预测(使用回波状态网络)领域进行了大量的神经网络研究。尽管我认为以这种方式使用树莓派 PI 与强大的 cpu 或 GPU 相比几乎没有好处,但我一直在使用树莓派来管理将模拟作业分配到多台机器。大内核的处理能力优势将在树莓派上实现这一点,不仅如此,在此配置中运行多个 PI 将产生等待它们同步、数据传输等的大量开销。由于低成本和稳健性PI,我让它托管网络数据的源,以及将作业调解到代理机器。

于 2012-07-04T15:12:12.507 回答
0

神经网络的训练成本很高,但运行起来却非常便宜。虽然我不建议使用这些(甚至是集群的)来迭代学习集以获取无穷无尽的时期,但一旦你有了权重,你就可以将学习努力转移到它们中。

以这种方式使用,一个树莓派对单个神经元的用处远不止于此。鉴于内存与 cpu 的比率,它可能会在其规模上受到内存限制。假设大约有 300 megs 可用内存(根据操作系统/驱动程序/等而有所不同)并假设您正在使用 8 字节双精度权重,您将有大约 5000 个“神经元”的上限(在成为存储限制之前),尽管有很多其他因素可以改变这一点,就像在问:“一根绳子有多长?”

于 2013-03-22T01:39:15.807 回答
0

南安普顿大学的一些工程师建造了一台 Raspberry Pi 超级计算机

于 2013-04-02T15:18:07.817 回答
0

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

于 2013-10-07T05:26:53.117 回答
0

这完全取决于您想要执行的计算类型。如果您正在执行数字密集型算法,而处理器缓存和 RAM 内存之间的内存移动不多,则表明使用 GPU 解决方案。中间立场是使用 SIMD 汇编语言指令的 Intel PC 芯片——您仍然很容易受到与 RAM 之间传输数据的速率的限制。以几乎相同的成本,您可以获得 50 个 ARM 板,每块板 4 个内核和每块板 2Gb RAM。那是 200 个内核和 100 Gb 的 RAM。每秒可以在 CPU 和 RAM 之间混洗的数据量非常高。对于使用大权重向量的神经网络来说,这可能是一个不错的选择。此外,最新的 ARM GPU 和基于 nVidea ARM 的新芯片(用于 slate 平板电脑)也具有 GPU 计算能力。

于 2014-10-26T04:29:47.790 回答