Разработка квантового компьютера одна из самых сложных задач
современной науки. Зачем он нужен и какие перспективы откроет его
появление? Чем классические вычисления отличаются от квантовых,
какими могут быть кубиты и что такое квантовое превосходство
рассказал физик и специалист в области квантовых вычислений
Станислав Страупе.Это материал изгида Квантовыйкомпьютер. Партнер
гидаАкадемияРосатома.Классические и квантовые вычисленияБольшую
часть задач, с которыми мы сталкиваемся в жизни, можно
сформулировать в виде вычисления определенного алгоритма, набора
действий, в результате которого получается ответ или число.
Современные компьютеры делают очень много разных вещей, которые со
стороны кажутся совсем не связанными с математическими операциями.
Это говорит нам о том, что все разнообразные алгоритмы можно
представить как вычисления некой функции, а компьютер как
вычислитель.Отец-основатель науки о вычислениях Алан Тьюринг в 1936
году предложил абстрактную вычислительную машину, или машину
Тьюринга. Долгое время считалось, что все компьютеры эквивалентны
машине Тьюринга: если алгоритм сложный или простой, то он сложный
или простой вне зависимости от того, как физически реализован
вычислитель. Будь это простое электромеханическое устройство или
новый ноутбук, с фундаментальной точки зрения они одинаковые и
различаются только числом операций в единицу времени, которые они
совершают.Все изменилось с появлением идеи квантовых компьютеров.
Идея заключалась в том, чтобы выяснить, как влияет физическая
природа вычислителя на алгоритмическую сложность того, что он может
делать. Оказалось, что, когда мы переходим от вычислителей,
работающих с классическими объектами, к вычислителям, которые
работают с квантово-механическими объектами, возникает качественный
скачок сложности решаемых задач.Предположим, что мы решаем задачу о
логистике. Нам нужно проложить маршрут через весь город так, чтобы
не создавать пробок. Но чем сильнее мы будем увеличивать масштаб
города, чем больше будет добавляться новых улиц и машин, тем больше
нам будет требоваться времени и ресурсов для решения задачи и тем
она будет сложнее.В науке принято разделять сложность задач на
полиномиальную и экспоненциальную. Если вычислительное время для
решения задачи растет с увеличением размера задачи полиномиально,
то есть как степень квадрат, куб, десятая степень, то эта задача
считается вычислительно простой. Если время растет
экспоненциально,то есть когда скорость роста пропорциональна
значению величины,то рано или поздно с увеличением размера задачи
компьютер не сможет с ней справиться. Такие задачи считаются
вычислительно сложными.Граница между этими типами задач, как
оказалось, зависит от физической природы вычислителя. До 1980-х
годов считалось, что сложность задач для всех устройств одинаковая.
Квантовый компьютер смог передвинуть эту границу: некоторые задачи,
которые для обычного компьютера экспоненциальны, имеют
полиномиальные алгоритмы для квантового
компьютера.КубитыПринципиальное различие между классическим и
квантовым компьютером заключается в том, как хранится информация и
как она обрабатывается. В классическом компьютере данные кодируются
в физических состояниях классических систем. Это может быть,
например, уровень напряжения в электрической схеме, который может
равняться 0, а может 5В. Одно из этих состояний логический нуль,
другое логическая единица. Эти состояния противоположны друг другу,
их можно легко различать и сделать вывод, в каком состоянии
находится единица информации, или бит. Бит двоичное число, оно
может быть 0, может быть 1, а его физической реализацией может быть
что угодно, начиная от механического реле и заканчивая
полупроводниковыми устройствами. Важно то, что бит может иметь
только два взаимоисключающих значения.В квантовом компьютере
единицей информации является q-бит, или кубит. Кубит это единица
квантовой информации, которая физически реализуется в виде
двухуровневой квантовой системы. К ней применимы все принципы
квантовой теории, которые отличают ее от привычного нам мира. В
первую очередьдля нее верен принцип суперпозиции. Это значит, что
если у нее есть два состояния, которые соответствуют логическому
нулюи логической единице, то у нее существует и целое многообразие
суперпозиционных состояний. Пространство состояний кубита гораздо
больше и богаче, чем у классическогобита.Пространство состояний
кубита удобно представлять в виде сферы,так называемой сферы Блоха.
На северном полюсе сферы значение 0, на южном 1. Но есть еще и вся
остальная поверхность, которая представляет собой всевозможные
суперпозиции, тогда как классический бит может быть только в двух
точках на северном полюсе и на южном.
Когда кубитов несколько, размерность пространства состояний,
которое описывает эту многочастичную систему, растет очень быстро.
Почему так происходит, понятно из принципа суперпозиции. Возьмем
две двухуровневые системы. Если они классические, то мы можем
получить четыре возможных состояния: оба нуля, оба единица, 0-1,
1-0. В квантовом случае возможны ещеи все суперпозиции, или все
вектора, в четырехмерном пространстве. Если взять n кубитов, то
получим также все суперпозиции, но не в n-мерном пространстве, а в
пространстве размерности 2n. Это важно: размерность растет очень
быстро, экспоненциально. И этот быстрый рост делает квантовую
систему очень сложной для моделирования на классическом
компьютере.Чтобы извлечь информацию из квантового компьютера,
необходимо произвести измерения. Это приведет к тому, что
суперпозиция схлопнется, или коллапсирует. Дело в том, что напрямую
взаимодействовать с квантовой системой мы не можем,только через
интерфейс классических приборов. И когда с помощью приборов мы
производим процесс измерения, в квантовой механике появляется
вероятностность. Суперпозиции коллапсируют, и в результате мы
получаем битовую строку, последовательность нулей и единиц,
появляющихся с определенными вероятностями (задаваемыми квадратами
модулей коэффициентов в суперпозиции).Как и бит, кубит физически
может быть каким угодно. Ученые выбирают систему, с которой умеют
работать, и пытаются создать из нее кубит. Если, к примеру, ученый
занимается квантовой оптикой, то он попытается сделать кубиты из
фотонов или атомов. Эксперт в твердотельной науке предпочтет
сверхпроводящие кубиты. Многое зависит от предпочтений, но
некоторые системы все же превосходят другие. Какие-то системы
удобнее изолировать, какие-то системы лучше масштабируются проще
взять большое число кубитов и с ним работать. Какие-то позволяют
быстрее осуществлять логические операции.Сейчас выделилось
несколько основных популярных направлений, в первую очередьэто
сверхпроводящие кубиты. Современные сверхпроводящие кубиты это по
сути электрические колебательные контуры, сделанные из
сверхпроводящих материалов.Квантовый компьютер на основе
сверхпроводящих кубитов, таким образом, будет представлять собой
электрическую цепь, с которой взаимодействовать нужно будет
соответственно: подключить провода, посылать и снимать сигналы.
Неудобство заключается в том, что вся эта система будет находиться
в холодильнике, и не простом, а таком, который позволяет достигнуть
температуры на уровне милликельвинов. Потребуется холодильник с
несколькими стадиями охлаждения, работающий на смеси из двух
изотопов жидкого гелия, которые, растворяясь друг в друге,
позволяют получить очень низкие температуры.Также в качестве кубита
можно использовать фотон. Тогда мы получим оптические квантовые
вычисления, которые тоже имеют большое количество преимуществ.Можно
попробовать отталкиваться от технологии кпримеру, от технологии
полупроводниковой электроники, на которой построены все современные
интегральные схемы, из которых сделаны все процессоры и вообще все,
что лежит в основе обычных классических компьютеров. Можно
попробовать взять кремний и каким-то образом внедрить в него
примесный атом и кодировать информацию на уровнях энергии этого
примесного атома.Проблема этой технологии заключается в том, что, в
отличие от атома или иона, который сидит в оптической и
электромагнитной ловушке и находится в вакууме, атом кремния будет
находиться в твердотельной матрице и постоянно взаимодействовать с
окружением, что, в свою очередь, выльется в очень малое время
когерентности.Время когерентности в разных системах разное. Для
сверхпроводящих кубитов сотня микросекунд считается очень хорошим
временем когерентности. Для одиночных атомов и ионов достижимо
время когерентности длиной в секунду. Но важно не время
когерентности само по себе, а отношение этого времени к времени
выполнения логической операции. Нужно за время когерентности успеть
сделать как можно больше операций и получить ответ. Важно не только
сколько времени живет сама квантовая система, но и как быстро
еюможно манипулировать.Квантовое превосходствоВ октябре 2019 года
сотрудники компании Google опубликовали статью под названием
Quantum Supremacy Using a Programmable Superconducting
Processor,1посвященную достижению квантового превосходства.Описать
квантовое превосходство можно следующим образом. Возьмите
секундомер, квантовый компьютер, классический компьютери задачу,
которую можно сформулировать в терминах, понятных и томуи другому
компьютеру. У нас должен быть алгоритм решения этой задачи для
классического компьютера и алгоритм для квантового. Запускаем
секундомер и смотрим, кто быстрее.Именно в таком виде квантовое
преимущество было продемонстрировано инженерами Google. Команда
Google придумала некую хорошо формализованную математическую
задачу, которую квантовый компьютер решает быстрее, чем любой
существующий сейчас суперкомпьютер. Время, которое нужно квантовому
компьютеру на то, чтобы найти ответ, значительно меньше. Для него
это обозримое время, условно минута, а у лучшего классического
компьютера на решение уйдут сотни лет. Это и есть так называемое
квантовое превосходство. Не просто преимущество, а преимущество
настолько большое, что оно абсолютно очевидно и кажется, что
никакойпрогрессв классических алгоритмах не сможетэту ситуацию
поменять.Задача, которую разработали в Google, была весьма
специфической. Она была максимально простой для квантового
компьютера и максимально сложной для классического. У каждого
квантового процессора есть определенный нативный набор инструкций
логических операций с кубитами. Он должен быть таким, чтобы любой
алгоритм можно было представить в виде последовательности из этого
набора. Применяем этот набор в случайном порядке в течение
некоторого времени и в конце считываем результат. Получаем строку
из нулей и единиц, которая сообщает нам, в каком состоянии мы
обнаружили кубит в результате измерения. Повторяем этот процесс
много раз, получаем набор битовых строк и строим гистограмму
распределения вероятностей:с какой вероятностью какая строка нам
выпадала икак часто. Задача заключается в том, чтобы построить эту
гистограмму на классическом компьютере. Квантовый компьютер
сгенерирует ее естественным образом, а классическому приходится
постараться. И оказывается, что стараться ему приходится настолько
сильно, что он никак не успевает.Чтобы продемонстрировать квантовое
превосходство, Google оказалось достаточно 53 кубитов. Этого числа
хватило для того, чтобы классическому компьютеру было трудно
смоделировать эту систему. Важно понимать, что само по себе число
кубитов не так важно. Можно построить электрическую схему в случае
сверхпроводящего квантового компьютера с тысячей кубитов, но
совершать в ней логические операции будет невозможно из-за
декогеренции. Проще говоря, пока последовательность логических
операций дотянется от одного края схемы до другого, состояние
системы полностью рандомизируется.Важно не просто число кубитов, а
то, что сейчас принято называть квантовым объемом. Такая метрика
сравнения квантовых процессов появилась с легкой руки компании IBM,
которая тоже в последнее время занимается построением собственных
квантовых компьютеров. Немного упрощая, можно сказать, что
квантовый объем представляет собой произведение числа кубитов на
число операций, которые можно сделать за время когерентности. Эта
метрика учитывает не только число кубитов, но и уровень ошибок в
логических операциях. Это принципиально важно, потому что до тех
пор, пока мы не избавимся от ошибок, квантовое преимущество будет
оставаться эфемерным.Ограничения квантовых вычисленийОсновная
проблема квантовых систем заключается в том, что их непросто
изолировать от окружения. Они неизбежно будут с чем-то
взаимодействовать. Большая часть этих взаимодействий будет не
просто неподвластна человеку он о них даже не узнает. Тем не
менееиз-за этих взаимодействий со стороны будет казаться, что
состояние квантовой системы портится. Человек наблюдает только
какую-то часть системы, и информация потихоньку утекаетв окружение.
Это явление называется декогеренцией.2И с точки зрения науки о
вычислениях она приводит к ошибкам в ходе выполнения операций,
результат которых получается не совсем таким, как ожидается.Кроме
того, в силу природы квантово-механических систем уровень ошибок в
квантовых вычислениях всегда будет высоким. Но если удастся
понизить его до некоторой величины, начнут работать так называемые
коды коррекции ошибок.Их идея заключается в том, чтобы взять
несколько физических кубитов и кодировать с их помощью один
логический кубит, добавляя избыточность. Идаже если что-то
произойдет с парой кубитов, возможность восстановить исходное
состояние сохранится, поскольку их много, и для того, чтобы
полностью потерять исходную информацию, нужно, чтобы ошибка
произошла в большинстве из них.Используя эту избыточность, можно
составить из нескольких плохих кубитов хороший. Дальше эту
процедуру можно продолжать и продолжать: взять несколько логических
кубитов и создать из них еще один, у которого уровень ошибок будет
еще ниже. И так, в теории, можно дойти до сколь угодно малого
уровня ошибок.Проблема в том, что физических кубитов для этого
потребуется колоссальное количество. Когда появится возможность
работать с множеством физических кубитов с достаточно низким
уровнем ошибок, чтобы можно было использовать коды коррекции, тогда
квантовый компьютер станетбезошибочным.Компьютер сможет строить
алгоритмы из неограниченного количества операций, потому что
получившийся в результате логический кубит будет жить
неограниченное время. Это будет переломный момент, и работы в этом
направлении приведут человечество либо к полномасштабному
квантовому компьютеру, либо к пониманию, почему он невозможен.Для
чего используются квантовые вычисленияKiller application для
квантовых компьютеров пока не найдено, однако есть несколько
вариантов их применения. Во-первых, это моделирование квантовых
систем. Предположим, нам необходимо рассчитать структуру, уровни
энергии и предсказать химические свойства какой-нибудь молекулы.
Это достаточно сложная вычислительная задача, а с увеличением числа
ядер и электронов в молекуле она очень быстро становится
вычислительно неподъемной. Ученым приходится пользоваться
неточными, приблизительными методами. Чтобы отказаться от этой
неточности, никакого другого пути, кроме как использовать для
расчета квантовый компьютер, нет.Чем больше частиц,
взаимодействующих в квантовой системе, которую необходимо
смоделировать, тем больше у нее пространство состояний и,
соответственно, тем больше памяти в компьютере вам нужно, чтобы это
состояние хранить, и тем сложнее рассчитать что-то для этой
системы. Поскольку рост этот экспоненциальный, расчеты достаточно
быстро упираются в стену, которую пробить невозможно. Использование
квантового компьютера эту стену уничтожает.Правда, сейчас квантовые
компьютеры выполняют задачи из квантовой химии для очень маленьких
молекул,напримергидрида бериллия(BeН2). И проблема опять-таки в
том, что в современных квантовых компьютерах очень мало кубитов.
Есть надежда на аналог закона Мура3 для квантовых процессоров. Если
мы предположим, что квантовый объем будет удваиваться каждые
несколько лет, то достаточно быстро квантовые компьютеры достигнут
таких вычислительных возможностей, которые позволят им решать более
сложные и интересные задачи. На это и рассчитывают все, кто
инвестирует сейчас в квантовые вычисления.Если говорить о задачах
за пределами физики и химии, то это может быть, например,
математика. Задачи комбинаторной оптимизации, когда вам нужно
что-нибудь посчитать для какого-нибудь сложного графа. Здесь
квантовые компьютеры позволяют ускорить процесс. Даже если решать
задачу перебором, квантовый компьютер позволит ускорить этот
перебор.При этом, вероятнее всего, желающие воспользоваться
квантовыми компьютерами будут покупать время пользования, а не сами
устройства. Квантовый компьютер сложен в обращении и требует
лабораторных условий для функционирования. Поэтому он будет
работать, скорее всего, как некая облачная система вычислений.Такие
системы существуют уже сейчас. К примеру, у IBM есть несколько
квантовых компьютеров, которые находятся в открытом доступе. К ним
можно подключиться и произвести на них расчеты. Кубитов в этих
квантовых компьютерах немного, но для тренировочных задач и
экспериментов их можно использовать.Удаленные эксперименты,
вероятнее всего, станут самым распространенным вариантом
использования квантовых компьютеров в ближайшем будущем. Ученые
будут подключаться к удаленной экспериментальной установке и,
программируя ее как компьютер, проводить физический эксперимент без
необходимости погружаться глубоко в физику происходящего,
рассматривая все как некую абстрактную модель.В более практической
плоскости будущее стоит за гибридными компьютерами. Во-первых,
сложно себе представить, что в обозримом будущем число кубитов
будетсравнимо с числом логических элементов в современных
интегральных схемах. Кроме того, хоть на квантовом компьютере в
принципе и можно будет запустить любой классический алгоритм,
квантовые системы для этого не предназначены. Квантовая система
этоскорееспецифический сопроцессор. Поэтому большая часть
алгоритмов, которые сейчас разрабатываются, представляют собой
гибридные алгоритмы с основной классической частью и одной
функцией, которая вычисляется на квантовом сопроцессоре и которая
слишком сложна для классического компьютера. Такая функция будет
тормозить весь алгоритм, а квантовый компьютер позволяет быстро ее
вычислить.Такая работа будет похожа на взаимодействие процессора с
видеокартой. Видеокарта делает одни задачи быстрее, процессор со
своей архитектурой другие. Взаимодействуя, они ускоряют всю
систему.Вполне вероятно, что в обозримом будущем нас будут ждать
квантовые вычислители, с помощью которых можно будет, например,
строить нейросети с огромным количеством параметров. Все будет
зависеть от того, насколько долго получится поддерживать
экспоненциальное увеличение квантового объема. IBM обещает
удваивать этот квантовый объем достаточно часто. Если это
действительно будет так, то пройдет десятилетие и мы получим
возможность тренировать нейросети с триллионами параметров.Ученые
возлагают на квантовые вычисления очень большие надежды, и
ближайшие несколько лет будут решающими. Человечество либо найдет
реально работающую возможность коррекции ошибок, либо приложение
для компьютеров, не требующихкоррекции, такое приложение, которое
действительно будет делать что-то полезное. Если это случится,
произойдет квантовая революция, после которой мы сможем наблюдать
постоянный прогресс такой же, как в классических вычислениях, когда
вычислительная мощность будет расти и расти.