Quantum Computing as a Service

Original article can be found here (source): Artificial Intelligence on Medium

Quantum Computing as a Service

Por Gabriel Cruz e Giovanna Chun — FGVTech

Para melhor compreensão do tema, serão explicados os tópicos de Cloud Computing, XaaS e Computação Quântica. Não precisa se preocupar, não é tão difícil quanto parece. Boa leitura!

  1. Cloud Computing e XaaS

Antes de entender o que significa Cloud Computing e como esse conceito impacta direta e indiretamente nossas vidas, precisamos entender os acontecimentos históricos que possibilitaram que a chamada “revolução cloud” acontecesse. Vamos analisar como esse conceito veio a existir e porque sua relevância está em crescimento constante.

História do Cloud Computing

Nos anos 60, dois especialistas foram responsáveis pelas primeiras ideias que possibilitaram o desenvolvimento do cloud computing da forma que conhecemos hoje em dia.

O primeiro deles foi o cientista da computação John McCarthy. Em um discurso apresentado no MIT em 1961, McCarthy propôs que o acesso a computação deveria ser disponibilizado como um serviço público e, assim como outros serviços básicos como água e luz, seria cobrado apenas o que foi utilizado (comparável com a ideia de “on demand computing” que é muito utilizada por empresas hoje em dia). O cientista também discutiu a ideia do uso compartilhado do computador por dois ou mais usuários ao mesmo tempo. McCarthy chamou essas ideias de “Utility Computing”.

O segundo especialista responsável pelo início da trajetória do cloud computing foi o físico Joseph Licklider. Licklider desenvolveu a rede ARPANET, conhecida como a mãe da internet. Esse sistema consiste em uma rede de computadores que conseguem trocar informações entre si, e foi criado para a agência americana Advanced Research and Projects Agency (Arpa) com o intuito de unir bases militares com os departamentos de pesquisa dos Estados Unidos.

Os conceitos desenvolvidos por esses especialistas foram revolucionários, mas os recursos tecnológicos necessários para implementar esses conceitos (de forma acessível) demoraram anos para ser alcançados. Em 1996, o termo “computação em cloud” foi usado pela primeira vez por profissionais da Compaq Computer Corporation ao discutir sobre a evolução da computação. Em 1999 a empresa americana Salesforce foi a primeira a disponibilizar aplicações empresariais pela internet, com o intuito de substituir softwares de CRM tradicionais por CRM na nuvem.

A partir dos anos 2000, grandes empresas lançaram serviços de computação em nuvem. A primeira delas foi a Amazon, que lançou a Amazon Web Services (AWS) 2002. Anos depois, a Microsoft e a Google lançaram suas versões do serviço de cloud computing com a Microsoft Azure e o Google App Engine. O uso desses serviços em empresas vem crescendo cada vez mais devido ao nível de segurança, praticidade e custo benefício que eles proporcionam.

Conceito: Cloud Computing

Agora que entendemos a história do Cloud Computing, podemos entender o que esse termo de fato significa. O site da Microsoft Azure descreve esse conceito da seguinte forma: “Resumindo, a computação em nuvem é o fornecimento de serviços de computação, incluindo servidores, armazenamento, bancos de dados, rede, software, análise e inteligência, pela Internet (“a nuvem”) para oferecer inovações mais rápidas, recursos flexíveis e economias de escala. Você normalmente paga apenas pelos serviços de nuvem que usa, ajudando a reduzir os custos operacionais, a executar sua infraestrutura com mais eficiência e a escalonar conforme as necessidades da sua empresa mudam.” Em outras palavras, a computação em nuvem reduz custos, facilita a execução de tarefas, aumenta a produtividade e possibilita a expansão e redução de processamento computacional de acordo com as necessidades do cliente. Não é à toa que esse tipo de serviço vem sendo cada vez mais utilizado por empresas.

Não pense, entretanto, que apenas empresas utilizam serviços na nuvem. Aplicativos e sites como Netflix, Whatsapp, Facebook, Youtube e Twitter são alguns dos serviços na nuvem que utilizamos todos os dias. Quando assistimos um filme na Netflix não estamos baixando o filme para o nosso computador, estamos enviando uma mensagem para um computador (a nuvem) através da internet. Esse computador vai reproduzir o arquivo do vídeo e transmiti-lo de volta para a tela do aparelho em que está assistindo. Pode ser que nem sempre percebemos isso, mas a nuvem já se consolidou na sociedade e no dia a dia de muitas pessoas.

Tipos de Computação em Cloud

Existem três principais formas de categorizar os modelos adotados de computação em cloud: pública, privada e híbrida. A nuvem pública se trata de uma infraestrutura compartilhada, isso quer dizer que o data center é compartilhado entre outras pessoas e empresas. Nesse caso, todas as questões de software, hardware, e outras infraestruturas necessárias são gerenciadas pela empresa que está te providenciando esse serviço. Google Drive e Dropbox são dois exemplos comuns.

A nuvem privada, por outro lado, é uma infraestrutura exclusiva para você e/ou sua empresa. A nuvem privada pode estar localizada na sua empresa e também ser gerenciada por ela, ou então isso pode ser lidado por terceiros. A vantagem de trabalhar com um sistema de cloud privada é que ela possui uma capacidade de flexibilidade e de segurança superior à da cloud pública. Entretanto, ela vem com um custo consideravelmente maior que a adoção da cloud pública.

Finalmente, a cloud híbrida se refere a infraestrutura de cloud que une a cloud pública e privada. Uma empresa pode decidir usar cloud pública para um setor, e privada para outro. Essa opção de cloud pode ser vantajosa quando se procura uma soluç

Xaas

Agora que entendemos os três tipos de cloud, vamos entender os três (principais) tipos de serviços que podem ser oferecidos: IaaS, PaaS e SaaS. SaaS significa “Software as a Service”, e ele é o tipo de serviço mais comum. Usamos SaaS no nosso dia a dia pois ele foca no end user. Alguns exemplos são: Linkedin, Google Docs/Drive, Office 365 e Dropbox. No SaaS, você não precisa instalar nenhum software no seu computador, você acessa os programas e as ferramentas por meio do seu navegador.

PaaS refere-se a “Platform as a Service”, ele é uma modalidade de cloud que permite que os usuários consigam desenvolver aplicações sem ter que se preocupar em gastar dinheiro com infraestrutura e software. O uso de PaaS normalmente requer um conhecimento mais técnico para ser utilizado, pois não é destinado ao end-user como o SaaS. Finalmente, o IaaS, “Infrastructure as a Service”, inclui o uso de infraestrutura como um serviço. Com ele, empresas não precisam se preocupar com a construção de um datacenter, por exemplo. Nesse caso, as empresas podem simplesmente contratar um serviço de IaaS e deixa de se preocupar com a aquisição, implementação e gerenciamento de servidores ou de um datacenter.

A nuvem não se limita a esses 3 tipos de serviços, a popularização do uso de cloud fez com que diversos novos tipos de “as a Service” fossem desenvolvidos. Por isso, a expressão “XaaS” surgiu, significando: “Everything as a Service”, ou então, “Tudo como um serviço”. Alguns exemplos são: Communication as a service, Security as a Service, Healthcare as a Service, Transportations as a Service e por aí vai!

Benefícios e limitações do uso de cloud

Como já abordamos previamente, a adoção de serviços na nuvem por uma empresa traz diversos benefícios relacionados a escalabilidade, agilidade e redução de gastos. Além disso, atualizações são feitas constantemente nos sistemas de cloud, e isso é algo que apenas as empresas que gerenciam o cloud que precisam lidar. Ou seja, não é necessário atualizar o software a cada mês ou a cada ano, isso é feito automaticamente.

Existem, entretanto, algumas limitações no uso de cloud. Ao contratar uma empresa que providencia soluções em nuvem, você acaba tendo que confiar em terceiros para a sua empresa essencialmente funcionar. Além disso sua empresa acaba ficando totalmente dependente da internet para funcionar, e outros problemas técnicos podem vir a ocorrer. No caso de problemas técnicos, é necessário entrar em contato com a empresa que está te providenciando o serviço para resolvê-los. Isso nem sempre é um processo tão rápido.

2. Computação Quântica

Física Quântica

Para compreender melhor o fenômeno da Computação Quântica, é necessário entender alguns conceitos básicos da Física Quântica. Eles serão explicitados de forma superficial, apenas para facilitar a compreensão dos fenômenos que afetam a Computação Quântica.

A Física Quântica é a área da Física que estuda partículas físicas em nível atômico ou subatômico, como moléculas, átomos, elétrons e prótons. Ela foi estudada no início do século XX, sendo um dos principais estudiosos o físico alemão, Albert Einstein.

A partir das descobertas dos modelos atômicos e comportamentos dos elétrons, foi possível perceber que os elétrons de um átomo não ocupam órbitas intermediárias, mas apenas saltam de uma órbita à outra. Esses fenômenos requerem a absorção ou liberação de energia, sendo que esse pacote de energia, absorvido ou liberado, foi denominado quantum.

A análise do comportamento dos elétrons também abriu portas para as discussões que resultaram no que foi denominado Princípio da Incerteza: as partículas que se comportavam como ondas poderiam ser descritas por um padrão estatístico. Diferentemente da Física Clássica que considera o padrão determinístico da Física, ou seja, que é possível conhecer com precisão a posição dos corpos e, consequentemente, sua velocidade, o padrão probabilístico da Física Quântica trabalha em cima da probabilidade de um corpo ocupar certa posição.

Um exemplo de partícula com comportamento de onda é a luz: os fótons são os quantums da luz, ou seja, são os pacotes de energia liberados ou absorvidos por esse tipo de partícula.

Vale lembrar que mesmo que a abordagem da Física Quântica possa parecer irreal, muitos experimentos dos físicos clássicos foram contra-intuitivos para as pessoas da época. O físico Galileu Galilei, em seu experimento na Torre de Pisa, provou que corpos em queda de massas diferentes estão submetidos à mesma aceleração e, por isso, tocam o solo ao mesmo tempo a partir da queda livre de uma certa altura. A maioria das pessoas imaginava que corpos mais pesados alcançavam o solo mais rapidamente. As leis naturais, portanto, por mais que sejam contra-intuitivas, não são definidas pela intuição do ser humano e, por isso, é possível imaginar que o mundo quântico e seus comportamentos possam se tornar conceitos “normais” no futuro.

Definidos e exemplificados esses conceitos, podemos caminhar em direção ao assunto da Computação Quântica.

Computação Quântica

A Computação Quântica é resultado das aplicações da Física Quântica na Ciência da Computação. Para melhor entendimento, vamos comparar os elementos da Computação Clássica e da Computação Quântica.

Na Computação Clássica, um bit transmite uma informação, possuindo valor igual a 0 ou 1, e por isso é chamado de código binário. Já na Computação Quântica, o equivalente do bit é chamado de qubit. A diferença é que o qubit armazena informações através de valores ou 0, ou 1, ou os dois ao mesmo tempo. Isso mesmo, os dois ao mesmo tempo. O fenômeno descrito é denominado fenômeno da superposição. Um famoso paradoxo para exemplificar a superposição é do Gato de Schrödinger: um gatinho poderia, no mundo quântico, apresentar um estado de vivo-morto.

Outro fenômeno observado é o emaranhamento quântico: duas partículas fortemente conectadas são capazes de compartilhar seus estados físicos, mesmo que separadas por milhões de anos-luz. Isso permite que a leitura e a transmissão de informações sejam feitas de forma muito mais rápida. Ano passado (2019), o fenômeno foi fotografado pela primeira vez:

“Os cientistas criaram um sistema que disparou uma série de fótons emaranhados, partindo de uma fonte quântica de luz contra objetos “não convencionais”. O resultado foi exibido em materiais de cristal líquido, que mudam a fase (polarizam) os fótons à medida em que eles os atravessam.”

A vantagem da aplicação desses fenômenos na Computação é que os processamentos se tornam muito mais rápidos, com menor gasto de energia do que os computadores clássicos. O cálculo simultâneo de bits aumenta exponencialmente a velocidade dos computadores quânticos.

Supremacia Quântica

Em 23 de outubro de 2019, a Google atingiu a “supremacia quântica”, isto é, a performance de seus computadores quânticos ultrapassou a performance dos supercomputadores clássicos. Em um teste de distribuição estatística, o computador quântico da Google, Sycamore, alcançou o resultado correto em 3 minutos e 20 segundos. Em um computador clássico, o resultado demoraria 10 mil anos.

Contudo, a IBM, empresa que também vem desenvolvendo pesquisas sobre a computação quântica, refutou o título atribuído à Google, argumentando que o problema proposto não demoraria 10 mil anos para ser resolvido, mas apenas 2,5 dias, caso outra técnica fosse utilizada.

Merecendo ou não o título de supremacia quântica, a Google desenvolveu um computador quântico capaz de lidar com um nível de complexidade que os computadores clássicos não podem. Tal acontecimento representa um grande passo, provando que estamos caminhando na direção certa.

Isso quer dizer que os computadores clássicos serão substituídos pelos quânticos? Por enquanto, a resposta é não.

Os computadores comuns continuarão a desempenhar tarefas como criação de gráficos, e-mail, formação e análises de base de dados, acesso à websites, entre outros. Já a previsão para os computadores quânticos é que eles acelerem processos de resolução de problemas complexos. Algumas aplicações do computador quântico em algumas áreas:

– Inteligência Artificial: reconhecimento de imagens, visão de máquina e realidade virtual;

– Aeroespacial: aceleração da busca por planetas distantes ao redor do sistema solar;

– Criptografia: uso de algoritmos inteligentes para grandes pesquisas de banco de dados e transferência de dados de forma veloz.

Se o computador quântico pode oferecer tantos benefícios, então, por que a demora?

Desafios

Um dos grandes problemas dos computadores quânticos é a alta incidência de erros. A Física Quântica nos diz que observar ou medir um sistema quântico pode destruir a superposição de estados. A armazenagem de dados nos sistemas quânticos por mais do que um período pequeno é muito difícil. Qualquer interferência externa pode prejudicar o processamento de um computador quântico. Por interferência externa pode-se entender: temperatura, vibrações, some luz.

Retomando o paradoxo do Gato de Schrödinger, o gato com estado vivo-morto, se observado ou medido, ou seja, se submetido a uma interferência externa, seu estado pode resultar na conclusão de que ele está vivo ou morto, o que é não é verdade.

Aqui está um exemplo de computador quântico, D-Wave, o primeiro fornecedor comercial:

D-Wave: O refrigerador e as camadas de blindagem criam um ambiente interno de alto vácuo com uma temperatura próxima ao zero absoluto. Com isso, seu interior é isolado de campos magnéticos externos, vibrações e sinais de radiofrequência.

3. QCaaS

XaaS e Computação Quântica

Ao juntar XaaS e computação quântica, chegamos ao conceito de “Quantum Computing as a Service” (QCaaS). O QCaaS torna acessível ao usuário as funções de um computador quântico através da nuvem. Visto que pouquíssimas pessoas têm acesso à um computador quântico, esse serviço disponibiliza o uso de um para educadores, pesquisadores, alunos, e outras pessoas que tenham interesse, no conforto de seus lares.

Aqui vemos uma tecnologia muito nova sendo oferecida no mercado à um custo muito menor. Ao invés de adquirir um computador quântico, o valor pago é apenas do uso, e tudo isso é possível através da nuvem e da internet.

A seguir, vamos explicar melhor como ocorre o funcionamento do QCaaS.

Como funciona?

Da sua máquina, você pode inserir instruções e códigos. Esses códigos viajam para uma computação hospedada na nuvem. Em seguida, eles são traduzidos em pulsos com frequências e formas que controlam os qubits, colocando seus estados quânticos em risco. À medida que os pulsos viajam pelos cabos para alcançar os qubits, eles vão da temperatura ambiente à aproximadamente -273 graus Celsius em apenas 0,1 milissegundos.

Depois que os pulsos de microondas interagem com os qubits, todos os resultados retornam ao longo dos cabos, onde são convertidos em dados que os computadores clássicos podem entender.

Empresas que oferecem

Como no modelo explicitado anteriormente, algumas empresas já oferecem serviços com soluções quânticas disponibilizadas através da nuvem. Elas serão listadas a seguir.

Amazon

A Amazon oferece a Amazon Braket, plataforma desenvolvida com o intuito de auxiliar desenvolvedores, pesquisadores e cientistas através da exploração, avaliação e experimentação da computação quântica. O sistema simula o algoritmo definido pelo usuário para solucionar problemas (codificado em python) e verificar sua implementação. Assim que verificado, o usuário pode executar seu algoritmo em diferentes computadores quânticos como os modelos Rigetti, D-Wave ou ÍonQ.

IBM

A IBM, por sua vez, oferece o IBM Q, uma iniciativa do uso de computadores quânticos universais para negócios, engenharia e ciência. Com seu computador quântico, Q System One, desenvolve atividades através da plataforma Qiskit. O código também é implementado na linguagem python. O Qiskit é capaz de de identificar erros e preencher automaticamente o código. Algumas aplicações oferecidas pela IBM Quantum é resolver problemas desafiadores das áreas do Machine Learning, Optimização, Financeiro, entre outros.

Microsoft

A Microsoft também oferece a Azure Quantum, conjunto diversificado de serviços quânticos, desde soluções prontas até softwares e hardware quânticos. O software criado pela empresa é chamada de Quantum Development Kit. Seu funcionamento pode ser ilustrado pela imagem a seguir, retirado do site da Microsoft:

E aí, gostou? Saiba mais em:

O que é Cloud Híbrido? (vídeo):

https://www.youtube.com/watch?v=sSBJBGu8a-8&t=120s

Física quântica:

https://www.livescience.com/33816-quantum-mechanics-explanation.html

Computação quântica:

https://www.nucleodoconhecimento.com.br/administracao/inteligencia-artificial

Supremacia quântica:

https://www.nytimes.com/2019/10/30/opinion/google-quantum-computer-sycamore.html

Como o QaaS funciona (vídeo):

https://www.youtube.com/watch?v=wfsUxdYSOFs

Amazon braket:

IBM Q:

Azure Quantum:

https://azure.microsoft.com/pt-br/services/quantum/