Аппаратная часть компьютера также важна, поскольку более быстрые компьютеры с большей памятью позволяют быстрее выполнять алгоритм и включать больше информации. Прогресс в этой сфере хорошо известен, но по-прежнему не укладывается в голове. Первый коммерческий программируемый электронный компьютер, Ferranti Mark I, мог выполнять около 1000 (103) команд в секунду и имел примерно 1000 байт основной памяти. Самый быстрый компьютер начала 2019 г., Summit, Национальной лаборатории Ок-Ридж в Теннесси выполняет около 1018 команд в секунду (в 1000 трлн раз быстрее) и имеет 2,5 × 1017 байт памяти (в 250 трлн раз больше). Этот прогресс стал результатом совершенствования электронных устройств и развития стоящей за ними физики, что позволило добиться колоссальной степени миниатюризации.
Хотя сравнение компьютера и головного мозга, в общем, лишено смысла, замечу, что показатели Summit слегка превосходят емкость человеческого мозга, который, как было сказано, имеет порядка 1015 синапсов и «цикл» примерно в 0,01 секунды с теоретическим максимумом около 1017 «операций» в секунду. Самым существенным различием является потребление энергии: Summit использует примерно в миллион раз больше энергии.
Предполагается, что закон Мура, эмпирическое наблюдение, что количество электронных компонентов чипа удваивается каждые два года, продолжит выполняться примерно до 2025 г., хотя и немного медленнее. Сколько-то лет скорости ограничены большим количеством тепла, выделяемого при быстрых переключениях кремниевых транзисторов; более того, невозможно значительно уменьшить размеры цепей, поскольку провода и соединения (на 2019 г.) уже не превышают длины в 25 атомов и толщины от пяти до десяти атомов. После 2025 г. нам придется использовать более экзотические физические явления, в том числе устройства отрицательной емкости
[42], одноатомные транзисторы, графеновые нанотрубки и фотонику, чтобы поддержать действие закона Мура (или того, что придет ему на смену).
Вместо того чтобы просто ускорять компьютеры общего назначения, есть другая возможность — строить специализированные устройства, ориентированные на выполнение лишь одного класса вычислений. Например, тензорные процессоры (TPU) Google разработаны для расчетов, необходимых для определенных алгоритмов машинного обучения. Один TPU-модуль (версии 2018 г.) выполняет порядка 1017 вычислений в секунду — почти столько же, сколько машина Summit, — но использует примерно в 100 раз меньше энергии и имеет в 100 раз меньший размер. Даже если технология чипов, на которой это основано, останется в общем неизменной, машины этого типа можно попросту делать все больше и больше, чтобы обеспечить ИИ-системы огромной вычислительной мощностью.
Квантовые вычисления отличаются принципиально. Они используют необычные свойства волновых функций квантовой механики для получения потрясающего результата: в два раза увеличив количество квантового оборудования, вы можете более чем в два раза увеличить объем вычислений! Очень приблизительно это можно описать так
[43]. Предположим, у вас есть крохотное физическое устройство, хранящее квантовый бит, или кубит. Кубит имеет два возможных состояния, 0 и 1. Если в классической физике кубитное устройство должно находиться в одном из двух состояний, в квантовой физике волновая функция, несущая информацию о кубите, сообщает, что он одновременно находится в обоих состояниях. Если у вас есть два кубита, то имеются четыре возможных совместных состояния: 00, 01, 10 и 11. Если волновая функция когерентно запутана между двумя кубитами, что означает, что никакие другие физические процессы не искажают картину, то два кубита находятся во всех четырех состояниях одновременно. Более того, если два кубита включены в квантовую цепь, выполняющую какое-то вычисление, то это вычисление выполняется всеми четырьмя состояниями одновременно. При наличии трех кубитов вы получаете восемь состояний, обрабатываемых одновременно, и т. д. В силу определенных физических ограничений объем выполняемой работы меньше, чем геометрическая прогрессия количества кубитов
[44], но мы знаем, что существуют важные задачи, в решении которых квантовые вычисления, по всей видимости, более эффективны, чем любой классический компьютер.
К 2019 г. созданы экспериментальные прототипы маленького квантового процессора, оперирующего несколькими десятками кубитов, но пока нет интересных вычислительных задач, в которых квантовый процессор оказывается быстрее классического компьютера. Главной проблемой является декогерентность — такие процессы, как тепловой шум, разрушающие когерентность многокубитной волновой функции. Специалисты по квантовым вычислениям надеются решить проблему декогерентности путем создания цепи исправления ошибок, чтобы любая ошибка, возникающая в ходе вычислений, быстро обнаруживалась и исправлялась с использованием своего рода процесса голосования. К сожалению, системы исправления ошибок требуют намного больше кубитов для выполнения той же работы; если квантовая машина с несколькими сотнями идеальных кубитов была бы очень мощной по сравнению с существующими классическими компьютерами, нам, вероятно, потребуется несколько миллионов кубитов, исправляющих ошибки, чтобы практически осуществить эти вычисления. Переход от нескольких десятков к нескольким миллионам кубитов займет несколько лет. Если нам в конце концов удастся решить такую задачу, это полностью изменит наши возможности в использовании вычислений по методу «грубой силы»
[45]. Вместо того чтобы ждать настоящих концептуальных прорывов в области ИИ, мы, возможно, сумеем использовать мощность квантовых вычислений, чтобы обойти ряд барьеров, с которыми сталкиваются нынешние «неинтеллектуальные» алгоритмы.
Ограничения вычислений
Даже в 1950-х гг. компьютер описывался в популярной печати как «супермозг», который мыслит «быстрее Эйнштейна». Можем ли мы теперь наконец сказать, что компьютеры обладают огромными возможностями человеческого мозга? Нет. Обращать внимание исключительно на вычислительную мощность — значит очень сильно заблуждаться. Одна лишь скорость не подарит нам ИИ. Выполнение неверного алгоритма на более быстром компьютере не делает алгоритм лучше; это всего лишь означает, что вы быстрее получаете неправильный ответ. (Причем чем больше данных, тем больше возможностей для неправильных ответов!) Главное следствие ускорения машин — это сокращение времени эксперимента, что позволяет исследованиям быстрее идти вперед. Создание ИИ задерживает не аппаратная, а программная часть. Мы еще не знаем, как делать машину по-настоящему интеллектуальной — даже если бы она была размером со Вселенную.