Skip to main content
IBM Quantum Platform

큐비트 초기화

  • 이 페이지의 코드는 다음 요구 사항을 사용하여 개발되었습니다. 다음 버전 이상을 사용하는 것이 좋습니다.

    qiskit-ibm-runtime~=0.47.0
    

IBM® 양자 처리 장치(QPU)에서 회로가 실행될 때 일반적으로 회로의 시작 부분에 암시적 리셋이 삽입되어 큐비트가 0으로 초기화되도록 합니다. 이는 기본 실행 옵션으로 설정된 init_qubits 플래그로 제어됩니다.

그러나 재설정 과정의 불완전성은 상태 준비 오류를 유발할 수 있다. 오류를 완화하기 위해 QPU는 회로 사이에 반복 지연 시간(또는 rep_delay)을 삽입합니다. 각 백엔드는 서로 다른 기본값을 rep_delay가지지만, 일반적으로 리셋 정확도와 전체 실행 시간 사이의 균형을 맞추도록 설정됩니다. 특정 QPU에 대한 rep_delay 기본값을 찾으려면 backend.default_rep_delay 실행하십시오.

IBM 의 모든 QPU는 동적 반복률 실행을 사용하므로 작업마다 실행 rep_delay 속도를 변경할 수 있습니다. 원시 작업에서 제출하는 회로들은 QPU에서 실행하기 위해 함께 배치됩니다. 이러한 회로들은 요청된 각 샷에 대해 회로들을 반복하여 실행됩니다. 실행은 회로와 샷의 행렬을 열 단위로 수행되며, 다음 그림에 설명된 바와 같습니다.

첫 번째 열은 샷 0을 나타냅니다.  회로는 0부터 3까지 순서대로 실행됩니다.  두 번째 열은 샷 1을 나타냅니다.  회로는 0부터 3까지 순서대로 실행됩니다.  나머지 열은 동일한 패턴을 따릅니다.
열별 실행 행렬

회로 사이에 삽입되기 rep_delay 때문에, 실행의 각 샷은 이 지연을 겪게 됩니다. 따라서, rep_delay를 낮출수록 총 QPU 실행 시간은 감소하지만, 상태 준비 오류율이 증가하는 대가를 치르게 됩니다. 다음 그림이 이를 보여줍니다:

이 이미지는 rep_delay 값이 낮아질수록 상태 준비 오류율이 증가하는 것을 보여줍니다.
반복 지연과 오류율 비교

와 를 rep_delay=0 모두 init_qubits=False설정하면, 양자비트가 이전 샷의 최종 상태에서 시작하게 되므로 회로들이 "병합"됩니다.

원시 작업 내 회로들은 QPU 실행을 위해 함께 배치되지만, PUB에서 온 회로들의 실행 순서는 보장되지 않습니다. 예를 들어, 를 제출하면 pubs=[pub1, pub2], 에서 온 회로가 에서 온 회로보다 pub1 먼저 pub2실행되지 않을 수 있습니다. 동일 작업의 회로들이 QPU에서 단일 배치로 실행될 것이라는 보장도 없습니다.


원시 작업에 대해 rep_delay 지정하십시오

QPU의 rep_delay 값을 확인하십시오

사용 중인 특정 QPU의 지원 rep_delay 범위를 항상 확인하십시오. 이러한 값은 모든 QPU에 대해 동일하지 않으며 시간이 지남에 따라 변경될 수도 있습니다.

참고로, 의 증가는 실행 시간 및 용량 rep_delay 소비에 직접적인 영향을 미칩니다.

from qiskit_ibm_runtime import QiskitRuntimeService, SamplerV2 as Sampler

service = QiskitRuntimeService()

# Make sure your backend supports it
backend = service.least_busy(
    operational=True, min_num_qubits=100, dynamic_reprate_enabled=True
)

# Determine the allowable range
backend.rep_delay_range
sampler = Sampler(mode=backend)

# Specify a value in the supported range
sampler.options.execution.rep_delay = 0.0005

다음 단계

권장사항
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.