Как стать автором
Обновить

Комментарии 20

НЛО прилетело и опубликовало эту надпись здесь
+1. Очень интересует этот вопрос
НЛО прилетело и опубликовало эту надпись здесь
> Результат оказался в 1/6 раз лучше.

http://img0.joyreactor.cc/pics/post/full/Чилик-Комиксы-3134922.jpeg
Ну оказался результат всего в 6 раз хуже, ничего страшного…
USB ускоритель для нейросетей на aliexpress есть, называется CM1K.
не могу найти сравнения работы этих устройств с решениями на основе x86 процессоров и opencl gpu
судя по спецификации чипа они не содержат огромного количества нейронов (1к штук и 30к категорий классификатора, я так понял они програмируемые), единственный бонус — низкое энергопотребление, но при высокой цене оно нивелируется.
Есть еще другая недавняя разработка — в Манчестере сделали чип SPINNAKER, на базе которого собрали 6 шкафов двухметровой высоты с 500тыс цифровых нейронов. Каждый нейрон — ядро ARM996, на кристалле их уместилось 16 или 18, не помню.
Интересно, что все эти нейросети как известный М-драйв — вроде бы работают, но никто не понимает как :) нет законченной теории нейросетей, все строится на экспериментах.
Вот к примеру, этот аналоговый нейровычислитель явно экономнее и быстрее шкафа на ядрах АРМ, на много-много порядков. Тогда почему в Манчестере построили шкаф, а китацы сделали аналоговую схему??
Нейросетями занимаются уже лет 50, и до сих пор четко не доказана ни их эффективность, ни способ реализации. Все это очень занимательно, но околонаучно, имхо.
Нейросети — это не то, что собрал, и оно начинает работать. Под каждую архитектуру нейросети (архитектура определяет и устройство нейрона, и топологию самой сети) подбирается задача, её представление в виде входных сигналов и способ «обучения» (способ настройки весов синапсов и других параметров, если они есть, по набору эталонных данных задачи). Потому нельзя сказать, что чип круче шкафа, там различия не только в железе, но и в самой задаче (и в команде специалистов, занимающихся проектированием решения). И вы правы, нейросети сейчас переживают второе рождение, и куча энтузиастов ищут «философский камень» сразу во всех направлениях, и даже в тех, в которых надёжных научных теорий ещё нет. Экономическая выгода первенства в решении практических задач в большинстве случаев важнее, чем «научная чистота».
В этом и проблема, что «подбирается». Напридумано множество реализаций казалось бы одного и того же — аналога живого нейрона, причем эти реализации настолько разные, что просто диву даешься. В аналоговых реализациях все притянуто за уши к схематехнике, в цифровых — к возможностям аппаратуры, топология сети — разнится от задачи к задаче, а в основе что, теория? Но теории ведь нет, все рекомендации получены экспериментально, методом проб и ошибок. Я вовсе не против нейросетей, но с очень большим подозрением отношусь к разработкам со столь сырым бэкграундом. Будет готова теория, тогда другое дело.
Рождение отнюдь не второе, первый раз я столкнулся с нейросетями больше 20 лет назад, и тогда волна их популярности была уже далеко не первая. Насколько я знаю, нейросетями занимались и в СССР, и в РФ в 90е даже что то на ПЛИС делали. Но поскольку военные не ведутся на популизм — им подавай факты и доказательства, то так все и заглохло.
Вы, наверное, поседеете, когда узнаете о вычислительной математике и о невозможности аналитического решения широчайшего класса практических математических задач людей. Нейросеть в этом смысле вовсе не «ужаснее» метода Ньютона для нахождения корней сложных функций.
О математике, использующейся в нейросетях? Это и есть корень проблемы. Нет теории — нет математики, и каждый в результате творит что хочет, в меру своей фантазии.
По большому счету, нейросеть — это всего лишь обучаемый фаззи контроллер, задачи его понятны и с помощью нечеткой логики решаемы. Проблема только только в обучении.
О математике, в которой нейросети — лишь капля в море: https://ru.wikipedia.org/wiki/Вычислительная_математика
Toshiba — не китайцы.
Ядро ARM996 было выпущено 10 лет назад не является оптимизированным по энергоэффективности, возможно его выбрали потому, что лицензия была дешевой/бесплатной.
Аналоговый вычислитель сделать всегда сложнее цифрового.
Важным моментом будет скорость шины, возможно у старого дохлого ядра есть серьезные ограничения.
Разработку возглавлял человек, стоящий у истоков ARM — Steve Furber, так что вопросов с лицензией, думаю, не стояло. Ядро очень древнее, и без FPU, но зато частоту 200 МГц вытянули (130нм тех. процесс).
Шина использовалась двупроводная — асинхронный последовательный канал. Таким образом они эмулировали связи между нейронами. В результате, эти шкафы иначе как в качестве нейросети использовать нельзя. Видимо, сэкономили на корпусе — меньше выводов делать надо было.

Что проще делать — аналоговый вычислитель, или цифру, не скажу, не знаю. Процессоры проектировал, а вот нейросети не приходилось. Но чисто из общих соображений: в аналоговом вычислителе один кондесатор заменяет целый сегмент памяти, а куча логики логики заменяется RC-цепочками. Учитывая, что проектируют такие вещи с использованием шаблонов — должно по идее быть и быстро, и не сложно, и итоговое количество транзисторов снижается на несколько порядков по сравнению с цифрой.
Так этот специализированный чип изначально начинали проектировать тоже немногим меньше 10 лет назад. На момент начала работы это было относительно современное ядро.
Там еще и старый 130нм техпроцесс используется.

Все дело не в лицензии а в строимости проектирования и запуска производства партии чипов. Для старых технологий разовые (не зависящие от объема тиража) расходы низкие. Всего порядка нескольких десятков тысяч долларов + плата за каждую изготовленную пластину с чипами. Тогда как для самых современных счет может идти на несколько миллионов долларов + плата за каждую пластину.

Это оправдано, когда речь идет о производстве какого-нибудь массового ширпотреба — эта стоимость размажется тонким и почти незаметным слоем по десяткам миллионов произведенных одинаковых чипов.
Но если нужно выпустить какой-то сильно специфический чип под конкретный проект, которых нужно всего несколько тысяч, максимум десятков тысяч штук — это неприемлемо. Чипы «золотые» получатся.

Ну а энергоэффективности они добились простыми методами — понижением тактовой частоты и рабочего напряжения. В результате чип с 18 ARM ядрами, кэш памятью в каждом ядре(32+64 КБ) и 128 МБ обшей памяти потребляет всего около 1 Вт. Суперкомпьютер на миллион таких ядер, способный моделировать сеть из более миллиарда нейронов в реальном времени потреблял бы около 50 кВт — примерно на 2 порядка меньше чем универсальный суперкомпьютер построенный на современных процессорах и моделирующий такую сеть чисто программно (без оптимизации своей архитектуры под нейронные сети)

Если бы финансирование проекта не срезали, то после периода испытаний и подтверждения эффективности такого подхода были планы переделать под более современное ARM ядро (правда сильно упростив его/повыкидав все «лишнее» их него) и перевести на более менее современный тех-процесс (28-32 нм) запихнув в один чип уже больше 100 ядер и еще больше встроенной памяти. Ну и с большей серией чипов, которых хватило бы для постройки машины разумных размеров и энергопотребления способной в реальном времени крутить ИНС уровня сложности примерно соответствующей человеческому мозгу.
НЛО прилетело и опубликовало эту надпись здесь
Эм, вы путаете. Там не 500 тыс. нейронов, а именно 500 тыс. ярм-ядер (+32 кб SRAM памяти интегрированных в каждое ядро, + 128 МБ общей DRAM памяти на каждый кристалл из 18 ядер).
Одно такое ядро с интергрированной памятью по стандартным алгоритмам способно эмулировать работу сразу 1000 нейронов и около 100 тысяч синапсов в реальном времени и потребляет всего около 0,06 Вт электроэнергии (около 1 Вт на весь кристалл из 16+2 ядер и встроенной памяти).

Так что этот «шкаф» несмотря на то что он производен по устаревшим технологиям способен моделировать нейронную сеть из 500 миллионов нейронов. Полная версия машины, когда ее доделают будет больше миллиарда нейронов в реальном времени моделировать.
Причем алгоритмы можно менять на ходу — ядра то универсальные, просто меняй исходный код, перекомпилируй и запускай заново. То что нужно для научно-исследовательских проектов.

Тогда как на таких «аналоговых нейровычислителях» редко когда больше 1 миллиона нейронов реализовано — на 3 порядка меньше. Причем реализовано аппаратно с жестко фиксированными свойствами (моделью работы нейрона) — надо что-то изменить в модели? Проектируй и запускай в производство новую серию чипов, а старую можешь выкинуть.
Ошибся, прошу прощения, даже на википедии написано про эмуляцию 1000 нейронов. И ядро ARM там другое — 968.
Любопытно, что они полностью самосинхронный NoC сделали. Видимо очень быстрый интерфейс получился, поскольку накладные расходы у такого решения — 2 такта на пересинхронизацию на каждой стороне. Надо будет почитать еще про этот чип, много интересных решений. Спасибо за наводку!
Подскажите, при создании нейрочипа речь идет только о реализации в железе быстрой нейросети (на вход подаем входы, на выходе — выходы), соответственно масштабируемой количественно (подаем 100500 входов, получаем сразу 100500 выходов) или каждый чип еще и самообучение умеет проводить каким-нибудь методом, т.е. мы подаем чипу еще и обучающую выборку?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории