Técnicas de mitigación de errores en dispositivos de IonQ - 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.

Técnicas de mitigación de errores en dispositivos de IonQ

La mitigación de errores implica ejecutar varios circuitos físicos y combinar sus mediciones para obtener un resultado mejorado.

nota

Para todos los dispositivos de IonQ: cuando se utiliza un modelo bajo demanda, hay un límite de gateshot de 1 millón y un mínimo de 2500 shots para las tareas de mitigación de errores. Para una reserva directa, no hay límite de gateshot y hay un mínimo de 500 shots para tareas de mitigación de errores.

Eliminación de sesgos

Los dispositivos de IonQ incluyen un método de mitigación de errores denominado eliminación de sesgos.

La eliminación de sesgos mapea un circuito en múltiples variantes que actúan sobre diferentes permutaciones de qubits o con diferentes descomposiciones de puertas. Esto reduce el efecto de errores sistemáticos, como las rotaciones excesivas de las puertas o un solo qubit defectuoso, mediante el uso de diferentes implementaciones de un circuito que, de otro modo, podrían sesgar los resultados de las mediciones. Esto supone una sobrecarga adicional para calibrar varios qubits y puertas.

Para obtener más información sobre la eliminación de sesgos, consulte Mejora del rendimiento de las computadoras cuánticas mediante la simetrización.

nota

El uso de la eliminación de sesgos requiere un mínimo de 2500 shots.

Puede ejecutar una tarea cuántica con eliminación de sesgos en un dispositivo IonQ mediante el siguiente código:

from braket.aws import AwsDevice from braket.circuits import Circuit from braket.error_mitigation import Debias # choose an IonQ device device = AwsDevice("arn:aws:braket:us-east-1::device/qpu/ionq/Forte-Enterprise-1") circuit = Circuit().h(0).cnot(0, 1) task = device.run(circuit, shots=2500, device_parameters={"errorMitigation": Debias()}) result = task.result() print(result.measurement_counts) >>> {"00": 1245, "01": 5, "10": 10 "11": 1240} # result from debiasing

Cuando se complete la tarea cuántica, podrá ver las probabilidades de medición y cualquier tipo de resultado de la tarea cuántica. Las probabilidades de medición y los recuentos de todas las variantes se agregan en una única distribución. Todos los tipos de resultados especificados en el circuito, como los valores esperados, se calculan utilizando los recuentos de mediciones agregados.

Definición

También puede acceder a las probabilidades de medición computadas con una estrategia de posprocesamiento diferente denominada definición. La definición compara los resultados de cada variante y descarta los shots incoherentes, lo que favorece el resultado de medición más probable en todas las variantes. Para obtener más información, consulte Mejora del rendimiento de las computadoras cuánticas mediante la simetrizacion.

Es importante destacar que la definición asume que la distribución de salida es escasa, con pocos estados de alta probabilidad y muchos estados de probabilidad cero. Si esta suposición no es válida, puede distorsionar la distribución de probabilidad.

Puede acceder a las probabilidades desde una distribución definida en el campo additional_metadata en el GateModelTaskResult del SDK de Python de Braket. Tenga en cuenta que la definición no devuelve los recuentos de mediciones, sino que devuelve una distribución de probabilidad renormalizada. El siguiente fragmento de código muestra cómo acceder a la distribución después de la definición.

print(result.additional_metadata.ionqMetadata.sharpenedProbabilities) >>> {"00": 0.51, "11": 0.549} # sharpened probabilities