Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Alguns problemas computacionais são impraticáveis ou intratáveis para resolver em computadores clássicos, mesmo em supercomputadores grandes. Para alguns desses problemas, um algoritmo quântico pode alcançar uma solução usando muito menos recursos do que a abordagem clássica mais conhecida. Um computador quântico usa efeitos quânticos-mecânicos, como sobreposição e emaranhamento, para representar e processar informações de maneiras que um computador clássico não pode.
Os programas Quantum são executados em provedores quantum que você alcança enviando trabalhos. Os alvos quânticos expõem diferentes perfis de alvo. Alguns perfis permitem apenas operações quânticas e a lógica clássica que você pode executar neles é limitada. Outros perfis permitem que operações quânticas e clássicas sejam executadas em conjunto no provedor.
Independentemente do perfil de destino, os componentes de computação clássicos lidam com a integração de aplicativos ao redor. Mesmo quando um destino quantum aceita operações clássicas, você acessa o destino submetendo um trabalho e aguardando os resultados. Este artigo descreve e compara dois modelos de orquestração para integrar o trabalho quântico a aplicativos clássicos.
Na prática, executar um programa quântico é uma chamada de serviço. Seu aplicativo clássico ou código do cliente envia um trabalho para um destino, aguarda a execução dele e recupera os resultados. Um ou mais componentes de computação clássicos orquestram cada trabalho quântico realizando as seguintes atividades:
- Preparando dados de entrada
- Enviando trabalhos de computação quântica para um ambiente quântico de destino
- Monitorando a execução do trabalho
- Resultados do trabalho de pós-processamento
Modelos de integração quântica
Você integra o trabalho quântico a um aplicativo clássico usando um dos dois padrões de orquestração:
Integração quântica direta. Um aplicativo cliente ou um agente clássico leve interage diretamente com o workspace do Azure Quantum. O cliente é responsável pela preparação das entradas, submissão de tarefas, monitoramento, tratamento dos resultados e pela lógica clássica que envolve a execução quântica.
Integração quântica orquestrada por fluxo de trabalho. Um orquestrador de fluxo de trabalho é proprietário do estado geral e das transições. A execução quântica ocorre em etapas de fluxo de trabalho executadas junto com as etapas em execução na computação de alto desempenho (HPC) ou na computação da GPU (unidade de processamento gráfico).
Para um determinado limite de integração de aplicativos, esses padrões são alternativas. Ou o cliente se integra diretamente ao espaço de trabalho, ou um fluxo de trabalho mais amplo é responsável pela etapa quântica. Este artigo descreve a implementação de cada padrão.
Note
As arquiteturas descritas neste artigo executam parte de uma tarefa computacional em um alvo quântico. Para alguns desafios de computação, os serviços existentes criados para executar computação de alto desempenho ou fornecer funcionalidade de IA podem ser alternativas.
A opção de integração é independente de onde a computação clássica é executada. Dependendo do perfil de destino e da carga de trabalho, a lógica clássica pode ser executada dentro do programa quântico, no aproveitamento do cliente entre execuções quânticas, no orquestrador de fluxo de trabalho ou em uma etapa de fluxo de trabalho clássico na computação de HPC ou GPU.
Matriz de decisão
Use a seguinte matriz de decisão para orientar sua escolha de padrões de integração:
| Se sua carga de trabalho tiver essas características | Use essa abordagem |
|---|---|
| Um aplicativo ou uma estrutura leve gerencia todo o ciclo de vida do trabalho quântico, e a preparação dos dados de entrada e o processamento dos resultados cabem nesse cliente. | Integração quântica direta |
| Você explora as propriedades do hardware quântico com código quântico manuscrito e um aplicativo ou um pequeno conjunto de aplicativos relacionados consome os resultados. | Integração quântica direta |
| O lado clássico é robusto e consome recursos quantum como uma etapa entre muitas, em um pipeline de vários estágios, cada um executado no back-end mais adequado, como HPC, GPU ou um alvo quantum. | Integração quântica orquestrada por fluxo de trabalho |
| As execuções quânticas se repetem e o resultado de uma execução gera o próximo programa quântico ou determina seus parâmetros. | Integração quântica orquestrada por fluxo de trabalho |
Detalhes do cenário
Ambos os fluxos de trabalho implementam o padrão de Request-Reply assíncrono e as etapas definidas para o ciclo de vida do trabalho Azure Quantum.
Os alvos quânticos, especialmente o hardware quântico, são recursos limitados. O Azure Quantum aloca esses recursos por meio de uma fila de trabalhos. Quando você envia uma tarefa, ela entra na fila do destino que você selecionar e é executada depois que esse destino conclui as tarefas anteriores. Para ver o tempo de espera esperado, liste os destinos disponíveis. Calcule o tempo de resposta completo à medida que a fila aguarda mais o tempo de execução do trabalho.
As capacidades de um alvo quântico também variam. Alguns destinos aceitam apenas operações quânticas, enquanto outros executam a lógica clássica com operações quânticas em um único trabalho. Esse modelo dá suporte a algoritmos que se adaptam durante a execução. Antes de se comprometer com um destino, confirme se ele dá suporte às operações de que seu algoritmo precisa. Para obter mais informações sobre como as instruções clássicas e quânticas são executadas em conjunto, consulte Introdução à computação quântica híbrida.
Note
Esses padrões descrevem como você integra o trabalho quântico à arquitetura do aplicativo. Eles são distintos de Azure Quantum modelos de computação híbrida, que descrevem como a computação quântica e clássica interagem dentro de trabalhos quânticos. Os perfis de destino restringem o que pode ser executado nesses trabalhos. Para obter mais informações, consulte Introdução à computação quântica híbrida. Os padrões de integração de aplicativos são independentes do comportamento dentro do trabalho e controlam se um cliente ou um fluxo de trabalho executa os trabalhos quânticos.
Integração quântica direta
As seções a seguir descrevem o modelo de integração direta para integrar o trabalho quântico a um aplicativo clássico.
Arquitetura
Carrege um arquivo PowerPoint desta arquitetura.
Fluxo de dados
O fluxo de dados a seguir corresponde ao diagrama anterior:
Um usuário conectado dispara a execução de trabalho quântico por meio de um aplicativo cliente clássico.
O aplicativo cliente insere dados no Armazenamento do Azure.
O aplicativo cliente envia o trabalho para um workspace Azure Quantum, especificando o destino ou os destinos de execução.
O cliente identifica o espaço de trabalho na sua configuração e se autentica no espaço de trabalho usando uma identidade Microsoft Entra. Um cliente executado em um recurso hospedado por Azure pode usar uma identidade gerenciada. Um aplicativo cliente local se autentica com outra identidade do Microsoft Entra, como uma entidade de serviço ou uma entrada interativa de usuário.
Um provedor quântico executa uma tarefa em um ambiente de destino.
O aplicativo cliente monitora a execução da tarefa verificando o status da tarefa.
Assim que o trabalho quântico é concluído, o aplicativo cliente obtém o resultado da computação do Armazenamento.
Componentes
- Azure Quantum fornece um espaço de trabalho, acessível no Portal do Azure, para ativos associados à execução de trabalhos quânticos em vários alvos. Os trabalhos são executados em simuladores quânticos ou hardware quântico, dependendo do provedor escolhido.
- Microsoft Entra ID coordena a autenticação do usuário e ajuda a proteger o acesso ao workspace Azure Quantum.
- Storage oferece armazenamento para dados de entrada e resultados do provedor quântico.
Casos de uso potencial de integração direta
O padrão de integração quântica direta se ajusta aos seguintes casos de uso:
- Um aplicativo cliente ou um arcabouço clássico leve gerencia todo o ciclo de vida da tarefa quântica sem um fluxo de trabalho mais abrangente.
- O cliente pode executar o trabalho clássico ao redor, como preparação de entrada e processamento de resultados.
- Você explora as propriedades do hardware quântico, de modo que normalmente escreve o código quântico em vez de gerá-lo dinamicamente.
- O uso dos componentes quânticos é limitado a um único aplicativo ou a um pequeno conjunto de aplicativos relacionados.
- O trabalho quântico representa uma solução especializada, como uma simulação molecular, que usa apenas um aplicativo clássico especializado.
Integração quântica orquestrada por fluxo de trabalho
As seções a seguir descrevem o modelo orquestrado por fluxo de trabalho para integrar o trabalho quântico a um aplicativo clássico.
Arquitetura
A lógica do fluxo de trabalho não depende de nenhum host ou provedor específico. O fluxograma a seguir mostra o computador de estado: uma única entrada, um loop sobre as etapas e as fases por etapa. O ramo quântico pode incluir uma fase opcional de geração e otimização de programas que as etapas clássicas não utilizam.
O seletor de back-end no fluxograma anterior é uma fase lógica em vez de um componente necessário e pode ser uma pesquisa de configuração que roteia cada etapa para um tipo de back-end fixo.
Você pode hospedar esse fluxo de trabalho em Azure com um conjunto de serviços clássicos que enviam e monitoram o trabalho quântico. O diagrama a seguir mostra um exemplo de topologia:
Carrege um arquivo PowerPoint desta arquitetura.
Fluxo de dados
O fluxo de dados a seguir corresponde à topologia de implantação:
- Um aplicativo cliente envia uma solicitação por meio do Gerenciamento de API, que autentica o chamador com Microsoft Entra ID e aplica limitação antes que a solicitação atinja a camada de computação.
- O Gerenciamento de API encaminha a solicitação para a API de Entrada, uma função disparada por HTTP que a valida e inicia o orquestrador de fluxo de trabalho.
- Para uma etapa executada de forma clássica, o orquestrador roteia a execução para um back-end clássico, como um cluster HPC ou computação de GPU.
- O backend clássico grava seus resultados e o estado atualizado do pipeline no armazenamento.
- Para uma etapa executada no quantum, o orquestrador roteia a execução pelo caminho do quantum. O caminho quantum prepara o programa da etapa, gerando-o e otimizando-o direto da entrada da etapa ou usando uma implementação fixa, e envia o trabalho para o workspace do Azure Quantum. O envio é autenticado por meio de identidade gerenciada.
- O espaço de trabalho executa a tarefa no alvo quântico selecionado.
- O alvo quântico grava seus resultados no Storage.
- O orquestrador lê o Armazenamento de estado atualizado e avalia a lógica de transição do pipeline. Se uma condição de convergência ou iteração exigir outra execução quântica, o orquestrador usará o resultado para determinar parâmetros para o próximo programa quântico ou para fornecer entradas que gerem o próximo programa. Em seguida, o pipeline retorna à etapa apropriada.
- O cliente pesquisa a API de Status por meio do Gerenciamento de API para acompanhar o progresso e recuperar os resultados finais quando o pipeline atinge um estado terminal.
Componentes
- Durable Functions atua como o orquestrador do fluxo de trabalho para executar o pipeline como uma máquina de estados, coordenar as etapas e selecionar o back-end de computação quântica ou de outro tipo para a execução de cada etapa. Você pode implementar o orquestrador com Durable Functions ou outro mecanismo de fluxo de trabalho.
- Os back-ends do Azure para computação clássica com HPC e GPU executam as etapas não quânticas.
- Azure Functions hospeda as APIs HTTP que iniciam e monitoram o fluxo de trabalho, juntamente com o orquestrador que o executa.
- O Gerenciamento de API é o ponto de entrada para solicitações de cliente. Ele autentica os chamadores e aplica a limitação. Para impedir que o aplicativo de função seja chamado diretamente, use as opções de rede do Azure Functions, como restrições de acesso de entrada ou um ponto de extremidade privado, de modo que ele aceite tráfego somente do API Management.
- Azure Quantum fornece um workspace para ativos associados à execução de trabalhos quânticos. Trabalhos são executados em simuladores quânticos ou hardware quântico, dependendo do destino escolhido.
- Microsoft Entra ID coordena a autenticação e ajuda a proteger o acesso ao workspace Azure Quantum.
- O armazenamento armazena dados de entrada, estado de pipeline intermediário e resultados.
Alternativas
As arquiteturas deste artigo executam parte de uma tarefa computacional em um destino de computação quântica. Para alguns desafios de computação, os serviços existentes criados para executar computação de alto desempenho ou fornecer funcionalidade de IA podem ser alternativas.
Para cargas de trabalho de P&D científica,
Detalhes do cenário orquestrado por workflow
Nesse padrão, um orquestrador de fluxo de trabalho executa a carga de trabalho em um pipeline de etapas. O orquestrador se comporta como uma máquina de estados, na qual as etapas se repetem em loop até que uma condição de terminação ou de convergência seja atendida. Cada etapa segue a mesma forma: ela prepara sua entrada, executa e processa a saída.
O orquestrador seleciona o back-end que executa cada etapa. Essa seleção faz parte da lógica de orquestração, não de um serviço separado e pode ser tão simples quanto ler o back-end de destino para cada etapa da configuração. Uma etapa é executada em um back-end quântico ou em computação clássica, como um cluster HPC ou computação de GPU. Uma etapa clássica leve pode ser executada no próprio orquestrador. Quando as etapas quânticas se repetem, o fluxo de trabalho processa o resultado de uma execução quântica para determinar parâmetros para o próximo programa quântico ou para fornecer entradas que geram o próximo programa.
Uma etapa executada em um back-end quântico pode adicionar uma fase que as etapas clássicas não têm. Essa fase gera e otimiza o programa quântico antes da execução. Esta etapa é opcional. O programa pode gerar dinamicamente a partir da entrada da etapa ou pode vir de uma implementação fixa que ignora essa fase. Uma etapa apta à computação quântica ainda pode ser executada em um back-end clássico quando isso se adequa melhor aos dados de entrada.
A química quântica é um exemplo representativo. Um fluxo de trabalho típico usa etapas clássicas para preparar um sistema molecular: otimização de geometria, um cálculo de campo autoconsistente e a seleção do espaço ativo. O pipeline então calcula uma propriedade de destino, como a energia do estado fundamental de uma molécula. A etapa de computação em energia mantém a mesma intenção se ela é executada em uma aproximação clássica ou em um algoritmo quântico. Você escolhe o back-end com base na precisão necessária e no tamanho do problema.
A biblioteca QDK/Chemistry oferece suporte a pipelines como estes. A biblioteca fornece componentes modulares para as etapas clássicas de preparação e para gerar um circuito de preparação de estado direto da função de onda calculada classicamente, que um back-end quantum então usa para estimar a energia com um algoritmo como a estimativa de fase quantum. Essa funcionalidade de geração de circuitos é um exemplo concreto de gerar dinamicamente o programa quantum direto da entrada de uma etapa.
Possíveis casos de uso
O padrão de integração quântica orquestrada por fluxo de trabalho se encaixa nesses casos de uso:
- O lado clássico é robusto e orientado à lógica de estado do problema, e utiliza a capacidade quântica como uma etapa ou várias etapas entre muitas.
- A carga de trabalho é um pipeline de vários estágios que geralmente é iterativo, como um computador de estado. Cada estágio é executado no backend de computação mais adequado a ele: HPC, GPU ou um alvo quântico. A computação quântica é uma opção para um ou mais estágios.
- Uma etapa quântica representa um bloco de construção bem definido, como um cálculo científico que calcula uma propriedade molecular. O código quântico preciso pode até ser gerado e otimizado dinamicamente para se ajustar às entradas reais.
- O orquestrador de fluxo de trabalho gerencia várias execuções quânticas autocontidas e o processamento clássico entre elas. O resultado de uma execução determina parâmetros para o próximo programa quântico ou fornece entradas que geram o próximo programa. A estimativa de fase iterativa se ajusta a essa estrutura, assim como algoritmos variacionais, como o VQE (Quantum Eigensolver variacional) e o QAOA (Algoritmo de Otimização Aproximada quântica).
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que você pode usar para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.
Fiabilidade
A confiabilidade ajuda a garantir que seu aplicativo possa cumprir os compromissos que você faz aos seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para confiabilidade.
Tarefas quânticas são executadas em alvos remotos e compartilhados, de modo que a execução da tarefa pode falhar devido a erros transitórios, como um tempo limite do alvo. Independentemente do padrão de integração escolhido, monitore a execução do trabalho para que você possa exibir o status do trabalho para o usuário. Quando um trabalho falha devido a um erro transitório, aplique o padrão de repetição. Envie tarefas por meio de chamadas assíncronas e consulte periodicamente o resultado para não bloquear o cliente chamador.
A disponibilidade da funcionalidade de computação quântica depende muito das características de disponibilidade e capacidade do provedor de computação quântica. Dependendo do destino de computação, o aplicativo cliente clássico pode enfrentar longos atrasos ou indisponibilidade do destino.
Para os serviços de Azure ao redor, as considerações de disponibilidade usuais se aplicam. Se necessário, considere usar as opções de replicação nas opções de redundância do Armazenamento do Azure.
Confiabilidade para integração orquestrada por fluxo de trabalho
Para alta disponibilidade na integração orquestrada por fluxo de trabalho, implante o Gerenciamento de API entre zonas de disponibilidade ou várias regiões. A redundância de zona requer a camada Premium ou Premium v2 e a implantação de várias regiões requer a camada Premium.
Se você implementar o orquestrador com Durable Functions, planeje sua recuperação de desastre como uma unidade em vez de tratar o aplicativo de funções e seu estado como serviços independentes. As funções duráveis persistem todo o estado de orquestração em um hub de tarefas em um back-end de armazenamento, que é o Armazenamento do Azure por padrão. Como o estado do runtime e a computação são acoplados por meio desse hub de tarefas, provisionar o aplicativo Functions em uma segunda região e replicar o Armazenamento separadamente não define um failover seguro. As orquestrações podem pausar, perder transações recentes ou ler um hub de tarefas pelas regiões, dependendo da topologia.
Para um failover seguro, use uma configuração ativa-passiva que faça failover para uma região secundária, liderada por um serviço global de balanceamento de carga, como o Azure Front Door ou o Gerenciador de Tráfego do Azure. Confirme se as investigações de integridade do serviço conseguem acessar o aplicativo Functions com as restrições de rede, pois os mesmos controles que limitam o aplicativo ao tráfego do API Management também podem bloquear essas investigações. Escolha a topologia que corresponde à tolerância à perda de dados e à latência entre regiões. Para obter as opções coordenadas e suas compensações, consulte Recuperação de desastre e distribuição geográfica em Durable Functions.
Segurança
A segurança fornece garantias contra ataques deliberados e o uso indevido de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
Aplique as seguintes práticas de proteção aos serviços clássicos que envolvem o trabalho quântico, independentemente do padrão de integração que você escolher:
Autentique-se no Azure Quantum e nos serviços ao redor usando identidades Microsoft Entra e desative a autenticação local em que o serviço dá suporte a ela. Use identidades gerenciadas onde quer que o ambiente de hospedagem dê suporte a elas. Para um cliente que não pode usar uma identidade gerenciada, autentique com outra identidade do Microsoft Entra, como uma entidade de serviço ou uma entrada interativa de usuário.
Conceda a cada componente que acessa o Armazenamento o acesso ao plano de dados necessário por meio do controle de acesso baseado em função do Azure (Azure RBAC) com o Microsoft Entra ID, com escopo definido para esse componente. Não insira chaves de conta de armazenamento no código do aplicativo.
Em geral, aplique as recomendações de segurança doWell-Architected Framework quando apropriado.
Segurança para integração quântica direta
Ao contrário da integração quântica orquestrada por fluxo de trabalho, esse padrão pressupõe que um único cliente acesse o workspace Azure Quantum. O cliente normalmente é uma estrutura tradicional e leve que se concentra na operação e no envio de trabalhos, em vez do estado mais amplo do fluxo de trabalho. Esse cenário leva às seguintes configurações:
Como o cliente é conhecido, você pode dar a ele uma identidade fixa. Quando o cliente é executado em um recurso hospedado Azure, associe uma identidade gerenciada a ele. Quando o cliente for executado fora do Azure, use uma entidade de serviço ou uma entrada interativa de usuário.
Você pode implementar a limitação de taxa de solicitações e o cache de resultados no próprio cliente.
Segurança para integração orquestrada por fluxo de trabalho
Ao contrário da integração quântica direta, esse padrão coloca uma camada de serviço clássica na frente do trabalho quântico. O Gerenciamento de API é a porta de entrada dessa camada, portanto as configurações de segurança enfatizam a proteção do ponto de entrada e do caminho para o espaço de trabalho quântico.
Os clientes devem se autenticar na API. Implemente essa autenticação usando políticas de autenticação.
Você pode implementar a autenticação das funções Azure por meio de identidades manadas associadas às funções. Você usa essas identidades para autenticar chamadas de saída para o workspace Azure Quantum.
O gerenciamento de APIs pode aplicar limitação de taxa de solicitações para proteger o back-end quântico e limitar o uso de recursos quânticos. Para obter mais informações, consulte limitação de taxa de solicitações no Gerenciamento de API.
Dependendo do padrão de solicitação, você poderá implementar o cache de resultados de computação quântica usando políticas de cache do Gerenciamento de API.
Otimização de custos
A Otimização de Custos concentra-se em maneiras de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Lista de verificação de revisão de design para otimização de custos.
O custo geral dessa solução depende do alvo de computação quântica que você selecionar para rodar o trabalho quântico. Os componentes clássicos são simples de estimar. Para obter uma implantação representativa do padrão orquestrado por fluxo de trabalho, consulte este exemplo de estimativa de custo, que abrange os componentes clássicos, incluindo Gerenciamento de API, Azure Functions e Armazenamento. O padrão de integração direta é mais leve, mas seus custos clássicos ainda incluem Armazenamento e qualquer hospedagem, rede e monitoramento que o aplicativo cliente usa.
Você pode consumir provedores de computação quântica para Azure Quantum por meio de uma oferta do Microsoft Marketplace. O preço depende do tipo de recurso (simulador ou hardware), da SKU e do seu uso. Para obter mais informações, acesse a página de referência do provedor do seu cenário de provedores de computação quantum no Azure Quantum.
Colaboradores
A Microsoft mantém este artigo. O colaborador a seguir escreveu este artigo.
Autor principal:
- Zander Chocron | Engenheiro de Software Principal, Microsoft Quantum
Para ver perfis de LinkedIn não públicos, entre em LinkedIn.
Próximas etapas
- Para obter uma visão geral do Microsoft ecossistema de computação quântica, consulte o site do Microsoft Quantum e conclua o roteiro de aprendizagem dos fundamentos de computação quântica.
- Para obter mais informações sobre o serviço Azure Quantum, consulte O que é Azure Quantum?.
- Para obter informações gerais sobre Azure Quantum gerenciamento de trabalho, consulte Work with Azure Quantum jobs.
- Para obter informações sobre como combinar instruções clássicas e quânticas em um trabalho, consulte Introdução à computação quântica híbrida.