주 콘텐츠로 건너뛰기
이 프로젝트는 베타 단계입니다. 버그를 발견하셨나요? GitHub 이슈 만들기. 질문이나 아이디어가 있으신가요? Discussions에서 질문하기 — 피드백을 기다립니다!
이 페이지의 번역 품질은 어떻습니까?

Qiskit 소개

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

또한 많은 오픈 소스 프로젝트가 더 넓은 Qiskit 생태계에 속해 있습니다. 이러한 소프트웨어 도구는 Qiskit 자체의 일부는 아니지만 Qiskit과 연동되며 유용한 추가 기능을 제공할 수 있습니다.

IBM은 양자 컴퓨팅의 책임 있는 개발을 위해 노력하고 있습니다. 책임 있는 양자 컴퓨팅 항목에서 자세한 내용과 책임 있는 양자 원칙을 확인하세요.

Qiskit SDK​

Qiskit SDK(패키지 이름 qiskit)는 확장된(정적, 동적, 스케줄링된) 양자 회로, 연산자, primitive 수준에서 양자 컴퓨터를 다루기 위한 오픈 소스 SDK입니다. 이 라이브러리는 Qiskit의 핵심 구성 요소로, Qiskit이라는 이름 아래 가장 큰 패키지이며 양자 계산을 위한 가장 폭넓은 도구 모음을 갖추고 있고, 다른 많은 구성 요소가 이와 연동됩니다.

Qiskit SDK의 가장 유용한 기능은 다음과 같습니다.

  • 회로 구성 도구 (qiskit.circuit) - 레지스터, 회로, 명령어, 게이트, 파라미터, 제어 흐름 객체를 초기화하고 조작합니다.

  • 회로 라이브러리 (qiskit.circuit.library) - 회로, 명령어, 게이트의 방대한 모음으로, 회로 기반 양자 계산의 핵심 구성 요소입니다.

  • 양자 정보 라이브러리 (qiskit.quantum_info) - 샘플링 노이즈 없이 정확한 계산으로 양자 상태, 연산자, 채널을 다루는 도구 모음입니다. 이 모듈을 사용하여 입력 observable을 지정하고 primitive 쿼리 출력의 충실도를 분석하세요.

  • Transpiler (qiskit.transpiler) - 특정 장치 토폴로지에 맞게 양자 회로를 변환 및 조정하고, 실제 양자 처리 장치(QPU)에서의 실행에 맞게 최적화합니다.

  • Primitives (qiskit.primitives) - Sampler 및 Estimator primitive의 기본 정의와 참조 구현을 담고 있는 모듈로, 서로 다른 양자 하드웨어 제공업체가 이를 바탕으로 자체 구현을 만들 수 있습니다. IBM Quantum primitive에 대한 자세한 내용은 문서를 참조하세요.

설치​

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

pip install qiskit

벤치마킹​

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

다음 단계​

권장 사항
  • Qiskit 회로 라이브러리에서 제공하는 회로와 명령어 라이브러리에 대해 알아보세요.
  • Transpiler 섹션에서 Qiskit Transpiler와 다양한 트랜스파일 옵션에 대해 읽어 보세요.
  • primitive 인터페이스를 사용하여 양자 프로그래밍을 간소화하는 방법을 알아보세요.
  • Qiskit과 연동하고 그 기능을 확장하는 오픈 소스 프로젝트를 제공하는 Qiskit 생태계를 확인해 보세요.