Visión general de Qiskit Runtime
Vislumbre el futuro de la informática cuántica con nuestra Qiskit Runtimelíder mundial, una nueva arquitectura que ofrece mejoras significativas en el rendimiento de la ejecución de programas. Al utilizar nuestras QPU físicas y simuladores (emuladores clásicos de QPU), puede experimentar la computación cuántica sin fricciones. Es decir, la capacidad de ejecutar programas cuánticos en un entorno donde la computadora clásica está físicamente más cerca de la computadora cuántica. Pruebe los programas y algoritmos, y desarrolle nuevos modelos con nuestro tiempo de ejecución cuántico basado en la nube para mejorar drásticamente la capacidad y un mayor rendimiento.
La nueva interfaz IBM Quantum Platform se ha lanzado en modo de acceso anticipado. Se recomienda que comience a utilizar esa interfaz para trabajar con los servicios Quantum de IBM. Dado que se basa en IBM Cloud, la migración es sencilla. Consulte la guía de migración para obtener más información.
Esta documentación se basa en la versión actual de Qiskit Runtime.
Puesto que este servicio está en fase Beta, muchas funciones todavía no están disponibles y todavía están en desarrollo, incluidas algunas funciones que se describen en el diagrama siguiente.
¿Por qué utilizar Qiskit Runtime?
Ejecute sus experimentos con una arquitectura mejorada: Para algoritmos variacionales como VQE, los bucles entre la computación clásica y cuántica ocurren con una conexión de baja latencia al dispositivo cuántico.
Utilice primitivas para empezar rápidamente: los programas primitivos proporcionan una interfaz simplificada para crear y personalizar aplicaciones. Puede enviar circuitos y devolver recuentos de captura, lecturas previas a la captura o valores de expectativa observables. (Algunas primitivas son funciones futuras.)
Visión general de programas primitivos
Qiskit Runtime presenta un conjunto de interfaces, en forma de programas primitivos, para ampliar la forma en que los usuarios ejecutan trabajos en sistemas cuánticos.
La interfaz de Qiskit existente para programas de fondo (backend.run()
) se ha diseñado para aceptar una lista de circuitos y recuentos de devoluciones para cada trabajo. Con el tiempo, quedó claro que los usuarios tienen diversos
propósitos para la computación cuántica, y por lo tanto las formas en las que definen los requisitos para sus trabajos de computación se están expandiendo. Por lo tanto, sus resultados también se ven diferentes.
Por ejemplo, un investigador de algoritmos y un desarrollador se preocupan por la información más allá de los recuentos; están más enfocados en calcular eficientemente las cuasiprobabilidades y los valores de expectativa de los observables.
Nuestros primitivos proporcionan métodos que facilitan la construcción de algoritmos modulares y otros programas de orden superior. En lugar de simplemente devolver los recuentos, devuelven información más significativa inmediatamente. Además, proporcionan una forma transparente de acceder a las últimas optimizaciones en hardware y software de IBM Quantum.
Las operaciones básicas que uno puede hacer con una distribución de probabilidad es muestrear a partir de ella o estimar cantidades en ella. Por lo tanto, estas operaciones forman los bloques de construcción fundamentales del desarrollo de algoritmos cuánticos. ElQiskit Runtime Las primitivas (Sampler y Estimator) utilizan estas operaciones de muestreo y estimación como interfaces centrales para nuestras QPU. Obtenga más información sobre lo que puede hacer con los programas primitivos Qiskit Runtime en la documentación de IBM Quantum.
Para garantizar resultados más rápidos y eficientes, a partir del 1 de marzo de 2024, los circuitos y observables deben transformarse para utilizar únicamente instrucciones compatibles con la QPU (denominados circuitos y observables de arquitectura de conjunto de instrucciones (ISA )) antes de enviarlos a las primitivas de Qiskit Runtime. Consulte la documentación de transbordo para obtener instrucciones sobre la transformación de circuitos.
Este cambio tiene los siguientes impactos importantes:
- Puesto que la transferencia se realiza para que coincida con los circuitos disponibles en un programa de fondo específico, debe especificar un programa de fondo. La opción de utilizar la QPU menos ocupada a la que tenga acceso no funcionará. Si no especifica un programa de fondo, recibirá un error.
- Las primitivas ya no realizarán operaciones de diseño o direccionamiento. Por consiguiente, las opciones de transbordo relativas a esas tareas ya no tendrán ningún efecto. De forma predeterminada, todas las primitivas excepto Sampler V2 siguen
optimizando los circuitos de entrada. Para omitir toda la optimización, establezca
optimization_level=0
.
Primitivas disponibles
Están disponibles los siguientes programas primitivos:
Primitiva | Descripción | Salida de ejemplo |
---|---|---|
Muestreador | Permite a un usuario especificar un circuito y, a continuación, devolver las salidas (series de bits) de cada disparo (V2) o cuasiprobabilidades (V1). Esta generación permite a los usuarios evaluar más eficientemente la posibilidad de múltiples puntos de datos relevantes en el contexto de interferencia destructiva. | ![]() |
Estimador | Permite a un usuario especificar una lista de circuitos y observables y agrupar selectivamente entre las listas para evaluar eficientemente los valores de expectativa y las varianzas para una entrada de parámetro. Está diseñado para permitir a los usuarios calcular e interpretar eficientemente los valores de expectativa de los operadores cuánticos que son necesarios para muchos algoritmos. | ![]() |
Cómo utilizar primitivas
Las interfaces de programa primitivas varían en función del tipo de tarea que desea ejecutar en el sistema cuántico y de los datos correspondientes que desea que se devuelvan como resultado. Después de identificar la primitiva adecuada para el programa, puede utilizar Qiskit para preparar entradas como, por ejemplo, circuitos, observables (para el estimador) y opciones personalizables para optimizar el trabajo.
Primitivas V2
Este documento utiliza primitivas de la versión 2 (disponibles con qiskit-ibm-runtime 0.21.0). La versión 2 es el primer cambio importante en la interfaz desde la introducción de las primitivas Qiskit Runtime. Basándose en los comentarios de los usuarios, esta versión presenta las siguientes funciones nuevas principales:
La versión 2 de las primitivas se presenta con una nueva clase base para Sampler y Estimator (BaseSamplerV2 y BaseEstimatorV2), junto con nuevos tipos para sus entradas y salidas.
La nueva interfaz le permite especificar un único circuito y varios observables (si se utiliza Estimador) y conjuntos de valores de parámetro para dicho circuito, para que se puedan especificar de forma eficiente los conjuntos de valores de
parámetro y los observables. Anteriormente, tenía que especificar el mismo circuito varias veces para que coincidiese con el tamaño de los datos que se van a combinar. Además, aunque todavía puede utilizar optimization_level
y
resilience_level
(si utiliza Estimador) como los botones simples, las primitivas V2 le ofrecen la flexibilidad de activar o desactivar los métodos individuales de mitigación/supresión de errores para personalizarlos según sus
necesidades.
Para reducir el tiempo total de ejecución del trabajo,V2 Las primitivas solo aceptan circuitos y observables que utilizan instrucciones admitidas por la QPU de destino (denominados circuitos y observables de arquitectura de conjunto de instrucciones
(ISA)). Las primitivas V2 no realizan operaciones de diseño, direccionamiento y conversión, pero continúan optimizando los circuitos si especifica optimization_level>0
. Consulte la documentación de transbordo para obtener instrucciones sobre la transformación de circuitos.
V2 Sampler se simplifica para centrarse en su tarea principal de muestreo del registro de salida de la ejecución de circuitos cuánticos. Devuelve las muestras, cuyo tipo está definido por el programa, sin ponderaciones. Los datos de salida también están separados por los nombres de registro de salida definidos por el programa. Este cambio permite el soporte futuro para circuitos con flujo de control clásico.
Para obtener más información, consulte la Guía de migración de primitivas deV2.
Próximos pasos
- Utilice la Guía de iniciación para crear una instancia y ejecutar el primer trabajo.
- Iniciación a primitivas
- Aprenda utilizando guías de aprendizaje, cursos y herramientas
- Vea el vídeo de la guía de aprendizaje deQiskit Runtime para obtener más información.
- Consulte la Referencia de API deQiskit Runtime para saber cómo utilizar los mandatos cURL para trabajar con la instancia de servicio en la nube.
- Obtenga más información sobre IBM Quantum Computing.