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

Квантовый компьютер — это область, которая развивается уже достаточно давно, но только в последние несколько лет люди действительно начали понимать, что такое квантовый компьютер и что с его помощью можно сделать. Чтобы объяснить, что такое квантовый компьютер, лучше начать с классического компьютера. Чтобы понять, как он работает, мы используем операции с классическими битами — ноликами и единицами. Мы храним информацию с помощью битстримов (bit stream — битовый поток; временная последовательность битов). Если на этот битстрим мы повесим логические операции, например, если мы возьмем операцию E или O, мы получим функцию, которая оперирует логическими битами.

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

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

Александр Кириенко
Александр Кириенко

Но в какой-то момент, кроме размера системы, людей стал интересовать вопрос: «А какова будет производительность, которая зависит от того, например, насколько эффективно мы можем отводить тепло?» И оказалось, что количество элементов на схеме очень важно, мы не можем поместить их чересчур много.

Что будет дальше, если развитие компьютерных технологий классического hardware остановится? Один из вариантов ответа — инвестирование в квантовый компьютер, который использует принципиально другой подход.

В чем сложность?

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

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

Квантовый компьютер. Источник: analyticsindiamag.com
Квантовый компьютер. Источник: analyticsindiamag.com

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

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

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

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

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

Семинар «Квантовое машинное обучение»
Семинар «Квантовое машинное обучение»

На самом деле с теоретической точки зрения многие вопросы были решены еще в 90-х годах, в таком случае мы можем спросить: а почему у нас до сих пор еще нет квантового компьютера? Ответ на него заключается в том, что, несмотря на предсказанный Питером Шором алгоритм, чтобы его запустить, нужны большие ресурсы. А их попросту нет на сегодняшний день.

Все существующие алгоритмы похожего плана предсказывают большое ускорение. Остается вопрос: а может ли это ускорение быть продемонстрировано с теми компьютерами, которые есть сейчас или будут созданы в будущем? Этим вопросом задавались многие ведущие ученые, например, Матиас Тройер, который сейчас работает в Microsoft. Он проверял каждый алгоритм, задавая вопрос: в какой момент в будущем (то есть не с современными устройствами, а, например, через десять лет) мы сможем использовать один из этих алгоритмов?

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

Квантовая химия: что это и какие проблемы позволит решить?

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

Зачем все это нужно? Например, это позволяет понять, какие процессы происходят в молекулах, которые мы не можем исследовать на сегодняшний день. Есть процесс Габера — Боша, благодаря которому мы можем произвести азот при температуре 2000 градусов Цельсия. Азот, как известно, является удобрением. Но в то же время есть биологический процесс, который позволяет делать это при обычной температуре и в нормальных условиях. Мы до сих пор не научились его использовать, потому что молекулы, которые в этом участвуют, чересчур сложны, и мы не знаем, какие реакции там происходят. Если мы возьмем квантовый компьютер и применим даже существующие алгоритмы, мы сможем найти основное возбужденное состояние квантовой системы, предсказать скорость реакции и предложить новые катализаторы. Таким образом, мы, например, смогли бы сократить использование природного газа на величину от 2 до 5%. На самом деле это гигантские суммы денег, которые можно было бы сэкономить.

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

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

Квантовые устройства

Это действительно та область, благодаря которой мы можем говорить о квантовых компьютерах как о чем-то реальном. К слову, еще десять лет назад такой доклад вызвал бы чисто академический интерес: зачем нам вообще говорить про квантовые компьютеры, ведь это теория. Но на сегодняшний момент это уже не теория и даже не академия, а полноценная область в индустрии. За последние несколько лет, начиная с 2014 года, ведущие мировые компании представили свои образцы квантовых компьютеров. Компьютер от Google содержит 72 кубита, 49 и 50 — в компьютерах от Intel и IBM. Когда я только входил в область, было 2 или, может быть, 4-5 кубитов, но уже сейчас мы видим огромные системы.

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

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

Кроме больших компаний есть много стартапов, количество которых существенно выросло за последние несколько лет. Один из них — Rigetti Computing, который был создан четыре года назад, но за это короткое время увеличился до штата в сотни человек. Rigetti Computing обещает сделать 128 кубитов до конца 2019 года. И это дно из тех обещаний, которое они на самом деле могут исполнить потому что у них есть отдельная лаборатория по производству квантовых чипов. Есть и много других компаний, меньше по размеру, но с большими амбициями. Таким образом, экосистема растет очень бурно. И если мы хотим создавать квантовый компьютер и быть конкурентоспособными, это лучше делать сейчас.

Rigetti Computing. Источник: rigetti.com
Rigetti Computing. Источник: rigetti.com

В итоге сейчас мы имеем много приборов, у которых уже есть достаточно большой размер, но пока мы оперируем сотнями. Что мы хотим? Мы хотим миллионы квантовых битов, которые нужны для исправления ошибок. В будущем мы хотим применять известные алгоритмы, где у нас есть квантовое ускорение.

Пока у нас есть скромные системы, благодаря которым мы можем решать какие-то квантово-химические задачи для достаточно простых молекул, пытаемся решать проблемы оптимизации и в будущем попытаемся показать то же самое для увеличенного размера системы. Поэтому между нашей мечтой и тем, что мы можем сделать сейчас, есть большая пропасть. Это то, что Джон Прескилл в 2018 году определил как отдельную эру квантового компьютера. Он назвал ее NISQ (Noisy Intermediate Scale Quantum devices), иными словами — размер систем уже достаточно большой, чтобы показать нетривиальную физику, но еще не универсален. Именно в этой области сейчас идет основное развитие, и специалисты пытаются показать новые алгоритмы.

Квантовое программирование

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

Семинар «Квантовое машинное обучение»
Семинар «Квантовое машинное обучение»

В классическом программировании у нас есть высокоуровневые языки вроде C++ и С#, но в области квантовых компьютеров у нас уже есть новые языки, например, такие, как Q# от Microsoft и другие. Можно предсказать, что те компании, которые сейчас лидируют в области классических компьютерных технологий, скоро будут доминировать в области квантовых вычислений. Стартап Rigetti Computing уже предложил свою архитектуру. Но еще не поздно создать что-то новое.

Семинар «Квантовое машинное обучение»: главные задачи

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

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

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

Семинар «Квантовое машинное обучение»
Семинар «Квантовое машинное обучение»

О задачах квантового машинного обучения подробно рассказал Алексей Мельников. Ученый специализируется на создании технологий квантового машинного обучения, а также на разработке новых методов реализации машинного интеллекта для научных открытий. Исследователь работает над проектами в Базельском университете (Швейцария), Университете ИТМО и Физико-технологическом институте им. К.А. Валиева РАН в Москве. Напомним, в этом году Алексей Мельников стал обладателем престижной премии Cozzarelli Prize от Национальной академии наук США (подробнее о его работе и сотрудничестве с Университетом ИТМО можно почитать в этом материале).

Также доклады представили Александр Павлов, доцент факультета фотоники и оптоинформатики, и Алексей Платонов, аспирант факультета программной инженерии.