Solución de problemas de Azure Quantum

Al trabajar con el servicio Azure Quantum, puede encontrarse con estos problemas comunes. Vea cómo puede resolverlos.

Envío de trabajos

Problema: Falta targets

Si falta el target lugar donde desea ejecutar el trabajo en la lista disponibletarget, es probable que tenga que actualizar a la versión más reciente de Quantum Development Kit para Visual Studio 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

Pasos para resolver este problema:

  1. Abra Azure Portal (https://portal.azure.com) y autentique su cuenta.

  2. En Navegar, seleccione Suscripciones y seleccione su suscripción.

  3. Seleccione Access Control (IAM) .

  4. En Comprobar acceso, busque su dirección de correo electrónico y seleccione la cuenta.

  5. No debería ver un rol propietario o colaborador en la lista.

  6. Seleccione la pestaña Asignaciones de roles.

    Nota:

    Si no aparece la pestaña Asignaciones de roles, es posible que tenga que expandir el portal a pantalla completa o cerrar el panel Asignaciones de <su nombre>.

  7. Seleccione la lista desplegable Rol , seleccione Propietario o Colaborador y escriba su dirección de correo electrónico y seleccione su cuenta.

  8. Seleccione Guardar.

  9. Ahora debería aparecer su cuenta configurada con el rol Propietario o Colaborador.

  10. Vuelva a crear el área de trabajo de Azure Quantum y, a continuación, envíe un trabajo para esta nueva área de trabajo.

Problema: mensaje de error "No se ha podido compilar el programa" al intentar enviar un programa de Q# a través de la CLI

Al intentar enviar un trabajo en el símbolo del sistema mediante el comando az quantum submit, puede que se muestre 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.

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 de línea de comandos, y mediante el traductor de QASM heredado (OPENQASM 2.0), 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 una coma "," u otro carácter que no sea de punto se usa como separador decimal, como es habitual en muchos idiomas. Reemplace los separadores decimales que no son de punto por puntos "."".

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

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

Nota

Este problema no se produce en cuadernos hospedados en el portal de Azure Quantum, solo en entornos de desarrollo locales.

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 el perfil de QIR target se establece en Básico y la función en cuestión requiere el perfil Sin restriccionestarget . Para establecer el target perfil en Sin restricciones:

  1. Mientras está en el programa de Q# en VS Code, seleccione Q#: QIR base en la barra de estado inferior.
  2. En las opciones que se muestran en la barra de estado superior, seleccione Q#: sin restricciones.

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

Al enviar su primer trabajo, puede obtener un código de error "prohibido".

Este problema puede producirse durante la creación de un área de trabajo si Azure Quantum no puede completar la asignación de roles que vincula la nueva área de trabajo a la cuenta de almacenamiento que se ha especificado. Un escenario típico para esta situación se produce si la pestaña o la ventana del explorador web se cierra antes de que se complete la creación del área de trabajo.

Puede comprobar que se está ejecutando en este problema de asignación de roles siguiendo estos pasos:

  • Vaya a la nueva área de trabajo cuántica en Azure Portal.
  • En Información general>Essentials>Cuenta de almacenamiento, seleccione en el vínculo cuenta de almacenamiento.
  • En el panel de navegación izquierdo, seleccione Control de acceso (IAM) .
  • Seleccione Asignaciones de roles.
  • Compruebe que el área de trabajo aparezca como Colaborador.
  • Si el área de trabajo no aparece como colaborador , puede hacer lo siguiente:
    • Cree un área de trabajo y asegúrese de que se haya completado el proceso de creación antes de cerrar la pestaña o ventana del explorador web.
    • Agregue la asignación de roles adecuada en la cuenta de almacenamiento:
      • Control de acceso (IAM) > Agregar asignación de roles
      • Rol > Colaborador
      • Asignar acceso a > usuario, grupo o entidad de servicio
      • Seleccionar > [nombre del área de trabajo]
      • Guardar

Problema: Error en el trabajo con código de error: QIRPreProcessingFailed

Al enviar un trabajo a un proveedor de Rigetti, se produce un error en el trabajo y se notifica en la consola de administración de trabajos en el Azure Portal:

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 la máquina local y, a continuación, instale o actualice el paquete de Python de Azure-quantum mediante el parámetro [qiskit]:

pip install --upgrade azure-quantum[qiskit]

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

Después de enviar un trabajo a un hardware target, el trabajo puede sentarse en la cola durante varias horas, o incluso uno o dos días, antes de que se produzca un error.

Para recuperar más información sobre el error:

  • Use el get_results() método con el objeto job para ver la salida o el mensaje de error devuelto:
job.get_results()
  • En el área de trabajo de Azure Portal, seleccione Operations Job Management (Administración de trabajos de operaciones>) y, a continuación, seleccione el nombre del trabajo para abrir un panel de detalles.
  • En el área de trabajo de Azure Portal, seleccione Proveedores de operaciones>. Compruebe la disponibilidad de la target máquina. Los trabajos enviados a targets con un estado degradado pueden permanecer en la cola más de lo habitual. A veces, los trabajos se procesan, pero a veces agota el tiempo de espera y devuelven un error de notarget disponible.

Problema: Se me sigue pidiendo que se autentique al conectarse mediante programación a mi área de trabajo.

Si usa el SDK de Python de Azure Quantum (en cuadernos de Jupyter Notebook por ejemplo) y se conecta al área de trabajo mediante la clase AzureQuantumProvider, puede experimentar un elemento emergente para autenticarse en Azure cada vez que ejecute el script.

Esto sucede porque el token de seguridad se restablece cada vez que ejecuta el script.

Para resolver este problema, ejecute az login mediante la CLI de Azure. Para más información, consulte az login.

Problema: Después de actualizar el paquete azure-quantum, obtengo el error "ModuleNotFoundError: No module named qiskit.tools" al supervisar un trabajo.

A partir de Qiskit 1.0, el qiskit.tools módulo, que es necesario para la job_monitor() función, ha quedado en desuso. Para supervisar los trabajos, use las wait_for_final_state() funciones o result .

job = MyTarget.run(circuit, shots=100)

# to wait until the job is complete
job.wait_for_final_state() 

# to return the results of the job
result = job.result()

Estimador de recursos de Azure Quantum

Los siguientes escenarios comunes pueden impedir que se completen los trabajos de estimación de recursos. Vea cómo resolverlos.

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) ( consulte arXiv:2211.07629, Apéndice D) se realiza en el programa de entrada. En ese enfoque, todas las operaciones de Clifford se desplazan 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 de forma eficaz de forma clásica. Por lo tanto, un programa cuántico que no contiene estados T, por ejemplo, de puertas T o de puertas de rotación, ni las operaciones de medición no requieren ningún recurso de computación cuántica física.

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. Las fábricas de T se usan para crear estados T con la tasa de errores de estado T lógico necesaria de las 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 mucho mayor que la tasa de errores de puerta T lógica requerida. En algunos escenarios, la tasa de errores de puerta T física es mucho 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

Esto es lo que podría hacer en este escenario:

  • Aumente el presupuesto de errores, ya sea total o la parte de los estados T.
  • Reduzca la tasa de errores de puerta T física en los parámetros de cúbit.
  • 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

También hay el escenario opuesto, en el que la tasa de errores de puerta T física es inferior a la tasa de errores de estado T lógico requerida. En tales casos, no se requiere ningún generador de T, ya que la tasa de errores de puerta T física ya es de calidad suficiente. Sin embargo, esto requiere una consideración cuidadosa del impacto de las unidades de transferencia que transfieren los estados físicos de T desde la distancia de código 1 hasta la distancia de código del algoritmo (vea arXiv:2211.07629, Apéndice C). En general, en presencia de fábricas 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.

Esto es lo que podría hacer en este escenario:

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

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

Las tasas de error siempre deben ser valores entre 0 y 1. Además, para que la corrección de errores sea efectiva, la tasa de errores físicos para las puertas y medidas debe estar por debajo de un valor que depende de las propiedades del código de corrección de errores y de la tasa de errores lógica necesaria.

Esto es lo que podría hacer en este escenario:

  • Aumente el presupuesto de errores, ya sea total o la parte de 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 acepta solo una de las maxDuration restricciones o maxPhysicalQubits en el momento, pero no dos. Si proporciona restricciones maxDuration y maxPhysicalQubitspara un único trabajo, devuelve el BothDurationAndPhysicalQubitsProvided error.

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 a través del paquete de Python de qiskit_qir sin establecer el record_output parámetro en False.

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

  • Use el paquete de Azure_quantum Python para enviar circuitos Qiskit a Azure Quantum (recomendado).
  • Al usar el paquete de Qiskit_qir Python, asegúrese de establecer el parámetro False en antes de enviar el record_output circuito.

Creación de un área de trabajo de Azure Quantum

Pueden producirse los siguientes problemas al usar el Azure Portal para crear un área de trabajo.

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

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

Por ejemplo, es posible que se haya registrado en la suscripción gratuita de evaluación gratuita de 30 días de Azure, que incluye créditos de Azure gratuitos de 200 USD para usarlos en los servicios de Azure. Tenga en cuenta que estos créditos de Azure no son los mismos que los créditos de Azure Quantum y no son aptos para usarse en proveedores de hardware cuántico. Después de 30 días de suscripción o una vez que haya consumido los 200 USD de créditos gratuitos de Azure (lo que ocurra primero), debe actualizar a una suscripción de pago por uso para seguir usando los servicios de Azure Quantum. Una vez que tenga una suscripción activa, el Azure Portal le permitirá 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.

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

Debe ser propietario de la suscripción que seleccione para poder 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 De creación avanzada para crear un área de trabajo.

Problema: no 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 más información sobre los niveles de acceso necesarios, consulte Requisitos de rol para crear un área de trabajo.

Problema: aparece el mensaje de error "Error de validación de implementación" después de seleccionar Create

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 más información sobre los niveles de acceso necesarios, consulte Requisitos de rol para crear un área de trabajo.

Si se concedió acceso recientemente, es posible que tenga que actualizar la página. A veces, 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. Por ejemplo, si la suscripción está establecida en Israel, la pestaña Proveedores no mostrará Rigetti como proveedor disponible. Para obtener una lista de proveedores y su disponibilidad por país o región, consulte Disponibilidad global de proveedores de Azure Quantum.

Problema: se produce un error en la creación o eliminación del área de trabajo con "ResourceDeploymentFailure" o "ProviderDeploymentFailure"

Este problema puede incluir más detalles, como "ResourceDeploymentFailure: la operación de recurso "AzureAsyncOperation Await" completada con el estado de aprovisionamiento de terminal "Failed" o "ProviderDeploymentFailure- Failed to create plan for provider: <Name of the provider>".

Esto ocurre porque el inquilino no ha habilitado Azure Marketplace compras. Siga los pasos descritos en Habilitación de compras de Azure Marketplace para habilitar las compras Azure Marketplace.

Portal de Azure Quantum

Problema: Los cuadernos guardados no se cargan

Después de seleccionar Cuadernos en el área de trabajo, la lista de los cuadernos guardados muestra una barra de progreso pero nunca se carga.

Esto puede ocurrir por dos motivos:

  1. Si la cuenta de almacenamiento ya no existe. Esto puede ocurrir si se eliminó la cuenta de almacenamiento vinculada al área de trabajo. Para comprobarlo, seleccione la página Información general del área de trabajo y seleccione el vínculo a la cuenta de almacenamiento. Si se ha eliminado la cuenta de almacenamiento, verá un error 404: no encontrado .

  2. Si la identidad administrada del área de trabajo no es colaborador de la cuenta de almacenamiento. Compruebe que la identidad del área de trabajo (que usa el mismo nombre que el área de trabajo) todavía tiene la asignación de roles Colaborador a la cuenta de almacenamiento. Para comprobarlo, seleccione la página Información general del área de trabajo y seleccione el vínculo a la cuenta de almacenamiento. En la página Información general de la cuenta de almacenamiento, seleccione Control de acceso (IAM) y compruebe que el área de trabajo aparece en Colaborador.