¿Qué es el estimador de recursos de Microsoft Quantum?

Los equipos cuánticos son propensos a ruido y errores porque los cúbits individuales son altamente sensibles a los cambios en las condiciones ambientales. La computación cuántica tolerante a errores requiere algoritmos que usan códigos de corrección de errores cuánticos (QEC). Estos códigos crean y usan cúbits lógicos de colecciones de cúbits físicos individuales. Los cúbits lógicos corrigen errores mientras un programa se ejecuta en un equipo cuántico para que los cálculos cuánticos puedan proporcionar resultados confiables.

El estimador de recursos de Microsoft Quantum es una herramienta de código abierto en la biblioteca de Microsoft Quantum Development Kit (QDK) Python que permite calcular los recursos necesarios para ejecutar un programa cuántico en un equipo cuántico tolerante a errores. Los códigos de corrección de errores aumentan el número de cúbits físicos y el tiempo de ejecución de un algoritmo cuántico. El estimador de recursos determina cuántos cúbits físicos y cuánto tiempo se necesita para que una aplicación cuántica se ejecute en hardware específico con un esquema de corrección de errores determinado.

Con el estimador de recursos cuánticos, puede comparar tecnologías de cúbits, esquemas de corrección de errores cuánticos y tecnologías de hardware para comprender el impacto en los recursos necesarios para ejecutar un programa cuántico.

¿Cómo funciona el estimador de recursos cuánticos?

El estimador de recursos está diseñado en torno a un enfoque de modelado por capas para ser flexible y composable. Se crean modelos para la aplicación, el hardware y el esquema de corrección de errores. También se especifica cómo interactúan estos modelos. Todos los modelos e instrucciones son independientes entre sí, por lo que puede combinar y comparar diferentes combinaciones de modelos.

El estimador de recursos usa representaciones intermedias para conectar las capas. Estas representaciones forman parte de la implementación del estimador y no son necesarias para el uso típico. Interactúe con el estimador de recursos mediante lenguajes de programación estándar y modelos de configuración de alto nivel.

Diagrama de información general sobre cómo funciona el estimador de recursos de Microsoft Quantum. En el diagrama se muestra que empieza con un modelo de aplicación y un modelo de arquitectura. A continuación, creará seguimiento e ISA a partir de los modelos. A continuación, explorará el espacio de diseño y encontrará una solución de frontera de Pareto óptima.

El estimador de recursos cuánticos requiere cuatro entradas:

  • Un modelo de aplicación que describe el cálculo cuántico, como un programa de Q#.
  • Un modelo de arquitectura que describe el hardware cuántico target, como los cúbits superconductores de puertas lógicas con tiempos de puerta concretos y tasas de error específicas.
  • Un modelo de corrección de errores y destilación de fábrica que corresponde al modelo de arquitectura de hardware
  • Un presupuesto de errores, que es la tasa de errores máxima permitida para las operaciones en cúbits lógicos.

Desde el modelo de aplicación, el estimador de recursos genera uno o varios seguimientos de aplicaciones. Estas trazas son representaciones compactas de las secuencias de instrucciones que se aplican a los cúbits. Desde el modelo de arquitectura y el modelo de corrección de errores, el estimador de recursos deriva un conjunto de instrucciones físico (ISA) que especifica los tiempos de operación, los costos de cúbits y las tasas de error.

Tanto la capa de aplicación como la capa de arquitectura se convierten en transformaciones configurables. Las transformaciones de Trace de la capa de aplicación incluyen descomposiciones de compuertas y rutinas de disposición. Las transformaciones de ISA de la capa de arquitectura incluyen códigos de corrección de errores cuánticos y fábricas de estado mágico para crear conjuntos de instrucciones lógicas de mayor fidelidad a partir de los primitivos físicos de la arquitectura.

El estimador de recursos explora un gran espacio de diseño combinatoria porque hay muchas opciones de diseño válidas en cada capa. Por ejemplo, diferentes distancias de código QEC, distintos protocolos de fábrica y distintos parámetros de descomposición. El estimador de recursos explora cada combinación de la traza de la aplicación y la ISA de la arquitectura para evaluar el número de cúbits físicos, los tiempos de ejecución y las tasas de error acumuladas de cada combinación. Los resultados se filtran hasta una frontera óptima de Pareto, que es el conjunto óptimo de configuraciones donde ningún otro resultado es simultáneamente mejor en cúbits y tiempo de ejecución mientras permanece dentro del presupuesto de errores especificado.

Compatibilidad con lenguajes de aplicación

El estimador de recursos acepta aplicaciones cuánticas en varios en los siguientes lenguajes de programación y formatos intermedios:

  • Q#
  • Cirq
  • OpenQASM
  • QIR
  • Recuentos lógicos
  • Aplicaciones personalizadas

Con QIR y la capacidad de crear aplicaciones personalizadas, el estimador de recursos es independiente del lenguaje y admite una amplia gama de herramientas de programación cuántica. Las aplicaciones de diferentes marcos se analizan mediante la misma canalización de estimación. También puede compilar aplicaciones personalizadas fuera de estos marcos admitidos.

Compatibilidad con hardware de arquitectura

Las estimaciones de recursos dependen de supuestos sobre el target hardware y el código de corrección de errores que protege las operaciones lógicas de los errores. El estimador de recursos incluye modelos integrados para arquitecturas comunes y esquemas de corrección de errores. También puede definir sus propios modelos de corrección de errores y hardware personalizados para explorar arquitecturas hipotéticas, evaluar tecnologías emergentes o estudiar cómo los cambios en los parámetros físicos afectan a los requisitos de recursos para ejecutar un programa.

Comparación de estimaciones y visualización de resultados

El estimador de recursos permite calcular los recursos necesarios para ejecutar el mismo algoritmo cuántico para diferentes configuraciones de modelos de target arquitectura. Puede trazar los resultados de cada configuración para comparar los resultados. Al comparar estimaciones, puede comprender cómo afecta la arquitectura de cúbits, el esquema QEC y otros parámetros de hardware a los recursos generales necesarios para ejecutar el programa.

Introducción al estimador de recursos

Para empezar, consulte Instalación y uso del estimador de recursos de Microsoft Quantum.

Para obtener más información y ejemplos de código, consulte los ejemplos del estimador de recursos cuánticos en el repositorio de QDK en GitHub.