Qiskit Paulice
qiskit-paulice 이 패키지는 시공간 안정화 코드를 사용하여 임의의 큐비트 연결 구조에서 임의의 클리포드 회로에 하드웨어 효율적인 파울리 검증을 내장하기 위한 것입니다. 이러한 검사 기능은 회로 실행 중 논리적 오류를 탐지하는 데 사용할 수 있습니다. 오류가 감지되지 않은 샘플만을 사후 선별하면, 일부 보조 큐비트를 소모하고 샘플링 오버헤드가 증가하는 대가를 치르더라도 양자 프로세서로 샘플링된 상태의 정확도를 높일 수 있다. 이 방법은 오류 내성 양자 컴퓨팅에 비해 큐비트와 게이트에 대한 오버헤드가 훨씬 적으면서도, ZNE나 PEC [1] 과 같은 오류 완화 방법보다 더 우수한 샘플링 오버헤드를 갖기 때문에, 특히 가까운 시일 내에 상용화될 하드웨어에 적합합니다.
시공간 파울리 검사는 독립적인 오류 탐지 루틴을 구현하는 데 사용될 수 있지만, 오류 완화 및 오류 정정 분야에서도 중요한 역할을 합니다. 오류 검출은 게이트와 측정값에 영향을 미치는 노이즈의 일부를 포착함으로써, 확률적 오류 상쇄(PEC)와 같은 오류 완화 기법을 보완할 수 있으며, 이를 통해 노이즈 채널이 반전되는 현상의 영향을 줄여 샘플링 오버헤드를 감소시킬 수 있다. 또한, 데이터 큐비트를 논리적 오류로부터 보호하기 위해 안정화 코드를 구현하는 것이 전통적인 오류 정정의 핵심 개념이므로, 이는 실질적인 내결함성을 향한 초기 단계로 볼 수도 있다. 이 방법은 양자 상태에 대한 단일 측정 접근을 가능하게 하므로, 샘플링 기반 및 기대값 기반 워크플로우 모두에서 활용될 수 있다.
시작하기
이 패키지를 빠르게 시작하는 데 도움이 되는 간단한 안내서는 퀵스타트 가이드에서 확인하실 수 있습니다.
유스 케이스 예제
이 기법은 클리포드 연산이 주를 이루는 회로에서 최대 50 큐비트와 2,450개의 얽힘 게이트를 갖는 샘플의 정확도를 향상시키는 데 활용되어 왔다 [1].
기술적 논의
우수한 시공간 파울리 검사 집합 찾기
시공간 파울리 검사 집합은 각 검사가 유효하고, 가중치가 낮으며, 효과적일 때 “양호한” 것으로 간주된다.
체크는 회로 내의 일부 와이어에 배치된 여러 개의 제어된 파울리 회전으로 구성되며, : . 주어진 체크의 경우, 제어 신호는 단일 보조 큐비트에 가해지며, 회전은 단일 대상 큐비트의 와이어에서 발생합니다. 클리포드 회로의 경우, 역전파된 곱이 이상적인 회로에 의해 준비된 상태의 안정화자일 때 해당 검사는 유효하다: . 여기서 는 에서 회로 시작점까지의 에 대한 역전파자이며, 는 해당 회로의 모든 안정화자로 구성된 집합이다.
체크의 구현에 필요한 얽힘 게이트의 수가 적다면, 그 체크는 저중량 체크라고 한다. 수표 선별 알고리즘은 무게가 가볍고 오류 탐지 효율이 가장 높은 수표를 우선적으로 선택합니다.
검사가 유발하는 오류보다 훨씬 더 많은 오류를 포착해 낸다면, 그 검사는 효과적인 것이다. 파울리 검사는 여러 개의 얽힘 게이트로 구성되어 있으므로, 계산 과정에 약간의 추가적인 게이트 노이즈가 발생하게 됩니다. 추가되는 각 검사마다 오류 탐지 능력이 어느 정도 향상되도록 하는 것이 중요합니다. 일련의 검정 기법의 효과는, 해당 검정 기법을 통해 드러난 파울리 오류를 사후 선택된 잡음 채널로 조합한 뒤 그 영향을 계산함으로써 대략적으로 추정할 수 있다. 노출된 역잡음 채널을 구현할 때 샘플링 오버헤드를 최소화하는 것은, 검사가 감지하지 못하는 오류의 정도를 가늠할 수 있게 해주기 때문에, 효과적인 검사를 선정하기 위한 확실한 경험적 방법이다. 더 느리지만 보다 현실적인 접근 방식은 잡음이 섞인 상태에서 몬테카를로 샘플링을 수행하고, 사후 선별된 분포의 논리적 오류율을 경험적으로 계산하는 것이다. 이 두 가지 접근 방식은 모두 해당 qiskit_paulice.add_pauli_checks 함수에서 내장된 비용 함수로 제공됩니다.
증후군 데이터를 기반으로 한 사후 표본 선정
이 패키지에서는 하나의 보조 큐비트와 하나의 대상 큐비트 간의 얽힘 게이트를 사용하여 체크 연산이 구현됩니다. 각 ancilla는 에서 시작하므로, 는 입력 상태를 안정화시킵니다. 안실라의 시작 부분부터 전체 검사 회로를 거쳐 전방으로 전파되는 는 출력에서 파울리 연산자를 생성하며, 이는 가중치가 더 높을 수 있고 페이로드 회로로 확장될 수도 있다. 이 출력 연산자가 비단위 항을 갖는 큐비트 지수를 ‘검증의 지지집합’이라고 하며, 검증의 지지집합에 속하는 비트 의 패리티가 짝수일 때( ) 검증이 통과된 것으로 간주합니다. 각 검증에서 패리티 검사 결과 가 나오면 해당 샘플을 유지합니다.
소프트웨어 피처
- 백엔드 벤치마크 데이터를 활용한 자동 노이즈 모델 생성
- 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 파일을 참고하여 적절한 참고 문헌을 인용해 주시기 바랍니다.
라이센스
폐기 정책
저희는 시맨틱 버저닝을 따릅니다. 사용자 경험을 개선하기 위해 때때로 호환성 변경을 적용할 수 있습니다. 가능한 경우, 기존 인터페이스가 새로운 인터페이스와 공존할 수 있는 한 이를 그대로 유지하면서 사용 중단 예정으로 표시할 것입니다. 각 주요 개선 사항, 호환성 변경 사항 또는 사용 중단 예정 기능은 릴리스 노트에 기록될 것입니다.
참조
Simon Martiel, Ali Javadi-Abhari, “시공간 코드를 이용한 낮은 오버헤드의 오류 검출”, arXiv:2504.15725 [quant-ph].