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

Меня зовут Алексей Фёдоров, я руководитель научной группы РКЦ и Университета «МИСиС». Расскажу, что такое квантовые компьютеры, как Российский квантовый центр и сотрудники из организации S-Quantum, созданной исследователями Центра квантовых технологий МГУ им. М.В. Ломоносова, придумали эмуляторы квантового процессора, почему решили разворачивать их в облаке и что в итоге получили.

Немного теории: что такое квантовые процессоры


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

Алгоритм работы квантового процессора кардинально отличается: для решения алгоритмических задач он использует кубиты (квантовые биты), которые могут одновременно быть в нескольких состояниях. 



Кубит — квантовая двухуровневая система, состояние которой математически задаётся двумя комплексными числами. Если говорить про классический компьютер, это, соответственно, либо четыре числа Float (32-битных), что соответствует одинарной точности представления комплексного числа, либо четыре числа Double (64-битных), что соответствует двойной точности.

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

Зачастую для объяснения потенциального выигрыша квантовых вычислений говорят о том, что «квантовые компьютеры перебирают все варианты решения задачи одновременно». Такое представление полезно для популяризации, однако ничего, по сути, не объясняет. Лаконичное объяснение потенциального преимущества квантовых вычислений дал Д. Прескилл, один из наиболее известных учёных в этой сфере. Идея заключается в квантовой сложности: если для описания типичного регистра классического процессора из n битов достаточно n битов, то для описания состояния многокубитного запутанного состояния в общем случае потребуется до 2n комплексных чисел. Управление таким «сложным» для классического компьютера состоянием общего вида (которое уже для 50 кубитов не может быть смоделировано на суперкомпьютере) для решения практических задач — это удел квантовых алгоритмов.

Динамичное развитие квантовых процессоров и их повсеместное распространение невозможно без:

  • специализированного оборудования;
  • специализированного ПО — квантовых алгоритмов и не только.

Оборудование разрабатывается в рамках Дорожной карты по квантовым вычислениям. У РКЦ, ФИАН им. П.Н. Лебедева и «МИСиС» уже есть первые прототипы квантовых компьютеров.

Как в России, так и во всём мире, софт для квантовых компьютеров развивается значительно быстрее оборудования. Например, у Российского квантового центра (РКЦ) сегодня уже есть определённые наработки по квантовым алгоритмам, облачным платформам доступа и отдельному ПО. Также разработкой квантового ПО занимается организация S-Quantum, созданная исследователями Центра квантовых технологий МГУ им. М.В. Ломоносова. На базе программного эмулятора S-Quantum сейчас действует платформа удалённого доступа к квантовым вычислениям Центра квантовых технологий МГУ, к которой в ближайшем будущем будут подключены и аппаратные квантовые вычислители отечественной разработки.  

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

Кейс Российского квантового центра и S-Quantum: от идеи к реализации


В рамках реализации планов развития квантовых технологий в России, Российскому квантовому центру и S-Quantum требовался собственный эмулятор. Специалисты рассмотрели два способа решения этой задачи:

  • приближённое моделирование более крупных регистров ценой снижения точности;
  • точное моделирование, при котором размеры регистра ограничены фундаментальными законами физики и математики.

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

  • Проработали низкоуровневые оптимизации вычислительных ядер. Ядра оптимизировали с учётом эффективности вычислений на современных процессорах. Также улучшали использование кеша процессора. А для эффективной индексации элементов состояния использовались различные «трюки» с побитовыми операциями и подобные им.
  • Распараллелили вычислительные ядра. Была использована низкоуровневая схема распараллеливания вычислений, позволяющая задействовать все ядра процессора по-максимуму.

Основная операция, которую выполняет эмулятор квантового компьютера — применение гейта к квантовому состоянию. Фактически это перемножение матриц, или свёртка тензоров. Мы исходили из того, что наш тензор, который задаёт состояние, как и гейт, имеет определённую структуру. Это позволило нам имплементировать свёртку тензоров эффективнее, чем при использовании готовых библиотек для численной линейной алгебры. Чтобы повысить производительность эмулятора, мы также:

  • отдельно оптимизировали применение каждого общеупотребимого в квантовых вычислениях гейта;
  • исключили любое копирование квантового состояния в ходе вычислений;
  • реализовали универсальный API, похожий на API библиотек для численной линейной алгебры (BLAS, LAPACK, BLIS и т. д.), который позволяет расширять набор вычислительных ядер и писать их на любом высокопроизводительном языке, в том числе для специализированных платформ, таких как видеокарты.

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

Специалисты РКЦ и S-Quantum создали два эффективных квантовых эмулятора, которые могут справляться с решением как тестовых, так и полезных задач, имеющих практическую значимость.

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

Миграция в облако


После обсуждения проекта и согласования всех условий, VK Cloud выделил изолированную машину с 386 Гб оперативной памяти:

  • 256 Гб мы заняли под хранение состояний;
  • 128 Гб зарезервировали под поддержание стабильной работы операционной системы и непредвиденные накладные расходы, которых, к слову, не оказалось.

Получив рабочую среду, мы запустили виртуальную машину, добавили свой публичный ключ, подключились по SSH, перенесли в облако контейнер с эмулятором и настроили доступ к нему через терминал Secure Shell. 



Так команды РКЦ и S-Quantum  получили возможность запустить на своих эмуляторах в облаке любой алгоритм. Прежде всего, нас интересовали: 

  • метрики тестирования алгоритмов Берштейна-Вазирани и алгоритма квантовой оценки фазы и приготовления GHZ-состояния;
  • решение задачу Max-Cut для модельного 4-регулярного графа;
  • оценка параметров вычислений и сходимости решений;
  • оценка границ квантового превосходства для перспективных отечественных квантовых вычислителей.

Ресурсов, выделенных VK Cloud, хватило для запуска эмулятора на 35 кубитах и точного моделирования любого квантового алгоритма. Мы получили реальную, а не заниженную производительность эмулированного квантового процессора. Это очень много — раньше мы не могли инициировать больше 31 кубита, что многократно меньше (231 < 235).



После этого мы проверили возможности эмулятора на более сложной задаче и большом алгоритме. Такой задачей стало нахождение максимального разреза графа (Max-Cut) при заданных условиях. За основу взяли граф с 35 вершинами. Задачу точно решили методом перебора: получили значение 56 в качестве эталонного ответа, который использовали для проверки точности эмулированного процессора.



Решение задачи строилось на основе цифровой (гейтовой) модели вычислений, для которой указали:

  • начальное состояние;
  • количество слоёв квантовых гейтов;
  • длину эпохи;
  • длительность эпохи;
  • начальные и конечные точки рёбер.

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

В результате решения задачи Max-Cut с помощью эмулированного квантового компьютера мы получили значение 54, что всего на два разреза меньше эталонного результата.



Таким образом, благодаря инфраструктуре VK Cloud команда РКЦ:

  • протестировала базовые квантовые алгоритмы — во всех тестовых задачах получили корректный ответ, проверенный классическими методами;
  • решила задачу максимального разреза графа (Max-Cut) с погрешностью вычислений менее 1 %;
  • доказала применимость собственного эмулятора для решения практических задач.

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

Ранее специалисты Центра квантовых технологий МГУ выяснили, что для реалистичной шумовой модели квантового вычислителя на основе холодных атомов квантовое превосходство по сравнению с суперкомпьютером «Ломоносов 2» наступает при доступном объёме квантового регистра в 21 кубит и более. Если учитывать только асимптотику сложности решения задачи и быстродействие суперкомпьютера в тесте linpack, можно получить теоретическую оценку границы квантового превосходства в 41 кубит. 

При вычислениях на серверах VK Cloud после масштабирования оценки производительности специалисты S-Quantum подтвердили этот результат.



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



Вместо выводов


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

Хочу поблагодарить за работу над проектом команды РКЦ (Илья Лучников, Антон Божедаров, Сергей Усманов, Антон Гугля) и S-Quantum (Станислав Страупе, Глеб Стручалин, Алексей Моисеевский).

Комментарии (5)


  1. mrospax
    23.08.2023 11:02

    Приветствую Алексей, а есть ли какие перспективы в области хранения данных с помощью квантовых алгоритмов?


    1. alexfedorov_q Автор
      23.08.2023 11:02
      +1

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


  1. ivankudryavtsev
    23.08.2023 11:02
    +1

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

    Пожалуйста поделитесь в чем именно спрос и его бОльшина?

    Пересказ статьи: VK выделил нам виртуалку, где мы запустили симуляцию своих квантовых вычислений. Заголовок - кликбейт. VK обязал квантовых превосходителей хвалить их на Хабре?


  1. quverty
    23.08.2023 11:02

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

    Не совсем понятно. Имеются в виду тензорные сети или что-то другое?


  1. bioid
    23.08.2023 11:02

    Снизьте цены на msc.mail.ru, пожалуйста. Потому что сейчас выгоднее купить свой сервер и его нарезать на любые сервисы.