Вычисления в памяти, или аналоговое снова в моде

Автор: Kreator_VA. Сегодня люди даже крайне далекие от современных технологий что-то слышали про нейронные сети и искусственный интеллект (ИИ). Их присутствие в нашей жизни становится всё больше: от голосовых ассистентов и фильтров в социальных сетях до серьезных профессиональных программ. Спектр их применения только растёт, однако их потенциал всё ещё сильно ограничен существующими вычислительными возможностями.

Подход, используемый в нейронных сетях, называется коннективизм. Это значит, что нейронные сети “программируются” с помощью связей между нейронами (синапсы), а точнее силой этой связи. Сигнал, подаваемый на вход системы, проходя через синапс, умножается на его “вес”. К одному нейрону, как правило, подходит несколько синапсов, и значения их выходов суммируются, а к сумме применяется некоторая нелинейная функция. Таким образом, большая часть операций вычисления нейронной сети сводится к произведению и сложению (multiplication accumulation – MAC). Для нейронных процессоров MAC является одним из важнейших параметров для определения производительности.

pamyat1.png

При цифровой реализации “вес” удобно хранить в памяти компьютера в двоичном виде. Однако количество этих “весов” может измеряться миллиардами, так что хранить всё это в кэш-памяти процессора может быть затруднительно. Из-за этого приходится задействовать оперативную память или даже SSD. Однако с этим связано несколько проблем.

Во-первых, процессору всё время приходится обращаться к памяти сперва для переноса данных в процессор, а потом для переноса результатов вычисления обратно в память. В итоге на сегодняшний день такой подход, вызванный использованием архитектуры Фон Неймана, приводит к тому, что большая часть энергии при выполнении задачи затрачивается не на само вычисление, а на постоянный перенос данных от памяти к процессору.

Во-вторых, это также накладывает ограничения на скорость выполнения. Вычисления в современных процессорах происходят по большей мере последовательно, что, несмотря на высокую тактовую частоту и даже наличие нескольких ядер, сильно ограничивает пропускную способность. Куда лучше себя показали видеокарты благодаря большей параллельности вычисления, но проблема тепловыделения и энергоэффективности всё ещё актуальна и для них.

Не слишком эффективны и тензорные процессоры. В 2016 году ИИ от Google DeepMind победил лучшего игрока китайской настольной игры Го, что на самом деле, стало значимым событием, так как считается, что данная игра требует более творческого подхода по сравнению с шахматами. Однако стоит обратить внимание на затрачиваемую энергию двух соперников. Человеческий мозг потребляет около 20 Ватт, в то время ИИ, работающий на тензорных процессорах, около 1 Мегаватта! Кроме того, для выполнения одного MAC в тензорном процессоре понадобится не менее сотни транзисторов, что не так мало, учитывая общее количество операций, и, как мы скоро убедимся, есть более компактные решения.

pamyat2.png

Избежать узкое место архитектуры Фон Неймана можно было бы перенеся вычисления непосредственно в память. Как это, например, и происходит в биологических нейронных сетях. Но, прежде чем изучить имеющиеся на сегодняшний день решения, рассмотрим причины роста популярности и доминирования цифровой электроники.

Достоинства и причины успеха цифровой электроники

В последние десятилетия цифровая электроника приобрела большую популярность благодаря многим её неоспоримым достоинствам. Так, например, данные, записанные в цифровом виде, удобно хранить, передавать и копировать без потери качества. Но, самое главное, цифровая электроника сильно выигрывала за счёт постоянной миниатюризации технологических процессов в микроэлектронике, то есть пресловутого “Закона Мура”. Уменьшение транзистора позволяло увеличивать рабочие частоты и повышать энергоэффективность. Аналоговая же электроника не получает подобного выигрыша от уменьшения размера транзистора. Поэтому для аналоговых чипов, как правило, и не используют новейшие технологические нормы, достаточно ~180–22нм.

К сожалению, реальное уменьшение транзистора давно начало замедляться и упираться в физический потолок. В связи чем уже и сами производители начали отказываться от нанометров в названиях техпроцессов. Делать прорывы каждый год всё сложнее, а покупать устройства на чипах, произведенных по «старым» технологиям, люди «почему-то» не хотят.

Другой проблемой стало то, что при уменьшении транзистора растет влияние токов утечек. Подавляющее большинство современных интегральных микросхем сделаны по технологии КМОП (комплементарная структура металл-оксид-полупроводник). Одной из ключевых особенностей, позволивших ей завоевать рынок, является то, что ток в структуре должен протекать только при переключении. Например, при переключении из логического ‘0’ в ‘1’. В реальности же на сегодняшний день картина совершенно другая: токи утечек в современных процессах уже превосходят ток переключения. Тенденцию можно видеть на графике ниже

pamyat3.pngРост тока утечки при уменьшении размера транзистора

Также проблема перегрева всё ещё остаётся актуальной, ограничивая спектр применения высокопроизводительных устройств. Абстрагируясь от компьютеров, не везде возможно использовать активное охлаждение и не везде допустимы высокие температуры.

Кроме того, с развитием интернета вещей и беспилотных автомобилей всё больше растет спрос на необлачные вычисления для снижения объема передаваемых данных. Для его удовлетворения необходимы высокопроизводительные решения с гораздо большей энергоэффективностью. Таким образом, в индустрии микроэлектроники давно возник запрос на новые пути развития, и аналоговые решения, долгое время находившиеся в тени, могут оказаться одним из них.

Подробнее
Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 5 (3 votes)
Источник(и):

Хабр