Solución de problemas en Azure Quantum

Al trabajar con el servicio Azure Quantum, es posible que experimente problemas relacionados con la conexión o el trabajo. En este artículo se explica cómo solucionar estos problemas.

Problemas de conexión del área de trabajo

Problema: No puedo autenticar en Azure Quantum con pytket-azure

Al intentar autenticarse en Azure Quantum con el paquete /pytket-azure en un entorno de CI mediante las variables de entorno "AZURE_TENANT_ID", "AZURE_CLIENT_ID" y "AZURE_CLIENT_SECRET", podría producirse el siguiente error:

Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.

Para resolver este problema, use una cadena de conexión y la variable de entorno "AZURE_QUANTUM_CONNECTION_STRING" para autenticarse en su lugar. Para obtener más información, vea Conectar con una cadena de conexión.

connection_string = "" # Add your connection string

import os 

os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string 

Problemas de envío de trabajos

Problema: No encuentro el target que quiero enviar mi trabajo a

Si el Azure Quantum target en el que quiere ejecutar el trabajo no está en la lista de target disponible, actualice a la versión más reciente de la Quantum Development Kit (QDK) para Visual Studio Code (VS Code). Para obtener más información, consulte Actualización del QDK.

Problema: la operación ha devuelto un código de estado "No autorizado" no válido

Para resolver este problema, siga estos pasos:

  1. Inicie sesión en el portal Azure y autentique su cuenta.
  2. Diríjase al espacio de trabajo Quantum al que intenta enviar un trabajo.
  3. En el panel de navegación del área de trabajo, seleccione Control de acceso (IAM) .
  4. Seleccione el botón Ver mi acceso . Se abre el panel asignaciones .
  5. En la columna Rol de la tabla Asignaciones de roles, compruebe si tiene el rol Propietario o Colaborador .
  6. Si no tiene ningún rol, pida al administrador de la suscripción que le asigne el rol Propietario o Colaborador para esta área de trabajo.

Problema: "AuthorizationFailure: esta solicitud no está autorizada para realizar esta operación"

Si recibe este mensaje incluso cuando tiene una conexión válida al servicio Azure Quantum, es posible que la cuenta de almacenamiento esté configurada para bloquear el acceso a la red pública. El servicio Azure Quantum solo admite cuentas de almacenamiento que tienen acceso público a Internet.

Para comprobar la configuración de la cuenta de almacenamiento, siga estos pasos:

  1. Inicie sesión en Azure portal.
  2. Vaya al área de trabajo de Quantum.
  3. En la página Información general , seleccione la cuenta de almacenamiento.
  4. En el panel de navegación, expanda la lista desplegable Seguridad y redes y seleccione Redes.
  5. En la sección Acceso a la red pública de la pestaña Acceso público , seleccione el botón Administrar .
  6. En la configuración Acceso a la red pública , seleccione Habilitar. En la configuración Ámbito de acceso a la red pública , seleccione Habilitar en todas las redes.
  7. Selecciona el botón Guardar.

Problema: "No se pudo compilar el programa" al enviar un programa de Q# desde CLI de Azure

Al enviar un trabajo con el comando az quantum submit CLI de Azure, es posible que encuentre el siguiente mensaje de error:

az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)

Este error se produce cuando hay un problema con el programa Q# que hace que se produzca un error en la compilación. Asegúrese de que el código de Q# tenga una sintaxis adecuada.

Problema: Error del compilador "Número incorrecto de parámetros de puerta"

Al enviar un trabajo a Quantinuum desde un entorno local de Jupyter Notebook o CLI, y está usando el traductor de QASM (OPENQASM 2.0) heredado, es posible que encuentre este error:

Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters

Este error se produce cuando se usa una coma "," u otro carácter que no sea de punto como separador decimal. Reemplace todos los separadores decimales que no son de período por puntos "."". Por ejemplo:

// replace this line:
rx(1,5707963267948966) q[0];

// with this:
rx(1.5707963267948966) q[0];

Problema: Error del compilador "no disponible para la configuración de compilación actual"

Al ejecutar una celda de código de Q# en un Jupyter Notebook en VS Code, es posible que encuentre el error:

<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration

Este error indica que establece el perfil QIR (representación intermedia cuántica) target en Base cuando la función requiere el perfil Sin restriccionestarget . Si no especifica un target tipo de perfil, el compilador establece automáticamente el target en Sin restricciones.

Problema: la operación ha devuelto un código de estado "Prohibido" no válido

Al enviar el primer trabajo, es posible que reciba un 'forbidden' código de error.

Este problema se produce cuando se crea un área de trabajo en el portal de Azure y Azure Quantum no se completa la asignación de roles que vincula el área de trabajo a la cuenta de almacenamiento especificada. Esto puede ocurrir cuando se cierra la pestaña o el explorador web antes de que se complete la creación del área de trabajo.

Para comprobar que está experimentando este problema de asignación de funciones, siga estos pasos:

  1. Vaya al área de trabajo de Quantum en el portal de Azure.
  2. En la página Información general , seleccione la cuenta de almacenamiento.
  3. En el panel de navegación, seleccione Access Control (IAM).
  4. Elija la pestaña Asignaciones de roles .
  5. En la columna Rol , compruebe si la cuenta de almacenamiento del área de trabajo tiene el rol Colaborador de la cuenta de almacenamiento y el rol Colaborador de datos de Storage Blob .

Si el área de trabajo no tiene ambos roles en la cuenta de almacenamiento, realice una de las acciones siguientes:

  • Cree una nueva área de trabajo y asegúrese de que la creación del área de trabajo se complete antes de cerrar la ventana o pestaña del explorador web.
  • Asigne los roles Colaborador de la cuenta de almacenamiento y Colaborador de datos de Storage Blob al área de trabajo de la cuenta de almacenamiento.

Problema: El trabajo falla con el código de error: QIRPreProcessingFailed

Al enviar un trabajo a Rigetti y si el trabajo falla, es posible que vea el siguiente mensaje de error en la consola de gestión para su espacio de trabajo cuántico en el portal de Azure.

Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled

Este error puede deberse a un conflicto de dependencia con una versión anterior de pyqir o qiskit-qir. Desinstale todas las versiones de pyqir, pyqir-* y qiskit-qir en el equipo local y, a continuación, instale o actualice la biblioteca de qdk Python con la azure y qiskit extras:

pip install --upgrade "qdk[azure,qiskit]"

Problema: Recuperación de información básica sobre trabajos con errores

Al enviar un trabajo a un hardware target, el trabajo podría estar en la cola durante varias horas o días antes de que se produzca un error en el trabajo.

Para recuperar más información sobre el error del trabajo, realice una de las siguientes acciones:

  • Para ver la salida del trabajo o el mensaje de error, use el método get_results() del módulo qdk.azure Python:

    job.get_results()
    
  • En el área de trabajo de Quantum en el portal de Azure, vaya al panel Administración de trabajos del desplegable Operaciones y, a continuación, elija el Nombre del trabajo para abrir el panel Detalles del trabajo.

  • En el área de trabajo de Quantum del portal de Azure, vaya al panel Providers del panel Operations. Compruebe que el target hardware está disponible. Si el target estado es Degradado, es posible que los trabajos permanezcan en la cola más tiempo de lo habitual. A veces, los trabajos se procesan, pero a veces agotan el tiempo de espera y devuelven un error de target no disponible.

Problema: Azure Quantum me pide que se autentique al conectarse mediante programación a mi área de trabajo.

Si estás usando el SDK de Azure Quantum Python y te conectas a tu espacio de trabajo utilizando la clase AzureQuantumProvider, es posible que experimentes una ventana emergente para autenticarte en Azure cada vez que ejecutes tu script.

Este ventana emergente ocurre porque el token de seguridad se reinicia cada vez que ejecuta el script.

Para resolver este problema, ejecute az login desde el CLI de Azure. Para obtener más información, consulte az login.

Los problemas del estimador de recursos cuánticos de Microsoft

Los siguientes problemas pueden provocar un error en los trabajos de estimación de recursos.

Problema: El algoritmo cuántico debe contener al menos un estado T o una medida

Para tener en cuenta la asignación de un programa cuántico arbitrario a una matriz 2D de cúbits lógicos, el estimador de recursos asume que el cálculo secuencial de síntesis paralela pauli (PSSPC) se realiza en el programa de entrada. En ese enfoque, todas las operaciones de Clifford se conmutan a través de todas las puertas T, las puertas de rotación y las operaciones de medición, dejando una sola operación Clifford que se puede evaluar clásicamente de forma eficaz. Por lo tanto, un programa cuántico que no contiene estados T, por ejemplo de puertas T o puertas de rotación, o operaciones de medición no requiere ningún recurso físico de computación cuántica. Para obtener más información sobre el cálculo secuencial de síntesis paralela de Pauli, vea arXiv:2211.07629, Apéndice D.

Error message: Algorithm requires at least one T state or measurement to estimate resources

Problema: La tasa de errores de puerta T física es demasiado alta

La tasa de errores de estado T lógico depende del presupuesto de errores y del número de estados T del programa cuántico. Los generadores de T se usan para crear estados T con la tasa de errores de estado T lógico necesaria a partir de puertas T físicas, que tienen una tasa de errores de puerta T física. Normalmente, la tasa de errores de puerta T física es mayor que la tasa de errores de puerta T lógica necesaria. En algunos escenarios, la tasa de errores de puerta T física es significativamente mayor en comparación con la tasa de errores de estado T lógico necesaria, de modo que no se puede encontrar ningún generador de T que pueda producir estados T lógicos de calidad suficiente.

Error message: No T factory can be found, because the required logical T state error rate is too low

Para solucionar este problema, realice una de las acciones siguientes:

  • Aumente el presupuesto de errores, ya sea el total o la parte correspondiente a los estados de T.
  • Reducir la tasa de errores de puerta T física en los parámetros de los cúbits.
  • Reduzca el número de estados T en el programa cuántico reduciendo las puertas T, las puertas de rotación y las puertas toffoli.

Problema: La tasa de errores de puerta T física es demasiado baja

Cuando la tasa de errores de puerta T física es inferior a la tasa de errores de estado T lógico necesaria, no necesita un generador de T porque la tasa de errores de puerta T física es suficiente. Sin embargo, todavía debe tener en cuenta el impacto de las unidades de transferencia que transfieren los estados físicos de T desde la distancia del código 1 hasta la distancia de código del algoritmo (consulte arXiv:2211.07629, Apéndice C). En general, en presencia de fábricas tipo T, el costo de las unidades de transferencia es insignificante.

Error message: No T factory can be found, because the required logical T state error rate is too high; transfer units are necessary to perform a resource estimation accurately. One possibility to circumvent this problem is to increase the physical T gate error rate of the qubit parameters.

Para solucionar este problema, realice una de las acciones siguientes:

  • Aumente la tasa de errores de la puerta física T en los parámetros del cúbit a la tasa de errores del estado lógico T necesaria.
  • Reduzca el margen de error o solo la parte de los estados T.

Problema: La tasa de errores debe ser un número entre 0 y 1

Las tasas de error solo pueden tener un valor entre 0 y 1. Para que la corrección de errores sea efectiva, la tasa de errores física para las puertas y las medidas debe estar por debajo de un valor que dependa de las propiedades del código de corrección de errores y de la tasa de errores lógica necesaria.

Para solucionar este problema, realice una de las acciones siguientes:

  • Aumente el presupuesto de errores, ya sea total o la parte para los errores lógicos.
  • Reduzca las tasas de errores físicos en los parámetros de cúbit.

Problema: Las restricciones del tiempo de ejecución máximo y el número máximo de cúbits físicos son mutuamente excluyentes

El estimador de recursos solo acepta una restricción de maxDuration o maxPhysicalQubits. Si proporciona tanto maxDuration como maxPhysicalQubits restricciones para un único trabajo, el trabajo devuelve el error BothDurationAndPhysicalQubitsProvided.

Problema: Ejecución del contenedor de recuentos de estimación de QIR: símbolo no definido __quantum__rt__result_record_output

Este error se produce al generar los circuitos QIR para Qiskit con el paquete qiskit_qir Python y no establece el parámetro record_output en False.

Para evitar este error, realice una de las siguientes acciones:

  • Use el módulo qdk.azure Python para enviar circuitos Qiskit a Azure Quantum (recomendado).
  • Cuando use el paquete qiskit_qir Python, establezca el parámetro record_output en False antes de enviar el circuito.

problemas de creación del área de trabajo de Azure Quantum

Es posible que experimente los siguientes problemas al crear un área de trabajo de Quantum en el portal de Azure.

Problema: no puede acceder al formulario de creación del área de trabajo en el portal de Azure y se le pedirá que se registre en una suscripción en su lugar.

Este problema se produce porque no tiene una suscripción de Azure activa.

Al suscribirse a una prueba gratuita de 30 días de suscripción a Azure, obtendrá créditos de Azure gratis. Después de usar todos los créditos gratuitos o 30 días después de registrarse, debe actualizar a una suscripción de pay-as-you-go para seguir usando los servicios de Azure Quantum. Cuando tiene una suscripción activa, el portal de Azure le permite acceder al formulario de creación del área de trabajo.

Para ver una lista de las suscripciones y los roles asociados, consulte Comprobación de las suscripciones.

Nota:

Los créditos de Azure de la suscripción de prueba gratuita de 30 días de Azure no son elegibles para usarse en proveedores de hardware cuántico.

Problema: La opción Creación rápida no está disponible

Debe ser propietario de una suscripción para usar la opción Creación rápida . Para ver una lista de las suscripciones y los roles asociados, consulte Comprobación de las suscripciones. Si es colaborador de la suscripción, puede usar la opción Creación avanzada para crear un área de trabajo.

Problema: No se puede crear o seleccionar un grupo de recursos o una cuenta de almacenamiento

Este problema se produce porque no tiene la autorización necesaria en el nivel de suscripción, grupo de recursos o cuenta de almacenamiento. Para obtener más información sobre los niveles de acceso necesarios, consulte Requisitos de rol para crear un área de trabajo.

Problema: aparece un mensaje de error "Error de validación de implementación" al elegir Crear.

Este mensaje de error puede incluir más detalles, como "El cliente no tiene autorización para realizar la acción".

Este problema se produce porque no tiene la autorización necesaria en el nivel de suscripción, grupo de recursos o cuenta de almacenamiento. Para obtener más información sobre los niveles de acceso necesarios, consulte Requisitos de rol para crear un área de trabajo.

Si se le concedió acceso recientemente, es posible que tenga que actualizar la página. Las nuevas asignaciones de roles pueden tardar hasta una hora en surtir efecto sobre los permisos almacenados en caché en la pila.

Problema: no ve un proveedor de hardware cuántico específico en la pestaña Proveedores

Este problema se produce porque el proveedor no admite la región de facturación en la que está establecida la suscripción. Para obtener una lista de proveedores y su disponibilidad por país o región, consulte Disponibilidad global de proveedores de Azure Quantum.

Problema: Fallo en la creación del área de trabajo o al añadir/eliminar proveedores con "ResourceDeploymentFailure" o "ProviderDeploymentFailure".

Este problema puede incluir más detalles, como "ResourceDeploymentFailure - La operación de recurso 'AzureAsyncOperationWaiting' se completó con el estado de aprovisionamiento terminal 'Fallido'", o "ProviderDeploymentFailure - Falló al crear un plan para el proveedor: <Nombre del proveedor>".

Este error se produce porque el tenant no habilitó las compras en Azure Marketplace. Siga los pasos descritos en Enabling Azure Marketplace purchases para habilitar las compras de Azure Marketplace.

Problema: se produce un error en la implementación de un área de trabajo cuántica o una cuenta de almacenamiento

Al intentar implementar un área de trabajo de Quantum o una cuenta de almacenamiento, es posible que reciba uno de los siguientes errores:

  • Área de trabajo: "La operación de escritura de recursos no se pudo completar correctamente, porque alcanzó el estado de aprovisionamiento de terminal 'Failed'".
  • Cuenta de almacenamiento: "Error en la implementación de la plantilla debido a una infracción de directiva".

Este problema puede producirse si la directiva de seguridad de la suscripción bloquea la creación de cuentas de almacenamiento que tienen habilitado el acceso público. El servicio Azure Quantum solo admite cuentas de almacenamiento que tienen acceso público a Internet.

Para resolverlo, trabaje con el administrador de la suscripción para obtener una excepción para la cuenta de almacenamiento que desea usar.