Modelo de ejecución dirigida (beta)
Todos los componentes del modelo de ejecución dirigida están actualmente en fase beta y podrían no ser estables. Le invitamos a probarlos y a darnos su opinión abriendo una incidencia en los repositorios Samplomatic o Qiskit Runtime GitHub repositorios.
Las interfaces primitivas Sampler y Estimator proporcionan una abstracción de alto nivel para que los desarrolladores de algoritmos se centren más en la innovación y menos en la conversión de datos. Sin embargo, son menos adecuados para los científicos de la información cuántica, que necesitan más control y flexibilidad para sus experimentos a escala utilitaria. El modelo de ejecución dirigida, actualmente en versión beta, responde a esta necesidad. Este modelo de ejecución proporciona los ingredientes para capturar las intenciones de diseño en el lado del cliente y desplaza la costosa generación de variantes de circuitos al lado del servidor, de modo que se pueden ajustar con precisión la mitigación de errores y otras técnicas sin sacrificar el rendimiento. Este modelo explícito y componible facilita la experimentación con nuevas técnicas, la reproducción de resultados y la puesta en común de métodos.
En su versión beta, el modelo de ejecución dirigida se centra en el control de las técnicas integradas en el muestreador y el estimador, como el giro de Pauli, el aprendizaje y la inyección de modelos de ruido y los cambios de base. La compatibilidad con otras funciones se irá añadiendo gradualmente.
Flujo de trabajo
Uno de los principales objetivos del modelo de ejecución dirigida es proporcionar una forma modular de aplicar métodos de mitigación de errores. Por ejemplo, se puede definir qué capas del circuito se van a mitigar, o ajustar las tasas de ruido que se inyectan en el circuito.
Para aplicar la mitigación de errores a un circuito dentro del marco, su flujo de trabajo normalmente implicará los siguientes pasos (las herramientas mencionadas aquí se describen con más detalle en la siguiente sección ):
-
Agrupe las instrucciones en casillas y aplíqueles anotaciones. Las anotaciones captan la transformación prevista sin generar realmente las variantes del circuito.
Si es necesario : Conoce los modelos de ruido de cada una de las capas mediante el nuevo NoiseLearnerV3.
-
Construye el circuito plantilla y muestrax del circuito en caja.
-
Ejecuta el circuito de plantillas y el samplex con la primitiva Executor, que generará y ejecutará las variantes del circuito según las instrucciones.
-
Resultados tras la ejecución del proceso. Por ejemplo, se puede aplicar una selección a posteriori o extrapolar valores esperados mitigados a partir de los resultados de la ejecución.
Herramientas para el modelo de ejecución dirigida
Las siguientes herramientas pueden utilizarse conjuntamente para aplicar una técnica de mitigación de errores en el modelo de ejecución dirigida.
Samplomatic
Samplomatic es una nueva biblioteca de código abierto que admite aleatorizaciones de muestreo personalizadas. Utiliza la construcción de caja para razonar sobre colecciones de operaciones de circuito que deberían tratarse como si tuvieran un contexto de ruido estable, y utiliza anotaciones en cajas para permitirte declarar y configurar intents. Por ejemplo, puede estratificar su circuito en cajas, añadir una anotación de giro a cada caja y especificar qué grupo de giro utilizar, como se muestra en la figura siguiente:

A continuación, se puede utilizar un circuito con cuadros anotados para generar un circuito de plantilla y un samplex. El circuito de plantilla de salida es un circuito parametrizado que se ejecutará sin más modificaciones (salvo que se le asignen valores de parámetros diferentes). El «samplex», que es el tipo principal de la biblioteca Samplomatic, representa una distribución de probabilidad paramétrica sobre los parámetros del circuito de plantilla y otros campos con valores matriciales. Estos campos pueden utilizarse para procesar posteriormente los datos recopilados tras la ejecución del circuito de la plantilla vinculada. En otras palabras, el circuito de plantilla y el samplex indican conjuntamente a la primitiva Executor qué parámetros debe generar y qué circuitos vinculados debe ejecutar. Dado que estas dos construcciones se crean en el lado del cliente, puedes realizar una inspección y un muestreo locales para verificar los resultados antes de enviarlos para su ejecución en el hardware.
Para simplificar el proceso de generación de cajas anotadas, la biblioteca Samplomatic también proporciona pases de transpilador que agrupan automáticamente las instrucciones del circuito en cajas anotadas, basándose en las estrategias que usted proporcione.
Para obtener más información sobre Samplomatic, visite las guías y la documentación de referencia de la API. Siéntase libre de enviar comentarios y reportar errores en su GitHub repositorio.
Primitiva ejecutora
Executor es una nueva primitiva de « Qiskit Runtime » que toma como entrada el par (circuito de plantilla, samplex), genera y asocia valores a los parámetros según el samplex, ejecuta los circuitos asociados en el hardware y devuelve los resultados de la ejecución y los metadatos. Sigue las instrucciones del par de entradas y no toma ninguna decisión implícita por ti, de modo que el proceso es transparente y, al mismo tiempo, eficiente.
NoiseLearnerV3
Al igual que el actual NoiseLearner, este programa auxiliar Qiskit Runtime devuelve el modelo de ruido disperso de Pauli-Lindblad que se utiliza en muchos métodos de mitigación de errores, incluidos PEC, PEA y PNA. En el original NoiseLearner, se pasa una lista de circuitos y el programa estratifica los circuitos en capas y devuelve el modelo de ruido para cada capa única. NoiseLearnerV3, Por otro lado, te permite controlar cómo estratificar tus circuitos, y el programa simplemente toma una lista de instrucciones de circuitos en caja (por ejemplo, capas únicas) como entradas.
NoiseLearnerV3 También admite el aprendizaje del ruido de medición. Para cada conjunto de instrucciones de la lista de entrada, ejecuta el protocolo de aprendizaje de Pauli-Lindblad si el conjunto contiene puertas de uno y dos qubits, y el protocolo TREX si el conjunto contiene mediciones.
NoiseLearnerV3 fue lanzado con qiskit-ibm-runtimev0.47.0. Para obtener más información, consulta la guía de ayuda de Noise y la documentación de referencia de su API.
Próximos pasos
- Echa un vistazo a dos complementos de Qiskit, Shaded lightcones y Propagated noise absorption, que se basan en este modelo de ejecución.