Квантовые вычисления: обмануть декогеренцию

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


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

Это материал из гида «Квантовый компьютер». Партнер гида — Академия Росатома.

Классические и квантовые вычисления

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

Отец-основатель науки о вычислениях Алан Тьюринг в 1936 году предложил абстрактную вычислительную машину, или машину Тьюринга. Долгое время считалось, что все компьютеры эквивалентны машине Тьюринга: если алгоритм сложный или простой, то он сложный или простой вне зависимости от того, как физически реализован вычислитель. Будь это простое электромеханическое устройство или новый ноутбук, с фундаментальной точки зрения они одинаковые и различаются только числом операций в единицу времени, которые они совершают. 

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

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

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

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

Кубиты

Принципиальное различие между классическим и квантовым компьютером заключается в том, как хранится информация и как она обрабатывается. В классическом компьютере данные кодируются в физических состояниях классических систем. Это может быть, например, уровень напряжения в электрической схеме, который может равняться 0, а может 5В. Одно из этих состояний — логический нуль, другое — логическая единица. Эти состояния противоположны друг другу, их можно легко различать и сделать вывод, в каком состоянии находится единица информации, или бит. Бит — двоичное число, оно может быть 0, может быть 1, а его физической реализацией может быть что угодно, начиная от механического реле и заканчивая полупроводниковыми устройствами. Важно то, что бит может иметь только два взаимоисключающих значения.

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

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

Журнал: Квантовые вычисления: обмануть декогеренцию

Когда кубитов несколько, размерность пространства состояний, которое описывает эту многочастичную систему, растет очень быстро. Почему так происходит, понятно из принципа суперпозиции. Возьмем две двухуровневые системы. Если они классические, то мы можем получить четыре возможных состояния: оба нуля, оба единица, 0-1, 1-0. В квантовом случае возможны еще и все суперпозиции, или все вектора, в четырехмерном пространстве. Если взять n кубитов, то получим также все суперпозиции, но не в n-мерном пространстве, а в пространстве размерности 2n. Это важно: размерность растет очень быстро, экспоненциально. И этот быстрый рост делает квантовую систему очень сложной для моделирования на классическом компьютере.

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

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

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

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

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

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

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

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

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

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

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

Квантовое превосходство

В октябре 2019 года сотрудники компании Google опубликовали статью под названием Quantum Supremacy Using a Programmable Superconducting Processor,посвященную достижению квантового превосходства. 

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

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

Задача, которую разработали в Google, была весьма специфической. Она была максимально простой для квантового компьютера и максимально сложной для классического. У каждого квантового процессора есть определенный нативный набор инструкций — логических операций с кубитами. Он должен быть таким, чтобы любой алгоритм можно было представить в виде последовательности из этого набора. Применяем этот набор в случайном порядке в течение некоторого времени и в конце считываем результат. Получаем строку из нулей и единиц, которая сообщает нам, в каком состоянии мы обнаружили кубит в результате измерения. Повторяем этот процесс много раз, получаем набор битовых строк и строим гистограмму распределения вероятностей: с какой вероятностью какая строка нам выпадала и как часто. Задача заключается в том, чтобы построить эту гистограмму на классическом компьютере. Квантовый компьютер сгенерирует ее естественным образом, а классическому приходится постараться. И оказывается, что стараться ему приходится настолько сильно, что он никак не успевает. 

Чтобы продемонстрировать квантовое превосходство, Google оказалось достаточно 53 кубитов. Этого числа хватило для того, чтобы классическому компьютеру было трудно смоделировать эту систему. Важно понимать, что само по себе число кубитов не так важно. Можно построить электрическую схему в случае сверхпроводящего квантового компьютера с тысячей кубитов, но совершать в ней логические операции будет невозможно из-за декогеренции. Проще говоря, пока последовательность логических операций «дотянется» от одного края схемы до другого, состояние системы полностью рандомизируется. 

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

Ограничения квантовых вычислений

Основная проблема квантовых систем заключается в том, что их непросто изолировать от окружения. Они неизбежно будут с чем-то взаимодействовать. Большая часть этих взаимодействий будет не просто неподвластна человеку — он о них даже не узнает. Тем не менее из-за этих взаимодействий со стороны будет казаться, что состояние квантовой системы «портится». Человек наблюдает только какую-то часть системы, и информация потихоньку утекает в окружение. Это явление называется декогеренцией.И с точки зрения науки о вычислениях она приводит к ошибкам в ходе выполнения операций, результат которых получается не совсем таким, как ожидается. 

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

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

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

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

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

Для чего используются квантовые вычисления

Killer application для квантовых компьютеров пока не найдено, однако есть несколько вариантов их применения. Во-первых, это моделирование квантовых систем. Предположим, нам необходимо рассчитать структуру, уровни энергии и предсказать химические свойства какой-нибудь молекулы. Это достаточно сложная вычислительная задача, а с увеличением числа ядер и электронов в молекуле она очень быстро становится вычислительно неподъемной. Ученым приходится пользоваться неточными, приблизительными методами. Чтобы отказаться от этой неточности, никакого другого пути, кроме как использовать для расчета квантовый компьютер, нет. 

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

Правда, сейчас квантовые компьютеры выполняют задачи из квантовой химии для очень маленьких молекул, например гидрида бериллия (ВеН2). И проблема опять-таки в том, что в современных квантовых компьютерах очень мало кубитов. Есть надежда на аналог закона Мура для квантовых процессоров. Если мы предположим, что квантовый объем будет удваиваться каждые несколько лет, то достаточно быстро квантовые компьютеры достигнут таких вычислительных возможностей, которые позволят им решать более сложные и интересные задачи. На это и рассчитывают все, кто инвестирует сейчас в квантовые вычисления.

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

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

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

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

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

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

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

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


Источник: postnauka.ru

Комментарии: