노이즈 관리 기법 개요
양자 워크로드를 실행할 때 여러 기법을 사용하여 노이즈의 영향을 줄일 수 있습니다. 오픈 소스 Qiskit addon은 개발 워크플로에 직접 통합되는 오류 완화 및 억제 기법을 제공하며, IBM Quantum Compute Service는 작업을 실행하도록 제출할 때 고급 오류 완화 전략을 자동으로 적용합니다. 이 페이지는 두 가지 옵션에서 사용할 수 있는 모든 도구와 기능을 정리하여, 양자 워크로드를 구축할 때 노이즈를 관리하는 데 적합한 접근 방식을 선택하는 데 도움을 줍니다.
일반적인 노이즈 관리 기법
오류 억제 기법
이러한 기능은 Circuit 깊이를 줄이거나 실행 중 노이즈를 억제하는 데 유용하며, 일반적으로 샘플링 오버헤드가 증가합니다.
관측량의 기댓값 추정을 위한 노이즈 관리
관측량의 기댓값을 추정하는 양자 워크로드를 구축할 때 다음 addon을 사용하여 노이즈를 관리하세요.
샘플링 결과를 위한 노이즈 관리
이러한 기법은 샘플링 결과의 노이즈를 관리하는 데 유용합니다.
지원 기능
다른 addon을 활용하는 워크플로를 지원하고 구성하려면 이러한 기능을 사용하세요.
노이즈 관리 기법 설명
오류 완화 및 오류 억제 기법은 더 큰 규모의 워크로드로 확장할 때 결과 품질을 향상시키기 위해 사용돼요. 이 페이지에서는 Qiskit SDK와 IBM Quantum Compute 서비스에서 사용할 수 있는 여러 오류 억제 및 오류 완화 기법에 대한 개략적인 설명을 제공해요.
새로운 실행 모델의 베타 버전이 이제 제공돼요. 디렉티드 실행 모델(directed execution model)을 사용하면 오류 완화 워크플로를 사용자 정의할 때 더 많은 유연성을 얻을 수 있어요. 자세한 내용은 디렉티드 실행 모델 가이드를 참조하세요.
오류 완화 및 오류 억제 기법은 더 큰 규모의 워크로드로 확장할 때 결과 품질을 향상시키기 위해 사용돼요. 이 페이지에서는 Qiskit에서 사용할 수 있는 오류 억제 및 오류 완화 기법에 대한 개략적인 설명을 제공해요.
동적 디커플링
양자 Circuit은 IBM® 하드웨어에서 마이크로파 펄스 시퀀스로 실행되며, 이 펄스들은 정밀한 시간 간격에 맞춰 스케줄링되고 실행되어야 합니다. 안타깝게도 qubit 간의 원치 않는 상호 작용으로 인해 유휴 Qubit에 코히어런트(결맞는) 오류가 발생할 수 있습니다. 동적 디커플링은 유휴 Qubit에 펄스 시퀀스를 삽입하여 이러한 오류의 효과를 근사적으로 상쇄하는 방식으로 작동합니다. 삽입된 각 펄스 시퀀스는 항등 연산에 해당하지만, 펄스의 물리적 존재는 오류를 억제하는 효과가 있습니다. 가능한 펄스 시퀀스 선택지는 매우 다양하며, 각각의 특정 경우에 어떤 시퀀스가 더 적합한지는 활발한 연구 분야로 남아 있습니다.
동적 디커플링은 주로 일부 Qubit이 아무 연산 없이 유휴 상태로 있는 간격을 포함하는 Circuit에 유용합니다. Circuit의 연산이 매우 밀집되어 있어 대부분의 시간 동안 모든 Qubit이 사용 중인 경우, 동적 디커플링 펄스를 추가해도 성능이 향상되지 않을 수 있습니다. 실제로 펄스 자체의 불완전함으로 인해 성능이 오히려 저하될 수도 있습니다.
아래 다이어그램은 XX 펄스 시퀀스를 사용한 동적 디커플링을 나타냅니다. 왼쪽의 추상 Circuit은 오른쪽 상단의 마이크로파 펄스 스케줄에 매핑됩니다. 오른쪽 하단은 동일한 스케줄이지만 첫 번째 Qubit의 유휴 기간 동안 두 개의 X 펄스 시퀀스가 삽입된 모습입니다.

다음과 같은 방법으로 동적 디커플링을 활성화할 수 있어요.
- Qiskit의 동적 디커플링 트랜스파일러 패스
- IBM Quantum Estimator 또는 Sampler를 사용하는 경우 동적 디커플링 옵션
파울리 트월링
무작위화 컴파일링이라고도 알려진 트월링은 임의의 노이즈 채널을 더 구체적인 구조를 가진 노이즈 채널로 변환하는 데 널리 사용되는 기법입니다.
파울리 트월링은 파울리 연산을 사용하는 특별한 종류의 트월링입니다. 이는 임의의 양자 채널을 파울리 채널로 변환하는 효과가 있습니다. 단독으로 수행할 경우, 코히어런트 노이즈는 연산 수에 따라 이차적으로 누적되는 반면 파울리 노이즈는 선형적으로 누적되기 때문에 코히어런트 노이즈를 완화할 수 있습니다. 파울리 트월링은 임의의 노이즈보다 파울리 노이즈와 더 잘 작동하는 다른 오류 완화 기법과 함께 자주 사용됩니다.
파울리 트월링은 Gate의 이상적인 효과가 동일하게 유지되도록 선택된 Gate 집합을 무작위로 선택된 단일 qubit 파울리 Gate로 감싸는 방식으로 구현됩니다. 그 결과 단일 Circuit이 동일한 이상적 효과를 갖는 무작위 Circuit 앙상블로 대체됩니다. Circuit을 샘플링할 때 단일 인스턴스가 아닌 여러 무작위 인스턴스에서 샘플이 추출됩니다.
현재 양자 하드웨어의 오류 대부분이 2-Qubit Gate에서 발생하므로, 이 기법은 (네이티브) 2-Qubit Gate에만 적용하는 경우가 많아요. 다음 다이어그램은 CNOT 및 ECR Gate에 대한 일부 파울리 트월을 나타내요. 각 행 내의 모든 Circuit은 동일한 이상적 효과를 가져요.

다음과 같은 방법으로 파울리 트월링을 활성화할 수 있어요.
- Qiskit의 파울리 트월링 사용자 정의 패스
- IBM Quantum Estimator 또는 Sampler를 사용하는 경우 트월링 옵션
트월링 판독 오류 소멸(TREX)
트월링 판독 오류 소멸(TREX)은 파울리 관측량 기댓값 추정에서 측정 오류의 영향을 완화합니다. 이는 트월링된 측정의 개념을 기반으로 하며, 측정 Gate를 (1) 파울리 X Gate, (2) 측정, (3) 고전 비트 플립의 시퀀스로 무작위로 대체하여 구현됩니다. 표준 Gate 트월링과 마찬가지로, 이 시퀀스는 노이즈가 없는 경우 일반 측정과 동일하며, 다음 다이어그램에 묘사되어 있습니다:
판독 오류가 있는 경우, 측정 트월링은 판독 오류 전달 행렬을 대각화하는 효과가 있어 역행렬을 쉽게 구할 수 있습니다. 영 상태로 초기화된 무작위 Circuit을 벤치마킹하여 대각 노이즈 채널의 재조정 항을 학습합니다. 이를 통해 서비스는 판독 노이즈로 인한 기댓값의 편향을 제거할 수 있습니다. 판독 오류 전달 행렬을 추정하려면 추가 보정 Circuit을 실행해야 하므로 약간의 오버헤드가 발생합니다.
다음과 같은 방법으로 TREX를 활성화할 수 있어요.
- Qiskit용 Qiskit Mitigation 애드온
- IBM Quantum Estimator를 사용하는 경우
measure_mitigation옵션 - IBM Quantum Estimator를 사용하는 경우 복원력 수준
제로 노이즈 외삽(ZNE)
제로 노이즈 외삽(ZNE)은 관측량의 기댓값을 추정할 때 오류를 완화하는 기법입니다. 결과를 향상시키는 경우가 많지만, 편향되지 않은 결과를 보장하지는 않습니다.
ZNE는 두 단계로 구성됩니다:
-
노이즈 증폭: 원래 양자 Circuit이 다른 노이즈 수준에서 여러 번 실행됩니다. (Gate 폴딩 또는 확률적 오류 증폭으로 수행할 수 있습니다.)
-
외삽: 이상적인 결과는 노이즈가 있는 기댓값 결과를 제로 노이즈 한계로 외삽하여 추정됩니다. (일반적으로 지수 함수 또는 다항식을 사용합니다.)
노이즈 증폭과 외삽 단계는 모두 여러 가지 다른 방법으로 구현할 수 있어요. 기본적으로 IBM Quantum Compute는 "디지털 게이트 폴딩"으로 노이즈 증폭을 구현해요. 이는 2-큐비트 게이트가 해당 게이트와 그 역연산으로 이루어진 동등한 시퀀스로 대체됨을 의미해요. 예를 들어, 유니터리 를 로 대체하면 노이즈 증폭 계수가 3이 돼요. 외삽의 경우, 선형 적합 또는 지수 적합을 포함한 여러 함수 형태 중 하나를 선택할 수 있어요. 아래 이미지는 왼쪽에 디지털 게이트 폴딩을, 오른쪽에 외삽 절차를 나타내요.

이 방법의 오버헤드는 노이즈 계수의 수에 비례해 늘어나요. 기본 설정은 세 가지 노이즈 계수에서 기댓값을 샘플링하므로 약 3배의 오버헤드가 발생해요.
다음과 같은 방법으로 ZNE를 활성화할 수 있어요.
- Qiskit용 Qiskit Mitigation 애드온
- IBM Quantum Estimator를 사용하는 경우
zne_mitigation옵션 - IBM Quantum Estimator를 사용하는 경우 복원력 수준
확률적 오류 증폭(PEA)을 사용한 ZNE
ZNE의 주요 과제 중 하나는 대상 Circuit에 영향을 미치는 노이즈를 정확하게 증폭하는 것이에요. Gate 폴딩은 이 증폭을 쉽게 수행할 수 있는 방법이지만, 부정확할 수 있고 잘못된 결과로 이어질 수 있어요. 자세한 내용은 "노이즈가 있는 양자 Circuit에 대한 확장 가능한 오류 완화는 경쟁력 있는 기댓값을 생성합니다" 논문, 특히 보충 정보 4페이지를 참조하세요. 확률적 오류 증폭은 노이즈 학습을 통해 더 정확하게 오류를 증폭하는 접근 방식이에요.
PEA는 예비 실험을 수행하여 노이즈를 재구성한 다음 이 정보를 사용하여 정확한 증폭을 수행하는 더 정교한 기법입니다. Circuit이 실행되기 전에 Circuit의 각 얽힘 Gate 레이어의 트월링된 노이즈 모델을 학습하는 것으로 시작합니다. 학습 단계 이후 Circuit은 각 노이즈 계수에서 실행되며, 각 Circuit의 모든 얽힘 레이어는 해당 학습된 노이즈 모델에 비례하는 단일 qubit 노이즈를 확률적으로 주입함으로써 증폭됩니다. 자세한 내용은 "결함 허용 이전 양자 컴퓨팅 유용성의 증거" 논문을 참조하세요.
PEA는 세 단계로 구성됩니다:
- 학습: Circuit의 각 얽힘 Gate 레이어의 트월링된 노이즈 모델이 학습됩니다.
- 노이즈 증폭: 원래 양자 Circuit이 다른 노이즈 계수에서 여러 번 실행됩니다.
- 외삽: 이상적인 결과는 노이즈가 있는 기댓값 결과를 제로 노이즈 한계로 외삽하여 추정됩니다.
유틸리티 규모 실험의 경우, PEA가 종종 최선의 선택입니다.
PEA는 ZNE 노이즈 증폭 기법이므로 ZNE도 함께 활성화해야 해요. 다음과 같은 방법으로 PEA와 ZNE를 활성화할 수 있어요.
- Qiskit용 Qiskit Mitigation 애드온
- IBM Quantum Estimator를 사용하는 경우 증폭기로
pea를 지정한zne_mitigation옵션
qiskit-ibm-runtime v0.50.0에서 도입된 새로운 클라이언트 측 Estimator를 사용하는 경우, PEA를 사용하려면 별도의 노이즈 학습 작업이 필요합니다.
자세한 내용은 서버 측에서 클라이언트 측 Sampler 및 Estimator로 마이그레이션을 참조하세요.
확률적 오류 상쇄(PEC)
확률적 오류 상쇄(PEC)는 관측량의 기댓값을 추정할 때 오류를 완화하는 기법입니다. ZNE와 달리 편향되지 않은 기댓값 추정값을 반환합니다. 그러나 일반적으로 더 큰 오버헤드가 발생합니다.
PEC에서 이상적인 대상 Circuit의 효과는 실제로 구현 가능한 노이즈가 있는 Circuit의 선형 조합으로 표현됩니다:
이상적인 Circuit의 출력은 선형 조합으로 정의된 무작위 앙상블에서 추출된 다양한 노이즈 Circuit 인스턴스를 실행하면 재현할 수 있어요. 계수 가 확률 분포를 형성하는 경우, 앙상블의 확률로 직접 사용할 수 있어요. 실제로 일부 계수는 음수이므로 대신 준확률 분포를 형성해요. 여전히 무작위 앙상블을 정의하는 데 사용할 수 있지만, 준확률 분포의 음수성에 따른 샘플링 오버헤드가 생기며, 이는 다음 양으로 나타낼 수 있어요:
샘플링 오버헤드는 이상적인 Circuit에서 필요한 샷 수와 비교하여 주어진 정밀도로 기댓값을 추정하는 데 필요한 샷 수의 곱셈 계수입니다. 에 따라 이차적으로 확장되며, 는 Circuit의 깊이에 따라 지수적으로 확장됩니다.
다음과 같은 방법으로 PEC를 활성화할 수 있어요.
- Qiskit용 Qiskit Mitigation 애드온
- IBM Quantum Estimator를 사용하는 경우
pec_mitigation옵션
qiskit-ibm-runtime v0.50.0에서 도입된 새로운 클라이언트 측 Estimator를 사용하는 경우, PEC를 사용하려면 별도의 노이즈 학습 작업이 필요합니다.
자세한 내용은 서버 측에서 클라이언트 측 Sampler 및 Estimator로 마이그레이션을 참조하세요.