O que é o Azure Quantum?
O Azure Quantum é um serviço do Azure de computação quântica na nuvem, com um conjunto diversificado de soluções e tecnologias quânticas. O Azure Quantum garante um caminho aberto, flexível e à prova de futuro para a computação quântica que se adapta à sua maneira de trabalhar, acelera seu progresso e protege seus investimentos em tecnologia.
O Azure Quantum fornece o melhor ambiente de desenvolvimento para criar algoritmos quânticos para várias plataformas ao mesmo tempo, preservando a flexibilidade para ajustar os mesmos algoritmos para sistemas específicos. Você pode escrever seu código uma vez e executá-lo com pouca ou nenhuma alteração em relação a várias targets da mesma família, o que permite que você concentre sua programação no nível do algoritmo.
- Um ecossistema aberto, que permite que você acesse software, hardware e soluções quânticas diversas da Microsoft e de seus parceiros. Você pode escolher entre linguagens de programação quântica, como Qiskit, Cirq e Q# e executar seus algoritmos em vários sistemas quânticos.
- Impacto quântico hoje, permitindo que você explore simultaneamente os sistemas quânticos atuais e esteja pronto para os sistemas quânticos dimensionados do futuro e com soluções pré-criadas que são executadas em recursos de computação clássicos e acelerados (também conhecidos como soluções de otimização).
Dica
Se você não tiver uma conta do Azure, registre-se gratuitamente e inscreva-se em uma assinatura paga conforme o uso. Se você for um aluno, poderá aproveitar uma conta gratuita do Azure para alunos.
- As partes do Azure Quantum
- Como começar a usar o Azure Quantum?
- Avaliação de recursos na computação quântica
- O que são o Q# e o Quantum Development Kit?
- Fluxo de trabalho do desenvolvimento de software quântico
- Provedores disponíveis no Azure Quantum
As partes do Azure Quantum
Com o Azure Quantum, você pode usar as vantagens da computação quântica atualmente em um ecossistema de nuvem aberta de pilha completa com acesso a software, hardware e soluções pré-criadas. O Azure Quantum oferece dois tipos de soluções quânticas: computação quântica e otimização.
Computação quântica
Se você pretende simular problemas mecânicos quânticos, como reações químicas, reações biológicas ou formações de material, os computadores quânticos funcionam excepcionalmente bem porque usam fenômenos quânticos na computação. Os computadores quânticos também podem ajudar a acelerar o progresso em diversas áreas, como serviços financeiros, machine learning e pesquisas de dados não estruturados, em que muitos cálculos são necessários.
Com o Azure Quantum, pesquisadores e empresas podem usar a computação quântica para modelar cenários complexos em gerenciamento de riscos, segurança cibernética, análise de rede, pesquisa de dados, desenvolvimento de vacinas ou ciência dos materiais. Para saber mais sobre como usar a computação quântica e os algoritmos quânticos, confira O que é a computação quântica?.
Otimização
Décadas de simulação dos efeitos quânticos em computadores clássicos levaram ao desenvolvimento de novos tipos de soluções quânticas denominadas otimização inspirada em quantum. A otimização é o processo de encontrar a melhor solução para um problema, considerando o resultado desejado e as restrições. Existem problemas complexos de otimização em todos os setores: roteamento de veículos, gerenciamento da cadeia de fornecedores, agendamento, otimização de portfólio, gerenciamento de rede de energia e muitos outros. A solução desses problemas do mundo real resulta em benefícios de alto valor, como custos reduzidos, processos acelerados ou riscos mitigados.
Algoritmos de otimização inspirados em quantum exploram algumas das vantagens da computação quântica em hardware clássico, fornecendo uma aceleração em relação às abordagens tradicionais.
O Azure Quantum dá acesso a um amplo conjunto de algoritmos de otimização inspirada em quantum de ponta desenvolvidos pela Microsoft e por seus parceiros. Para saber mais sobre as soluções de otimização no Azure Quantum, confira O que é otimização?.
Como começar a usar o Azure Quantum?
Dica
Os usuários iniciantes recebem automaticamente US$ 500 (USD)de créditos do Azure Quantum para uso com cada provedor de hardware quântico participante. Se você tiver consumido todos os créditos e precisar de mais, poderá se inscrever no programa de créditos do Azure Quantum.
Começar a usar o Azure Quantum é muito fácil e gratuito para os novos usuários. Para enviar seus programas quânticos e soluções de otimização para o Azure Quantum, você só precisa de duas coisas:
- Conta do Azure: se você não tiver uma conta do Azure, registre-se gratuitamente e inscreva-se em uma assinatura paga conforme o uso.
- Workspace do Azure Quantum: um workspace do Azure Quantum é uma coleção de ativos associados à execução de aplicativos quânticos ou de otimização. Para criar um workspace do Azure Quantum, acesse o portal do Azure, selecione Criação rápida e ele criará automaticamente o workspace e adicionará os provedores padrão. Ou, então, selecione Criar antecipadamente, insira os detalhes do workspace e escolha os provedores.
Para obter mais informações, confira Criar um workspace do Azure Quantum.
Avaliação de recursos na computação quântica
Na computação quântica, a estimativa de recursos é a capacidade de entender os recursos, ou seja, o número de qubits, o número de portões quânticos, o tempo de processamento etc., que será necessário para um determinado algoritmo, assumindo (ou tomando como parâmetros) determinadas características de hardware. Entender o número de qubits necessários para uma solução quântica e as diferenças entre as tecnologias qubit permite que os inovadores preparem e refinem suas soluções quânticas para serem executados em máquinas quânticas em escala futura e, finalmente, acelerem seu impacto quântico.
O Azure Quantum oferece uma estimativa target de recurso de primeira parte que calcula e gera o tempo de execução do relógio de parede e estimativas de recursos físicos para um programa, supondo que ele seja executado em um computador quântico corrigido por erro tolerante a falhas. Projetado especificamente para quantum dimensionado (pós-NISQ, sistemas tolerantes a falhas), o Avaliador de Recursos do Azure Quantum permite avaliar decisões arquitetônicas, comparar tecnologias de qubit e determinar os recursos necessários para executar um determinado algoritmo quântico. Você pode escolher entre protocolos tolerantes a falhas predefinidos e especificar suposições do modelo de qubit físico subjacente.
O Avaliador de Recursos do Azure Quantum calcula a estimativa de recursos físicos pós-layout, levando em conta suposições sobre parâmetros qubit, códigos de QEC (correção de erros quânticos) e um orçamento de erro. Ele usa um Quantum Intermediate Representation programa (QIR) como entrada e, portanto, dá suporte a qualquer linguagem que se traduza em QIR, por exemplo, você pode usar o Avaliador de Recursos do Azure Quantum com SDKs quânticos populares e linguagens como Q# e Qiskit.
O Avaliador de Recursos do Azure Quantum usa um conjunto de entradas, com valores predefinidos para começar facilmente:
- Parâmetros de qubit físico
- Um esquema de QEC (Correção de Erros Quânticos)
- Um orçamento de erro
Para obter mais informações, consulte a página de referência do Avaliador de Recursos do Azure Quantum .
O que são o Q# e o Quantum Development Kit?
O QDK (Microsoft Quantum Development Kit ) é o SDK necessário para a interface com o serviço do Azure Quantum. Você pode instalar o QDK localmente em seu computador ou usá-lo como um componente pré-instalado na parte gratuita de notebooks Jupyter hospedados do serviço do Azure Quantum.
O QDK inclui a linguagem de programação quântica Q#, uma linguagem de programação de software livre de alto nível que permite que você concentre seu trabalho no nível do algoritmo e do aplicativo para criar programas quânticos.
O Quantum Development Kit
O QDK oferece um conjunto de ferramentas que ajudarão você no processo de desenvolvimento de software quântico e que podem ser usadas de forma autônoma, independentemente do serviço do Azure Quantum:
- Bibliotecas de software livre para ajudá-lo a manter seu código de alto nível, incluindo bibliotecas "padrão" que implementam padrões comuns para muitos algoritmos quânticos e bibliotecas específicas do domínio, como química e aprendizado de máquina.
- Simuladores de computação quântica locais e baseados em nuvem que simulam computadores quânticos atuais e futuros para que você possa executar e depurar seus algoritmos quantum escritos em Q#.
- Os simuladores de ruído que permitem simular o comportamento de programas Q# sob a influência de ruído e a representação do estabilizador.
- Extensões para Visual Studio 2022 e Visual Studio Code e integração com os Jupyter Notebooks.
- Interoperabilidade com Python e outras linguagens .NET, bem como integração com o Qiskit e o Cirq, para que os desenvolvedores de quantum que já estão trabalhando em outras linguagens de desenvolvimento também possam executar os respectivos circuitos no Azure Quantum.
Observação
O Azure Quantum é um ecossistema flexível. Você pode executar código Python no Azure Quantum sem chamar explicitamente nenhum código Q#, por exemplo, enviando circuitos do Qiskit ou do Cirq ou enviando problemas de otimização. Para usar esses recursos, você deve instalar o pacote python azure-quantum.
A linguagem de programação quântica Q#
Por que uma linguagem de programação quântica? Em termos curtos, porque você deseja gravar algoritmos, não circuitos.
Um programa quântico pode ser visto como um conjunto específico de sub-rotinas clássicas que, quando chamadas, executam uma computação interagindo com um sistema quântico; um programa escrito em Q# não modela diretamente o estado quântico, mas descreve como um computador de controle clássico interage com qubits. Isso permite que você seja totalmente independente do que é um estado quântico em cada target computador, o que pode ter interpretações diferentes dependendo do computador. Você pode escrever seu código uma vez e, com pouca ou nenhuma alteração, executá-lo em vários targets da mesma família, permitindo que você concentre sua programação no nível do algoritmo.
Você pode desenvolver programas quantum com Q# ou Python no portal do Azure Quantum usando Jupyter Notebooks ou desenvolver em seu ambiente local usando seu IDE favorito. O ambiente permite que você envie trabalhos para o hardware quantum por meio do serviço do Azure Quantum ou use simuladores quantum locais ou baseados em nuvem. Para obter mais informações, consulte diferentes maneiras de executar um programa Q#.
Fluxo de trabalho do desenvolvimento de software quântico
O Azure Quantum fornece o melhor ambiente de desenvolvimento para criar algoritmos quânticos para várias plataformas ao mesmo tempo, preservando a flexibilidade para ajustar os mesmos algoritmos para sistemas específicos. Você pode escolher entre linguagens de programação quântica, como Qiskit, Cirq e Q# e executar seus algoritmos em vários sistemas quânticos. Com o Azure Quantum, é fácil explorar simultaneamente os sistemas quânticos atuais e estar pronto para os sistemas quânticos em escala do futuro.
O diagrama a seguir mostra os estágios pelos quais um programa quântico passa da ideia para a implementação completa no Azure Quantum e as ferramentas oferecidas pelo QDK para cada estágio.
Escreva seu código quântico. Você pode escrever seu programa Q# com os Jupyter Notebooks hospedados disponíveis no workspace do Azure Quantum. Se preferir um ambiente de desenvolvimento local, você poderá criar seu programa Q# usando as extensões do QDK para Visual Studio, Visual Studio Code ou Jupyter Notebooks.
Use bibliotecas para manter o alto nível do código. As bibliotecas quânticas ajudarão você a manter o alto nível do código, fazendo grande parte do trabalho pesado na implementação para que você possa se concentrar na lógica dos algoritmos.
Faça a integração com o software clássico. O Quantum Development Kit permite integrar programas Q# com Python e .NET, permitindo que um desenvolvedor de software quântico aproveite muitos dos avanços feitos na computação clássica nos últimos 70 anos. Você também pode reutilizar e enviar o código-fonte existente do Qiskit e do Cirq com pouca ou nenhuma alteração.
Execute seu código quântico em simulação. Depois de escrever o programa, você usará simuladores quânticos – programas clássicos que simulam o comportamento de um sistema quântico para poder executar uma pequena instância do programa e ver o que ela faz sem acesso a um hardware real.
Estime os recursos. Antes de iniciar a execução em um hardware quântico, você precisará descobrir se o programa pode ser executado em um hardware existente. Você pode usar o Avaliador de Recursos do Azure Quantum para informar as estimativas de recursos físicos necessárias e quanto tempo seu programa levará.
Execute o código em um hardware quântico. Finalmente, a última etapa é usar o Azure Quantum para executar o programa no hardware quântico.
Observação
Você usa o mesmo código Q# para todas as etapas do fluxo de trabalho. Em curto prazo, talvez seja necessário ajustar algumas partes do código para considerar as limitações de hardware atuais. Mas, a longo prazo, você poderá alternar entre vários simuladores e provedores de hardware sem nenhuma modificação de código.
Provedores disponíveis no Azure Quantum
O Azure Quantum oferece alguns dos mais atraentes e diversificados recursos quânticos disponíveis atualmente entre os líderes do setor. O Azure Quantum atualmente faz parcerias com os provedores a seguir para permitir que você execute seus programas quânticos em Q# em hardware real, além da opção de testar seu código em computadores quânticos simulados.
Provedores de computação quântica
Escolha o provedor que melhor se adapta às características do seu problema e suas necessidades.
- Quantinuum: sistema de armadilha de íons com alta fidelidade, qubits totalmente conectados, baixas taxas de erro, reutilização de qubits e a capacidade de execução de medidas de meio-circuito.
- IONQ: computador quântico de armadilha de íons reconfigurável dinamicamente para até 11 qubits totalmente conectados, que permite executar uma porta de dois qubit entre qualquer par.
- Rigetti: processadores supercondutores baseados em portão que utilizam Quantum Intermediate Representation (QIR) para habilitar baixa latência e execução paralela.
- Pasqal: processadores quânticos neutros baseados em átomos operando à temperatura ambiente, com tempos de coerência longos e conectividade de qubit impressionante. Você pode realizar o pré-registro hoje para a versão prévia privada do Pasqal do Azure Quantum.
- Circuitos Quânticos, Inc: circuitos de supercondução de pilha completa, com comentários em tempo real que permitem correção de erros, portões entrelaçados agnósticos de codificação. Você pode realizar o pré-registro hoje para a versão prévia privada do QCI do Azure Quantum.
Para obter mais informações sobre as especificações de cada provedor, consulte a lista completa de target computação quântica.
Provedores de otimização
Em relação às soluções de otimização, esses são os provedores disponíveis dos quais você pode escolher:
- 1QBit: algoritmo heurístico iterativo que usa técnicas de pesquisa para resolver problemas de QUBO.
- MICROSOFT QIO: um conjunto de múltiplos targets que reformulam o problema de otimização inspirado em décadas de pesquisa quântica.
- Toshiba SQBM+: a Toshiba Simulated Quantum Bifurcation Machine é um computador ISING com tecnologia de GPU que resolve problemas de otimização de combinações de grande escala em alta velocidade.
Para obter mais informações sobre as especificações de cada provedor, consulte a lista otimização targetcompleta.
Próximas etapas
Comece a usar o Azure Quantum: