개발 워크플로우
Qiskit 패턴이라는 용어는 도메인별 문제를 분해하고 필요한 역량을 단계별로 맥락화하는 개발 워크플로우를 설명합니다. 이를 통해 IBM Quantum® 연구원(및 기타 연구자)이 개발한 새로운 역량의 원활한 조합이 가능해지며, 양자 컴퓨팅 작 업이 강력한 이종(CPU/GPU/QPU) 컴퓨팅 인프라에 의해 수행되는 미래를 실현할 수 있습니다. 블록 또는 블록 그룹은 패턴의 각 단계를 수행하며, Qiskit SDK는 중요한 기반 레이어를 제공하고, IBM Quantum 또는 양자 오픈소스 커뮤니티가 개발한 다른 도구나 서비스가 이를 지원합니다. Qiskit 패턴을 통해 도메인 전문가는 문제를 명시하고 Qiskit 패턴을 달성하는 도구(블록)를 구성할 수 있습니다. 해당 패턴은 로컬에서 실행하거나, 클라우드 서비스를 통해 실행하거나, Qiskit Serverless로 배포할 수 있습니다.
Qiskit 패턴의 네 단계는 다음과 같습니다:
- 매핑: 문제를 양자 Circuit과 연산자로 변환
- 최적화: 대상 하드웨어에 맞게 최적화
- 실행: 대상 하드웨어에서 Execute
- 후처리: 결과 Post-process
각 단계는 아래 섹션에서 자세히 설명합니다.
문제를 양자 Circuit과 연산자로 매핑하기
이 단계는 사용자가 고전적인 문제에서 출발하여 이를 양자 컴퓨터에 어떻게 매핑할지 파악하는 방법을 설명합니다. 예를 들어, 화학 및 양자 시뮬레이션과 같은 응용 분야에서 이 단계는 일반적으로 풀고자 하는 해밀토니안을 나타내는 양자 Circuit을 구성하는 작업을 포함합니다. 이 단계에서, 문제의 구조가 조기 최적화에 적합한 경우, 특정 문제에 대해 IBM® 하드웨어의 heavy-hex(또는 gross) 격자의 Qubit에 문제를 매핑하는 방식을 처음부터 지정하는 것이 바람직할 수 있습니다. 또한 이 시점에서 이후 실행 단계를 위해 특정 알고리즘의 결과물이 무엇인지 고려하는 것도 중요합니다. 예를 들어, 원하는 결과물이 Hadamard 테스트를 사용하여 상관 함수를 추론하는 것이라면 Sampler를 사용할 준비를 할 수 있으며, 관측량을 지정하는 경우에는 Estimator를 사용하여 다양한 오류 완화 옵션을 제공받을 수 있습니다.
이 단계의 결과물은 일반적으로 다음 단계에서 하드웨어에 맞게 최적화할 수 있는 Circuit 또는 양자 연산자의 모음입니다.
대상 하드웨어에 맞게 최적화하기
이 단계에서는 매핑 단계에서 생성된 추상 Circuit(또는 연산자)을 가져와 일련의 최적화 작업을 수행합니다. 여기에는 Circuit의 경로 및 레이아웃을 물리적 Qubit 하드웨어에 매핑하고, 하드웨어의 기본 Gate로 변환하며, 연산 수를 줄이는 작업이 포함될 수 있습니다. 이 모든 작업은 이후 실행 단계에서의 성공 가능성을 최적화하기 위해 설계됩니다. 이 시점에서 실제 하드웨어에서 실행하기 전에 시뮬레이터로 Circuit을 테스트해 볼 수도 있습니다.
이 단계에서는 추상 Circuit을 명령어 집합 아키텍처(ISA) Circuit으로 Transpiler를 통해 변환해야 합니다. ISA Circuit은 대상 하드웨어가 이해하는 Gate(기본 Gate)만으로 구성되며, 연결 제약 조건(커플링 맵)을 준수하는 데 필요한 다중 Qubit Gate를 포함합니다. IBM 하드웨어에서 IBM Qiskit Runtime을 사용하여 실행할 수 있는 것은 ISA Circuit뿐입니다.
대상 하드웨어에서 실행하기
이 단계는 하드웨어에서 Circuit을 실행하고 양자 계산의 출력을 생성하는 과정을 포함합니다. 이전 단계에서 생성된 ISA Circuit은 Qiskit Runtime의 Sampler 또는 Estimator 프리미티브를 사용하여 실행할 수 있으며, 로컬 컴퓨터나 클러스터 또는 기타 이종 컴퓨팅 환경에서 초기화할 수 있습니다. 이는 고전적 계산 효율성을 위한 병렬 Transpiler 처리가 가능한 Batch로 실행하거나, 큐 지연 없이 반복 작업을 효율적으로 구현할 수 있는 Session으로 실행할 수 있습니다. 이 단계에서는 Qiskit Runtime이 제공하는 특정 오류 억제 및 완화 기술을 구성하는 옵션도 있습니다.
Sampler 또는 Estimator 프리미티브를 사용하는지에 따라 이 단계의 결과물이 달라집니다. Sampler를 사용하는 경우 출력은 비트 문자열 형태의 측정별(per-shot) 값이 됩니다. Estimator를 사용하는 경우 출력은 물리적 양이나 비용 함수에 해당하는 관측량의 기댓값이 됩니다.
결과 후처리하기
이 마지막 단계는 이전 단계의 출력을 다시 결합하여 원하는 결과를 얻는 과정을 포함합니다. 여기에는 결과 시각화, 판독 오류 완화 기술, 더 작은 Qubit 집합에 대한 결과를 확인하기 위한 준확률 분포의 주변화, 또는 총 스핀, 패리티, 비물리적 관측량 제거를 통한 입자 보존과 같은 문제의 고유 특성에 따른 후처리 선택 등 다양한 고전적 데이터 처리 단계가 포함될 수 있습니다.
분야가 맞춤형 Circuit 구성에서 유틸리티 규모의 워크플로우로 이동함에 따라, Qiskit 패턴이 사용자에게 패턴의 각 단계를 구성할 수 있는 유연성과 용이성을 제공함으로써 양자 컴퓨팅이 양자 계산 과학자들이 쉽게 사용할 수 있는 다양한 응용 분야와 기술에 개방됩니다.