Компьютерный мозг
Название это уже привычное, хотя на самом деле вычислительные системы устроены совсем иначе. Настоящие нейроморфные микросхемы появились лишь в последнее десятилетие, обещая быструю работу нейросетей и энергопотребление почти столь же низкое, как у живого мозга.
В конце 2019 года разработчики из OpenAI продемонстрировали роботизированный манипулятор Dactyl, отличающийся «ловкостью человеческого уровня». Работой пяти металлических пальцев управляла нейросеть, способная самостоятельно обучаться движения и даже освоившая головоломный кубик Рубика. Для ее подготовки использовали больше тысячи настольных компьютеров и десятки мощных графических систем. Как подсчитали впоследствии эксперты, на них было затрачено около 2,8 ГВт∙ч энергии – количество, которое требует нескольких часов работы целой АЭС.
Для обучения нейросети нужно проанализировать огромные массивы данных – чем больше, тем лучше. На это могут уходить дни и даже недели работы высокопроизводительных и «прожорливых» компьютерных систем. В результате потребности нейросетей в вычислительных мощностях растут быстрее, чем сами эти мощности, обгоняя даже знаменитый закон Мура. По некоторым подсчетам, в 2018 году значительный прогресс в этой области требовал в 300 тыс. раз больше ресурсов, чем в 2012-м, удваиваясь каждые три-четыре месяца. А с увеличением мощностей растут и затраты энергии.
Умножение ядер
При таких вычислениях на компьютер поступает входная информация и наборы коэффициентов – весов, полученных в ходе обучения нейросети. Перемножая векторные данные и матрицы весов последовательно, сеть может с определенной вероятностью выдать правильный ответ – например, заключить с уверенностью 99,99%, что на предъявленном ей изображении показана кошка. Проблема в том, что объемы связанных с этим расчетов колоссальны: мощные глубокие нейросети могут использовать миллионы и миллиарды коэффициентов, а для их обучения требуются терабайты данных.
В итоге важную роль здесь стали играть графические процессоры, которые разрабатывались для похожих операций. Отрисовка трехмерных изображений в режиме реального времени требует несложных, но массовых и быстрых параллельных операций над каждым пикселем. Поэтому, в отличие от основного процессора, видеокарты состоят из тысяч упрощенных вычислительных ядер. Проводя триллионы операций с плавающей точкой в секунду (терафлопс), они с успехом справляются и с нейросетями.
Этот тренд развивают специализированные тензорные процессоры, такие как Google TPU, состоящие уже из десятков тысяч крошечных ядер. Производительность третьего поколения Google TPU составляет целых 420 терафлопс, причем эти процессоры легко объединяются в кластеры. Заявляется, что именно такие микросхемы применялись системой AlphaGo, обыгравшей людей-соперников в го, они же используются для обработки фотографий Google Street View. Однако существует и совершенно иной подход, который предлагают нейроморфные микросхемы, построенные по другой архитектуре.