← Выучится всё! Нейронное арифметико-логическое устройство
Обсуждение
Читать и комментировать в ЖЖ ↗
Вот бы ещё табличку из трёх строчек: NALU;; FPGA/CPLD;; ASIC/GP;;
и столбцов MIPS/FLOPS per Watt и *** per mm2 | mm3
Особенно в вариантах с ECC и/или прочего Рида-Соломона
Комментарий
Очень быстро устареет...
Комментарий
/// Очень быстро устареет... ///
В соотношении? Не думаю.
Даже железно-реализованная тернарная логика при кремниевой компиляции занимает примерно столько же квадратов, что и эквивалентная бинарно-векторная.
А про соотношение скоростей работы/тактирования одних и тех же IP-ядер в софте, FPGA и ASIC я в другом месте отметился.
Скорострельность сложных мульти-FSM типа OpenSPARC , реализованных "в масках" и FPGA различается раз в 5 как минимум. DSP — ещё на порядок хуже. Даже вроде как заточенный-под-Xilinx спецпроцык NIOS-II после конверсии в маски становится на порядок быстрее.
А ведь разница между ASIC и FPGA — всего лишь замена медных проводов мультиплексорами на КМОП-транзисторах с крохотным импедансом. А не два слоя виртуализации, как в NALU.
Комментарий
При этом сама работа NALU нигде-нигде не обсуждается как аппаратная основа реализации ALU. Обсуждается теоретический вопрос: как выбор функции активации (одной из десятков и десятков) в качестве явного innate prior влияет на результаты обучения. Ответ: влияет, и сильно. Показано на простейшем примере: выучиваемость понятия числа, с которым возможны какие-то операции. Замечу, что первый эксперимент с глубокой сетью было выучивание XOR, это доказывало некоторые теоретические свойства сети. Никому и в голову не приходило делать гейты XOR на глубоких сетях. Идёт обсуждение про реализацию в кремнии NALU, а при чтении материала про выучивание XOR глубокой сеткой такого обсуждения не было?
Вот справочная первая попавшаяся на глаза ссылка на работу по этому XOR -- тысячи их, https://medium.com/@jayeshbahire/the-xor-problem-in-neural-networks-50006411840b. А теперь появилась работа по NALU, из того же ряда. Без малейшего намёка на то, что это будет использовано для аппаратных реализаций именно ALU. Но говорится, что при работе с аппаратными реализациями вид активационной функции оказывается важным и нельзя считать какие-то решения универсальными для разных типов задач. Innate priors важны, от них нельзя отмахнуться.
Комментарий
Да это понятно.
И тем не менее, лично я сплю и вижу день, когда будет создана
Общая Теория Всего
Универсальная Вычислительная Ячейка.
/// Без малейшего намёка на то, что это будет использовано для аппаратных реализаций именно ALU. ///
А напрасно.
Ведь по большому счёту "цифровые" схемы — они на самом деле аналоговые, просто на выходе каждой операции производится жёсткая дефаззификация.
1) Выбор вида активац функц сродни выбору вида функц фаззификации/дефаззификации в нечетких алг. (ИРЛ просто подмножество, хотя некоторых это отношение почему-то раздражает;)
2) всё равно реализация в самом низу опирается на физику.
Кормой чую, что и нейро-, и прочие фаззи- уже при нашей жизни научатся реализовывать не в цифре, и даже не в каких-нибудь OpAmp-схемах и плавающих затворах, а прямо "в теле" на неких физ.эффектах. Вона их сколько, даже в справочнике 70х годов больше пятисот было. Ну и спецматериалы соответствующие должны появиться.
И соотв функции (и соотв модели вычислений) придется подгонять под используемые физ.эффекты. Неплохо было бы заранее знать, чего от кого ожидать.
Фабула:
— сейчас мы "физикой-на-самом-дне" делаем аналоговое вычисление;
… потом (в _каждом_ логич. элементе!) дефаззифицируем в цифру (убирая ошибки/снижая неопределённость);
… … потом уже на цифровых схемах эмулируем "аналоговое" фаззи-;
… … … затем (уже на уровне "полезного результата") снова из нечеткого делаем "жесткие" сигналы, терминируя сигналы-результаты вычисления на исполнительных устройствах.
Возможно, есть смысл вывернуть эту схему наизнанку; по кр. мере уметь это делать тогда, когда нам этого захочется, без значительных разрывов-в-affordances и накладных расходов.
— - — - — - — - — - — - —
ПС. Что-то у меня дежа-вю висит. Мы это уже обсуждали недавно?
Комментарий
Вот так рассказанное -- уже ничему не противоречит, ибо так и идёт. Дежавю из-за того, что тема аналоговых нейронных сеток активно разрабатывается: мемристоры с повышенной точности вольт-амперной характеристикой, оптика и квантовые компьютеры тут ведут. Вот обзорчик -- http://iopscience.iop.org/article/10.1088/1361-6463/aac8a5/pdf (но там такой темп исследований, что он устарел уже, например появилось вот: https://www.nature.com/articles/s41467-018-04484-2). Вот, например, оптика (и если не печатать слои, а использовать какие-нибудь продвинутые LCD или их аналоги, то всё неожиданно может стать жарким): https://habr.com/post/418847/
Но уж точно не NALU реализовывать для последующей обработки цифр! Ибо в этом исследовании обсуждается совсем другой вопрос: влияние innate priors на выучивание тех или иных представлений (чем что можно выучить), а не идеи о том, как снизить мощность и поднять скорость (чем учить, чтобы в среднем было подешевле и побыстре)!
Комментарий
Вопрос может и совсем другой, но в итоге-то к практике будет подведено.
В т.ч. и к практике "регулярные/мало-сортные структуры лучше иррегулярных разносолов просто потому что регулярные; даже если в локалитетах работают хуже". По кр. мере в пром-индустриальной фазе это так (с оговорками, в пределах etc).
А может я вообще не о том распинаюсь, вы уж простите).
Комментарий
про скорость прогресса:
https://lenta.ru/articles/2018/08/10/poekhaly/
Проникновение прогресса в эстонское общество, конечно, не было абсолютно гладким. В стране уже зарегистрировано первое ДТП с участием беспилотного аппарата. К счастью, это был не автобус, а автоматический курьер — шестиколесная тележка, доставляющая грузы весом до десяти килограммов.
Такой беспилотник передвигается по тротуарам и велосипедным дорожкам, а автомобильные дороги может пересекать по пешеходным переходам. На одном из таких переходов, который робот законопослушно пересекал на зеленый сигнал светофора, его сбил нарушитель на автомобиле. Робот-курьер перевернулся, но не пострадал и вскоре вернулся к работе.
Еще один беспилотный курьер подвергся нападению неадекватного гражданина. Инцидент произошел в столичном районе Какумяэ: на пути прогресса встал местный житель в состоянии алкогольного опьянения. На почве внезапно возникших неприязненных отношений (как это часто бывает в таком состоянии) он напал на робота и несколько раз ударил его ногой по корпусу.
Антивандальное устройство выдержало этот натиск, и тогда гнев дебошира обратился на получателя посылки, который, в отличие от механического курьера, получил более серьезные повреждения. Прибывшие на место полицейские обезвредили хулигана, а робот отправился на базу своим ходом.
Комментарий
Скучно.
Ждём попыток изнасилования.
Ещё интереснее будет посмотреть на попытки развращения.
Комментарий
Реализовывать ИИ в железе, особенно в физ. эффектах, не имеет смысла сейчас, потому что алгоритмы меняются каждый год, а создание такого железа занимает несколько лет.
Комментарий
Если бы до эпохи wintel люди опирались на такие рассуждения, то и железа для классических компьютеров бы не было ))) Wintel побеждал в довольно жёсткой конкуренции, существенно меняясь по пути.
Комментарий
Ни до, ни после "эпохи Wintel" никто не делал железа для, скажем, конкретных алгоритмов сортировки данных. А если кто и делал то быстро оставался в забвении. Точно также остались в забвении все те кто строил железо для нейросеток в последние 30 лет. А вот архитектуру фон Неймана в железе воплощали, ибо универсальна. Вот когда кто-нибудь (например Нумента) разработает такую архитектуру для ИИ, то и будет что реализовывать. А пока, ждем-с.
Комментарий
Железо фон-неймана это одно из. Есть гарвардская архитектура, были лисп-машины, была Motoroa 68000, варианты RISC. Это с высоты птичьего полёта в классическом компьютерном железе всё одинаковое. Но нет.
Комментарий
/// никто не делал железа для, скажем, конкретных алгоритмов сортировки данных. ///
Делали. К примеру, платы-"транспьютеры" в эпоху 386-486, которые давали прирост на несколько порядков в алгоритмах (то что я знаю/щупал):
— адаптивной/эвристической трассировки печатных плат
— перебалансировки/отсечения арных деревьев (конкретно октарных при realtime-обработке 3D-сцен в профессиональных симуляторах самолетовождения/кораблевождения)
— расчётов молекулярной кинетики
— ввода и первичной обработки потоков данных в научных/испытательных измерениях (и по сей день продаются такие платы под VME-крейты, за бешеные деньги)
/// А вот архитектуру фон Неймана в железе воплощали, ибо универсальна. ///
Видимо, вы не в теме.
1) процессоров Гарвардской архитектуры на этой планете _поштучно_ стоит на несколько _порядков_ больше, чем фНеймана. Самих типов архитектур (ядер/APX) — десятки.
2) к примеру, в DSP мало того что сплошь и рядом трехадресный/VLIW Гарвард. так ещё и с кучей "вне-архитектурных" плюшек типа условного выполнения, эксплицитной зависимости по данным, хитромудрых битовых юнитов, АЛУ с сатурацией и подшумлением младших битов, etc
3) Практически все специальные приложения (измерительные приборы, сетевое оборудование, защита информации) используют не-универсальные процессоры. Рынок FPGA — хорошая демонстрация этого тезиса.
Я сам когда-то прикидывал хрен к носу за слепить специальный кеш-контроллер для БД со встроенным балансировщиком деревьев на PCIX-FPGA board'е, но ценник на готовый девайс зашкаливает, а саморобный запросто сожрёт несколько лет жизни.
/* идея: подпитанный аккумом большой пул памяти на рядовых ECC DDR. и перед ним спецпроцессор сугубо для индексов БД, со встроенной нерядовой математикой типа fuzzy/regexp'ов; для начала 2000х это ещё имело некоторый смысл, но менее чем через десять лет уже стало проще вынести то же решение на комодную платформу (или не совсем комодную: я для экспериментов держу пару IBM Power6 систем и пару UltraSPARC T5120 со 128GB) */
Комментарий
/// а создание такого железа занимает несколько лет. ///
Смотря что создавать.
Можно и в тысячу жопо-лет не вложиться.
Я вообще об "элементарных кубиках" говорил; аналоги из классики: регистры, счётчики, бит-логика.
Комментарий
Делали ...
Все это перечисленное либо не меняется каждый год, либо осталось в забвении. Или я не прав?
процессоров Гарвардской архитектуры
Универсальное != единственное. К сожалению, в области ИИ нет еще стабильных универсальных архитектур, готовых к воплощению (даже в софте). Это как если бы мы хотели построить компьютер имея только смутное представление о том как лучше посчитать 2+2. Если поспешить, может получиться десятичный сумматор с последовательным переносом. В железе. А через год люди изобретут префиксный двоичный.
не-универсальные процессоры. Рынок FPGA
FPGA это самый что ни на есть универсальный процессор, на нем что фон неймана, что сверточную сетку можно гонять. Прекрасен для prototyping. Особенно если возникло желание воплотить какой либо ИИ алгоритм в железе.
для начала 2000х это ещё имело некоторый смысл, но менее чем через десять лет уже стало проще вынести то же решение на комодную платформу
Это вроде поддерживает мой тезис, или я неправильно понял?
Комментарий
Даже с элементарными кубиками ничего не ясно. Spiking vs non-spiking? Required signal precision? Activation functions?
Я это говорю как аспирант разрабатывающий эти кубики последние 5 лет.
Комментарий
/// Все это перечисленное либо не меняется каждый год, либо осталось в забвении. Или я не прав? ///
x86 — самая тупая, кривая, мерзкая и конченая архитектура из производившихся в последние 40 лет.
Но "победила" она.
Комментарий
/// FPGA это самый что ни на есть универсальный процессор ///
Речь не о самих FPGA, а о том, что на них строят спецпроцессоры.
Например, канальные, когда пул обработчиков через аппаратную диспетчеризацию подключается к пулам аппаратных буферов IO.
/* Я когда-то по такой схеме гибридный MIDI/sound процессор для музыциантов проектировал — синтезаторы, кибераккомпаниаторы, психоакустические процессоры, сценический свет и т.п. Как обычно, финансирование "от заказчика" закончилось, не начавшись, и собственные инвестиции ушли коту под хвост /Х — ценник на eval/devel комплекты на вещи типа AD Sharc и i960 (StrongARM появился позже старта прожекта) в середине 90х был довольно обидный, даже за документацию надо было платить достаточно ощутимые для жителя СНГ деньги (сотни уе). */
Комментарий
/// Это вроде поддерживает мой тезис, или я неправильно понял? ///
Нет, конечно.
Транспозиция вашего тезиса: "мыть руки и чистить зубы не нужно, всё равно мы все умрём".