¿Qué es Azure Quantum?

Azure Quantum es el servicio de computación cuántica en la nube de Azure e incluye un conjunto diverso de tecnologías y soluciones cuánticas. Azure Quantum garantiza una ruta abierta, flexible y preparada para el futuro a la computación cuántica que se adapta a su forma de trabajar, acelera el progreso y protege sus inversiones tecnológicas.

Azure Quantum proporciona el mejor entorno de desarrollo para crear algoritmos cuánticos para varias plataformas a la vez, al tiempo que conserva la flexibilidad para ajustar los mismos algoritmos para sistemas específicos. Puede escribir el código una vez y ejecutarlo con pocos o ningún cambio en varios destinos de la misma familia, lo que le permite centrar la programación en el nivel de algoritmo.

  • Un ecosistema abierto que le permite acceder a diversas soluciones, hardware y software cuántico de Microsoft y sus asociados. Puede elegir entre lenguajes de programación cuántica como Qiskit, Cirq y Q#, y ejecutar los algoritmos en varios sistemas cuánticos.
  • Impacto cuántico en la actualidad, lo que le permite explorar simultáneamente los sistemas cuánticos actuales y estar listo para los sistemas cuánticos escalados del futuro y con soluciones generadas previamente que se ejecutan en recursos de proceso clásicos y acelerados (también llamados soluciones de optimización).

Sugerencia

Si no tiene una cuenta de Azure, regístrese gratuitamente y regístrese para obtener una suscripción de pago por uso. Si es estudiante, puede aprovechar una cuenta gratuita de Azure para los alumnos.

Los componentes de Azure Quantum

Con Azure Quantum, puede usar las ventajas de la computación cuántica hoy en día en un ecosistema de nube abierto de pila completa con acceso a software, hardware y soluciones pregeneradas. Azure Quantum ofrece dos tipos de soluciones cuánticas: computación cuántica y optimización.

Computación cuántica

Si el objetivo es simular problemas mecánicos cuánticos, como las reacciones químicas, reacciones biológicas o formaciones de material, los equipos cuánticos funcionan excepcionalmente bien porque usan fenómenos cuánticos en su cálculo. Los equipos cuánticos también pueden ayudar a acelerar el progreso en diversas áreas, como los servicios financieros, el aprendizaje automático y las búsquedas de datos no estructurados, en las que se necesitan muchos cálculos.

Con Azure Quantum, investigadores y empresas pueden usar la computación cuántica para modelar escenarios complejos en áreas como administración de riesgos, ciberseguridad, análisis de redes, desarrollo de tratamientos o ciencia de materiales. Para más información sobre cómo se puede usar la computación cuántica y los algoritmos cuánticos, consulte Descripción de la computación cuántica.

Optimization

Décadas de simulación de los efectos cuánticos en equipos clásicos ha llevado al desarrollo de nuevos tipos de soluciones cuánticas denominadas optimización de inspiración cuántica. La optimización es el proceso de encontrar la mejor solución para un problema, según el resultado deseado y las restricciones existentes. Existen problemas de optimización complejos en todo el sector; por ejemplo: las rutas de vehículos, la administración de cadenas de suministro, la programación, la optimización de carteras, la administración de la red eléctrica y muchos más. Al resolver estos problemas reales, se generan ventajas de alto valor, como costos reducidos, procesos acelerados o riesgos reducidos.

Los algoritmos de optimización de inspiración cuántica aprovechan algunas de las ventajas de la computación cuántica en hardware clásico, lo que proporciona una velocidad sobre los enfoques tradicionales.

Azure Quantum proporciona acceso a un amplio conjunto de algoritmos de optimización de inspiración cuántica de última generación desarrollados por Microsoft y sus asociados. Para más información sobre las soluciones de optimización en Azure Quantum, consulte ¿Qué es la optimización?

Introducción a Azure Quantum

Sugerencia

Los usuarios de primera vez obtienen automáticamente 500 USD gratis (USD)Créditos de Azure Quantum para su uso con cada proveedor de hardware cuántico participante. Si ha consumido todos los créditos y necesita más, puede solicitar participar en el programa Créditos de Azure Quantum.

Es muy fácil empezar a usar Azure Quantum y es gratuito para los nuevos usuarios. Para enviar los programas cuánticos y las soluciones de optimización a Azure Quantum, solo necesita dos cosas:

  1. Cuenta de Azure: si no tiene una cuenta de Azure, regístrese gratuitamente y regístrese para obtener una suscripción de pago por uso.
  2. Área de trabajo de Azure Quantum: un área de trabajo de Azure Quantum es una colección de recursos asociados con la ejecución de aplicaciones cuánticas o de optimización. Para crear un área de trabajo de Azure Quantum, vaya a Azure Portal, seleccione Creación rápida y se creará automáticamente el área de trabajo, así como se agregarán los proveedores predeterminados. O bien, seleccione Crear previamente e introduzca los detalles del área de trabajo y elija los proveedores.

Para más información, consulte Creación de un área de trabajo de Azure Quantum.

Estimación de recursos en la computación cuántica

En la computación cuántica, la estimación de recursos es la capacidad de comprender los recursos, es decir, el número de cúbits, el número de puertas cuánticas, el tiempo de procesamiento, etc., que será necesario para un algoritmo determinado, suponiendo (o tomando como parámetros) determinadas características de hardware. Comprender el número de cúbits necesarios para una solución cuántica y las diferencias entre las tecnologías de cúbits permite a los innovadores preparar y refinar sus soluciones cuánticas para ejecutarse en máquinas cuánticas a escala futura y, en última instancia, acelerar su impacto cuántico.

Azure Quantum ofrece un destino de estimación de recursos de primera entidad que calcula y genera el tiempo de ejecución del reloj de pared y las estimaciones de recursos físicos para un programa, suponiendo que se ejecuta en un equipo cuántico con tolerancia a errores tolerante a errores. Diseñado específicamente para la escala cuántica (después de NISQ, sistemas tolerantes a errores), el estimador de recursos de Azure Quantum permite evaluar decisiones arquitectónicas, comparar tecnologías de cúbits y determinar los recursos necesarios para ejecutar un algoritmo cuántico determinado. Puede elegir entre protocolos predefinidos de tolerancia a errores y especificar suposiciones del modelo de cúbit físico subyacente.

El estimador de recursos de Azure Quantum calcula la estimación de recursos físicos posteriores al diseño tomando suposiciones sobre los parámetros de cúbit, los códigos de corrección de errores cuánticos (QEC) y un presupuesto de errores en cuenta. Toma un programa de representación intermedia cuántica (QIR) como entrada y, por lo tanto, admite cualquier lenguaje que se traduzca a QIR, por ejemplo, puede usar el estimador de recursos de Azure Quantum con SDK y lenguajes cuánticos populares, como Q# y Qiskit.

El estimador de recursos de Azure Quantum toma un conjunto de entradas, con valores predefinidos para empezar fácilmente:

  • Parámetros de cúbit físicos
  • Un esquema de corrección de errores cuánticos (QEC)
  • Presupuesto de errores

Para más información, consulte la página de referencia del estimador de recursos de Azure Quantum .

¿Qué son Q# y el kit de desarrollo de Quantum?

El Kit de desarrollo de Microsoft Quantum (QDK) es un kit de desarrollo de código abierto para Azure Quantum. Está integrado en el portal de Azure Quantum, donde puede desarrollar programas mediante cuadernos de Jupyter Notebook hospedados. También puede instalar el QDK en un entorno local propio y trabajar con el servicio Azure Quantum en línea y sin conexión. El QDK incluye el lenguaje de programación cuántico Q#, un lenguaje de programación de alto nivel que le permite centrarse en el trabajo en el nivel de algoritmo y aplicación para crear programas cuánticos.

Quantum Development Kit

El QDK ofrece un conjunto de herramientas que le ayudarán en el proceso de desarrollo de software cuántico:

  • Bibliotecas listas para usar para ayudarle a mantener el código de alto nivel, incluidas las bibliotecas "estándar" que implementan patrones comunes para una gran cantidad de algoritmos cuánticos y bibliotecas específicas del dominio, como la química y el aprendizaje automático.
  • Simuladores de computación cuántica locales y basados en la nube que simulan máquinas cuánticas actuales y futuras, de modo que pueda ejecutar y depurar los algoritmos cuánticos escritos en Q#.
  • Simuladores de ruido que permiten simular el comportamiento de los programas de Q# bajo la influencia de ruido y la representación del estabilizador.
  • Extensiones para Visual Studio 2022 y Visual Studio Code, e integración con cuadernos de Jupyter Notebook.
  • Interoperabilidad con Python y otros lenguajes de .NET, así como la integración con Qiskit y Cirq, por lo que los desarrolladores cuánticos que ya trabajan en otros lenguajes de desarrollo también pueden ejecutar sus circuitos en Azure Quantum.

Nota:

Azure Quantum es un ecosistema flexible. Puede ejecutar código de Python en Azure Quantum sin llamar explícitamente a código de Q#, como enviar circuitos de Qiskit o Cirq, o enviar problemas de optimización. Para usar estas características, debe instalar el paquete de Python azure-quantum.

El lenguaje de programación cuántica Q#

¿Por qué un lenguaje de programación cuántica? En pocas palabras, porque quiere escribir algoritmos, no circuitos.

Un programa cuántico se puede considerar un conjunto determinado de subrutinas clásicas que, cuando se llaman, realizan un cálculo mediante la interacción con un sistema cuántico; un programa escrito en Q# no modela directamente el estado cuántico, sino que describe cómo interactúa un equipo de control clásico con los cúbits. Esto le permite ser completamente independiente de cuál sea el estado cuántico de cada máquina de destino, que puede tener interpretaciones diferentes en función de la máquina. Puede escribir el código una vez y ejecutarlo con poco o ningún cambio en varios destinos de la misma familia, lo que permite centrar la programación en el nivel de algoritmo.

Puede desarrollar programas cuánticos con Q# o Python en el portal de Azure Quantum mediante cuadernos de Jupyter Notebook, o bien realizar el desarrollo en el entorno local mediante el IDE que prefiera. Cualquiera de los entornos permite enviar trabajos al hardware cuántico mediante el servicio Azure Quantum, o bien usar simuladores cuánticos locales o basados en la nube. Para obtener más información, vea diferentes formas de ejecutar un programa de Q#.

Flujo de trabajo del desarrollo de software cuántico

Azure Quantum proporciona el mejor entorno de desarrollo para crear algoritmos cuánticos para varias plataformas a la vez, al tiempo que conserva la flexibilidad para ajustar los mismos algoritmos para sistemas específicos. Puede elegir entre lenguajes de programación cuántica como Qiskit, Cirq y Q#, y ejecutar los algoritmos en varios sistemas cuánticos. Con Azure Quantum, es fácil explorar simultáneamente los sistemas cuánticos actuales y estar listos para los sistemas cuánticos escalados del futuro.

En el diagrama siguiente se muestran las fases por las que pasa un programa cuántico desde una idea a una implementación completa en Azure Quantum, y las herramientas que ofrece el QDK para cada fase.

flujo de trabajo de qdk

  1. Escritura del código cuántico. Puede escribir el programa Q# con los cuadernos de Jupyter Notebook hospedados disponibles en el área de trabajo de Azure Quantum. Si prefiere un entorno de desarrollo local, puede crear el programa de Q# mediante las extensiones de QDK para Visual Studio, Visual Studio Code o Jupyter Notebook.

  2. Uso de bibliotecas para mantener el código genérico. Las bibliotecas cuánticas le ayudarán a mantener el código genérico y hacen gran parte del trabajo pesado de la implementación para que pueda centrarse en la lógica de los algoritmos.

  3. Integración con software clásico. El kit de desarrollo de Quantum permite integrar programas de Q# con Python y .NET, para que un desarrollador de software cuántico pueda aprovechar muchos de los avances realizados en la computación clásica en los últimos 70 años. También puede reutilizar y enviar el código fuente de Qiskit y Cirq existente con poco o ningún cambio.

  4. Ejecución del código cuántico en la simulación. Una vez que haya escrito el programa, querrá usar simuladores cuánticos (programas clásicos que simulan el comportamiento de un sistema cuántico) para que pueda ejecutar una pequeña instancia del programa y ver lo que hace sin necesidad de acceso al hardware real.

  5. Estimación de los recursos. Antes de ejecutar su programa en hardware cuántico, deberá averiguar si se puede ejecutar en el hardware existente. Puede usar el estimador de recursos de Azure Quantum para indicarle las estimaciones de recursos físicos que necesita y cuánto tiempo tardará el programa.

  6. Ejecución del código en hardware cuántico. El último paso es usar Azure Quantum para ejecutar el programa en hardware cuántico.

Nota:

Use el mismo código de Q# para todos los pasos del flujo de trabajo. A corto plazo, es posible que tenga que ajustar algunas partes del código para tener en cuenta las limitaciones de hardware actuales. Pero, a largo plazo, podrá cambiar de un simulador y proveedor de hardware a otro sin modificar el código.

Proveedores disponibles en Azure Quantum

Azure Quantum ofrece algunos de los recursos cuánticos más atractivos y diversos disponibles actualmente por parte de los líderes del sector. Azure Quantum se ha asociado con los siguientes proveedores para permitirle ejecutar los programas cuánticos de Q# en hardware real, y darle la opción de probar el código en equipos cuánticos simulados.

Proveedores de computación cuántica

Elija el proveedor que mejor se adapte a las características de su problema y sus necesidades.

  • Quantinuum: sistema de iones atrapados con cúbits totalmente conectados de alta fidelidad, con tasas de error bajas, reutilización de cúbits y la capacidad de tomar medidas en el circuito medio.
  • IONQ: equipo cuántico de iones atrapados reconfigurable dinámicamente hasta 11 cúbits totalmente conectados, lo que le permite ejecutar una puerta de dos cúbits entre cualquier par.
  • Rigetti: procesadores superconductores basados en puertas que usan la representación intermedia cuántica (QIR) para habilitar la baja latencia y la ejecución en paralelo.
  • Pasqal: procesadores cuánticos neutros basados en átomos que funcionan a temperatura ambiente, con tiempos de coherencia largos y una impresionante conectividad de cúbits. Puede llevar a cabo el registro previo hoy en la versión preliminar privada de Pasqal de Azure Quantum.
  • Quantum Circuits, Inc: circuitos superconductores de pila completa, con comentarios en tiempo real que permiten la corrección de errores y puertas de entrelazamiento independientes de la codificación. Puede llevar a cabo el registro previo hoy en la versión preliminar privada de QCI de Azure Quantum.

Para más información sobre las especificaciones de cada proveedor, consulte la lista completa de destinos de computación cuántica.

Proveedores de optimización

Para las soluciones de optimización, estos son los proveedores disponibles entre los que puede elegir:

  • 1QBit: algoritmos heurísticos iterativos que usan técnicas de búsqueda para resolver problemas de QUBO.
  • Microsoft QIO: conjunto de varios destinos que reformula el problema de optimización inspirado por décadas de investigación cuántica.
  • Toshiba SQBM+: la máquina de bifurcación Quantum simulada de Toshiba es una máquina de Ising con tecnología GPU que resuelve problemas de optimización combinatoria a gran escala a gran velocidad.

Para más información sobre las especificaciones de cada proveedor, consulte la lista completa de destinos de optimización.

Pasos siguientes

Empiece a usar Azure Quantum: