Что такое оценщик ресурсов Microsoft Quantum?

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

Оценка ресурсов Microsoft Quantum — это средство с открытым исходным кодом в пакете Microsoft Quantum Development Kit (QDK), Python позволяющее оценить ресурсы, необходимые для запуска квантовой программы на отказоустойчивом квантовом компьютере. Коды исправления ошибок увеличивают количество физических кубитов и время выполнения квантового алгоритма. Средство оценки ресурсов определяет, сколько физических кубитов и сколько времени требуется для квантового приложения для запуска на определенном оборудовании с заданной схемой исправления ошибок.

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

Как работает оценщик квантовых ресурсов?

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

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

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

Для оценки квантовых ресурсов требуется четыре входных данных:

  • Модель приложения, описывающая квантовые вычисления, например программу Q#
  • Модель архитектуры, описывающая target квантовое аппаратное обеспечение, например сверхпроводниковые кубиты на основе вентилей с определённым временем выполнения вентилей и уровнем ошибок
  • Модель исправления ошибок и заводской дистилляции, соответствующая модели архитектуры оборудования
  • Бюджет ошибки, который является максимально допустимой скоростью ошибок для операций с логическими кубитами

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

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

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

Поддержка языка приложений

Оценщик ресурсов принимает квантовые приложения в нескольких следующих языках программирования и промежуточных форматах:

  • Q#
  • Cirq
  • OpenQASM
  • QIR
  • Логические счётчики
  • Кастомизированные приложения

С помощью QIR и возможности создания пользовательских приложений оценка ресурсов не зависит от языка и поддерживает широкий спектр средств квантового программирования. Приложения в разных платформах анализируются с помощью одного конвейера оценки. Вы также можете создавать пользовательские приложения за пределами этих поддерживаемых платформ.

Аппаратная поддержка архитектуры

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

Сравнение оценок и визуализация результатов

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

Начало работы с оценщиком ресурсов

Чтобы приступить к работе, см. статью Как установить и использовать средство оценки ресурсов Microsoft Quantum.

Дополнительные сведения и примеры кода см. в примерах оценки квантовых ресурсов в репозитории QDK на GitHub.