주 콘텐츠로 건너뛰기

Qiskit 소개

"Qiskit"은 양자 컴퓨터에서 프로그램을 실행하기 위한 소프트웨어 모음을 총칭하는 용어입니다. 이 소프트웨어 도구들 중 가장 주목할 만한 것은 오픈소스 Qiskit SDK와, IBM® 양자 처리 장치(QPU)에서 워크로드를 실행할 수 있는 런타임 환경(Qiskit Runtime을 통해 접근)입니다. 양자 기술이 발전함에 따라 Qiskit도 함께 발전하며, 매년 이 핵심 양자 소프트웨어 모음을 확장하는 새로운 기능이 출시됩니다.

또한 많은 오픈소스 프로젝트들이 더 넓은 Qiskit 생태계의 일부를 이루고 있습니다. 이러한 소프트웨어 도구들은 Qiskit 자체의 일부가 아니라, Qiskit과 연동되어 유용한 추가 기능을 제공합니다.

IBM은 양자 컴퓨팅의 책임감 있는 개발에 전념하고 있습니다. 책임감 있는 양자 컴퓨팅 항목에서 자세한 내용을 확인하고 책임 있는 양자 원칙을 검토해 보세요.

Qiskit SDK

Qiskit SDK(패키지 이름 qiskit)는 확장된(정적, 동적, 스케줄된) 양자 Circuit, 연산자, 프리미티브 수준에서 양자 컴퓨터를 다루기 위한 오픈소스 SDK입니다. 이 라이브러리는 Qiskit의 핵심 구성 요소로, Qiskit 이름 하의 패키지 중 가장 크고 양자 계산을 위한 가장 광범위한 도구 모음을 갖추고 있으며, 많은 다른 구성 요소들이 이것과 연동됩니다.

Qiskit SDK의 가장 유용한 기능 중 일부는 다음과 같습니다:

  • Circuit 구축 도구 (qiskit.circuit) - 레지스터, Circuit, 명령어, Gate, 파라미터, 제어 흐름 객체를 초기화하고 조작하기 위한 도구입니다.

  • Circuit 라이브러리 (qiskit.circuit.library) - Circuit 기반 양자 계산의 핵심 구성 요소인 다양한 Circuit, 명령어, Gate를 제공합니다.

  • 양자 정보 라이브러리 (qiskit.quantum_info) - 정확한 계산(샘플링 노이즈 없음)을 사용하여 양자 상태, 연산자 및 채널을 다루기 위한 툴킷입니다. 이 모듈을 사용하여 입력 관측값을 지정하고 프리미티브 쿼리 출력의 충실도를 분석하세요.

  • Transpiler (qiskit.transpiler) - 특정 디바이스 토폴로지에 맞게 양자 Circuit을 변환 및 적용하고, 실제 양자 처리 장치(QPU)에서의 실행을 최적화하기 위한 도구입니다.

  • Primitives (qiskit.primitives) - Sampler 및 Estimator 프리미티브의 기본 정의와 참조 구현을 포함하는 모듈로, 다양한 양자 하드웨어 제공업체가 자체 구현을 파생할 수 있습니다. Qiskit Runtime 프리미티브에 대한 자세한 내용은 문서를 참조하세요.

설치

Qiskit SDK 설치에 대한 더 자세한 소개는 설치 페이지를 확인하세요. 지금 바로 설치할 준비가 되었다면 다음을 실행하세요:

pip install qiskit

벤치마킹과 Benchpress 패키지

벤치마킹은 개발 워크플로의 여러 단계에서 양자 소프트웨어의 상대적인 성능을 비교하는 데 중요합니다. 양자 소프트웨어의 벤치마킹 테스트는 예를 들어 Circuit 구축, 조작 및 Transpiler 처리 속도와 품질을 살펴볼 수 있습니다. IBM Quantum은 가능한 가장 성능이 뛰어난 SDK를 제공하기 위해 노력하고 있으며, 이를 위해 Qiskit SDK는 선도적인 대학, 국가 연구소, IBM 연구원들이 개발한 1,000개 이상의 테스트로 벤치마킹됩니다. 이러한 테스트에 사용되는 벤치마킹 스위트인 Benchpress가 이제 오픈소스 패키지로 제공됩니다. 이제 Benchpress 패키지를 사용하여 양자 SDK 성능에 대한 자체 분석을 수행할 수 있습니다.

Qiskit 애드온

Qiskit 애드온은 유틸리티 규모의 알고리즘 발견을 위한 연구 기능의 모음입니다. 이러한 기능들은 양자 알고리즘 생성 및 실행을 위한 Qiskit의 고성능 기반 도구를 바탕으로 구축됩니다. 애드온은 새로운 양자 알고리즘을 확장하거나 설계하기 위해 워크플로에 연결되는 모듈식 소프트웨어 구성 요소입니다. 사용 가능한 Qiskit 애드온 세트와 시작하는 방법에 대해 자세히 알아보려면 문서를 방문하세요.

Qiskit 생태계

Qiskit 너머에는 "Qiskit"이라는 이름을 사용하지만 Qiskit 자체의 일부가 아닌 많은 오픈소스 프로젝트들이 있습니다. 이 프로젝트들은 Qiskit과 연동되어 핵심 Qiskit 워크플로를 보완하는 유용한 추가 기능을 제공할 수 있습니다. 이 프로젝트들 중 일부는 IBM Quantum 팀에 의해 유지 관리되며, 다른 것들은 더 넓은 오픈소스 커뮤니티에 의해 지원됩니다. Qiskit SDK는 개발자들이 기능을 확장하는 이러한 프로젝트를 쉽게 만들 수 있도록 모듈식이고 확장 가능한 방식으로 설계되었습니다.

Qiskit 생태계의 인기 있는 프로젝트로는 다음이 있습니다:

  • Qiskit Aer (qiskit-aer) - 현실적인 노이즈 모델을 갖춘 양자 컴퓨팅 시뮬레이터 패키지입니다. 여러 가지 다양한 시뮬레이션 방법을 사용하여 노이즈 유무에 관계없이 양자 Circuit을 실행하기 위한 인터페이스를 제공합니다. IBM Quantum에서 유지 관리합니다.
  • qBraid SDK (qbraid) - 양자 소프트웨어와 하드웨어 제공업체 모두를 위한 플랫폼 독립적인 양자 런타임 프레임워크로, 프로그램 사양 정의부터 작업 제출, 결과의 후처리 및 시각화에 이르는 양자 작업의 전체 수명 주기 관리를 간소화하도록 설계되었습니다. qBraid에서 유지 관리합니다.
  • mthree mthree - 차원 축소 단계에 이어 직접 LU 분해 또는 명목상 O(1) 단계로 수렴하고 병렬로 계산할 수 있는 전처리 반복 방법을 사용하여 수정된 측정 확률을 해결하는 측정 완화 기법인 M3(행렬 없는 측정 완화)를 구현하기 위한 패키지입니다. IBM Quantum에서 유지 관리합니다.

Qiskit 생태계 페이지에서 프로젝트 카탈로그와 자신의 프로젝트를 추천하는 방법에 대한 정보를 찾을 수 있습니다.

다음 단계

권장 사항
  • Qiskit Circuit 라이브러리에서 사용 가능한 Circuit 및 명령어 라이브러리에 대해 알아보세요.
  • Transpiler 섹션에서 Qiskit Transpiler와 다양한 Transpiler 처리 옵션에 대해 읽어보세요.
  • Qiskit 프리미티브를 사용하여 양자 프로그래밍을 간소화하는 방법을 알아보세요.