Trabajar con trabajos híbridos de Amazon Braket - Amazon Braket

Trabajar con trabajos híbridos de Amazon Braket

Los trabajos híbridos de Amazon Braket le ofrecen una forma de ejecutar algoritmos clásicos cuánticos híbridos que requieren tanto recursos de AWS clásicos como unidades de procesamiento cuántico (QPU). Los trabajos híbridos están diseñados para activar los recursos clásicos solicitados, ejecutar su algoritmo y liberar las instancias una vez completados, de modo que solo pague por lo que use.

Los trabajos híbridos son ideales para algoritmos iterativos de larga duración que implican el uso tanto de recursos de computación clásica como de recursos de computación cuántica. Con los trabajos híbridos, después de enviar su algoritmo para su ejecución, Braket lo ejecutará en un entorno escalable y en contenedor. Una vez que el algoritmo se haya completado, puede recuperar los resultados.

Además, las tareas cuánticas que se crean a partir de un trabajo híbrido se benefician de una mayor prioridad al hacer cola en el dispositivo de QPU de destino. Esta priorización garantiza que sus cálculos cuánticos se procesen y ejecuten antes que otras tareas que esperan en la cola. Esto resulta especialmente ventajoso para los algoritmos híbridos iterativos, en los que los resultados de una tarea cuántica dependen de los resultados de tareas cuánticas anteriores. Algunos ejemplos de estos algoritmos incluyen el algoritmo de optimización cuántica aproximada (QAOA), el solucionador de problemas de autovalores cuánticos variacionales o la machine learning cuántica. También puede supervisar el progreso de su algoritmo casi en tiempo real, lo que le permite realizar un seguimiento de los costos, el presupuesto o métricas personalizadas, como la pérdida de entrenamiento o los valores esperados.

Puede acceder a los trabajos híbridos en Braket mediante:

Cuándo utilizar los trabajos híbridos de Amazon Braket

Los trabajos híbridos de Amazon Braket le permiten ejecutar algoritmos híbridos cuánticos-clásicos, como el solucionador de problemas de autovalores cuánticos variacionales (VQE) y el algoritmo de optimización cuántica aproximada (QAOA), que combinan recursos de computación clásica con dispositivos de computación cuántica para optimizar el rendimiento de los sistemas cuánticos actuales. Los trabajos híbridos de Amazon Braket ofrecen tres ventajas principales:

  1. Rendimiento: los trabajos híbridos de Amazon Braket ofrecen un mejor rendimiento que la ejecución de algoritmos híbridos desde su propio entorno. Mientras se ejecuta su trabajo, tiene acceso prioritario a la QPU de destino seleccionada. Las tareas de tu trabajo se ejecutan antes que las demás tareas que están en cola en el dispositivo. Esto se traduce en tiempos de ejecución más cortos y predecibles para los algoritmos híbridos. Los trabajos híbridos de Amazon Braket también admiten la compilación paramétrica. Puede enviar un circuito utilizando parámetros libres y Braket compila el circuito una vez, sin necesidad de recompilarlo para posteriores actualizaciones de parámetros en el mismo circuito, lo que se traduce en tiempos de ejecución aún más rápidos.

  2. Comodidad: los trabajos híbridos de Amazon Braket simplifican la configuración y la gestión de su entorno de computación, y mantienen su funcionamiento mientras se ejecuta su algoritmo híbrido. Solo tiene que proporcionar el script de algoritmo y seleccionar un dispositivo cuántico (ya sea una unidad de procesamiento cuántico o un simulador) en el que ejecutarlo. Amazon Braket espera a que el dispositivo de destino esté disponible, activa los recursos clásicos, ejecuta la carga de trabajo en entornos de contenedores preconstruidos, devuelve los resultados a Amazon Simple Storage Service (Amazon S3) y libera los recursos de computación.

  3. Métricas: Los trabajos híbridos de Amazon Braket proporcionan información instantánea sobre los algoritmos en ejecución y envían métricas de algoritmos personalizables casi en tiempo real a Amazon CloudWatch y a la consola de Amazon Braket, lo que le permite realizar un seguimiento del progreso de sus algoritmos.

Ejecución de un trabajo híbrido con los trabajos híbridos de Amazon Braket

Para ejecutar un trabajo híbrido con los trabajos híbridos de Amazon Braket, primero debe definir su algoritmo. Puede definirlo escribiendo el script de algoritmo y, de forma opcional, otros archivos de dependencia usando el SDK de Python de Amazon Braket o PennyLane. Si desea utilizar otras bibliotecas (de código abierto o patentadas), puede definir su propia imagen de contenedor personalizada mediante Docker, que incluye estas bibliotecas. Para obtener más información, consulte Utilice su propio contenedor (BYOC).

En cualquier caso, a continuación, cree un trabajo híbrido utilizando la API de Amazon Braket, donde proporcionará el contenedor o el script de algoritmo, seleccionará el dispositivo cuántico de destino que utilizará el trabajo híbrido y, a continuación, elegirá entre una serie de configuraciones opcionales. Los valores predeterminados proporcionados para estas configuraciones opcionales funcionan para la mayoría de los casos de uso. Para que el dispositivo de destino ejecute su trabajo híbrido, puede elegir entre una QPU, un simulador bajo demanda (como SV1, DM1 o TN1) o la propia instancia de trabajo híbrida clásica. Con un simulador bajo demanda o una QPU, su contenedor de trabajos híbridos realiza llamadas a la API a un dispositivo remoto. Con los simuladores integrados, el simulador se integra en el mismo contenedor que el script de algoritmo. Los simuladores Lightning de PennyLane están integrados en el contenedor de trabajos híbridos preconfigurado de forma predeterminada para que los use. Si ejecuta su código utilizando un simulador PennyLane integrado o un simulador personalizado, puede especificar un tipo de instancia, así como el número de instancias que desea utilizar. Consulte la página de precios de Amazon Braket para conocer los costos asociados a cada opción.

Diagrama de flujo que muestra las interacciones de los usuarios con los componentes de Amazon Braket, la API, la instancia de trabajos y los simuladores para tareas híbridas, de QPU, bajo demanda e integradas. Los resultados se almacenan en un bucket de Amazon Simple Storage Service y se analizan con Amazon CloudWatch en la consola de Amazon Braket.

Si el dispositivo de destino es un simulador bajo demanda integrado, Amazon Braket comienza a ejecutar el trabajo híbrido de inmediato. Inicia la instancia de trabajo híbrido (puede personalizar el tipo de instancia en la llamada a la API), ejecuta su algoritmo, escribe los resultados en Amazon S3 y libera sus recursos. Esta liberación de recursos garantiza que solo pague por lo que usa.

El número total de trabajos híbridos simultáneos por unidad de procesamiento cuántico (QPU) está restringido. En la actualidad, solo se puede ejecutar un trabajo híbrido en una QPU en un momento determinado. Las colas se utilizan para controlar la cantidad de trabajos híbridos que se pueden ejecutar a fin de no superar el límite permitido. Si el dispositivo de destino es una QPU, el trabajo híbrido entra primero en la cola de trabajos de la QPU seleccionada. Amazon Braket activa la instancia de trabajo híbrido necesaria y ejecuta su trabajo híbrido en el dispositivo. Durante la duración de su algoritmo, su trabajo híbrido tiene acceso prioritario, lo que significa que las tareas cuánticas de su trabajo híbrido se ejecutan antes que otras tareas cuánticas de Braket en cola en el dispositivo, siempre que las tareas cuánticas del trabajo se envíen a la QPU una vez cada pocos minutos. Una vez completado el trabajo híbrido, los recursos se liberan, lo que significa que solo pagará por lo que utilice.

nota

Los dispositivos son regionales y su trabajo híbrido se ejecuta en la misma Región de AWS que su dispositivo principal.

Tanto en los escenarios de destino del simulador como de la QPU, tiene la opción de definir métricas de algoritmo personalizadas, como la energía de su hamiltoniano, como parte de su algoritmo. Estas métricas se envían automáticamente a Amazon CloudWatch y, desde allí, se muestran casi en tiempo real en la consola de Amazon Braket.

nota

Si desea utilizar una instancia basada en GPU, asegúrese de utilizar uno de los simuladores basados en GPU disponibles con los simuladores integrados en Braket (por ejemplo, lightning.gpu). Si elige uno de los simuladores integrados basados en CPU (por ejemplo, lightning.qubit o braket:default-simulator), la GPU no se utilizará y usted podría incurrir en gastos innecesarios.