Skip to main content
IBM Quantum Platform

개발 워크플로우

Qiskit 패턴이란 도메인별 문제를 분해하고 필요한 기능을 단계별로 구체화하는 개발 워크플로를 설명하는 용어입니다. 이는 퀀텀 컴퓨팅 연구소( IBM Quantum® ) 연구진(및 기타 관계자)이 개발한 새로운 기능들의 원활한 결합을 가능하게 하며, 강력한 이종(CPU/GPU/QPU) 컴퓨팅 인프라를 통해 양자 컴퓨팅 작업이 수행되는 미래를 실현합니다. 블록 또는 블록 그룹이 패턴의 단계를 수행하며, 블록체인 기반( Qiskit SDK )이 중요한 기초 계층을 제공하며, 이는 블록체인 기반( IBM Quantum ) 또는 양자 오픈소스 커뮤니티에서 개발한 다른 도구 또는 서비스에 의해 지원됩니다. Qiskit 패턴은 도메인 전문가가 문제를 정의하고 Qiskit 패턴을 구현하는 도구(블록)를 조합할 수 있도록 합니다. 해당 패턴은 로컬에서 실행하거나, 클라우드 서비스를 통해 실행하거나, 애플리케이션 프로비저닝( Qiskit Serverless )과 함께 배포할 수 있습니다.

키스킷 패턴의 네 단계는 다음과 같습니다:

  • 문제를 양자 회로와 연산자로 매핑한다
  • 대상 하드웨어에 최적화
  • 대상 하드웨어에서 실행
  • 후처리 결과

각 단계는 아래 섹션에 자세히 설명되어 있습니다.


문제를 양자 회로와 연산자로 표현하라

이 단계에서는 사용자가 고전적 문제를 출발점으로 삼아 이를 양자 컴퓨터에 어떻게 매핑할지 알아내는 방법을 설명합니다. 예를 들어, 화학이나 양자 시뮬레이션과 같은 응용 분야에서 이 단계는 일반적으로 해결하려는 해밀토니안을 나타내는 양자 회로를 구성하는 과정을 포함합니다. 이 단계에서, 특정 문제의 경우 문제 구조가 초기 최적화에 적합하다면, 처음부터 IBM® 하드웨어의 헤비-헥스(또는 그로스) 격자 내 큐비트에 대한 매핑을 명시하는 것이 바람직할 수도 있습니다. 이 시점에서, 이후의 실행 단계를 대비해 해당 알고리즘의 결과가 어떻게 될지 고려해 볼 필요가 있습니다. 예를 들어, 원하는 결과가 하다마르 검정을 사용하여 상관 함수를 추론하는 것이라면 Sampler를 사용할 준비를 해야 할 수 있으며, 반면 관측량을 지정하는 경우에는 Estimator를 사용하게 되며, 이를 통해 다양한 오류 완화 옵션을 활용할 수 있습니다.

이 단계의 출력은 일반적으로 다음 단계의 하드웨어에 최적화할 수 있는 회로 또는 양자 연산자의 모음입니다.


대상 하드웨어에 대한 최적화

이 단계에서는 맵 단계에서 생성된 추상 회로(또는 연산자)를 가져와 일련의 최적화를 수행합니다. 여기에는 회로의 경로와 레이아웃을 물리적 큐비트 하드웨어에 매핑하고, 하드웨어의 베이시스 게이트로 변환하고, 연산 수를 줄이는 등 이후 실행 단계에서 성공 가능성을 최적화하기 위해 설계된 모든 작업이 포함될 수 있습니다. 이 시점에서 다음 단계의 실제 하드웨어에서 실행하기 전에 시뮬레이터로 회로를 테스트해 볼 수도 있습니다.

이 단계에서는 추상 회로를 명령어 집합 아키텍처(ISA) 회로로 변환해야 합니다. ISA 회로란 대상 하드웨어가 인식할 수 있는 게이트(기본 게이트)와, 연결 제약 조건(커플링 맵)을 충족하는 데 필요한 다중 큐비트 게이트로만 구성된 회로를 말한다. IBM Quantum 컴퓨팅 서비스를 사용하여 IBM 하드웨어에서는 ISA 회로만 실행할 수 있습니다.


대상 하드웨어에서 실행

이 단계에서는 회로를 하드웨어에서 실행하여 양자 계산의 결과를 산출합니다. 이전 단계에서 생성된 ISA 회로는 해당 qiskit-ibm-runtime 패키지의 샘플러(Sampler) 또는 추정기(Estimator) 프리미티브를 사용하여 실행할 수 있으며, 이는 사용자의 컴퓨터에서 로컬로 초기화하거나 클러스터 또는 기타 이기종 컴퓨팅 환경에서 초기화할 수 있습니다. 이러한 작업은 ‘배치(Batch)’ 모드로 실행할 수 있으며, 이를 통해 병렬 트랜스파일링을 수행하여 전통적인 계산 효율성을 확보할 수 있습니다. 또는 ‘세션(Session)’ 모드로 실행하여 대기열 지연 없이 반복적인 작업을 효율적으로 구현할 수 있습니다. 이 단계에서는 또한 에서 제공하는 특정 오류 억제 및 완화 기법을 구성할 수 있는 옵션도 있습니다 qiskit-ibm-runtime.

샘플러(Sampler)를 사용하는지, 아니면 에스티메이터(Estimator)를 사용하는지에 따라 이 단계의 결과는 달라집니다. Sampler를 사용하는 경우, 출력 결과는 비트열 형태의 샷별 측정값이 됩니다. Estimator를 사용하는 경우, 출력값은 물리적 양이나 비용 함수에 해당하는 관측 가능 변수의 기대값이 됩니다.


후처리 결과

이 마지막 단계에서는 이전 단계의 결과물을 다시 결합하여 원하는 결과를 얻는 과정입니다. 여기에는 결과 시각화, 판독 오류 완화 기법, 소규모 큐비트 집합에서 결과를 확인하기 위한 준확률 분포의 한계화, 또는 비물리적 관측량을 제거하여 총 스핀, 패리티, 입자 보존과 같은 문제의 고유 특성에 대한 사후 선별 등 다양한 전통적인 데이터 처리 단계가 포함될 수 있다.

맞춤형 회로 구성에서 유틸리티 규모의 워크플로로 분야가 이동함에 따라, 사용자가 키스킷 패턴의 다양한 단계를 구성할 수 있는 유연성과 용이성은 양자 계산 과학자들이 쉽게 사용할 수 있도록 양자 컴퓨팅을 다양한 애플리케이션과 기술에 개방하고 있습니다.

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