Технологии
Никита Логинов

Посчитать до бесконечности за пять секунд: чем квантовые компьютеры лучше обычных и сколько их ещё ждать

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

Квантовый компьютер IBM Фото IBM Research

16 ноября компания IBM объявила о создании квантового процессора Eagle, состоящего из 127 кубитов. Это заметное достижение, потому что от количества кубитов напрямую зависит готовность квантовых компьютеров к практическому использованию. Прежние рекордсмены, Sycamore от Google и китайский Jiuzhang, включали только 53 и 76 кубитов соответственно.

TJ при помощи технического директора бизнес-группы Поиска, рекламных и облачных сервисов «Яндекса» Петра Попова разобрался, что всё это означает: что такое кубиты, как работают квантовые компьютеры, зачем они нужны и когда придут в повседневную жизнь.

Чем квантовые компьютеры отличаются от обычных

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

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

Суперкомпьютер IBM Summit в Министерстве энергетики США Фото IBM

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

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

Как работает квантовый компьютер

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

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

Разница между классическим битом и кубитом Изображение Wired

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

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

Разница во вместимости классических битов и квантовых Изображение Kurzgesagt

Это можно выразить иначе: если обычный компьютер за секунду перебирает 1000 вариантов пазла, то квантовый за ту же секунду сможет перебрать 2^1000 (две в тысячной степени) вариантов. И чем больше у него кубитов — тем больше показатель степени. Те задачи, которые даже мощнейший суперкомпьютер будет решать тысячи, миллионы или даже миллиарды лет, квантовый решит за 10-20 секунд. В этом суть квантового превосходства над обычными компьютерами.

Обычный компьютер c n битами памяти находится в одном из состояний (b_1, b_2…, b_n), и задача обычного вычисления — это шаг за шагом изменять биты в зависимости от других битов. Квантовый компьютер находится в смеси всех базовых состояний, и в каждом моменте описывается набором 2^n комплексных амплитуд. Что и называется квантовой запутанностью.

Пётр Попов

Почему создать квантовый компьютер так сложно

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

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

Разработчикам, чтобы избежать декогеренции, приходится идти на крайне высокотехнологичные и наукоёмкие ухищрения — например, захватывать микрочастицы кубитов в оптические ловушки или охлаждать их до −273,13 °C. Сверхнизкие температуры, близкие к абсолютному нулю, вообще очень перспективны для квантовых вычислений — они позволяют создавать квантовые «облака» из множества кубитов.

Чем больше кубитов в квантовом компьютере — тем сложнее удерживать их в изоляции. Специалисты IBM смогли создать 127-кубитный Eagle только потому, что не стали возиться с каждым кубитом отдельно. Вместо этого инженеры объединили кубиты в шестиугольники, чтобы управлять сразу шестью кубитами за раз, и выстроили их в многослойную 3D-схему. Это сильно упростило процессор и позволило избавиться от множества проводов, что освободило место для более мощных и стабильных охладителей кубитов.

Иллюстрация многослойной 3D-компоновки квантового процессора IBM Eagle Изображение IBM

Зачем нужны квантовые компьютеры

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

Квантовый компьютер применим ко всем вычислениям, но встаёт вопрос, всюду ли можно достигать экспоненциального ускорения. В разложении чисел на простые — можно. Есть хорошо ускоряемый алгоритм Шора… Есть алгоритм Гровера, который позволяет обращать функции на квантовом компьютере, но не экспоненциально, а квадратично быстро. Можно ли решать переборные задачи на квантовом компьютере экспоненциально быстро и, например, победить проблему равенства классов P и NP — пока неизвестно.

Пётр Попов

На каких задачах эффективен квантовый компьютер

  • поиск нужного элемента в неупорядоченных списках — квантовый процессор ускорит работу баз данных и поисковых систем в сотни, тысячи или миллионы раз;
  • исследование квантовых явлений в различных условиях — можно будет моделировать протоны, нейтроны, фотоны, электроны и прочие частицы в коллайдерах какой угодно мощности (вместо того, чтобы строить их в реальности), внутри нейтронных звёзд или под горизонтом чёрных дыр;
  • решение проблем вычислительной биологии — квантовый компьютер сможет очень точно имитировать поведение биомолекул в различных средах и миллионов живых существ в той или иной экологической нише, а также расшифровывать и проектировать ДНК;
  • ускорение машинного обучения — относительно небольшие квантовые процессоры позволят создавать мощные нейронные сети, которые смогут с высокой точностью управлять энергетическими и транспортными сетями, работой промышленных объектов и целых отраслей экономики;
  • изучение болезней и создание медицинских препаратов — квантовые компьютеры смогут быстро просчитывать поведение больших и сложных молекул лекарств внутри организма, что позволит создавать лекарства без большей части испытаний на животных и людях;
  • взлом систем шифрования — многие криптографические алгоритмы основаны на невозможности быстро разложить большие числа на простые множители, но квантовые компьютеры способны выполнять это за считанные секунды или минуты, что сделает бесполезными большую часть паролей, ключей и сертификатов.

Если будущие чипы от IBM или их аналоги будут работать на сотнях-тысячах кубитов, то будет скомпрометирована большая часть криптографии — например, RSA. Какие-то блокчейны тоже будут скомпрометированы, это зависит от используемых алгоритмов. Вообще, в самой основе там лежат односторонние хеши, которые экспоненциально дорого обращать… Но если окажется, что переборные задачи можно решать экспоненциально быстро (что кажется естественным, так как в состоянии квантового компьютера закодировано экспоненциальное число вариантов), то блокчейны и криптография пострадают ещё сильнее, фактически будут убиты, потому что их существование основано на односторонних функциях.

Пётр Попов

Когда появятся стабильно работающие квантовые компьютеры

Различные компании, лаборатории и вузы периодически заявляют о достижении квантового превосходства — например, Google в 2019 году или Университет науки и техники Китая в 2020 году. Каждый раз создатели рапортуют об экспоненциальном ускорении вычислений — например, китайский квантовый компьютер смог за 20 секунд сделать то, на что классическому суперкомпьютеру понадобилось бы 600 миллионов лет.

Фотонный 66-кубитный квантовый компьютер Zuchongzhi Университета науки и техники Китая Фото USTC

Однако нередко оказывается, что созданный квантовый компьютер может выполнять один-единственный процесс, порой бесполезный на практике, а впечатляющие цифры превосходства не совсем точны. Некоторые модели квантовых компьютеров вроде машин D-Wave с тысячами кубитов можно назвать только «частично квантовыми» — они эффективны лишь в некоторых типах задач. В целом же, до стабильно работающего универсального квантового компьютера, похоже, ещё далеко.

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

Тем не менее, даже экспериментальные квантовые компьютеры позволяют решать задачи вроде моделирования микрочастиц и даже получать новые научные знания. Это побуждает исследователей продолжать работу: например, IBM уверенно говорит о создании 1000-кубитного процессора Condor в 2023 году, а Google обещает к 2029 году создать первый коммерческий квантовый компьютер — предположительно, он будет состоять из миллиона кубитов. Эти компьютеры могут обходить текущие проблемы чисто инженерными методами или же работать на совершенно новых принципах.

#компьютеры #физика #квантовыекомпьютеры