Изменить

Поделиться через


Интеграция квантовых вычислений с классическими приложениями

Azure Quantum
Azure Key Vault
Microsoft Entra ID

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

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

  • Подготовка входных данных
  • Отправка заданий квантовых вычислений в целевую квантовую среду
  • Мониторинг выполнения задания
  • После обработки результатов задания

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

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

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

Тесно связанные подходы

Возможные варианты использования

В таких случаях рекомендуется тесно связанный подход:

  • Одна команда владеет как квантовым кодом, так и классическим кодом, а код интегрирован.
  • Квантовые компоненты используют тот же жизненный цикл, что и классические компоненты.
  • Использование квантовых компонентов ограничено одним приложением или небольшим набором связанных приложений.
  • Квантовое задание представляет специализированное решение (например, молекулярное моделирование), которое будет использоваться только одним специализированным классическим приложением.
  • Реализованный алгоритм является гибридным квантовым классическим по природе, например, вариантными квантовыми Eigensolvers (VQE) и квантовыми приблизительными алгоритмами оптимизации (QAOA).

Архитектура

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

Скачайте файл PowerPoint этой архитектуры.

Поток данных

  1. Пользователь, вошедшего в систему, активирует выполнение квантовых заданий с помощью классического клиентского приложения.
  2. Клиентское приложение помещает входные данные в службу хранилища Azure.
  3. Клиентское приложение отправляет задание в рабочую область Azure Quantum, указывая целевой объект выполнения или целевые объекты. Клиент определяет рабочую область с помощью данных, хранящихся в Key Vault, и проходит проверку подлинности в рабочей области с помощью управляемого удостоверения.
  4. Квантовый поставщик выполняет задание в целевой среде.
  5. Клиентское приложение отслеживает выполнение задания путем опроса состояния задания.
  6. Как только квантовое задание завершится, клиентское приложение получает результат вычислений из хранилища.

Этот рабочий процесс реализует шаблон асинхронных Request-Reply и шаги, определенные для жизненного цикла заданий Azure Quantum.

Компоненты

  • Azure Quantum предоставляетрабочей области , доступную на портале Azure, для ресурсов, связанных с выполнением квантовых заданий в различных целевых объектах. Задания выполняются на квантовых симуляторах или квантовом оборудовании в зависимости от выбранного поставщика.
  • идентификатор Microsoft Entra ID координирует проверку подлинности пользователей и помогает защитить доступ к рабочей области Azure Quantum.
  • Key Vault защищает ключи и другие секреты, например имя рабочей области Azure Quantum.
  • службы хранилища Azure предоставляет хранилище входных данных и результатов от поставщика квантовых вычислений.

Соображения

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

Надёжность

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

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

Для окружающих служб Azure применяются обычные рекомендации по доступности:

  • Используйте параметры избыточности Key Vault.
  • При необходимости рассмотрите возможность использования параметров репликации в хранилище.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в контрольном списке конструктора длябезопасности.

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

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

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

Слабо связанные подходы

Возможные варианты использования

В таких случаях предпочтительнее использовать свободный подход:

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

Архитектура

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

Скачайте файл PowerPoint этой архитектуры.

Поток данных

  1. Пользователь, вошедшего в систему, активирует выполнение квантовых заданий с помощью классического приложения.
  2. Классическое приложение вызывает пользовательский API заданий для отправки задания.
  3. Шлюз API активирует функцию отправки заданий Azure, которая передает входные данные задания.
  4. Функция помещает входные данные в службу хранилища Azure.
  5. Функция отправляет задание в рабочую область Azure Quantum, указывая целевой объект выполнения или целевые объекты. Функция определяет рабочую область с помощью данных, хранящихся в Azure Key Vault, и выполняет проверку подлинности в рабочей области с помощью управляемого удостоверения.
  6. Квантовый поставщик выполняет задание в целевой среде.
  7. Клиентское приложение отслеживает выполнение задания путем опроса состояния задания с помощью вызовов API.
  8. Шлюз API отслеживает выполнение задания путем опроса состояния задания от поставщика квантовых вычислений.
  9. По завершении задания результаты вычислений хранятся в службе хранилища Azure. Клиентское приложение получает результаты с помощью API, реализуемого с помощью функции Azure.

Этот рабочий процесс реализует шаблон асинхронных Request-Reply и шаги, определенные для жизненного цикла заданий Azure Quantum.

Компоненты

  • Azure Quantum предоставляетрабочей области , доступную на портале Azure, для ресурсов, связанных с выполнением квантовых заданий в различных целевых объектах. Задания выполняются на квантовых симуляторах или квантовом оборудовании в зависимости от выбранного поставщика.
  • идентификатор Microsoft Entra ID координирует проверку подлинности пользователей и помогает защитить доступ к рабочей области Azure Quantum.
  • управление API — это шлюз API, который централизованно предоставляет конечные точки API для управления квантовыми заданиями.
  • функции Azure используются для пересылки клиентских запросов на соответствующие квантовые ресурсы.
  • Azure Key Vault защищает ключи и другие секреты, например имя рабочей области Azure Quantum.
  • службы хранилища Azure предоставляет хранилище входных данных и результатов от поставщика квантовых вычислений.

Надёжность

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

Для окружающих служб Azure применяются обычные рекомендации по доступности:

  • Для обеспечения высокой доступности можно развернуть управления API в нескольких зонах или регионах.
  • При использовании георепликации можно подготовить Функции Azure в нескольких регионах.
  • Используйте параметры избыточности Key Vault.
  • При необходимости рассмотрите возможность использования параметров репликации в хранилище.

Безопасность

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

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

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

Эффективность производительности

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

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

Общие функции

Следующие функции являются общими для тесно связанных и слабо связанных моделей реализации

Альтернативы

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

Соображения

Некоторые целевые объекты Квантовых вычислений Azure (особенно квантовое оборудование) будут ограниченным ресурсом в обозримом будущем. Доступ к этим ресурсам реализуется с помощью механизма очередей. При отправке квантового задания в Azure Quantum это задание добавляется в очередь заданий. Задание будет выполнено, когда целевой объект завершит обработку предыдущих записей очереди. Вы можете получить ожидаемое время ожидания, список доступных целевых объектов. Чтобы вычислить полное время отклика, необходимо добавить время ожидания доступного ресурса во время выполнения задания.

Надёжность

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

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

Оптимизация затрат

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

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

Для службы Azure Quantum следует учитывать, что поставщики квантовых вычислений можно использовать с помощью предложения Azure Marketplace. Цены зависят от типа ресурса (симулятора или оборудования), номера SKU и использования. Дополнительные сведения см. на справочной странице поставщика, необходимого для вашего сценария. Эти справочные страницы перечислены в поставщиков квантовых вычислений в Azure Quantum.

Операционное превосходство

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

Включение квантовых заданий в классические конвейеры CI/CD можно выполнить с помощью Azure DevOps с незначительными изменениями в типичном дизайне. В приведенной ниже схеме показан рабочий процесс конвейера DevOps, который можно применить к тесно связанной и слабо связанной архитектуре.

Архитектура

схема архитектуры, показывающая классический конвейер CI/CD с включенным в него Azure Quantum.

Скачайте файл PowerPoint этой архитектуры.

Поток данных
  1. Разработчик изменяет исходный код компонентов приложения.
  2. Изменения фиксируются в репозитории исходного кода.
  3. Изменения квантового кода активируют конвейер квантовой сборки. Конвейер сборки проверяет код, компилирует его, оценивает необходимые ресурсы и запускает алгоритм на симуляторе.
  4. Скомпилированный квантовый алгоритм передается в квантовую среду для тестирования.
  5. Изменения активируют конвейер сборки для классических компонентов. Конвейер извлекает код, компилирует его и выполняет модульные и интеграционные тесты.
  6. Успешная компиляция и тесты активируют конвейер выпуска. Конвейер сначала подготавливает среду Azure, развертывая шаблоны Azure Resource Manager, хранящиеся в репозитории (инфраструктура как код).
  7. Скомпилированные классические артефакты приложений развертываются в Azure. Квантовые задания отправляются в квантовую рабочую область во время выполнения.
  8. Application Insights отслеживает поведение среды выполнения, работоспособность, производительность и сведения об использовании.
  9. Элементы невыполненной работы обновляются по мере необходимости в зависимости от результатов мониторинга.
  10. Разработчик использует Application Insights для отзывов и оптимизации приложений.
Компоненты

Это решение использует следующие средства DevOps:

  • Azure Repos предоставляет неограниченные, размещенные в облаке частные репозитории Git. Здесь используется для хранения квантового и классического кода и шаблонов Azure Resource Manager, используемых для подготовки среды.
  • Azure Pipelines позволяет непрерывно создавать, тестировать и развертывать в облаке. Здесь она используется для реализации CI/CD, включая подготовку среды перед развертыванием кода.

В качестве альтернативы можно использовать репозитории GitHub и действия GitHub для реализации процессов CI/CD.

Решение использует следующие другие компоненты:

  • Клиентское приложение управляет квантовым заданием. Вы можете реализовать интеграцию с помощью тесно связанного или свободно связанного подхода.
  • Azure Quantum предоставляет рабочую область для ресурсов, связанных с запущенными приложениями квантовых вычислений. Задания выполняются на квантовых симуляторах или квантовом оборудовании в зависимости от выбранного поставщика.
  • идентификатор Microsoft Entra ID координирует проверку подлинности пользователей и защищает доступ к рабочей области Azure Quantum.
  • Azure Key Vault защищает ключи и другие секреты, например имя квантовой рабочей области.
  • службы хранилища Azure содержит входные и выходные данные квантового задания.
  • Application Insights отслеживает приложение, обнаруживает аномалии приложений, такие как низкая производительность и сбои, а также отправляет данные телеметрии на портал Azure.

Эффективность производительности

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

Участников

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

Автор субъекта:

  • Holger Sirtl | Старший технический архитектор в Центре технологий Майкрософт

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Дальнейшие действия