Comparación de los simuladores de Amazon Braket - Amazon Braket

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Comparación de los simuladores de Amazon Braket

Esta sección le ayuda a seleccionar el simulador de Amazon Braket más adecuado para su tarea cuántica mediante la descripción de algunos conceptos, limitaciones y casos de uso.

Elección entre simuladores locales y simuladores bajo demanda (SV1, TN1, DM1)

El rendimiento de los simuladores locales depende del hardware que aloja el entorno local, como una instancia de cuaderno de Braket utilizada para ejecutar el simulador. Los simuladores bajo demanda se ejecutan en la nube de AWS y están diseñados para escalarse más allá de los entornos locales típicos. Los simuladores bajo demanda están optimizados para circuitos más grandes, pero añaden cierta latencia adicional por cada tarea cuántica o lote de tareas cuánticas. Esto puede implicar una compensación si hay muchas tareas cuánticas involucradas. Dadas estas características generales de rendimiento, la siguiente guía puede ayudarle a elegir cómo ejecutar las simulaciones, incluidas las que presentan ruido.

Para simulaciones:

  • Si emplea menos de 18 qubits, utilice un simulador local.

  • Si emplea entre 18 y 24 qubits, elija un simulador en función de la carga de trabajo.

  • Si emplea más de 24 qubits, utilice un simulador bajo demanda.

Para simulaciones de ruido:

  • Si emplea menos de 9 qubits, utilice un simulador local.

  • Si emplea entre 9 y 12 qubits, elija un simulador en función de la carga de trabajo.

  • Cuando emplee más de 12 qubits, utilice DM1.

¿Qué es un simulador de vector de estado?

SV1 es un simulador de vector de estado universal. Almacena la función de onda completa del estado cuántico y aplica secuencialmente las operaciones de puerta al estado. Almacena todas las posibilidades, incluso las más improbables. El tiempo de ejecución del simulador SV1 para una tarea cuántica aumenta linealmente con el número de puertas en el circuito.

¿Qué es un simulador de matriz de densidad?

DM1 simula circuitos cuánticos con ruido. Almacena la matriz de densidad completa del sistema y aplica secuencialmente las puertas y las operaciones de ruido del circuito. La matriz de densidad final contiene información completa sobre el estado cuántico después de que el circuito se ejecute. Por lo general, el tiempo de ejecución se escala linealmente con el número de operaciones y exponencialmente con el número de qubits.

¿Qué es un simulador de red tensorial?

TN1 codifica circuitos cuánticos en un gráfico estructurado.

  • Los nodos del gráfico consisten en puertas cuánticas o qubits.

  • Los bordes del gráfico representan las conexiones entre las puertas.

Como resultado de esta estructura, TN1 puede encontrar soluciones simuladas para circuitos cuánticos relativamente grandes y complejos.

TN1 requiere dos fases

Por lo general, TN1 funciona con un método de dos fases para simular la computación cuántica.

  • La fase de ensayo: en esta fase, TN1 presenta una forma de recorrer el gráfico de manera eficiente, lo que implica visitar cada nodo para que usted pueda obtener la medición que desea. Como cliente, no ve esta fase porque TN1 realiza ambas fases en conjunto. Completa la primera fase y determina si se debe realizar la segunda fase por su cuenta en función de las limitaciones prácticas. Usted no puede influir en esa decisión una vez que la simulación ha comenzado.

  • La fase de contracción: esta fase es análoga a la fase de ejecución de un cómputo en una computadora clásica. La fase consta de una serie de multiplicaciones de matrices. El orden de estas multiplicaciones tiene un gran efecto en la dificultad de la computación. Por lo tanto, la fase de ensayo se lleva a cabo primero para encontrar las rutas de computación más eficaces a lo largo del gráfico. Cuando encuentre la ruta de contracción durante la fase de ensayo, TN1 contrae las puertas del circuito para obtener los resultados de la simulación.

Los gráficos de TN1 son análogos a un mapa.

Metafóricamente, se puede comparar el gráfico de TN1 subyacente con las calles de una ciudad. En una ciudad con una planificación cuadriculada, es fácil encontrar una ruta a su destino utilizando un mapa. En una ciudad con calles no planificadas, nombres de calles duplicados, etc., puede resultar difícil encontrar la ruta a su destino utilizando un mapa.

Si TN1 no realizara la fase de ensayo, sería como recorrer las calles de la ciudad para encontrar su destino, en lugar de consultar primero un mapa. Pasar más tiempo mirando el mapa puede dar sus frutos en términos de tiempo de recorrido. Del mismo modo, la fase de ensayo proporciona información valiosa.

Se podría decir que TN1 tiene cierta «conciencia» de la estructura del circuito subyacente que atraviesa. Adquiere esta conciencia durante la fase de ensayo.

Tipos de problemas más adecuados para cada uno de estos tipos de simuladores

SV1 es muy adecuado para cualquier clase de problemas que dependan principalmente de tener un número determinado de qubits y puertas. Por lo general, el tiempo necesario aumenta de forma lineal con el número de puertas, mientras que no depende del número de shots. Por lo general, SV1 es más rápido que TN1 para circuitos inferiores a 28 qubits.

SV1 puede ser más lento para números más altos de qubit porque en realidad simula todas las posibilidades, incluso las extremadamente improbables. No tiene forma de determinar qué resultados son probables. Por lo tanto, para una evaluación de 30-qubit, SV1 debe calcular 2^30 configuraciones. El límite de 34 qubits para el simulador SV1 de Amazon Braket es una restricción práctica debido a las limitaciones de memoria y almacenamiento. Puede pensar en ello de esta manera: cada vez que añade un qubit a SV1, el problema se vuelve dos veces más difícil.

Para muchas clases de problemas, TN1 puede evaluar circuitos mucho más grandes en tiempo realista que SV1 porque TN1 aprovecha la estructura del gráfico. Básicamente, realiza un seguimiento de la evolución de las soluciones desde su punto de partida y solo retiene las configuraciones que contribuyen a un recorrido eficiente. En otras palabras, guarda las configuraciones para crear un orden de multiplicación de matrices que da como resultado un proceso de evaluación más sencillo.

Para TN1, el número de qubits y puertas son importantes, pero la estructura del gráfico es mucho más importante. Por ejemplo, TN1 es muy eficaz para evaluar circuitos (gráficos) en los que las puertas son de corto alcance (es decir, cada qubit está conectado por puertas solo a su qubits vecino más cercano) y circuitos (gráficos) en los que las conexiones (o puertas) tienen un alcance similar. Un alcance típico de TN1 es posibilitar que cada qubit se comunique solo con otros qubits que estén a 5 qubits de distancia. Si la mayor parte de la estructura se puede descomponer en relaciones más simples como estas, que se pueden representar en más matrices más pequeñas o más uniformes, TN1 realiza la evaluación de manera eficiente.

Limitaciones de TN1

TN1 puede ser más lento que SV1 dependiendo de la complejidad estructural del gráfico. En algunos gráficos, TN1 finaliza la simulación después de la fase de ensayo y muestra un estado FAILED, por una de estas dos razones:

  • No se puede encontrar una ruta: si el gráfico es demasiado complejo, es muy difícil encontrar una buena ruta transversal y el simulador abandona el cómputo. TN1 no puede realizar la contracción. Puede ver un mensaje de error similar al siguiente: No viable contraction path found.

  • La etapa de contracción es demasiado difícil: en algunos gráficos, TN1 se puede encontrar una trayectoria transversal, pero su evaluación es muy larga y requiere mucho tiempo. En este caso, la contracción es tan cara que el costo sería prohibitivo y, en cambio, TN1 sale tras la fase de ensayo. Puede ver un mensaje de error similar al siguiente: Predicted runtime based on best contraction path found exceeds TN1 limit.

nota

Se le facturará la fase de ensayo TN1 aunque no se realice la contracción y verá un estado FAILED.

El tiempo de ejecución previsto también depende del recuento de shot. En el peor de los casos, el tiempo de contracción de TN1 depende linealmente del recuento de shot. El circuito puede ser contraíble con menos shots. Por ejemplo, podría enviar una tarea cuántica con 100 shots y TN1 decidirá que no es contraíble, pero si la vuelve a enviar con solo 10, la contracción se lleva a cabo. En este caso, para obtener 100 muestras, podría enviar 10 tareas cuánticas de 10 shots para el mismo circuito y combinar los resultados al final.

Como práctica recomendada, le aconsejamos que siempre pruebe su circuito o clase de circuito con pocos shots (por ejemplo, 10) para averiguar qué tan difícil es su circuito para TN1, antes de continuar con un número mayor de shots.

nota

La serie de multiplicaciones que forma la fase de contracción comienza con matrices pequeñas NxN. Por ejemplo, una puerta de 2-qubit requiere una matriz de 4x4. Las matrices intermedias que se requieren durante una contracción que se considera demasiado difícil son gigantescas. Un cómputo de este tipo tardaría días en completarse. Por eso Amazon Braket no intenta contracciones extremadamente complejas.

Simultaneidad

Todos los simuladores de Braket le permiten ejecutar varios circuitos simultáneamente. Los límites de simultaneidad varían según el simulador y la región. Para obtener más información sobre los límites de concurrencia, consulte la página Cuotas.