Qiskit Runtime 개요
프로그램 실행에 중요한 성능 향상을 제공하는 새로운 아키텍처인 Qiskit Runtime을 통해 미래의 퀀텀 컴퓨팅을 확인할 수 있습니다. 물리적 QPU 및 시뮬레이터(QPU의 고전적인 에뮬레이터)를 사용하면 마찰 없는 양자 컴퓨팅을 경험할 수 있습니다. 즉, 고전적인 컴퓨터가 물리적으로 양자 컴퓨터에 더 가까운 환경에서 양자 프로그램을 실행하는 능력입니다. 프로그램과 알고리즘을 테스트하고 클라우드 기반 퀀텀 런타임으로 새로운 모델을 개발하여 용량을 크게 개선하고 성능을 향상시킵니다.
새로운 IBM Quantum Platform 인터페이스가 조기 액세스 모드로 출시되었습니다. IBM Quantum 서비스와 함께 사용하기 위해 해당 인터페이스를 사용하는 것이 좋습니다. IBM Cloud 를 기반으로 구축되었기 때문에 마이그레이션이 간단합니다. 자세한 내용은 마이그레이션 가이드를 참조하십시오.
이 문서는 Qiskit Runtime의 현재 버전을 기반으로 합니다.
이 서비스는 베타 단계에 있으므로 다음 다이어그램에 설명된 일부 기능을 포함하여 많은 기능을 아직 사용할 수 없으며 여전히 개발 중입니다.
Qiskit Runtime을 사용하는 이유는 무엇입니까?
개선된 아키텍처를 사용하여 실험을 실행하십시오. VQE와 같은 다양한 알고리즘의 경우 양자 디바이스에 대한 대기 시간이 짧은 연결을 사용하여 고전적인 계산과 양자 계산 사이의 루프가 발생합니다.
기본요소를 사용하여 빠르게 시작: 기본요소 프로그램은 애플리케이션을 빌드하고 사용자 정의하기 위한 단순화된 인터페이스를 제공합니다. 회로 및 리턴 컷 계수, 사전 컷 판독 또는 관찰 가능한 기대값을 제출할 수 있습니다. (일부 기본요소는 향후 기능입니다.)
기본 프로그램 개요
Qiskit Runtime 은 사용자가 퀀텀 컴퓨터에서 작업을 실행하는 방법을 확장하기 위해 원시 프로그램 양식의 인터페이스 세트를 도입합니다.
백엔드에 대한 기존 Qiskit 인터페이스 (backend.run()
) 는 모든 작업에 대한 회로 및 리턴 계수 목록을 승인하도록 설계되었습니다. 시간이 지나면서, 사용자들이 양자 컴퓨팅을 위한 다양한 목적들을 가지고 있다는 것이 분명해졌고, 따라서 그들의 컴퓨팅 작업에 대한 요구 사항들을 정의하는 방식들이 확장되고 있다. 따라서 결과도 달라 보인다.
예를 들어, 알고리즘 연구자 및 개발자는 계수 이상의 정보에 관심을 둡니다. 이는 관찰 가능 항목의 양 확률 및 기대값을 효율적으로 계산하는 데 더 초점을 둡니다.
기본 요소는 모듈식 알고리즘 및 기타 고차 프로그램을 더 쉽게 빌드할 수 있도록 하는 방법을 제공합니다. 단순히 계수를 리턴하는 대신 더 즉각적으로 의미 있는 정보를 리턴합니다. 또한 IBM Quantum 하드웨어 및 소프트웨어의 최신 최적화에 액세스할 수 있는 완벽한 방법을 제공합니다.
확률 분포를 사용하여 수행할 수 있는 기본 조작은 샘플을 추출하거나 수량을 추정하는 것입니다. 따라서, 이러한 동작들은 양자 알고리즘 개발의 기본적인 빌딩 블록들을 형성한다. 그만큼Qiskit Runtime 프리미티브(Sampler 및 Estimator)는 이러한 샘플링 및 추정 작업을 QPU에 대한 핵심 인터페이스로 사용합니다. IBM Quantum 문서 에서 Qiskit Runtime 기본 프로그램으로 수행할 수 있는 작업에 대해 자세히 알아보십시오.
더 빠르고 효율적인 결과를 보장하기 위해, 2024년 3월 1일부터 회로와 옵저버블은 Qiskit Runtime 프리미티브에 제출하기 전에 QPU가 지원하는 명령어만 사용하도록 변환해야 합니다( 명령어 집합 아키텍처(ISA) 회로 및 옵저버블이라고 함). 회로 변환에 대한 지시사항은 이식 문서 를 참조하십시오.
이 변경사항은 다음과 같은 중요한 영향을 미칩니다.
- 특정 백엔드에서 사용 가능한 회로를 일치시키기 위해 이식이 수행되므로 반드시 백엔드를 지정해야 합니다. 액세스 권한이 있는 가장 사용량이 적은 QPU를 사용하는 옵션은 작동하지 않습니다. 백엔드를 지정하지 않으면 오류가 수신됩니다.
- 기본요소는 더 이상 레이아웃 또는 라우팅 오퍼레이션을 수행하지 않습니다. 따라서 해당 태스크를 참조하는 이식 옵션은 더 이상 적용되지 않습니다. 기본적으로 샘플러 V2 를 제외한 모든 기본요소는 여전히 입력 회로를 최적화합니다. 모든 최적화를 생략하려면
optimization_level=0
를 설정하십시오.
사용 가능한 기본요소
다음 기본 프로그램을 사용할 수 있습니다.
기본 | 설명 | 출력 예 |
---|---|---|
샘플러 | 사용자가 회로를 입력한 후 모든 컷 (V2) 또는 양의 확률 (V1) 에서 출력 (비트 문자열) 을 리턴할 수 있습니다. 이 생성을 통해 사용자는 파괴적 간섭의 컨텍스트에서 여러 관련 데이터 점의 가능성을 보다 효율적으로 평가할 수 있습니다. | ![]() |
추정량 | 사용자가 회로 및 관찰 가능 항목의 목록을 지정하고 목록 간에 선택적으로 그룹화하여 매개변수 입력에 대한 기대값 및 분산을 효율적으로 평가할 수 있습니다. 사용자가 많은 알고리즘에 필요한 양자 연산자의 기대값을 효율적으로 계산하고 해석할 수 있도록 설계되었습니다. | ![]() |
기본요소 사용 방법
기본 프로그램 인터페이스는 퀀텀 컴퓨터에서 실행하려는 태스크 유형 및 결과로 리턴하려는 해당 데이터에 따라 다릅니다. 프로그램에 적합한 기본요소를 식별한 후 Qiskit을 사용하여 입력 (예: 회로, 관찰 가능 항목 (Estimator의 경우) 및 사용자 정의 가능한 옵션) 을 준비하여 작업을 최적화할 수 있습니다.
V2 기본요소
이 문서에서는 버전 2기본요소 (qiskit-ibm-runtime 0.21.0에서 사용 가능) 를 사용합니다. 버전 2는 Qiskit Runtime 기본요소가 도입된 이후 처음으로 주요 인터페이스가 변경되었습니다. 이 버전에서는 사용자 피드백을 기반으로 다음과 같은 주요 새 기능을 소개합니다.
기본요소의 버전 2는 입력 및 출력에 대한 새 유형과 함께 샘플러 및 추정량 (BaseSamplerV2 및 BaseEstimatorV2) 에 대한 새 기본 클래스와 함께 도입되었습니다.
새 인터페이스를 사용하면 해당 회로에 대해 단일 회로 및 다중 관찰 가능 항목 (Estimator를 사용하는 경우) 및 매개변수 값 세트를 지정할 수 있으므로 매개변수 값 세트 및 관찰 가능 항목을 효율적으로 스윕할 수 있습니다. 이전에는 결합할 데이터의 크기와 일치하도록 동일한 회로를 여러 번 지정해야 했습니다. 또한 optimization_level
및 resilience_level
(Estimator를 사용하는 경우) 를 단순 노브로 계속 사용할 수 있지만 V2 기본요소는 개별 오류 완화/억제 메소드를 켜거나 끌 수 있는 유연성을 제공하여 사용자 요구에 맞게 사용자 정의합니다.
총 작업 실행 시간을 줄이려면V2 프리미티브는 대상 QPU에서 지원하는 명령어(ISA(명령어 세트 아키텍처) 회로 및 관찰 가능 항목이라고 함)를 사용하는 회로 및 관찰 가능 항목만 허용합니다. V2 기본요소는 레이아웃, 라우팅 및 변환 조작을 수행하지 않지만 optimization_level>0
를 지정하는 경우 회로를 계속 최적화합니다. 회로 변환에 대한 지시사항은 이식 문서 를 참조하십시오.
V2 샘플러는 양자 회로의 실행에서 출력 레지스터를 샘플링하는 핵심 태스크에 초점을 맞추도록 단순화되었습니다. 유형이 프로그램에 의해 정의되는 샘플을 가중치 없이 리턴합니다. 또한 출력 데이터는 프로그램에서 정의한 출력 레지스터 이름으로 구분됩니다. 이 변경은 고전적 제어 플로우를 사용하는 회로에 대한 향후 지원을 가능하게 합니다.
자세한 정보는 V2 기본 이주 안내서를 참조하십시오.
다음 단계
- 시작하기 안내서 를 사용하여 인스턴스를 작성하고 첫 번째 작업을 실행하십시오.
- 기본요소 시작하기
- 학습서, 과정 및 도구를 사용하여 학습
- 자세한 정보는 Qiskit Runtime 학습서 비디오 를 보십시오.
- cURL 명령을 사용하여 클라우드 서비스 인스턴스에 대해 작업하는 방법을 이해하려면 Qiskit Runtime API 참조 를 보십시오.
- IBM Quantum Computing에 대해 알아보십시오.