neuro
June 15, 2023

Аппаратная лотерея


Sara Hooker — August, 2020. Перевод оригинальной статьи The Hardware Lottery. Лонгрид.

Введение

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

В этом эссе вводится термин «аппаратная лотерея» для описания того, когда исследовательская идея выигрывает, потому что она подходит для доступного программного и аппаратного обеспечения, а не потому, что эта идея превосходит альтернативные направления исследований. История говорит нам, что аппаратные лотереи могут запутать ход исследований, представив успешные идеи как неудачные, и могут задержать сигнал о том, что некоторые направления исследований гораздо более перспективны, чем другие.

Эти уроки особенно важны, когда мы вступаем в новую эру более тесного сотрудничества между исследовательскими сообществами, занимающимися аппаратным и программным обеспечением, и машинным обучением. После десятилетий рассмотрения аппаратного обеспечения, программного обеспечения и алгоритмов как отдельных вариантов, катализаторы более тесного сотрудничества включают изменение экономики аппаратного обеспечения [1], гонку «чем больше, тем лучше» в размерах архитектур глубокого обучения [2, 3] и головокружительные требования развертывание машинного обучения на периферийных устройствах[4].

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

Это эссе начинается с признания важного парадокса: исследователи машинного обучения в основном игнорируют аппаратное обеспечение, несмотря на ту роль, которую оно играет в определении успеха идей. Что стимулировало разработку программного обеспечения, аппаратного обеспечения и алгоритмов по отдельности? Далее следует отчасти документ с изложением позиции, отчасти исторический обзор, в котором делается попытка ответить на вопрос: «Как инструменты выбирают, какие исследовательские идеи успешны, а какие нет, и что нас ждет в будущем?»

Отдельные племена

"Разве это не плохое описание человека, если описать его как животное, производящее инструменты?" -Чарлз Бэббидж, 1851

Для создателей первых компьютеров программой была машина. Ранние машины были одноразовыми, и не предполагалось, что они будут переназначены для новой задачи из-за стоимости электроники и отсутствия универсального программного обеспечения. Разностная машина Чарльза Бэббиджа предназначалась исключительно для вычисления полиномиальных функций (1817 г.)[5]. Mark I был программируемым калькулятором (1944 г.)[6]. Перцептронная машина Розенблатта вычислила пошаговую однослойную сеть (1958 г.)[7]. Даже жаккардовый ткацкий станок, который часто считают одной из первых программируемых машин, на практике был настолько дорогим для повторной заправки, что его обычно заправляли один раз для поддержки предварительно фиксированного набора полей ввода (1804 г.) [8].

Ранние компьютеры, такие как Mark I, были одноразовыми, и не предполагалось, что они будут перепрофилированы. Хотя Mark I можно было запрограммировать для выполнения различных вычислений, по сути, это был очень мощный перепрограммируемый алькулятор, и он не мог запускать множество программ, которые мы ожидаем от наших современных машин.

Специализация этих первых компьютеров была вызвана необходимостью, а не потому, что компьютерные архитекторы считали, что одноразовое специализированное оборудование по своей сути лучше. Однако стоит отметить, что наш собственный интеллект является одновременно и алгоритмом, и машиной. Мы не населяем несколько мозгов в течение нашей жизни. Вместо этого понятие человеческого интеллекта неразрывно связано с физическими 1400 граммами мозговой ткани и паттернами связи между примерно 85 миллиардами нейронов в вашей голове [9].

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

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

Эпоха компьютеров общего назначения кристаллизовалась в 1969 году, когда в журнале Electronics появилась статья молодого инженера Гордана Мура под метким названием «Втиснуть больше компонентов на печатные платы» [10]. Мур предсказал, что каждые два года можно будет втиснуть в интегральную схему вдвое больше транзисторов. Первоначально статья и последующие действия были мотивированы простым желанием: «Мур думал, что продаст больше чипов. Однако предсказание подтвердилось и привело к значительному снижению стоимости преобразования энергии в информацию в течение следующих 50 лет.

Закон Мура в сочетании с масштабированием Деннарда [11] позволил увеличить производительность микропроцессора в три раза в период с 1980 по 2010 год [12]. Предсказуемый рост вычислительных ресурсов и памяти каждые два года означал, что проектирование оборудования стало небезопасным. Даже для задач, требующих более высокой производительности, преимущества перехода на специализированное оборудование могут быть быстро вытеснены аппаратным обеспечением общего назначения следующего поколения с постоянно растущими вычислительными ресурсами.

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

Акцент сместился на универсальные процессоры, способные решать множество различных задач. Зачем экспериментировать с более специализированными конструкциями аппаратного обеспечения за неопределенное вознаграждение, если закон Мура позволяет производителям чипов фиксировать предсказуемую норму прибыли? Немногочисленные попытки отклониться и произвести специализированные суперкомпьютеры для исследований были финансово неустойчивыми и недолговечными [13, 14]. Несколько очень узких задач, таких как освоение шахмат, были исключением из этого правила, потому что престиж и видимость победы над противником-человеком привлекали корпоративное спонсорство [15].

До недавнего времени сохранялось отношение к выбору оборудования, программного обеспечения и алгоритма как к независимым. Изучение новых типов аппаратного обеспечения дорого обходится как с точки зрения времени, так и требуемых капиталовложений. Производство чипа следующего поколения обычно стоит 30-80 миллионов долларов, а разработка занимает 2-3 года [16]. Эти огромные барьеры для входа создали культуру исследования аппаратного обеспечения, которая может показаться странной или, возможно, даже медленной для среднего исследователя машинного обучения. В то время как количество публикаций по машинному обучению за последние 30 лет росло в геометрической прогрессии [17], количество публикаций по аппаратному обеспечению оставалось довольно ровным [18]. Для компании, производящей оборудование, утечка интеллектуальной собственности может решить проблему выживания фирмы. Это привело к гораздо более строгой исследовательской культуре.

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

Аппаратная лотерея

"Я полагаю, что заманчиво, если единственный инструмент, который у вас есть, это молоток, относиться ко всему, как к гвоздю." -Абрахам Маслоу, 1966

Первая фраза «Анны Карениной» Толстого гласит: «Все счастливые семьи похожи друг на друга, каждая несчастливая семья несчастлива по-своему». [19] Толстой говорит, что для того, чтобы брак был счастливым, требуется много разных вещей — финансовая стабильность, химия, общие ценности, здоровое потомство. Однако достаточно отсутствия одного из этих аспектов, чтобы семья была несчастлива. Это было популяризировано как принцип Анны Карениной: «недостаток любого из множества факторов обрекает попытку на провал». [20]

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

Аналитическая машина, разработанная Чарлзом Бэббиджем, так и не была построена частично, потому что у него были трудности с изготовлением деталей с нужной точностью. На этом изображении изображен общий план аналитической машини 1840 года.

Ранним примером аппаратной лотереи является аналитическая машина (1837 г.). Чарльз Бэббидж был первопроходцем в области компьютерных технологий, который разработал машину, которую (по крайней мере теоретически) можно было запрограммировать для решения любых типов вычислений. Его аналитическая машина так и не была построена частично, потому что у него были трудности с изготовлением деталей с нужной точностью [21]. Электромагнитная технология для фактического создания теоретических основ, заложенных Бэббиджем, появилась только во время Второй мировой войны. В первой половине 20-го века электронные вакуумные лампы широко использовались для радиосвязи и радаров. Во время Второй мировой войны эти электронные лампы были переназначены для обеспечения вычислительной мощности, необходимой для взлома немецкого кода-Энигма [22].

Как отмечалось в телешоу «Кремниевая долина», часто «слишком рано — это то же самое, что ошибиться». Когда Бэббидж скончался в 1871 году, между его идеями и современными компьютерами не было непрерывной связи. Концепция хранимой программы, изменяемого кода, памяти и условного ветвления была заново открыта столетие спустя, потому что существовали нужные инструменты, чтобы эмпирически показать, что эта идея работает.

Потерянные десятилетия

Возможно, наиболее ярким примером ущерба, вызванного невыигрышем в аппаратной лотерее, является запоздалое признание глубоких нейронных сетей перспективным направлением исследований. Большинство алгоритмических компонентов, обеспечивающих работу глубоких нейронных сетей, существовали уже несколько десятилетий: обратное распространение (1963 г. [23], заново изобретенное в 1976 г. [24] и снова в 1988 г. [25]), глубокие сверточные нейронные сети (1979 г.). [26], в паре с обратным распространением в 1989 г. [27]). Однако только три десятилетия спустя сверточные нейронные сети получили широкое признание в качестве многообещающего направления исследований.

Этот разрыв между алгоритмическими достижениями и эмпирическим успехом в значительной степени связан с несовместимым оборудованием. В эпоху вычислений общего назначения такие аппаратные средства, как процессоры, пользовались большим спросом и были широко доступны. ЦП очень хорошо справляются с выполнением любого набора сложных инструкций, но часто требуют больших затрат памяти из-за необходимости кэшировать промежуточные результаты и обрабатывать по одной инструкции за раз. [28]. Это известно как узкое место фон Неймана — доступные вычисления ограничены «единственным каналом между процессором и памятью, по которому данные должны перемещаться последовательно». [29]

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

Узкое место фон Неймана ужасно не подходило для умножения матриц, основного компонента архитектур глубоких нейронных сетей. Таким образом, обучение на CPU быстро истощало пропускную способность памяти и обучать глубокие нейронные сети с несколькими слоями просто не представлялось возможным. Потребность в аппаратном обеспечении, обладающем массовым параллелизмом, указывалась еще в начале 1980-х годов в серии эссе под названием «Параллельные модели ассоциативной памяти». [30] В эссе убедительно утверждалось, что биологические данные свидетельствуют о том, что массивный параллелизм необходим для того, чтобы подходы на основе глубоких нейронных сетей работали. [31]

В конце 1980-х/90-х годов идея специализированного оборудования для нейронных сетей прошла стадию новизны [32, 33, 34]. Однако усилия оставались раздробленными из-за отсутствия общего программного обеспечения и стоимости разработки оборудования. Большинство реально реализованных попыток, таких как Connection Machine (1985) [14], Space (1992) [35], Ring Array Processor (1989) [36] и японский компьютерный проект 5-го поколения [37], были разработаны для поддержки логического программирования, такого как PROLOG и LISP, которые плохо подходили для глубоких нейронных сетей, основанных на коннекционизме. Более поздние версии, такие как HipNet-1 [38] и чип аналоговой нейронной сети (1991 г.) [39], были многообещающими, но, как и предыдущие попытки, были сосредоточены на символическом мышлении. Эти усилия были недолгими из-за невыносимой стоимости итерации и необходимости в специальном кремнии. Без потребительского рынка просто не было критической массы конечных пользователей, чтобы быть финансово жизнеспособными.

Connection Machine была одним из немногих примеров оборудования, которое отличалось от процессоров общего назначени в 1980-х/90-х годах. Thinking Machines в конечном итоге обанкротилось после того, как первоначальное финансирование от DARPA иссякло.

Потребовалась аппаратная случайность в начале 2000-х, целых четыре десятилетия после публикации первой статьи об обратном распространении, чтобы понимание массивного параллелизма стало полезным для коннекционистских глубоких нейронных сетей. Многие изобретения используются для целей, не предусмотренных их создателями. Фонограф Эдисона никогда не предназначался для воспроизведения музыки. Он представлял себе это как сохранение последних слов умирающих людей или обучение правописанию. На самом деле, он был разочарован его использованием для воспроизведения популярной музыки, так как считал это слишком «низким» применением своего изобретения [40]. В том же ключе глубокие нейронные сети начали работать только тогда, когда существующая технология была неожиданно перепрофилирована.

Графический процессор (GPU) был первоначально представлен в 1970-х годах как специализированный ускоритель для видеоигр и разработки графики для фильмов и анимации. В 2000-х, как и фонограф Эдисона, графические процессоры были переназначены для совершенно невообразимого варианта использования — для обучения глубоких нейронных сетей [41, 42, 43, 44, 45]. У графических процессоров было одно важное преимущество перед центральными процессорами — они гораздо лучше распараллеливали набор простых разложимых инструкций, таких как матричные умножения [46, 47].

Это более высокое количество плавающих операционных точек в секунду (FLOPS) в сочетании с разумным распределением обучения между графическими процессорами разблокировало обучение более глубоких сетей. Ключевым фактором оказалось количество слоев в сети. Производительность на ImageNet подскочила с еще более глубокими сетями в 2011 [48], 2012 [49] и 2015 [50]. Ярким примером такого скачка эффективности является сравнение ставшей уже известной статьи Google 2012 года, в которой для классификации кошек использовалось 16 000 ядер ЦП [51], с опубликованной годом позже статьей, в которой та же задача решалась только с двумя ядрами ЦП и четырьмя графическими процессорами. [52]

Программные лотереи

Программное обеспечение также играет роль в определении того, какие исследовательские идеи выиграют, а какие проиграют. Prolog и LISP были двумя языками, пользующимися большой популярностью до середины 90-х годов в сообществе ИИ. Ожидалось, что в течение большей части этого периода студенты, изучающие ИИ, будут активно осваивать один или оба этих языка [53]. LISP и Prolog особенно хорошо подходили для обработки логических выражений, которые были основным компонентом логических и экспертных систем.

Обложка журнала Byte, август 1979г., том 4. LISP был доминирующим языком для исследований искусственного интеллекта в 1990-х годах. LISP особенно хорошо подходил для обработки логических выражений, которые были основным компонентом логических и экспертных систем.

Для исследователей, которые хотели работать над коннекционистскими идеями, такими как глубокие нейронные сети, не было четко подходящего языка до появления Matlab в 1992 году [54]. Реализация коннекционистских сетей на LISP или Prolog была громоздкой, и большинство исследователей работали на языках низкого уровня, таких как C++ [55]. Только в 2000-х годах с появлением LUSH [56] и впоследствии TORCH [57] вокруг программного обеспечения, разработанного для подходов с глубокими нейронными сетями, начала формироваться более здоровая экосистема.

Где есть проигравший, там есть и победитель. С 1960-х до середины 80-х большинство основных исследований были сосредоточены на символических подходах к ИИ [58]. В отличие от глубоких нейронных сетей, где обучение адекватному представлению делегировано самой модели, символические подходы направлены на создание базы знаний и использование правил принятия решений для воспроизведения того, как люди подходят к проблеме. Это часто кодифицировали как последовательность логических утверждений «что, если», которые хорошо подходили для LISP и PROLOG. Широкую и устойчивую популярность исследований символических подходов к ИИ нельзя рассматривать независимо от того, насколько легко они вписываются в существующие программные и аппаратные среды.

Постоянство аппаратной лотереи

Сегодня возобновился интерес к совместному сотрудничеству между сообществами аппаратного, программного обеспечения и машинного обучения. Мы переживаем второй возврат маятника к специализированному оборудованию. Катализаторами являются изменение экономики аппаратного обеспечения, вызванное окончанием действия закона Мура и нарушением масштабирования Деннарда[1], гонка «чем больше, тем лучше» в количестве параметров модели, охватившая область машинного обучения [2], растущая энергия затраты [59, 60] и головокружительные требования развертывания машинного обучения на периферийных устройствах [4].

Конец закона Мура означает, что нам не гарантировано больше вычислительных ресурсов, аппаратное обеспечение должно их заработать. Для повышения эффективности происходит переход от оборудования, не зависящего от задач, такого как процессоры, к специализированному оборудованию, которое адаптирует дизайн для повышения эффективности определенных задач. Первые примеры специализированного аппаратного обеспечения, выпущенного за последние несколько лет — TPU [61], Edge-TPU [62], Arm Cortex-M55 [63], big sur от Facebook [64] — явно оптимизированы для дорогостоящих операций, характерных для глубоких нейронных сетей, таких как умножение матриц.

Более тесное сотрудничество между аппаратным и исследовательским сообществами, несомненно, продолжит повышать эффективность обучения и развертывания глубоких нейронных сетей. Например, неструктурированное сокращение [65, 66, 67] и весовое квантование [68] являются очень успешными методами сжатия в глубоких нейронных сетях, но они несовместимы с текущим аппаратным обеспечением и ядрами компиляции.

Хотя эти методы сжатия в настоящее время не поддерживаются, многие умные архитекторы аппаратного обеспечения в настоящее время думают о том, как решить эту проблему. Разумно предсказать, что следующие несколько поколений чипов или специализированных ядер исправят существующую предвзятость аппаратных средств против этих методов [69, 70]. Некоторые из первых проектов, которые облегчают разреженность, уже появились на рынке [71]. Параллельно ведутся интересные исследования по разработке специализированных программных ядер для поддержки неструктурированной разреженности [72, 73, 74].

Во многих отношениях аппаратное обеспечение догоняет нынешнее состояние исследований в области машинного обучения. Аппаратное обеспечение является экономически жизнеспособным только в том случае, если срок службы варианта использования составляет более трех лет [17]. Ставка на идеи, которые имеют долговечность, является ключевым фактором для разработчиков аппаратного обеспечения. Таким образом, усилия по совместному проектированию были почти полностью сосредоточены на оптимизации моделей предыдущего поколения с известными вариантами коммерческого использования. Например, матричные умножения — безопасная цель для оптимизации, потому что они никуда не денутся, — привязаны к широкому использованию и принятию глубоких нейронных сетей в производственных системах. Разрешение неструктурированной разреженности и квантование по весу также являются безопасными целями, поскольку существует широкий консенсус в отношении того, что они обеспечат более высокие уровни сжатия.

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

В 2019 году была опубликована статья под названием «Машинное обучение застряло в колее». [75] Авторы рассматривают сложность обучения нового типа архитектуры компьютерного зрения, называемого капсульными сетями, на специализированном оборудовании [76]. Капсульные сети включают в себя новые компоненты, такие как операции сжатия и маршрутизация по соглашению. Эти варианты архитектуры были направлены на устранение ключевых недостатков сверточных нейронных сетей (отсутствие вращательной инвариантности и понимания пространственной иерархии), но отклонялись от типичной архитектуры нейронных сетей как последовательности матричных умножений. В результате, в то время как операции капсульных сетей могут быть достаточно хорошо реализованы на процессорах, производительность резко падает на ускорителях, таких как GPU и TPU, которые были чрезмерно оптимизированы для умножения матриц.

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

В то время как специализация делает глубокие нейронные сети более эффективными, она также делает гораздо более дорогостоящим отклонение от общепринятых строительных блоков. Это ставит вопрос о том, насколько исследователи будут неявно перерабатывать идеи, которые хорошо работают на доступном оборудовании, вместо того, чтобы рисковать идеями, которые в настоящее время неосуществимы? Какие неудачи мы до сих пор не имеем аппаратного обеспечения, чтобы считать успехом? (en) What are the failures we still don’t have the hardware to see as a success?

Вероятность будущих аппаратных лотерей

"Перед нами открываются захватывающие дух возможности, замаскированные под неразрешимые проблемы" -Джон Гарднер, 1965

В сообществе машинного обучения ведутся открытые дебаты о том, насколько будущие алгоритмы будут отклоняться от таких моделей, как глубокие нейронные сети [77, 78]. Риск, которому вы подвергаетесь в зависимости от оборудования, специализированного для предметной области, связан с вашей позицией в этом споре.

Делать большие ставки на специализированное оборудование имеет смысл, если вы считаете, что будущие прорывы зависят от сопряжения глубоких нейронных сетей с постоянно растущим объемом данных и вычислений. Несколько крупных исследовательских лабораторий делают эту ставку, участвуя в гонке «чем больше, тем лучше» по количеству параметров модели и собирая все более обширные наборы данных. Однако неясно, является ли это устойчивым. Масштабируемость алгоритмов часто рассматривается как градиент производительности по отношению к доступным ресурсам. Как повысится производительность при наличии большего количества ресурсов?

Для многих подполей мы сейчас находимся в режиме, когда норма прибыли для дополнительных параметров снижается [79, 80]. Например, в то время как параметры между архитектурами Inception V3 [81] и Inception V4 [82] почти удваиваются (с 21,8 до 41,1 миллиона параметров), точность в ImageNet различается менее чем на 2 % между этими двумя сетями (78,8 против 80 %). [83]. Цена добавления дополнительных параметров к проблеме становится болезненно очевидной. Только обучение GPT-3 оценивается в более чем 12 миллионов долларов [84].

Возможно, более тревожным является то, насколько мы далеки от того типа интеллекта, который демонстрируют люди. Человеческий мозг, несмотря на его сложность, остается чрезвычайно энергоэффективным. В нашем мозгу более 85 миллиардов нейронов, но он работает на энергетическом эквиваленте электрической бритвы[9]. Хотя глубокие нейронные сети могут быть масштабируемыми, это может быть непомерно дорого в режиме интеллекта, сравнимого с человеческим. Подходящая метафора состоит в том, что мы пытаемся построить лестницу на Луну.

Биологические примеры интеллекта достаточно отличаются от глубоких нейронных сетей, чтобы предположить, что было бы рискованно утверждать, что глубокие нейронные сети — единственный путь вперед. В то время как алгоритмы общего назначения, такие как глубокие нейронные сети, полагаются на глобальные обновления, чтобы изучить полезное представление, наш мозг этого не делает. Наш собственный интеллект опирается на децентрализованные локальные обновления, которые выявляют глобальный сигнал способами, которые до сих пор не совсем понятны [85, 86, 87].

Кроме того, наш мозг способен обучаться эффективным представлениям из гораздо меньшего количества помеченных примеров, чем глубокие нейронные сети [88]. Для типичных моделей глубокого обучения вся модель активируется для каждого примера, что приводит к квадратичному увеличению затрат на обучение. Напротив, данные свидетельствуют о том, что мозг не выполняет полный проход вперед и назад для всех входных данных. Вместо этого мозг моделирует, какие входные данные ожидаются на фоне поступающих сенсорных данных. Основываясь на уверенности в совпадении, мозг просто заполняет. То, что мы видим, в значительной степени является виртуальной реальностью, вычисляемой по памяти [89, 90, 91].

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

У людей в нашем биологическом оборудовании разработаны высокооптимизированные и специфические пути для различных задач [92, 93]. Например, человеку легко ходить и говорить одновременно. Однако попытки читать и говорить намного утомительнее с когнитивной точки зрения [94]. Это предполагает, что способ организации сети и наши индуктивные смещения так же важны, как и общий размер сети [95, 96, 97]. Наш мозг способен точно настраивать и сохранять человеческие навыки на протяжении всей нашей жизни [98, 99, 100, 101, 102, 103, 104]. Напротив, глубокие нейронные сети, которые обучаются на новых данных, часто демонстрируют катастрофическое забывание, когда производительность исходной задачи ухудшается, потому что новая информация мешает ранее усвоенному поведению [105, 106, 107].

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

Человеческий мозг, несмотря на его сложность, остается чрезвычайно энергоэффективным. В нашем мозгу более 85 миллиардов нейронов, но он работает на энергии, эквивалентной электрической бритве.

Путь вперед

"Любая система машинного кодирования должна оцениваться в основном с точки зрения того, насколько легко оператору получить результаты." -Джон Мокли, 1973

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

Это легче сказать, чем сделать. Расширение пространства поиска возможных комбинаций аппаратных средств, программного обеспечения и алгоритмов является грандиозной задачей. Изучение новых типов аппаратного обеспечения дорого обходится как с точки зрения времени, так и требуемых капиталовложений. Производство чипа следующего поколения обычно стоит 30-80 миллионов долларов и занимает 2-3 года на разработку [16]. Одни только фиксированные затраты на строительство производственного предприятия огромны; оценивается в $7 млрд долларов в 2017 году [108].

Эксперименты с использованием обучения с подкреплением для оптимизации размещения чипов могут помочь снизить затраты [109]. Возобновился также интерес к реконфигурируемому оборудованию, такому как программируемая пользователем вентильная матрица (FPGA) [110] и масштабная реконфигурируемая матрица (CGRA) [111]. Эти устройства позволяют переконфигурировать логику микросхемы, чтобы избежать привязки к одному варианту использования. Однако компромиссом для гибкости является гораздо более высокий показатель FLOPS и необходимость разработки специализированного программного обеспечения. Кодирование даже простых алгоритмов на ППВМ остается очень болезненным и трудоемким [112].

В краткосрочной и среднесрочной перспективе разработка аппаратного обеспечения, вероятно, останется дорогостоящей и продолжительной. Стоимость производства аппаратного обеспечения важна, поскольку она определяет степень риска и экспериментов, на которые готовы пойти разработчики аппаратного обеспечения. Инвестиции в оборудование, предназначенное для глубоких нейронных сетей, гарантированы, поскольку нейронные сети являются краеугольным камнем достаточного количества коммерческих вариантов использования. Широкая прибыльность глубокого обучения подстегнула здоровую экосистему аппаратных стартапов, нацеленных на дальнейшее ускорение глубоких нейронных сетей [113], и побудила крупные компании разрабатывать собственное аппаратное обеспечение собственными силами [114, 61, 64].

Узким местом по-прежнему будет финансирование оборудования для вариантов использования, которые не являются немедленно коммерчески жизнеспособными. Эти более рискованные направления включают биологическое оборудование [115, 116, 117], аналоговое оборудование с вычислениями в памяти [118], нейроморфные вычисления [119], оптические вычисления [120] и подходы, основанные на квантовых вычислениях [121]. Есть также рискованные попытки разработки транзисторов с использованием новых материалов [122, 123].

Уроки предыдущих аппаратных лотерей показывают, что инвестиции должны быть устойчивыми и исходить как из частных, так и из государственных программ финансирования. Наблюдается медленное пробуждение общественного интереса к предоставлению таких специализированных ресурсов, таких как Инициатива по возрождению электроники DARPA 2018 года, которая выделила 1,5 миллиарда долларов на финансирование исследований в области микроэлектронных технологий [124] . Китай также объявил о создании фонда в размере 47 миллиардов долларов для поддержки исследований в области полупроводников [125]. Тем не менее, даже инвестиции такого масштаба могут оказаться крайне недостаточными, так как оборудование, основанное на новых материалах, требует длительных периодов времени в 10-20 лет, а государственные инвестиции в настоящее время намного ниже отраслевого уровня научно-исследовательских и опытно-конструкторских работ [112].

Программная революция

Промежуточная цель — предоставить исследователям лучшую обратную связь о том, как наши алгоритмы взаимодействуют с имеющимся у нас оборудованием. Исследователи машинного обучения не тратят много времени на разговоры о том, как аппаратное обеспечение выбирает, какие идеи будут успешными, а какие нет. Это в первую очередь потому, что трудно количественно оценить стоимость беспокойства. В настоящее время не существует простых и дешевых в использовании интерфейсов для сравнения производительности алгоритмов с несколькими типами оборудования одновременно. Существуют разочаровывающие различия в подмножестве программных операций, поддерживаемых на разных типах оборудования, которые препятствуют переносимости алгоритмов между типами оборудования [126]. Программные ядра часто чрезмерно оптимизированы для определенного типа оборудования, что приводит к большим расхождениям в эффективности при использовании с другим оборудованием [1].

Эти проблемы усугубляются еще более огромным и разнородным аппаратным ландшафтом [127, 128]. По мере того, как аппаратный ландшафт становится все более фрагментированным и специализированным, для написания быстрого и эффективного кода потребуются все более нишевые и специализированные навыки [129]. Это означает, что прогресс в исследованиях в области информатики будет все более неравномерным. В то время как некоторые типы аппаратного обеспечения выиграют от здоровой программной экосистемы, прогресс в других языках будет спорадическим и часто тормозится отсутствием важных конечных пользователей [108, 130].

Один из способов уменьшить эту потребность в специализированном программном обеспечении — сосредоточиться на разработке предметно-ориентированных языков, предназначенных для узкой предметной области. В то время как вы отказываетесь от выразительных возможностей, предметно-ориентированные языки обеспечивают большую переносимость между различными типами оборудования. Это позволяет разработчикам сосредоточиться на назначении кода, не беспокоясь о деталях реализации [131, 132, 133]. Другим перспективным направлением является автоматическая автонастройка алгоритмических параметров программы на основе последующего выбора оборудования. Это облегчает развертывание за счет адаптации программы для достижения хорошей производительности и балансировки нагрузки на различном оборудовании [134, 135, 136, 137].

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

Программное обеспечение должно выполнять больше работы, но оно также имеет хорошие возможности для этого. Мы пренебрегали эффективным программным обеспечением на протяжении всей эпохи закона Мура, полагая, что предсказуемый прирост вычислительных ресурсов компенсирует неэффективность программного стека. Это означает, что есть много низко висящих плодов, по мере того, как мы начинаем оптимизировать код для получения более эффективного кода [138, 139]. (en) This means there are many low hanging fruit as we begin to optimize for more efficient code.

Прощальные мысли

Джордж Гилдер, американский инвестор, убедительно описал компьютерный чип как «начертание миров на песчинках» [140]. Производительность алгоритма фундаментально связана с аппаратным и программным обеспечением, на котором он работает. В этом эссе предлагается термин «аппаратная лотерея» для описания того, как эти последующие решения определяют успех или неудачу исследовательской идеи. Примеры из ранней истории компьютерных наук иллюстрируют, как аппаратные лотереи могут задерживать прогресс исследований, выставляя успешные идеи за неудачные. Эти уроки особенно важны, учитывая появление специализированного аппаратного обеспечения, которое делает отклонение от проторенных путей исследовательских идей все более дорогостоящим. В этом эссе утверждается, что выгоды от прогресса в области вычислений, вероятно, станут еще более неравномерными, при этом одни направления исследований будут продвигаться вперед, а прогресс в других будет еще больше затруднен.


Перевод оригинальной статьи The Hardware Lottery. Контент оригинальной статьи принадлежит автору.

Об авторе

Сара Хукер — научный сотрудник Google Brain, работающая над моделями обучения, которые удовлетворяют нескольким желаемым критериям: высокая производительность, интерпретируемость, компактность и надежность. Она интересуется пересечением аппаратного обеспечения, программного обеспечения и алгоритмов. Корреспонденцию об этом эссе можно отправить по адресу shaker@google.com.

Ссылки

  1. A New Golden Age for Computer Architecture [link]
    Hennessy, J.L. and Patterson, D.A., 2019. Commun. ACM, Vol 62(2), pp. 48–60. Association for Computing Machinery. DOI: 10.1145/3282307
  2. AI and Compute [link]
    Amodei, D., Hernandez, D., Sastry, G., Clark, J., Brockman, G. and Sutskever, I., 2018.
  3. {The Computational Limits of Deep Learning}
    {Thompson}, N.C., {Greenewald}, K., {Lee}, K. and {Manso}, G.F., 2020. arXiv e-prints, pp. arXiv:2007.05558.
  4. TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers [link]
    Warden, P. and Situnayake, D., 2019. O’Reilly Media, Incorporated.
  5. Little Engines That Could’ve: The Calculating Machines of Charles Babbage
    B. Collier.
    Garland Publishing, Inc. 1991.
  6. Grace Hopper, computing pioneer [link]
    W. Isaacson.
    The Harvard Gazette. 2014.
  7. Frank Rosenblatt: Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms
    C. Van Der Malsburg.
    , pp. 245—248. Springer Berlin Heidelberg. 1986.
  8. The Jacquard Machine Analyzed and Explained: The Preparation of Jacquard Cards and Practical Hints to Learners of Jacquard Designing [link]
    E. Posselt. E.A. Posselt. 1888.
  9. On the frontiers of biomedicine with professor Rahul Sarpeshkar [link]
    K. Sainani. Dartmouth Magazine. 2017.
  10. Cramming more components onto integrated circuits [PDF]
    G. Moore. Electronics, Vol 38(8). 1965.
  11. Design of ion-implanted MOSFET’s with very small physical dimensions
    R.H. {Dennard}, F.H. {Gaensslen}, H. {Yu}, V.L. {Rideout}, E. {Bassous}, A.R. {LeBlanc}.
    IEEE Journal of Solid-State Circuits, Vol 9(5), pp. 256-268. 1974.
  12. Moore’s Law [link]
    . CHM.
    2020.
  13. Accelerating AI: Past, Present, and Future [link]
    K. Asanovic. 2018.
  14. The Rise and Fall of Thinking Machines [HTML]
    G. Taubes. 1995.
  15. When will computer hardware match the human brain
    H. Moravec.
    Journal of Transhumanism, Vol 1. 1998.
  16. The era of general purpose computers is ending [link]
    M. Feldman. 2019.
  17. 1.1 The Deep Learning Revolution and Its Implications for Computer Architecture and Chip Design
    J. Dean.
    2020 IEEE International Solid- State Circuits Conference - (ISSCC), pp. 8-14. 2020.
  18. Analyzing Worldwide Research in Hardware Architecture, 1997-2011
    D. Singh, A. Perdigones, J. Garcia, I. Cañas, F. Mazarrón.
    Communications of the ACM, Vol Volume 58, pp. Pages 76-85. 2015.
    DOI: 10.1145/2688498.2688499
  19. Anna Karenina [link]
    L. Tolstoy, R. Bartlett.
    Oxford University Press. 2016.
  20. The Anna Karenina Principle Applied to Ecological Risk Assessments of Multiple Stressors
    D. Moore.
    Human and Ecological Risk Assessment: An International Journal, Vol 7(2), pp. 231-237. 2001.
    DOI: 10.1080/20018091094349
  21. The Age of Intelligent Machines
    R. Kurzweil. MIT Press. 1990.
  22. Computer History 1949 -1960 Early Vacuum Tube Computers Overview, History Project Educational [link]
    C.H.A. Project. 2018.
  23. Learning matrices and their applications
    S. K, U. Piske.
    IEEE Transactions on Electronic Computers, Vol EC-12(6), pp. 846-862. 1963.
  24. Taylor expansion of the accumulated rounding error
    S. Linnainmaa.
    BIT Numerical Mathematics, Vol 16, pp. 146-160. 1976.
  25. Learning Representations by Back-Propagating Errors
    D.E. Rumelhart, G.E. Hinton, R.J. Williams.
    Neurocomputing: Foundations of Research, pp. 696–699. MIT Press. 1988.
  26. Neocognitron: A new algorithm for pattern recognition tolerant of deformations and shifts in position [link]
    K. Fukushima, S. Miyake.
    Pattern Recognition, Vol 15(6), pp. 455 - 469. 1982.
  27. Backpropagation Applied to Handwritten Zip Code Recognition [link]
    Y. LeCun, B. Boser, J.S. Denker, D. Henderson, R.E. Howard, W. Hubbard, L.D. Jackel.
    , Vol 1(4), pp. 541–551. MIT Press. 1989.
  28. What makes TPUs fine-tuned for deep learning? [link]
    K. Sato. 2018.
  29. Understanding computers : software
    T. books.
    Time - life books. 1985.
  30. Parallel Models of Associative Memory
    G.E. Hinton, J.A. Anderson. 1989.
  31. Parallel Distributed Processing: Explorations in the Microstructure of Cognition, Vol. 1: Foundations
    D.E. Rumelhart, J.L. McClelland, C. PDP Research Group.
    MIT Press. 1986.
  32. Artificial neural networks in hardware: A survey of two decades of progress [link]
    J. Misra, I. Saha.
    Neurocomputing, Vol 74(1), pp. 239 - 255. 2010.
    DOI: https://doi.org/10.1016/j.neucom.2010.03.021
  33. {Review of hardware neural networks: A User’s perspective}
    C.S. Lindsey, T. Lindblad.
    {3rd Workshop on Neural Networks: From Biology to High-energy Physics}, pp. 0215—224. 1994.
  34. Parallel Implementations of neural network training: two back-propagation approaches. [link]
    J. Dean. 1990.
  35. SPACE: Symbolic Processing in Associative Computing Elements [link]
    D.B. Howe, K. Asanovi{'{c}}.
    VLSI for Neural Networks and Artificial Intelligence, pp. 243—252. Springer US. 1994.
    DOI: 10.1007/978-1-4899-1331-9_24
  36. The ring array processor: A multiprocessing peripheral for connectionist applications [link]
    N. Morgan, J. Beck, P. Kohn, J. Bilmes, E. Allman, J. Beer.
    Journal of Parallel and Distributed Computing, Vol 14(3), pp. 248 - 259. 1992.
    DOI: https://doi.org/10.1016/0743-7315(92)90067-W
  37. The fifth generation: Artificial intelligence and Japan’s computer challenge to the world, by Edward A. Feigenbaum and Pamela McCorduck. Reading, MA: Addison-Wesley, 1983, 275 pp. Price: \$15.35 [link]
    M.G. Morgan.
    Journal of Policy Analysis and Management, Vol 3(1), pp. 156-156. 1983.
    DOI: 10.2307/3324061
  38. HiPNeT-1: A Highly Pipelined Architecture for Neural Network Training
    B. Kingsbury, N. Morgan, J. Wawrzynek.
    , pp. . 1998.
  39. Application of the ANNA neural network chip to high-speed character recognition
    E. {Sackinger}, B.E. {Boser}, J. {Bromley}, Y. {LeCun}, L.D. {Jackel}.
    IEEE Transactions on Neural Networks, Vol 3(3), pp. 498-505. 1992.
  40. Guns, Germs, and Steel: the Fates of Human Societies
    J. Diamond. 1998.
  41. High Performance Convolutional Neural Networks for Document Processing
    K. Chellapilla, S. Puri, P. Simard.
    2006.
  42. GPU implementation of neural networks [link]
    K. Oh, K. Jung.
    Pattern Recognition, Vol 37(6), pp. 1311 - 1314. 2004.
    DOI: https://doi.org/10.1016/j.patcog.2004.01.013
  43. {Deep Big Simple Neural Nets Excel on Handwritten Digit Recognition}
    D. {Claudiu Ciresan}, U. {Meier}, L.M. {Gambardella}, J. {Schmidhuber}.
    arXiv e-prints, pp. arXiv:1003.0358. 2010.
  44. Understanding the Efficiency of GPU Algorithms for Matrix-Matrix Multiplication [link]
    K. Fatahalian, J. Sugerman, P. Hanrahan.
    Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware, pp. 133–137. Association for Computing Machinery. 2004.
    DOI: 10.1145/1058129.1058148
  45. Accelerated 2D Image Processing on GPUs
    B.R. Payne, S.O. Belkasim, G.S. Owen, M.C. Weeks, Y. Zhu.
    Computational Science — ICCS 2005, pp. 256—264. Springer Berlin Heidelberg. 2005.
  46. Graphics processing unit (GPU) programming strategies and trends in GPU computing [link]
    A.R. Brodtkorb, T.R. Hagen, M.L. Sætra.
    Journal of Parallel and Distributed Computing, Vol 73(1), pp. 4 - 13. 2013.
    DOI: https://doi.org/10.1016/j.jpdc.2012.04.003
  47. Which GPU for deep learning? [link]
    T. Dettmers. 2020.
  48. Flexible, High Performance Convolutional Neural Networks for Image Classification.
    D. Ciresan, U. Meier, J. Masci, L.M. Gambardella, J. Schmidhuber.
    International Joint Conference on Artificial Intelligence IJCAI-2011, pp. 1237-1242. 2011.
    DOI: 10.5591/978-1-57735-516-8/IJCAI11-210
  49. ImageNet Classification with Deep Convolutional Neural Networks [PDF]
    A. Krizhevsky, I. Sutskever, G.E. Hinton.
    Advances in Neural Information Processing Systems 25, pp. 1097—1105. 2012
  50. Going deeper with convolutions
    C. {Szegedy}, {. Liu}, {. Jia}, P. {Sermanet}, S. {Reed}, D. {Anguelov}, D. {Erhan}, V. {Vanhoucke}, A. {Rabinovich}.
    2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Vol (), pp. 1-9. 2015.
  51. Building High-Level Features Using Large Scale Unsupervised Learning
    Q.V. Le, M. Ranzato, R. Monga, M. Devin, K. Chen, G.S. Corrado, J. Dean, A.Y. Ng.
    Proceedings of the 29th International Coference on International Conference on Machine Learning, pp. 507–514. Omnipress. 2012.
  52. Deep learning with COTS HPC systems [HTML]
    A. Coates, B. Huval, T. Wang, D. Wu, B. Catanzaro, N. Andrew.
    Proceedings of the 30th International Conference on Machine Learning, Vol 28(3), pp. 1337—1345. PMLR. 2013.
  53. Principles of Expert Systems
    P. Lucas, L. van der Gaag.
    1991.
  54. Neural Network Toolbox For Use with Matlab - User Guide Verion 3.0
    H. Demuth, M. Beale. 1993.
  55. Course: 15-880(A) — Introduction to Neural Networks [link]
    D. Touretzky, A. Waibel. 1995.
  56. Technical report: Lush reference manual, code available at http://lush.sourceforge.net
    Y. Lecun, L. Bottou. 2002.
  57. Torch: A Modular Machine Learning Software Library
    R. Collobert, S. Bengio, J. Marithoz.
    , pp. . 2002.
  58. Artificial Intelligence: The Very Idea
    J. Haugeland.
    Massachusetts Institute of Technology. 1985.
  59. 1.1 Computing’s energy problem (and what we can do about it)
    M. {Horowitz}.
    2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC), Vol (), pp. 10-14. 2014.
  60. Energy and Policy Considerations for Deep Learning in NLP
    E. Strubell, A. Ganesh, A. McCallum.
    2019.
  61. In-Datacenter Performance Analysis of a Tensor Processing Unit [link]
    N.P. Jouppi, C. Young, N. Patil, D.A. Patterson, G. Agrawal, R. Bajwa, S. Bates, S. Bhatia, N. Boden, A. Borchers, R. Boyle, P. Cantin, C. Chao, C. Clark, J. Coriell, M. Daley, M. Dau, J. Dean, B. Gelb, T.V. Ghaemmaghami, R. Gottipati, W. Gulland, R. Hagmann, R.C. Ho, D. Hogberg, J. Hu, R. Hundt, D. Hurt, J. Ibarz, A. Jaffey, A. Jaworski, A. Kaplan, H. Khaitan, A. Koch, N. Kumar, S. Lacy, J. Laudon, J. Law, D. Le, C. Leary, Z. Liu, K. Lucke, A. Lundin, G. MacKean, A. Maggiore, M. Mahony, K. Miller, R. Nagarajan, R. Narayanaswami, R. Ni, K. Nix, T. Norrie, M. Omernick, N. Penukonda, A. Phelps, J. Ross, A. Salek, E. Samadiani, C. Severn, G. Sizikov, M. Snelham, J. Souter, D. Steinberg, A. Swing, M. Tan, G. Thorson, B. Tian, H. Toma, E. Tuttle, V. Vasudevan, R. Walter, W. Wang, E. Wilcox, D.H. Yoon.
    2017.
  62. EfficientNet-EdgeTPU: Creating Accelerator-Optimized Neural Networks with AutoML [HTML]
    S. Gupta, M. Tan. 2019.
  63. Enhancing AI Performance for IoT Endpoint Devices [link]
    . ARM. 2020.
  64. The next step in Facebook AI hardware infrastructure [link]
    K. Lee, X. Wang. 2018.
  65. Selective Brain Damage: Measuring the Disparate Impact of Model Pruning [link]
    S. Hooker, A. Courville, Y. Dauphin, A. Frome.
    ArXiv, Vol abs/1911.05248. 2019.
  66. The State of Sparsity in Deep Neural Networks
    T. Gale, E. Elsen, S. Hooker. 2019.
  67. Rigging the Lottery: Making All Tickets Winners
    U. {Evci}, T. {Gale}, J. {Menick}, P.S. {Castro}, E. {Elsen}.
    arXiv e-prints. 2019.
  68. HAWQ: Hessian AWare Quantization of Neural Networks With Mixed-Precision
    D. Zhen, Z. Yao, A. Gholami, M. Mahoney, K. Keutzer.
    , pp. 293-302. 2019.
    DOI: 10.1109/ICCV.2019.00038
  69. HAQ: Hardware-Aware Automated Quantization
    K. Wang, Z. Liu, Y. Lin, J. Lin, S. Han.
    ArXiv, Vol abs/1811.08886. 2018.
  70. {Computation on Sparse Neural Networks: an Inspiration for Future Hardware}
    F. {Sun}, M. {Qin}, T. {Zhang}, L. {Liu}, Y. {Chen}, Y. {Xie}.
    arXiv e-prints, pp. arXiv:2004.11946. 2020.
  71. NVIDIA Ampere Architecture In-Depth. [link]
    R. Krashinsky, O. Giroux, S. Jones, N. Stam, S. Ramaswamy.
    2020.
  72. Fast Sparse ConvNets
    E. Elsen, M. Dukhan, T. Gale, K. Simonyan.
    Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). 2020.
  73. {Sparse GPU Kernels for Deep Learning}
    T. {Gale}, M. {Zaharia}, C. {Young}, E. {Elsen}.
    arXiv e-prints. 2020.
  74. GPU Kernels for Block-Sparse Weights
    S. Gray, A. Radford, D.P. Kingma.
    2017.
  75. Machine Learning Systems Are Stuck in a Rut [link]
    P. Barham, M. Isard.
    Proceedings of the Workshop on Hot Topics in Operating Systems, pp. 177–183. Association for Computing Machinery. 2019.
    DOI: 10.1145/3317550.3321441
  76. Dynamic Routing Between Capsules [PDF]
    S. Sabour, N. Frosst, G.E. Hinton.
    Advances in Neural Information Processing Systems 30, pp. 3856—3866. 2017.
  77. The Bitter Lesson [HTML]
    R. Sutton.
    2019.
  78. Do we still need models or just more data and compute? [PDF]
    M. Welling. 2019.
  79. {The Computational Limits of Deep Learning}
    N.C. {Thompson}, K. {Greenewald}, K. {Lee}, G.F. {Manso}.
    arXiv e-prints, pp. arXiv:2007.05558. 2020.
  80. {Language Models are Few-Shot Learners}
    T.B. {Brown}, B. {Mann}, N. {Ryder}, M. {Subbiah}, J. {Kaplan}, P. {Dhariwal}, A. {Neelakantan}, P. {Shyam}, G. {Sastry}, A. {Askell}, S. {Agarwal}, A. {Herbert-Voss}, G. {Krueger}, T. {Henighan}, R. {Child}, A. {Ramesh}, D.M. {Ziegler}, J. {Wu}, C. {Winter}, C. {Hesse}, M. {Chen}, E. {Sigler}, M. {Litwin}, S. {Gray}, B. {Chess}, J. {Clark}, C. {Berner}, S. {McCand lish}, A. {Radford}, I. {Sutskever}, D. {Amodei}.
    arXiv e-prints, pp. arXiv:2005.14165. 2020.
  81. {Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning}
    C. {Szegedy}, S. {Ioffe}, V. {Vanhoucke}, A. {Alemi}.
    arXiv e-prints, pp. arXiv:1602.07261. 2016.
  82. {Rethinking the Inception Architecture for Computer Vision}
    C. {Szegedy}, V. {Vanhoucke}, S. {Ioffe}, J. {Shlens}, Z. {Wojna}.
    arXiv e-prints, pp. arXiv:1512.00567. 2015.
  83. Do Better ImageNet Models Transfer Better? [link]
    S. Kornblith, J. Shlens, Q.V. Le.
    CoRR, Vol abs/1805.08974. 2018.
  84. OpenAI launches an API to commercialize its research [link]
    K. Wiggers. 2020.
  85. Backpropagation through time and the brain [link]
    T.P. Lillicrap, A. Santoro.
    Current Opinion in Neurobiology, Vol 55, pp. 82 - 89. 2019.
    DOI: https://doi.org/10.1016/j.conb.2019.01.011
  86. Toward an Integration of Deep Learning and Neuroscience [link]
    A.H. Marblestone, G. Wayne, K.P. Kording.
    Frontiers in Computational Neuroscience, Vol 10, pp. 94. 2016.
    DOI: 10.3389/fncom.2016.00094
  87. Synaptic Modifications in Cultured Hippocampal Neurons: Dependence on Spike Timing, Synaptic Strength, and Postsynaptic Cell Type [link]
    G. Bi, M. Poo.
    Journal of Neuroscience, Vol 18(24), pp. 10464—10472. Society for Neuroscience. 1998.
    DOI: 10.1523/JNEUROSCI.18-24-10464.1998
  88. A Critique of Pure Learning: What Artificial Neural Networks can Learn from Animal Brains
    A.M. Zador. bioRxiv. 2019.
  89. Motion Integration and Postdiction in Visual Awareness [link]
    D.M. Eagleman, T.J. Sejnowski.
    Science, Vol 287(5460), pp. 2036—2038. American Association for the Advancement of Science. 2000.
    DOI: 10.1126/science.287.5460.2036
  90. Prediction, cognition and the brain [link]
    A. Bubic, D.Y. Von Cramon, R. Schubotz.
    Frontiers in Human Neuroscience, Vol 4, pp. 25. 2010.
    DOI: 10.3389/fnhum.2010.00025
  91. Theory of cortical function [link]
    D.J. Heeger.
    Proceedings of the National Academy of Sciences, Vol 114(8), pp. 1773—1782. National Academy of Sciences. 2017.
    DOI: 10.1073/pnas.1619788114
  92. Signal-processing machines at the postsynaptic density.
    M.B. Kennedy.
    Science, Vol 290 5492, pp. 750-4 . 2000.
  93. The Computer and the Brain [link]
    J. Von Neumann, P. Churchland, P. Churchland.
    Yale University Press. 2000.
  94. Studies of Interference in Serial Verbal Reactions
    J.R. Stroop.
    Journal of Experimental Psychology, Vol 18(6), pp. 643. 1935.
    DOI: 10.1037/h0054651
  95. The elephant brain in numbers
    S. Herculano-Houzel, K. Avelino-de-Souza, K. Neves, J. Porfirio, D.J. Messeder, L.M. Feijo, J. Maldonado, P.R. Manger.
    Frontiers in Neuroanatomy, Vol 8. 2014.
  96. Relational inductive biases, deep learning, and graph networks [link]
    P.W. Battaglia, J.B. Hamrick, V. Bapst, A. Sanchez{-}Gonzalez, V.F. Zambaldi, M. Malinowski, A. Tacchetti, D. Raposo, A. Santoro, R. Faulkner, {. G{"{u}}l{\c{c}}ehre, H.F. Song, A.J. Ballard, J. Gilmer, G.E. Dahl, A. Vaswani, K.R. Allen, C. Nash, V. Langston, C. Dyer, N. Heess, D. Wierstra, P. Kohli, M. Botvinick, O. Vinyals, Y. Li, R. Pascanu.
    CoRR, Vol abs/1806.01261. 2018.
  97. Core knowledge [link]
    E.S. Spelke, K.D. Kinzler.
    Developmental Science, Vol 10(1), pp. 89-96. 2007.
    DOI: 10.1111/j.1467-7687.2007.00569.x
  98. Computational principles of synaptic memory consolidation
    M. Benna, S. Fusi.
    Nature Neuroscience, Vol 19, pp. . 2016.
    DOI: 10.1038/nn.4401
  99. Multisensory Development
    A. Bremner, D. Lewkowicz, C. Spence.
    , pp. . 2013.
    DOI: 10.1093/acprof:oso/9780199586059.003.0001
  100. The Handbook of Multisensory Processes [link]
    G. Stein, G. Calvert, C. Spence, D. Spence, B. Stein, P. Stein.
    MIT Press. 2004.
  101. Exploring Robotic Minds: Actions, Symbols, and Consciousness as Self-organizing Dynamic Phenomena [link]
    J. Tani, O.U. Press.
    Oxford University Press. 2016.
  102. Memory and the Computational Brain: Why Cognitive Science Will Transform Neuroscience
    C. Gallistel, A. King.
    , pp. 288-298. 2009.
    DOI: 10.1002/9781444310498.refs
  103. Episodic Memory: From Mind to Brain [link]
    E. Tulving.
    Annual Review of Psychology, Vol 53(1), pp. 1-25. 2002.
    DOI: 10.1146/annurev.psych.53.100901.135114
  104. When and where do we apply what we learn? A taxonomy for far transfer.
    S.M. Barnett, S. Ceci.
    Psychological bulletin, Vol 128 4, pp. 612-37 . 2002.
  105. Why There are Complementary Learning Systems in the Hippocampus and Neocortex: Insights from the Successes and Failures of Connectionist Models of Learning and Memory
    J. Mcclelland, B. Mcnaughton, R. O’Reilly.
    Psychological review, Vol 102, pp. 419-57. 1995.
    DOI: 10.1037/0033-295X.102.3.419
  106. Catastrophic Interference in Connectionist Networks: The Sequential Learning Problem
    M. McCloskey, N.J. Cohen.
    , Vol 24, pp. 109 - 165. Academic Press. 1989.
    DOI: https://doi.org/10.1016/S0079-7421(08)60536-8
  107. {Continual Lifelong Learning with Neural Networks: A Review}
    G.I. {Parisi}, R. {Kemker}, J.L. {Part}, C. {Kanan}, S. {Wermter}.
    arXiv e-prints, pp. arXiv:1802.07569. 2018.
  108. The Decline of Computers As a General Purpose Technology: Why Deep Learning and the End of Moore’s Law are Fragmenting Computing
    N. Thompson, S. Spanuth. 2018.
  109. {Chip Placement with Deep Reinforcement Learning}
    A. {Mirhoseini}, A. {Goldie}, M. {Yazgan}, J. {Jiang}, E. {Songhori}, S. {Wang}, Y. {Lee}, E. {Johnson}, O. {Pathak}, S. {Bae}, A. {Nazi}, J. {Pak}, A. {Tong}, K. {Srinivasa}, W. {Hang}, E. {Tuncer}, A. {Babu}, Q.V. {Le}, J. {Laudon}, R. {Ho}, R. {Carpenter}, J. {Dean}.
    arXiv e-prints, pp. arXiv:2004.10746. 2020.
  110. Reconfigurable Computing: The Theory and Practice of FPGA-Based Computation
    S. Hauck, A. DeHon.
    Morgan Kaufmann Publishers Inc. 2007.
  111. Plasticine: A reconfigurable architecture for parallel patterns
    R. {Prabhakar}, Y. {Zhang}, D. {Koeplinger}, M. {Feldman}, T. {Zhao}, S. {Hadjis}, A. {Pedram}, C. {Kozyrakis}, K. {Olukotun}.
    2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA), Vol (), pp. 389-402. 2017.
  112. The future of computing beyond Moore’s Law
    J. Shalf.
    Philosophical Transactions of the Royal Society A, Vol 378. 2020.
  113. Big Bets on A.I. Open a New Frontier for Chip Start-Ups, Too [HTML]
    C. Metz. 2018.
  114. FPGAs versus GPUs in Data centers
    B. {Falsafi}, B. {Dally}, D. {Singh}, D. {Chiou}, J.J. {Yi}, R. {Sendag}.
    IEEE Micro, Vol 37(1), pp. 60-72. 2017.
  115. How to Make a Synthetic Multicellular Computer
    J. Macía, R. Sole.
    PloS one, Vol 9, pp. e81248. 2014.
    DOI: 10.1371/journal.pone.0081248
  116. A synthetic biology challenge: Making cells compute
    C. Tan, H. Song, J. Niemi, L. You.
    Molecular bioSystems, Vol 3, pp. 343-53. 2007.
    DOI: 10.1039/b618473c
  117. A scalable pipeline for designing reconfigurable organisms [link]
    S. Kriegman, D. Blackiston, M. Levin, J. Bongard.
    Proceedings of the National Academy of Sciences, Vol 117(4), pp. 1853—1859. National Academy of Sciences. 2020.
    DOI: 10.1073/pnas.1910837117
  118. Equivalent-accuracy accelerated neural-network training using analogue memory
    S. Ambrogio, P. Narayanan, H. Tsai, R. Shelby, I. Boybat, C. Nolfo, S. Sidler, M. Giordano, M. Bodini, N. Farinha, B. Killeen, C. Cheng, Y. Jaoudi, G. Burr.
    Nature, Vol 558, pp. . 2018.
    DOI: 10.1038/s41586-018-0180-5
  119. Progress in Neuromorphic Computing : Drawing Inspiration from Nature for Gains in AI and Computing
    M. {Davies}.
    2019 International Symposium on VLSI Design, Automation and Test (VLSI-DAT), Vol (), pp. 1-1. 2019.
  120. All-optical machine learning using diffractive deep neural networks [link]
    X. Lin, Y. Rivenson, N.T. Yardimci, M. Veli, Y. Luo, M. Jarrahi, A. Ozcan.
    Science, Vol 361(6406), pp. 1004—1008. American Association for the Advancement of Science. 2018.
    DOI: 10.1126/science.aat8084
  121. {Validating quantum computers using randomized model circuits}
    A.W. {Cross}, L.S. {Bishop}, S. {Sheldon}, P.D. {Nation}, J.M. {Gambetta}.
    \pra, Vol 100(3). 2019.
  122. The chip design game at the end of Moore’s law
    R. {Colwell}.
    2013 IEEE Hot Chips 25 Symposium (HCS), Vol (), pp. 1-16. 2013.
  123. Overview of Beyond-CMOS Devices and a Uniform Methodology for Their Benchmarking
    D.E. {Nikonov}, I.A. {Young}.
    Proceedings of the IEEE, Vol 101(12), pp. 2498-2533. 2013.
  124. DARPA Announces Next Phase of Electronics Resurgence Initiative [link]
    . DARPA. 2018.
  125. China Plans $47$ Billion Fund to Boost Its Semiconductor Industry [link]
    Y. Kubota. 2018.
  126. Software Productivity for Extreme-Scale Science
    H. Hotel, H. Johansen, D. Bernholdt, M. Heroux, R. Hornung.
    2014.
  127. MLPerf Inference Benchmark
    V.J. {Reddi}, C. {Cheng}, D. {Kanter}, P. {Mattson}, G. {Schmuelling}, C. {Wu}, B. {Anderson}, M. {Breughe}, M. {Charlebois}, W. {Chou}, R. {Chukka}, C. {Coleman}, S. {Davis}, P. {Deng}, G. {Diamos}, J. {Duke}, D. {Fick}, J.S. {Gardner}, I. {Hubara}, S. {Idgunji}, T.B. {Jablin}, J. {Jiao}, T.S. {John}, P. {Kanwar}, D. {Lee}, J. {Liao}, A. {Lokhmotov}, F. {Massa}, P. {Meng}, P. {Micikevicius}, C. {Osborne}, G. {Pekhimenko}, A.T.R. {Rajan}, D. {Sequeira}, A. {Sirasao}, F. {Sun}, H. {Tang}, M. {Thomson}, F. {Wei}, E. {Wu}, L. {Xu}, K. {Yamada}, B. {Yu}, G. {Yuan}, A. {Zhong}, P. {Zhang}, Y. {Zhou}.
    2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA), Vol (), pp. 446-459. 2020.
  128. Collective Knowledge: Towards R D sustainability
    G. {Fursin}, A. {Lokhmotov}, E. {Plowman}.
    2016 Design, Automation Test in Europe Conferenc Exhibition (DATE), Vol (), pp. 864-869. 2016.
  129. Implementing Domain-Specific Languages for Heterogeneous Parallel Computing
    H. {Lee}, K. {Brown}, A. {Sujeeth}, H. {Chafi}, T. {Rompf}, M. {Odersky}, K. {Olukotun}.
    IEEE Micro, Vol 31(5), pp. 42-53. 2011.
  130. There{\textquoteright}s plenty of room at the Top: What will drive computer performance after Moore{\textquoteright}s law? [link]
    C.E. Leiserson, N.C. Thompson, J.S. Emer, B.C. Kuszmaul, B.W. Lampson, D. Sanchez, T.B. Schardl.
    Science, Vol 368(6495). American Association for the Advancement of Science. 2020.
    DOI: 10.1126/science.aam9744
  131. Beyond Parallel Programming with Domain Specific Languages [link]
    K. Olukotun.
    SIGPLAN Not., Vol 49(8), pp. 179–180. Association for Computing Machinery. 2014.
    DOI: 10.1145/2692916.2557966
  132. When and How to Develop Domain-Specific Languages [link]
    M. Mernik, J. Heering, A.M. Sloane.
    ACM Comput. Surv., Vol 37(4), pp. 316–344. Association for Computing Machinery. 2005.
    DOI: 10.1145/1118890.1118892
  133. Customizable Domain-Specific Computing
    J. {Cong}, V. {Sarkar}, G. {Reinman}, A. {Bui}.
    IEEE Design Test of Computers, Vol 28(2), pp. 6-15. 2011.
  134. Autotuning Numerical Dense Linear Algebra for Batched Computation With GPU Hardware Accelerators
    J. {Dongarra}, M. {Gates}, J. {Kurzak}, P. {Luszczek}, Y.M. {Tsai}.
    Proceedings of the IEEE, Vol 106(11), pp. 2040-2055. 2018.
  135. Automated empirical optimizations of software and the ATLAS project [link]
    R.{. Whaley}, A. Petitet, J.J. Dongarra.
    Parallel Computing, Vol 27(1), pp. 3 - 35. 2001.
    DOI: https://doi.org/10.1016/S0167-8191(00)00087-9
  136. The Landscape of Parallel Computing Research: A View from Berkeley [HTML]
    K. Asanović, R. Bodik, B.C. Catanzaro, J.J. Gebis, P. Husbands, K. Keutzer, D.A. Patterson, W.L. Plishker, J. Shalf, S.W. Williams, K.A. Yelick.
    2006.
  137. OpenTuner: An Extensible Framework for Program Autotuning [link]
    J. Ansel, S. Kamil, K. Veeramachaneni, J. Ragan-Kelley, J. Bosboom, U. O’Reilly, S. Amarasinghe.
    Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, pp. 303–316. Association for Computing Machinery. 2014.
    DOI: 10.1145/2628071.2628092
  138. Spending Moore’s Dividend [link]
    J. Larus.
    Commun. ACM, Vol 52(5), pp. 62–69. Association for Computing Machinery. 2009.
    DOI: 10.1145/1506409.1506425
  139. Software bloat analysis: Finding, removing, and preventing performance problems in modern large-scale object-oriented applications
    H. Xu, N. Mitchell, M. Arnold, A. Rountev, G. Sevitsky.
    Proceedings of the FSE/SDP Workshop on the Future of Software Engineering Research, FoSER 2010, pp. 421-426. 2010.
    DOI: 10.1145/1882362.1882448
  140. Telecosm: How Infinite Bandwidth Will Revolutionize Our World [link]
    G. Gilder. Free Press. 2000.