Skip to main content
IBM Quantum Platform

Qiskit Paulice

qiskit-paulice 이 패키지는 시공간 안정화 코드를 사용하여 임의의 큐비트 연결 구조에서 임의의 클리포드 회로에 하드웨어 효율적인 파울리 검증을 내장하기 위한 것입니다. 이러한 검사 기능은 회로 실행 중 논리적 오류를 탐지하는 데 사용할 수 있습니다. 오류가 감지되지 않은 샘플만을 사후 선별하면, 일부 보조 큐비트를 소모하고 샘플링 오버헤드가 증가하는 대가를 치르더라도 양자 프로세서로 샘플링된 상태의 정확도를 높일 수 있다. 이 방법은 오류 내성 양자 컴퓨팅에 비해 큐비트와 게이트에 대한 오버헤드가 훨씬 적으면서도, ZNE나 PEC [1] 과 같은 오류 완화 방법보다 더 우수한 샘플링 오버헤드를 갖기 때문에, 특히 가까운 시일 내에 상용화될 하드웨어에 적합합니다.

시공간 파울리 검사는 독립적인 오류 탐지 루틴을 구현하는 데 사용될 수 있지만, 오류 완화 및 오류 정정 분야에서도 중요한 역할을 합니다. 오류 검출은 게이트와 측정값에 영향을 미치는 노이즈의 일부를 포착함으로써, 확률적 오류 상쇄(PEC)와 같은 오류 완화 기법을 보완할 수 있으며, 이를 통해 노이즈 채널이 반전되는 현상의 영향을 줄여 샘플링 오버헤드를 감소시킬 수 있다. 또한, 데이터 큐비트를 논리적 오류로부터 보호하기 위해 안정화 코드를 구현하는 것이 전통적인 오류 정정의 핵심 개념이므로, 이는 실질적인 내결함성을 향한 초기 단계로 볼 수도 있다. 이 방법은 양자 상태에 대한 단일 측정 접근을 가능하게 하므로, 샘플링 기반 및 기대값 기반 워크플로우 모두에서 활용될 수 있다.


시작하기

이 패키지를 빠르게 시작하는 데 도움이 되는 간단한 안내서는 퀵스타트 가이드에서 확인하실 수 있습니다.


유스 케이스 예제

이 기법은 클리포드 연산이 주를 이루는 회로에서 최대 50 큐비트와 2,450개의 얽힘 게이트를 갖는 샘플의 정확도를 향상시키는 데 활용되어 왔다 [1].


기술적 논의

우수한 시공간 파울리 검사 집합 찾기

양자 회로 만화

시공간 파울리 검사 집합은 각 검사가 유효하고, 가중치가 낮으며, 효과적일 때 “양호한” 것으로 간주된다.

체크는 회로 내의 일부 와이어에 배치된 PP 여러 개의 제어된 파울리 회전으로 구성되며, ww : {(P1,w1),...,(Pk,wk)}\{(P_1,w_1), ..., (P_k,w_k)\}. 주어진 체크의 경우, 제어 신호는 단일 보조 큐비트에 가해지며, 회전은 단일 대상 큐비트의 와이어에서 발생합니다. 클리포드 회로의 경우, 역전파된 곱이 이상적인 회로에 의해 준비된 상태의 안정화자일 때 해당 검사는 유효하다: iB(Pi,wi)S\prod_{i}B(P_i,w_i) \in S. 여기서 B(P,w)B(P,w)ww 에서 회로 시작점까지의 PP 에 대한 역전파자이며, SS 는 해당 회로의 모든 안정화자로 구성된 집합이다.

체크의 구현에 필요한 얽힘 게이트의 수가 적다면, 그 체크는 저중량 체크라고 한다. 수표 선별 알고리즘은 무게가 가볍고 오류 탐지 효율이 가장 높은 수표를 우선적으로 선택합니다.

검사가 유발하는 오류보다 훨씬 더 많은 오류를 포착해 낸다면, 그 검사는 효과적인 것이다. 파울리 검사는 여러 개의 얽힘 게이트로 구성되어 있으므로, 계산 과정에 약간의 추가적인 게이트 노이즈가 발생하게 됩니다. 추가되는 각 검사마다 오류 탐지 능력이 어느 정도 향상되도록 하는 것이 중요합니다. 일련의 검정 기법의 효과는, 해당 검정 기법을 통해 드러난 파울리 오류를 사후 선택된 잡음 채널로 조합한 뒤 그 영향을 계산함으로써 대략적으로 추정할 수 있다. 노출된 역잡음 채널을 구현할 때 샘플링 오버헤드를 최소화하는 것은, 검사가 감지하지 못하는 오류의 정도를 가늠할 수 있게 해주기 때문에, 효과적인 검사를 선정하기 위한 확실한 경험적 방법이다. 더 느리지만 보다 현실적인 접근 방식은 잡음이 섞인 상태에서 몬테카를로 샘플링을 수행하고, 사후 선별된 분포의 논리적 오류율을 경험적으로 계산하는 것이다. 이 두 가지 접근 방식은 모두 해당 qiskit_paulice.add_pauli_checks 함수에서 내장된 비용 함수로 제공됩니다.

증후군 데이터를 기반으로 한 사후 표본 선정

이 패키지에서는 하나의 보조 큐비트와 하나의 대상 큐비트 간의 얽힘 게이트를 사용하여 체크 연산이 구현됩니다. 각 ancilla는 0|0\rangle 에서 시작하므로, ZancZ_\text{anc} 는 입력 상태를 안정화시킵니다. 안실라의 시작 부분부터 전체 검사 회로를 거쳐 전방으로 전파되는 ZancZ_\text{anc} 는 출력에서 파울리 연산자를 생성하며, 이는 가중치가 더 높을 수 있고 페이로드 회로로 확장될 수도 있다. 이 출력 연산자가 비단위 항을 갖는 큐비트 지수를 ‘검증의 지지집합’이라고 하며, 검증의 지지집합에 속하는 비트 bb 의 패리티가 짝수일 때( i=1bi=0\bigoplus_{i=1} b_i = 0 ) 검증이 통과된 것으로 간주합니다. 각 검증에서 패리티 검사 결과 00 가 나오면 해당 샘플을 유지합니다.

소프트웨어 피처

  • 백엔드 벤치마크 데이터를 활용한 자동 노이즈 모델 생성
  • Rust를 활용한 체크 발견 가속화
  • 수표 검색을 위한 세 가지 내장 알고리즘
  • 사후 선택된 역잡음 채널의 표본 추출 오버헤드 또는 잡음이 있는 상태에 대한 몬테카를로 표본 추출을 기반으로 한 논리 오류율을 바탕으로 검사의 유효성을 평가한다
  • 주어진 백엔드에 대한 보조 큐비트/표적 큐비트 쌍을 찾는 데 도움이 되는 기능

알려진 문제

  • 공회전 소음은 를 통해 NoiseModel.get_backend 제공되지 않으며, 체크 피킹 시 무시됩니다
  • 이 알고리즘의 많은 확률적 단계는 난수 시드를 통해 제어할 수 있지만, 일부 특징은 시드로 제어할 수 없는 무작위성을 지니고 있다. 구체적으로, 에 add_pauli_checks 대한 다음 kwargs 값들은 비결정적인 체크 선택 현상을 유발합니다: cost="LER", method="genetic", 그리고 method="windowed_genetic". add_pauli_checks(..., cost="gamma", method="windowed")결정론적 동작을 원한다면, 기본값인 을 사용하십시오.

앞으로의 작업

  • 비클리포드 시스템 처리에 대한 지원
  • 사후 선택된 노이즈 채널 분석에 대한 추가 지원
  • 수표 수거 시 발생하는 공회전 소음 처리
  • 논리 오류율 비용 함수 및 유전자 탐색 알고리즘을 위한 제어 가능한 무작위성

기여

소스 코드는 GitHub 에서 확인할 수 있습니다.

개발자 가이드가 이 프로젝트 저장소의 루트 디렉터리에 있는 CONTRIBUTING.md 에 있습니다. 참여하시는 분들은 Qiskit의 행동 강령을 준수해야 합니다.


이 패키지를 인용하며

연구에 이 패키지를 사용하신다면, 이 프로젝트 저장소에 있는 CITATION.bib 파일을 참고하여 적절한 참고 문헌을 인용해 주시기 바랍니다.


라이센스

Apache License 2.0


폐기 정책

저희는 시맨틱 버저닝을 따릅니다. 사용자 경험을 개선하기 위해 때때로 호환성 변경을 적용할 수 있습니다. 가능한 경우, 기존 인터페이스가 새로운 인터페이스와 공존할 수 있는 한 이를 그대로 유지하면서 사용 중단 예정으로 표시할 것입니다. 각 주요 개선 사항, 호환성 변경 사항 또는 사용 중단 예정 기능은 릴리스 노트에 기록될 것입니다.


참조

[1] ( 1, 2 )

Simon Martiel, Ali Javadi-Abhari, “시공간 코드를 이용한 낮은 오버헤드의 오류 검출”, arXiv:2504.15725 [quant-ph].

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