Compartir a través de


Proveedor IonQ

Los equipos cuánticos de IonQ realizan cálculos mediante la manipulación de los estados de energía hiperfinos de iones de iterbio con láseres. Los átomos son los cúbits de la naturaleza: cada cúbit es idéntico dentro de un programa y en los distintos programas. Las operaciones lógicas también se pueden realizar en cualquier par arbitrario de cúbits, lo que permite utilizar programas cuánticos complejos sin las restricciones de la conectividad física. ¿Quiere saber más? Lea la introducción a la tecnología de los equipos cuánticos de iones atrapados de IonQ.

  • Publicador: IonQ
  • Identificador de proveedor: ionq

Los siguientes targets están disponibles en este proveedor:

Nombre de destino Id. de destino Número de cúbits Descripción
Simulador cuántico Simulador de IonQ 29 cúbits Simulador idealizado basado en la nube de IonQ. Sin costo.
IonQ Aria 1 ionq.qpu.aria-1 25 cúbits Computadora cuántica de iones atrapados IonQ Aria 1.
IonQ Forte 1 ionq.qpu.forte-1 36 qubits El ordenador cuántico de iones atrapados IonQ Forte 1.
IonQ Forte Enterprise 1 ionq.qpu.forte-enterprise-1 36 qubits Computadora cuántica de iones atrapados IonQ Forte Enterprise 1.

Las targets de IonQ corresponden a un perfil de QIR Base. Para más información sobre este target perfil y sus limitaciones, consulte Descripción target de los tipos de perfil en Azure Quantum.

Simulador cuántico

Simulador idealizado acelerado por GPU que admite hasta 29 cúbits, con el mismo conjunto de puertas que IonQ proporciona en su hardware cuántico. Esto hace que sea excelente lugar para realizar trabajos previos antes de ejecutarlos en un equipo cuántico real.

  • Tipo de trabajo: Simulation
  • Formato de datos: ionq.circuit.v1
  • Id. de destino: ionq.simulator
  • Perfil de ejecución objetivo: QIR Base

Ordenador cuántico IonQ Aria

IonQ Aria es el buque insignia de los equipos cuánticos de iones atrapados de IonQ, con un sistema reconfigurable dinámicamente de 25 cúbits. Para obtener más información, consulte IonQ Aria (ionq.com) .

Importante

La eliminación de sesgos está habilitada en los sistemas Aria por defecto, y los trabajos enviados están sujetos a una tarificación basada en la eliminación de sesgos. Para obtener más información sobre el desbiaseo y cómo deshabilitar o habilitar el servicio, consulte Mitigación de sesgos.

  • Tipo de trabajo: Quantum Program
  • Formato de datos: ionq.circuit.v1
  • Id. de destino: ionq.qpu.aria-1
  • Perfil de ejecución objetivo: QIR Base
Nombre de parámetro Tipo Obligatorio Descripción
shots Int No Número de disparos experimentales.

Tiempos del sistema

Medida Duración media del tiempo
T1 10-100 segundos
T2 1 segundo
Puerta de un solo cúbit 135 µs
Puerta de dos cúbits 600 µs

Fidelidad del sistema

Operación Fidelidad promedio
Puerta de un solo cúbit 99,95 % (correo no deseado corregido)
Puerta de dos cúbits 99,6 % (sin corrección de SPAM)
SPAM* 99.61%

* Preparación y medición del estado (SPAM): esta medida determina la precisión con la que un equipo cuántico puede establecer un cúbit en su estado inicial y, a continuación, medir el resultado al final.

IonQ Aria está disponible a través del plan pago por uso. Para obtener más información, consulte los precios de Azure Quantum.

Ordenador cuántico IonQ Forte

IonQ Forte es el equipo cuántico de iones atrapados de rendimiento más alto de IonQ, disponible comercialmente. Con un sistema configurable por software de 36 cúbits. Para obtener más información, consulte IonQ Forte (ionq.com).

Importante

La eliminación de sesgo está habilitada en el sistema Forte por defecto, y los trabajos enviados están sujetos a precios basados en la eliminación de sesgo. Para obtener más información sobre el desbiaseo y cómo deshabilitar o habilitar el servicio, consulte Mitigación de sesgos.

  • Tipo de trabajo: Quantum Program
  • Formato de datos: ionq.circuit.v1
  • Id. de destino: ionq.qpu.forte-1
  • Perfil de ejecución objetivo: QIR Base
Nombre de parámetro Tipo Obligatorio Descripción
shots Int No Número de disparos experimentales.

Ordenador cuántico IonQ Forte Enterprise

IonQ Forte Enterprise es el equipo cuántico de iones atrapados de rendimiento más alto de IonQ, disponible comercialmente. Con un sistema configurable por software de 36 cúbits. Para obtener más información, consulte IonQ Forte Enterprise (ionq.com).

El Forte Enterprise es una versión de los sistemas de clase Forte que se han adaptado y endurecido para su implementación en un entorno estándar de centro de datos, lo que lo hace más adecuado para tareas de nivel empresarial orientadas a la producción. El hardware y el rendimiento de la computación cuántica base son los mismos. La principal diferencia entre IonQ Forte y IonQ Forte Enterprise se encuentra en sus casos de implementación y uso previstos, no en sus especificaciones principales de rendimiento. Aunque ambos sistemas cuentan con las mismas métricas de alto rendimiento, Forte Enterprise está diseñado específicamente para la integración en un entorno de centro de datos.

Importante

Debiasing está habilitado en el sistema Forte Enterprise de forma predeterminada y los trabajos enviados están sujetos a precios basados en desbiasing. Para obtener más información sobre el desbiaseo y cómo deshabilitar o habilitar el servicio, consulte Mitigación de sesgos.

  • Tipo de trabajo: Quantum Program
  • Formato de datos: ionq.circuit.v1
  • Id. de destino: ionq.qpu.forte-enterprise-1
  • Perfil de ejecución objetivo: QIR Base
Nombre de parámetro Tipo Obligatorio Descripción
shots Int No Número de disparos experimentales.

Formato de entrada

En Q#, la salida de una medida cuántica es un valor de tipo Result, que solo puede tomar los valores Zero y One. Cuando se define una operación de Q#, solo se puede enviar al hardware ionQ si el tipo de valor devuelto es una colección de Results, es decir, si la salida de la operación es el resultado de una medida cuántica. La razón de esto es que IonQ crea un histograma a partir de los valores devueltos, por lo que restringe el tipo de valor devuelto para Result simplificar la creación de este histograma.

Las targets de IonQ corresponden a la QIR Base profile. Este perfil no puede ejecutar operaciones cuánticas que requieran el uso de los resultados de las mediciones de cúbits para controlar el flujo del programa.

Formato de salida

Al enviar un programa cuántico al simulador de IonQ, devuelve el histograma creado por las medidas. El simulador de IonQ no toma muestras de la distribución de probabilidad creada por un programa cuántico, sino que devuelve la distribución escalada al número de disparos. Esto es más evidente cuando envía un circuito de disparo único. Verá múltiples resultados de medición en el histograma para una toma. Este comportamiento es inherente al simulador de IonQ, mientras que IonQ QPU ejecuta realmente el programa y agrega los resultados.

Funcionalidades adicionales

Aquí se enumeran las funcionalidades adicionales compatibles con el hardware de IonQ.

Capacidad Descripción
Mitigación de errores Uso de la reducción del sesgo para minimizar el ruido y maximizar el rendimiento algorítmico en el hardware IonQ
Compatibilidad con puertas nativas Definir y ejecutar circuitos directamente en puertas nativas de hardware IonQ
Simulación del modelo de ruido Simulación del perfil de ruido que encontrarán los circuitos al ejecutarlos en hardware de IonQ diferente.

Los usuarios pueden aprovechar estas funcionalidades adicionales a través de parámetros de transferencia en los proveedores de Q# y Qiskit de Azure Quantum.

Mitigación de errores

IonQ proporciona la opción de habilitar la mitigación de errores cuánticos al enviar trabajos al hardware de IonQ. La mitigación de errores es un proceso de nivel de compilador que ejecuta y ejecuta varias variaciones simétricas de un circuito y, a continuación, agrega los resultados a la vez que mitiga el impacto de los errores de hardware y la decoherencia de cúbits. A diferencia de las técnicas de corrección de errores cuánticos, la mitigación de errores no requiere un gran sobreconsumo de recursos de puertas y qubits.

Debiasing es el proceso de crear ligeras variaciones de un circuito determinado que deberían ser idénticas en una máquina ideal sin ruido, utilizando técnicas como diferentes asignaciones de cúbits, descomposición de compuertas y soluciones de pulso, y luego ejecutarlas.

El afilado y el promedio son opciones para agregar los resultados de las variaciones. Promediar se basa igualmente en todos los resultados de variación, mientras que Afilar filtra los resultados erróneos, y puede ser más confiable para ciertos tipos de algoritmos.

Para obtener más información, consulte Desviar y afilar. Para obtener los precios de mitigación de errores, consulte Precios de IonQ.

Habilitación de la mitigación de errores

Nota:

Debiasing está habilitado de forma predeterminada en los sistemas Aria y Forte.

En Azure Quantum, la mitigación de errores se puede habilitar o deshabilitar para los trabajos enviados con Q# o con Qiskit.

Para habilitar la mitigación de errores, agregue un parámetro opcional para la target máquina:


option_params = {
    "error-mitigation": {
        "debias": True
    }
}

Para deshabilitar la mitigación de errores, establezca el parámetro Falseen :


option_params = {
    "error-mitigation": {
        "debias": False
    }
}

Nota:

Si también usa la simulación del modelo de ruido de IonQ, estos parámetros se pueden incluir aquí, por ejemplo:

option_params = {
    "error-mitigation": {
        "debias": False
    },
    "noise": {
    "model": "aria-1",
    "seed": 100
    }
}

Para obtener más información, consulte Simulación de modelos de ruido.

Ejecución de un trabajo en Azure Quantum con mitigación de errores

En este ejemplo se usa un generador de números aleatorios simple.

En primer lugar, importe los paquetes necesarios e inicie el perfil base:

from qdk import qsharp
from qdk.azure import Workspace
qsharp.init(target_profile=qsharp.TargetProfile.Base)

A continuación, defina la función .

%%qsharp
import Std.Measurement.*;
import Std.Arrays.*;
import Std.Convert.*;

operation GenerateRandomBit() : Result {
    use target = Qubit();

    // Apply an H-gate and measure.
    H(target);
    return M(target);
}

and compile the operation:

```python
MyProgram = qsharp.compile("GenerateRandomBit()")

Conéctese a Azure Quantum, seleccione la target máquina y configure los parámetros de ruido para el emulador:

MyWorkspace = Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("ionq.qpu.aria-1")

Especificar la error-mitigation configuración


option_params = {
    "error-mitigation": {
        "debias": True
    }
}

Pase la configuración de mitigación de errores al enviar el trabajo:

job = MyTarget.submit(MyProgram, "Experiment with error mitigation", shots = 10, input_params = option_params)
job.get_results()

En Qiskit, se pasan parámetros opcionales a la configuración de la máquina target antes de enviar la tarea.

circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)

Nota:

Si no pasa el error-mitigation parámetro , la target máquina usa su configuración predeterminada, que está habilitada para los sistemas Aria y Forte.

Compatibilidad y uso de puertas nativas

De manera predeterminada, IonQ permite especificar un circuito cuántico mediante un conjunto abstracto de puertas cuánticas, llamado qis, que permite flexibilidad y portabilidad al escribir un algoritmo sin preocuparse por la optimización del hardware.

Sin embargo, en algunos casos de uso avanzados, puedes definir un circuito directamente en puertas nativas para acercarte más al hardware y omitir la optimización. El conjunto de puertas nativas es el conjunto de puertas cuánticas que se ejecutan físicamente en el procesador cuántico y se asignan al circuito como parte de la ejecución.

Para obtener más información, consulte Guía de inicio con puertas nativas (ionq.com).

Para usar el conjunto de puertas nativas al enviar trabajos de Qiskit a Azure Quantum, especifique el parámetro gateset al inicializar el back-end como en el ejemplo siguiente:

# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu.aria-1", gateset="native")
Nombre de parámetro Tipo Obligatorio Descripción
gateset cadena No Especifica el conjunto de puertas que se va a usar para definir un circuito. El valor qis corresponde a las puertas abstractas (comportamiento predeterminado) y native a las puertas nativas del hardware de IonQ.

Para obtener más información sobre los trabajos de Qiskit, consulte Enviar un circuito con Qiskit.

Simulación del modelo de ruido

Incluso el mejor hardware cuántico de hoy tiene ruido inherente. Conocer las características de ruido del target sistema puede ayudarle a refinar los algoritmos y obtener una predicción más realista de los resultados al ejecutar el circuito en hardware real. IonQ proporciona una simulación de modelo de ruido que introduce ruido en el circuito mediante una "huella digital de ruido" específica del target hardware. Para obtener más información, consulte Introducción a la simulación de modelo de ruido de hardware.

Parámetros del modelo de ruido

Nombre de parámetro Valores Descripción
noise model, seed Habilita la simulación del modelo de ruido
model ideal, aria-1 Especifica el modelo de ruido para el target hardware.
  • ideal - No se introduce ningún ruido en el circuito. Esto es lo mismo que no habilitar la simulación de ruido.
  • aria-1 – usa el modelo de ruido para el computador cuántico IonQ Aria.
seed Entero entre 1 y $2^{31}$ (2,147,483,648) Permite especificar un valor semilla para el ruido pseudoaleatorio y el muestreo de disparos, creando resultados de ruido reproducibles. Si no se especifica el parámetro , se crea un valor aleatorio seed .

Conciencia de disparo

La simulación del modelo de ruido depende de los disparos; es decir, muestra las mediciones del estado de salida en función del número de disparos proporcionados. En Azure Quantum, el shots parámetro se envía con el trabajo y es necesario para aria-1 los modelos de ruido. Si no se especifica ningún shot valor, se usa un valor predeterminado de 1000 . Si se usa el ideal modelo de ruido, se omite el shots parámetro .

Capacidad de cúbito

Aunque el ideal modelo de ruido permite simular hasta 29 cúbits con el simulador cuántico de IonQ, los modelos de ruido específicos del hardware se limitan a la capacidad de cúbit real del target hardware, que es de 25 cúbits para el aria-1 modelo de ruido.

Habilitación de la simulación del modelo de ruido

En Azure Quantum, la simulación de modelos de ruido se puede habilitar o deshabilitar para los trabajos enviados con Q# o con Qiskit.

Para habilitar la simulación del modelo de ruido, agregue un parámetro opcional para la target máquina, por ejemplo:

option_params = {
    "noise": {
        "model": "aria-1",   # targets the Aria quantum computer
        "seed" : 1000         # If seed isn't specified, a random value is used  
    }
}

Nota:

Si también usa la mitigación de errores de IonQ, estos parámetros se pueden incluir aquí, por ejemplo:

option_params = {
    "error-mitigation": {
        "debias": False
    },
    "noise": {
    "model": "aria-1",
    "seed": 1000
    }
}

Para obtener más información, consulte Mitigación de errores.

Ejecución de un trabajo con simulación de modelo de ruido

Puede usar el mismo programa de ejemplo mostrado anteriormente en la mitigación de errores y agregar o reemplazar la configuración del modelo de ruido en option_params;

option_params = {
    "error-mitigation": {
        "debias": True
    },
    "noise": {
    "model": "aria",
    "seed": 1000
    }
}

A continuación, pase los parámetros opcionales al enviar el trabajo:

job = MyTarget.submit(MyProgram, "Experiment with noise model simulation", shots = 10, input_params = option_params)
job.get_results()

En Qiskit, se pasan parámetros opcionales a la configuración de la máquina target antes de enviar la tarea.

circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)

Precios

Para ver el plan de facturación de IonQ, consulte Precios de Azure Quantum.

Límites y cuotas

El seguimiento de las cuotas de IonQ se realiza en función de la unidad de uso de QPU, que es el qubit-gate-shot (QGS). El uso de los recursos se acredita en su cuenta.

Cada programa cuántico consta de $N$ puertas lógicas cuánticas de uno o más cúbits, y se ejecuta un número determinado de repeticiones. El número de capturas de puerta se calcula mediante la fórmula siguiente:

$$ QGS = N · C $$

donde:

  • $N$ es el número de puertas de uno o dos cúbits enviadas
  • $C$ es el número de disparos de ejecución solicitados

Estado de IonQ

Para obtener información sobre los retrasos en el procesamiento de trabajos de QPU de IonQ, consulte la página de estado de IonQ.

Procedimientos recomendados de IonQ y grafo de conectividad

Para ver los procedimientos recomendados para la QPU de IonQ, consulte Procedimientos recomendados de IonQ (ionq.com).