Кластер малины Pi, сети нейронов и моделирование мозга

Поскольку RBPI (Raspberry Pi) имеет очень низкое энергопотребление и очень низкую производственную цену, это означает, что с ними можно построить очень большой кластер. Я не уверен, но кластер из 100000 RBPI потребует мало энергии и небольшой комнаты.

Теперь я думаю, что это может быть не так мощно, как существующие суперкомпьютеры с точки зрения FLOPS или других видов вычислительных измерений, но может ли это позволить улучшить симуляцию нейронной сети?

Я не уверен, что если говорить "1 CPU = 1 нейрон", это разумное утверждение, но оно кажется достаточно допустимым.

Значит ли это, что такой кластер будет более эффективен для имитации нейронной сети, поскольку он гораздо более параллелен другим классическим кластерам?

Ответы

Ответ 1

Использование самой малины 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 для размещения мозговых симуляторов"

Это очень специализированный, на заказ аппаратный, но концептуально, это недалеко от сети Малины Писа, которую вы предлагаете. Не забывайте, что в ядрах ARM есть все функции, которые JohnB упомянул о Xeon (Advanced SIMD вместо SSE, может выполнять 64-битные вычисления, инструкции перекрытия и т.д.), Но сидеть на совершенно другом MIPS-ватт-сладком -spot: и у вас есть разные опции для того, какие функции включены (если вы не хотите с плавающей точкой, просто купите чип без плавающей запятой), поэтому я могу понять, почему это привлекательный вариант, особенно если вы считаете, что власть использование - самая большая текущая стоимость суперкомпьютера.

Ответ 2

Кажется маловероятным, чтобы быть хорошей/дешевой системой для меня. Рассмотрим современный xeon cpu. Он имеет 8 ядер, работающих в 5 раз по часовой стрелке, поэтому на этой основе можно делать в 40 раз больше работы. Кроме того, у него есть SSE, который, похоже, подходит для этого приложения и позволит ему вычислять 4 вещи параллельно. Таким образом, мы можем работать в 160 раз больше. Затем он имеет многопоточность, может выполнять 64-битные вычисления, инструкции перекрытия и т.д. Я бы предположил, что это будет по меньшей мере в 200 раз быстрее для такого рода работ.

Тогда, наконец, результаты по меньшей мере 200 локальных "нейронов" будут в локальной памяти, но в сети малины pi вам нужно будет общаться между 200 из них... Что было бы намного медленнее.

Я думаю, что малина pi великолепна и, безусловно, планирует получить хотя бы один: P Но вы не собираетесь строить дешевую и быструю сеть из них, которая будет конкурировать с сетью "реальных" компьютеров: P

В любом случае, самым быстрым аппаратным обеспечением такого типа, вероятно, будет графический графический процессор, поскольку он предназначен для одновременного запуска нескольких копий небольшой программы. Или просто запрограммируйте fpga с несколькими сотнями копий "аппаратного" нейрона.

Ответ 3

GPU и FPU делают это гораздо лучше, чем процессор, графический процессор Nvidia, поддерживающий CDUA-программирование, фактически составляет 100 отдельных процессоров. Или, по крайней мере, он может использовать эволюцию линий пиксельных труб (где карта может отображать параллельные пиксели параллельно), чтобы производить огромные конструсы по скорости. Процессор позволяет несколько ядер, которые могут выполнять повторяющиеся сложные шаги. GPU позволяет 100 потоков, которые могут выполнять простые шаги.

Итак, для задач, где у вас есть простые потоки, такие вещи, как один графический процессор, выйдут из заготовки кластера из усиленного процессора. (или стопкой малины pi)

Однако для создания кластера выполняется нечто вроде "кондора". Какой канд можно использовать для таких вещей, как Disease out break, где вы используете одну и ту же математическую модель миллионы раз с различными начальными точками. (размер разрыва, направление ветра, то, как инфекционное заболевание и т.д.), поэтому вещь, подобная Pi, была бы идеальной. так как вы вообще ищете полномасштабный процессор, который может запускать стандартный код .http://research.cs.wisc.edu/condor/

Некоторое известное использование этого подхода - "Seti" или "сворачивание дома" (поиск инопланетян и исследование рака)

У многих университетов есть такой кластер, что я вижу, что некоторые из них пытаются использовать mutipl Raspberry Pi

Но для имитации нейронов в мозге вам требуется очень низкая латентность между узлами, которые они представляют собой специальную ОС, и приложениями, которые делают системы mutiply одинаковыми. Вам также нужны специальные сети, чтобы связать его togather, чтобы обеспечить задержку между узлами в терминах < 1 м.

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

Малина просто не справится с этим.

Итак, я думаю, что люди сделают из них кластеры, и я думаю, они будут очень довольны. Но я думаю больше университетов и небольших организаций. Они не собираются конкурировать с топ-суперкомпьютерами.

Говоря о том, что мы собираемся получить несколько и протестировать их против наших текущих узлов в нашем кластере, чтобы увидеть, как они сравниваются с настольным компьютером, который имеет процессор 3.2GHz для дуэлей и стоимостью 650 фунтов стерлингов! Я считаю, что мы могли бы получить 25 малины, и они будут использовать гораздо меньше энергии, поэтому будет интересно сравнить. Это будет для моделирования вспышек заболеваний.

Ответ 4

Я занимаюсь большим количеством исследований нейронных сетей в области прогнозирования хаотических временных рядов (с сетями эхо-состояний). Хотя я вижу, что использование PI малины таким образом не принесет никакой пользы, если говорить о сильном процессоре или графическом процессоре, я использовал малиновый PI для управления распределением заданий моделирования на нескольких машинах. Преимущество в области обработки данных большого ядра приложит все возможное к PI малины, а не только к этому, но запуск нескольких PI в этой конфигурации приведет к большим накладным расходам, ожидающим их синхронизации, передачи данных и т.д. Из-за низкой стоимости и надежности PI у меня есть хостинг источника сетевых данных, а также посредничество в работе с агентами. Он может также жестко reset и перезапустить машину, если симуляция не позволяет машине спуститься с ней, что обеспечивает оптимальное время безотказной работы.

Ответ 5

Нейронные сети дороги для обучения, но очень дешевы для работы. Хотя я бы не рекомендовал использовать эти (даже кластерные) итерации по набору обучения для бесконечных эпох, как только у вас есть веса, вы можете перенести в них учебное усилие.

Используется таким образом, один малиновый пи должен быть полезен гораздо больше, чем один нейрон. Учитывая отношение памяти к процессору, она, скорее всего, будет связана с памятью в масштабе. Предположим, что для работы с 300 мегабайтами свободной памяти (которые будут варьироваться в зависимости от ОС/драйверов и т.д.), И если вы работаете с 8-байтовыми весами с двойной точностью, у вас будет верхний предел порядка 5000 "нейронов" ( прежде чем стать хранилищем), хотя многие другие факторы могут изменить это, и это похоже на вопрос: "Как долго длится строка?"

Ответ 7

Я портировал spiking-сеть (см. http://www.raspberrypi.org/phpBB3/viewtopic.php?f=37&t=57385&e=0 для получения подробной информации) к Малиновой Пи, и она работает примерно в 24 раза медленнее, чем на моем старый ноутбук Pentium-M с 2005 года с оптимизацией SSE и предварительной выборки.

Ответ 8

Все зависит от типа вычислений, которые вы хотите сделать. Если вы выполняете очень численно интенсивные алгоритмы с небольшим перемещением памяти между кэшами процессора и оперативной памятью, тогда указывается решение графического процессора. Среднее заземление - это чип Intel PC с использованием инструкций языка ассемблера SIMD - вы все же можете легко ограничить скорость передачи данных в ОЗУ и из нее. По почти той же цене вы можете получить 50 плат ARM с 4 ядрами на плату и 2 ГБ оперативной памяти на плату. Это 200 ядер и 100 ГБ ОЗУ. Количество данных, которые можно перетасовывать между CPU и оперативной памятью в секунду, очень велико. Это может быть хорошим вариантом для нейронных сетей, которые используют большие весовые векторы. Кроме того, новейший графический процессор ARM и новый чип на базе nVidea ARM (используемый в планшетном планшете) также имеют графический процессор.