IonQ 공급자

처음 사용자는 참여하는 각 양자 하드웨어 공급자와 함께 사용할 수 있는 무료 $500(USD)Azure Quantum 크레딧 을 자동으로 받습니다. 크레딧을 모두 사용했는데 더 필요한 경우 Azure Quantum Credits 프로그램에 신청할 수 있습니다.

IonQ의 양자 컴퓨터는 레이저로 이테르븀 이온의 초미세 에너지 상태를 조작하여 계산을 수행합니다. 원자는 자연의 큐비트라 할 수 있습니다. 모든 큐비트는 프로그램 내부 및 프로그램 간 동일합니다. 임의의 큐비트 쌍에서 논리적 연산을 수행할 수도 있으므로 물리적 연결에 전혀 영향을 받지 않고 복잡한 양자 프로그램을 사용할 수 있습니다. 자세히 알아보시겠어요? IonQ의 트랩 이온 양자 컴퓨터 기술 개요를 참조하세요.

  • 게시자: IonQ
  • 공급자 ID: ionq

이 공급자에서 사용할 수 있는 항목은 다음과 같습니다 targets .

대상 이름 대상 ID 큐비트 수 설명
양자 시뮬레이터 ionq.simulator 29 큐비트 IonQ의 클라우드 기반 이상화 시뮬레이터. 무료입니다.
IonQ Harmony ionq.qpu 11 큐비트 IonQ의 트랩 이온 양자 컴퓨터.
IonQ Aria 1 ionq.qpu.aria-1 25큐비트 IonQ의 Aria 트랩 이온 양자 컴퓨터.
IonQ Aria 2 ionq.qpu.aria-2 25큐비트 IonQ의 Aria 트랩 이온 양자 컴퓨터.
IonQ Forte ionq.qpu.forte 32 큐비트 IonQ의 Forte trapped-ion 양자 컴퓨터. 프라이빗 미리 보기에서만 사용할 수 있습니다.

IonQ는 targets 프로필에 No Control Flow 해당합니다. 이 프로필 및 해당 target 제한 사항에 대한 자세한 내용은 Azure Quantum의 프로필 유형 이해를 target 참조하세요.

양자 시뮬레이터

IonQ가 양자 하드웨어에서 제공하는 동일한 게이트 집합을 사용하여 최대 29개의 큐비트를 지원하는 이상적인 GPU 가속 시뮬레이터로, 실제 양자 컴퓨터에서 작업을 실행하기 전에 실행 전 작업을 수행하는 데 적합한 장소입니다.

  • 작업 유형: Simulation
  • 데이터 형식: ionq.circuit.v1
  • 대상 ID: ionq.simulator
  • 대상 실행 프로필: No Control Flow

IonQ Harmony 양자 컴퓨터

IonQ Harmony는 트랩 이온 양자 컴퓨터이며 소프트웨어에서 최대 11개의 큐비트를 사용하도록 동적으로 재구성할 수 있습니다. 모든 큐비트는 완벽하게 연결되어 있으므로 모든 쌍 사이에 2큐비트 게이트를 실행할 수 있습니다.

  • 작업 유형: Quantum Program
  • 데이터 형식: ionq.circuit.v1
  • 대상 ID: ionq.qpu
  • 대상 실행 프로필: No Control Flow
매개 변수 이름 Type 필수 Description
shots Int 아니요 실험 샷의 수입니다. 기본값은 500입니다.

시스템 타이밍

측정값 평균 시간(μs)
T1 >10^7
T2 200,000
단일 큐비트 게이트 10
2큐비트 게이트 210
판독 100
등록 재설정 25
일관성 시간/게이트 기간 1667

시스템 충실도

작업(Operation) 평균 충실도
단일 큐비트 게이트 99.35%(SPAM 수정됨)
2큐비트 게이트 96.02%(SPAM 수정 안 됨)
SPAM* 99.3~99.8%
기하 평균 연산 98.34%

* SPAM(상태 준비 및 측정): 이 측정에 따라 양자 컴퓨터가 큐비트를 초기 상태로 설정한 다음, 마지막에 결과를 측정할 수 있는 정확도가 결정됩니다.

IonQ Aria 양자 컴퓨터

IonQ Aria는 25큐비트 동적으로 재구성 가능한 시스템을 갖춘 IonQ의 트랩된 이온 양자 컴퓨터의 주력 컴퓨터입니다. 자세한 내용은 IonQ Aria(ionq.com)를 참조하세요.

중요

Debiasing 은 기본적으로 Aria 시스템에서 사용하도록 설정되며 제출된 작업에는 편차 기반 가격 책정이 적용됩니다. Debiasing 및 서비스를 사용하지 않도록 설정/사용하도록 설정하는 방법에 대한 자세한 내용은 오류 완화를 참조하세요.

  • 작업 유형: Quantum Program
  • 데이터 형식: ionq.circuit.v1
  • 대상 ID: ionq.qpu.aria-1, ionq.qpu.aria-2
  • 대상 실행 프로필: No Control Flow
매개 변수 이름 Type 필수 Description
shots Int 아니요 실험 샷의 수입니다.

시스템 타이밍

측정값 평균 기간
T1 10-100 s
T2 1 s
단일 큐비트 게이트 135 μs
2큐비트 게이트 600 μs

시스템 충실도

작업(Operation) 평균 충실도
단일 큐비트 게이트 99.95%(스팸 수정)
2큐비트 게이트 99.6%(스팸 수정되지 않음)
SPAM* 99.61%

* SPAM(상태 준비 및 측정): 이 측정에 따라 양자 컴퓨터가 큐비트를 초기 상태로 설정한 다음, 마지막에 결과를 측정할 수 있는 정확도가 결정됩니다.

IonQ Aria는 Azure Quantum 크레딧 플랜 및 별도의 청구 플랜을 통해 사용할 수 있습니다. 자세한 내용은 Azure Quantum 가격 책정을 참조하세요.

IonQ Forte 양자 컴퓨터

IonQ Forte는 IonQ에서 가장 성능이 뛰어나고 상업적으로 사용 가능한 트랩된 이온 양자 컴퓨터입니다. 32큐비트 소프트웨어 구성 가능 시스템을 사용하는 IonQ Forte는 Azure Quantum의 프라이빗 미리 보기에서 사용할 수 있습니다. 자세한 내용은 IonQ Forte(ionq.com)를 참조하세요.

중요

Debiasing 은 기본적으로 Forte 시스템에서 사용하도록 설정되며 제출된 작업에는 debiasing 기반 가격 책정이 적용됩니다. Debiasing 및 서비스를 사용하지 않도록 설정/사용하도록 설정하는 방법에 대한 자세한 내용은 오류 완화를 참조하세요.

  • 작업 유형: Quantum Program
  • 데이터 형식: ionq.circuit.v1
  • 대상 ID: ionq.qpu.forte
  • 대상 실행 프로필: No Control Flow
매개 변수 이름 Type 필수 Description
shots Int 아니요 실험 샷의 수입니다.

입력 형식

Q#에서 양자 측정의 출력은 및 값만 사용할 수 있는 형식 Result의 값 ZeroOne입니다. Q# 연산을 정의할 때 반환 형식이 의 컬렉션 Result인 경우에만 IonQ 하드웨어에 제출할 수 있습니다. 즉, 연산의 출력이 양자 측정의 결과인 경우 입니다. 그 이유는 IonQ가 반환된 값에서 히스토그램을 작성하므로 반환 형식을 로 제한하여 Result 이 히스토그램 만들기를 간소화하기 때문입니다.

IonQ는 targets 에 해당합니다 No Control Flow profile. 이 프로필은 큐비트 측정 결과를 사용하여 프로그램 흐름을 제어해야 하는 양자 연산을 실행할 수 없습니다.

참고

현재는 결과를 사용하여 프로그램 흐름을 제어하지 않더라도 에서 No Control Flowtargets측정된 큐비트에 대한 작업을 적용하는 양자 프로그램을 제출할 수 없습니다. 즉, No Control Flowtargets 중간 회로 측정을 허용하지 않습니다.

예를 들어 다음 코드는 에서 실행할 수 없습니다.No Control Flowtarget

operation MeasureQubit(q : Qubit) : Result { 
   return M(q); 
}

operation SampleMeasuredQubit(q : Qubit) : Result {
    H(MeasureQubit(q));
    return M(MeasureQubit(q));
}

출력 형식

양자 프로그램을 IonQ 시뮬레이터에 제출하면 측정값에서 만든 히스토그램을 반환합니다. IonQ 시뮬레이터는 양자 프로그램에서 만든 확률 분포를 샘플링하지 않고 샷 수로 크기가 조정된 분포를 반환합니다. 단일 샷 회로를 제출할 때 가장 분명합니다. 히스토그램에서 한 번의 샷에 대해 여러 측정 결과가 표시됩니다. 이 동작은 IonQ 시뮬레이터에 내재되어 있지만 IonQ QPU는 실제로 프로그램을 실행하고 결과를 집계합니다.

추가 기능

IonQ 하드웨어에서 지원하는 추가 기능은 여기에 나열되어 있습니다.

기능 Description
오류 완화 IonQ 하드웨어에서 노이즈를 최소화하고 알고리즘 성능을 최대화하려면 debiasing을 사용합니다.
네이티브 게이트 지원 IonQ 하드웨어 네이티브 게이트에서 직접 회로 정의 및 실행
노이즈 모델 시뮬레이션 회로가 다른 IonQ 하드웨어에서 실행할 때 발생하는 노이즈 프로필을 시뮬레이션합니다.

사용자는 Azure Quantum Q# 및 Qiskit 공급자의 통과 매개 변수를 통해 이러한 추가 기능을 활용할 수 있습니다.

오류 완화

IonQ는 IonQ 하드웨어에 작업을 제출할 때 양자 오류 완화 를 사용하도록 설정하는 옵션을 제공합니다. 오류 완화는 회로의 여러 대칭 변형을 실행하고 실행한 다음 하드웨어 오류 및 큐비트 분리의 영향을 완화하면서 결과를 집계하는 컴파일러 수준 프로세스입니다. 양자 오류 수정 기술과 달리 오류 완화에는 큰 게이트 및 큐비트 오버헤드가 필요하지 않습니다.

Debiasing 은 다양한 큐비트 할당, 게이트 분해 및 펄스 솔루션과 같은 기술을 사용하여 이상적인 노이즈리스 머신에서 동일 해야 하는 지정된 회로의 약간의 변형을 만든 다음 이러한 변형을 실행하는 프로세스입니다.

선명도평균은 변형 결과를 집계하기 위한 옵션입니다. 평균은 모든 변형 결과를 동일하게 기반으로 하는 반면 선명도는 잘못된 결과를 필터링하며 특정 유형의 알고리즘에 대해 더 안정적일 수 있습니다.

자세한 내용은 Debiasing and Sharpening을 참조하세요. 오류 완화 가격 책정은 IonQ 가격 책정을 참조하세요.

오류 완화 사용

참고

Debiasing 은 기본적으로 Aria 및 Forte 시스템에서 사용하도록 설정되며, 기본적으로 Harmony 시스템에서는 사용하지 않도록 설정됩니다.

Azure Quantum에서 Q# 또는 Qiskit로 제출된 작업에 대해 오류 완화를 사용하거나 사용하지 않도록 설정할 수 있습니다.

오류 완화를 사용하도록 설정하려면 컴퓨터에 대한 선택적 매개 변수를 target 추가합니다.


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

오류 완화를 사용하지 않도록 설정하려면 매개 변수를 로 False설정합니다.


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

참고

또한 IonQ의 노이즈 모델 시뮬레이션을 사용하는 경우 이러한 매개 변수를 여기에 포함할 수 있습니다. 예를 들면 다음과 같습니다.

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

자세한 내용은 노이즈 모델 시뮬레이션을 참조하세요.

오류 완화를 사용하여 Azure Quantum에서 작업 실행

이 예제에서는 간단한 난수 생성기를 사용합니다.

먼저 필요한 패키지를 가져오고 기본 프로필을 시작합니다.

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

다음으로 함수를 정의합니다.

%%qsharp
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.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()")

Azure Quantum에 연결하고, 머신을 target 선택하고, 에뮬레이터에 대한 노이즈 매개 변수를 구성합니다.

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("ionq.qpu")

error-mitigation 구성 지정


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

작업을 제출할 때 오류 완화 구성을 전달합니다.

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

Qiskit에서는 작업을 제출하기 target 전에 선택적 매개 변수를 컴퓨터 구성에 전달합니다.

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

참고

매개 변수를 error-mitigation 전달하지 않으면 컴퓨터는 target 기본 설정인 Aria 및 Forte 시스템에 대해 사용하도록 설정 되고 Harmony 시스템에서는 사용하지 않도록 설정 됩니다.

네이티브 게이트 지원 및 사용량

기본적으로 IonQ를 사용하면 qis라는 추상 양자 게이트 집합을 사용하여 양자 회로를 지정할 수 있습니다. 이를 통해 하드웨어 최적화에 대한 걱정 없이 알고리즘을 작성할 때 유연성과 이식성을 허용합니다.

그러나 일부 고급 사용 사례에서는 하드웨어에 더 가깝고 최적화를 우회하기 위해 네이티브 게이트에서 직접 회로를 정의할 수 있습니다. 네이티브 게이트 집합은 양자 프로세서에서 실제로 실행되는 양자 게이트 집합이며 실행의 일부로 회로를 매핑합니다.

자세한 내용은 네이티브 게이트 시작하기((ionq.com))를 참조하세요.

Qiskit 작업을 Azure Quantum에 제출할 때 네이티브 게이트 집합을 사용하려면 아래 예와 같이 백 엔드를 초기화할 때 gateset 매개 변수를 지정합니다.

# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu", gateset="native")
매개 변수 이름 Type 필수 Description
gateset 문자열 회로를 정의하는 데 사용할 게이트 집합을 지정합니다. qis 값은 추상 게이트(기본 동작)에 해당하고 nativeIonQ 하드웨어 네이티브 게이트에 해당합니다.

Qiskit 작업에 대한 자세한 내용은 Qiskit을 사용하여 회로 제출을 참조하세요.

노이즈 모델 시뮬레이션

오늘날의 최고의 양자 하드웨어조차도 고유한 노이즈를 가지고 있으며, 시스템의 노이즈 target 특성을 알면 알고리즘을 구체화하고 하드웨어에서 회로를 실행할 때 결과의 보다 현실적인 예측을 얻을 수 있습니다. IonQ는 하드웨어와 관련된 "노이즈 지문"을 사용하여 회로에 노이즈를 도입하는 노이즈 모델 시뮬레이션 을 target 제공합니다. 자세한 내용은 하드웨어 노이즈 모델 시뮬레이션 시작을 참조하세요.

노이즈 모델 매개 변수

매개 변수 이름 Description
noise model, seed 노이즈 모델 시뮬레이션 사용
model ideal, harmony, aria-1 하드웨어의 노이 target 즈 모델을 지정합니다.
  • ideal - 회로에 노이즈가 발생하지 않습니다. 이는 노이즈 시뮬레이션을 사용하도록 설정하지 않는 것과 동일합니다.
  • harmony - IonQ Harmony 양자 컴퓨터에 노이즈 모델을 사용합니다.
  • aria-1 - IonQ Aria 양자 컴퓨터에 노이즈 모델을 사용합니다.
seed 1에서 $2^{31}$ 사이의 정수(2,147,483,648) 의사 임의 노이즈 및 샷 샘플링에 대한 시드 값을 지정하여 재현 가능한 노이즈 결과를 만들 수 있습니다. 매개 변수를 지정하지 않으면 임 seed 의 값이 만들어집니다.

샷 인식

노이즈 모델 시뮬레이션은 샷 인식입니다. 즉, 제공된 샷 수에 따라 출력 상태의 측정값을 샘플로 표시합니다. Azure Quantum shots 에서 매개 변수는 작업과 함께 제출되며 및 aria-1 노이즈 모델에 필요합니다harmony. 값을 지정하지 shot 않으면 의 기본값 1000 이 사용됩니다. 노이 ideal 즈 모델을 사용하는 shots 경우 매개 변수는 무시됩니다.

큐비트 용량

ideal 노이즈 모델을 사용하면 IonQ 양자 시뮬레이터를 사용하여 최대 29개의 큐비트를 시뮬레이트할 수 있지만 하드웨어 특정 노이즈 모델은 하드웨어의 target 실제 큐비트 용량(노이즈 모델의 경우 11큐비트 및 노이즈 모델의 경우 25큐비트harmony)으로 제한됩니다aria-1.

노이즈 모델 시뮬레이션 사용

Azure Quantum에서 Q# 또는 Qiskit로 제출된 작업에 대해 노이즈 모델 시뮬레이션을 사용하거나 사용하지 않도록 설정할 수 있습니다.

노이즈 모델 시뮬레이션을 사용하도록 설정하려면 컴퓨터에 대한 선택적 매개 변수를 target 추가합니다. 예를 들면 다음과 같습니다.


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

참고

또한 IonQ의 오류 완화를 사용하는 경우 이러한 매개 변수를 여기에 포함할 수 있습니다. 예를 들면 다음과 같습니다.

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

자세한 내용은 오류 완화를 참조하세요.

노이즈 모델 시뮬레이션을 사용하여 작업 실행

이전에 오류 완화 에 표시된 것과 동일한 예제 프로그램을 사용하고 에서 노이즈 모델 구성 option_params을 추가하거나 바꿀 수 있습니다.

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

그런 다음, 작업을 제출할 때 선택적 매개 변수를 전달합니다.

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

Qiskit에서는 작업을 제출하기 target 전에 선택적 매개 변수를 컴퓨터 구성에 전달합니다.

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

가격 책정

IonQ 청구 플랜을 보려면 Azure Quantum 가격 책정을 방문하세요.

한도 및 할당량

IonQ 할당량은 QPU 사용량 단위인 QGS(큐비트 게이트 샷)를 기반으로 추적됩니다. 리소스 사용량은 계정에 크레딧으로 적립됩니다.

모든 양자 프로그램은 하나 이상의 큐비트의 $N$ 양자 논리 게이트로 구성되며 특정 수의 샷에 대해 실행됩니다. 게이트 샷 수는 다음 수식으로 계산됩니다.

$$ QGS = N · C $$

여기서

  • $N$는 제출된 1큐비트 또는 2큐비트 게이트의 수입니다.
  • $C$는 요청된 실행 샷의 수입니다.

할당량은 플랜 선택을 기반으로 하며 지원 티켓으로 늘릴 수 있습니다. 현재 한도 및 할당량을 보려면 크레딧 및 할당량 블레이드로 이동하여 Azure Portal에서 작업 영역의 할당량 탭을 선택합니다. 자세한 내용은 Azure Quantum 할당량을 참조하세요.

참고

청구 플랜이 아닌 Azure Quantum 크레딧 플랜을 사용하는 경우 할당량 정보는 할당된 크레딧에 매핑됩니다. 이 경우 할당량에는 받은 총 크레딧 수가 나열됩니다.

IonQ 상태

IonQ QPU 작업 처리 지연에 대한 자세한 내용은 IonQ 상태 페이지를 참조하세요.

IonQ 모범 사례 및 연결 그래프

IonQ QPU에 대한 권장 모범 사례를 보려면 IonQ 모범 사례(ionq.com)를 참조하세요.