리소스 예측 도구의 결과 데이터 이해

리소스 예측 도구의 출력 매개 변수 및 다이어그램을 해석하고 검색하는 방법을 알아봅니다. 이 문서에서는 Jupyter Notebook에서 리소스 예측 도구의 결과에 프로그래밍 방식으로 액세스하는 방법을 설명합니다. 명령 팔레트에서 Visual Studio Code 리소스 예측 도구를 실행하는 경우 다음 명령이 적용되지 않습니다.

사전 요구 사항

출력 매개 변수

리소스 추정기의 출력 데이터는 콘솔에 인쇄되어 프로그래밍 방식으로 액세스할 수 있는 보고서입니다. 예를 들어 다음 코드 조각은 리소스 예측 매개 변수에 액세스하는 방법을 보여 있습니다.

result['job_params']

다음 출력 데이터는 프로그래밍 방식으로 액세스할 수 있는 가능한 항목을 구성합니다.

최상위 출력 매개 변수 데이터 형식 Description
status 문자열 작업의 상태 항상 Succeeded입니다.
job_params 사전 target 입력으로 전달되는 작업의 매개 변수입니다.
physical_counts 사전 실제 리소스 추정치입니다. 자세한 내용은 물리적 개수를 참조하세요.
physical_counts_formatted 사전 실제 리소스는 보고서 데이터에 표시하기 위해 형식이 지정된 것으로 추정됩니다. 자세한 내용은 형식이 지정된 물리적 개수를 참조하세요.
logical_qubit 사전 논리 큐비트 속성입니다. 자세한 내용은 논리 큐비트를 참조하세요.
tfactory 사전 T 팩터리 속성입니다.
logical_counts 사전 사전 레이아웃 논리 리소스는 예상합니다. 자세한 내용은 논리 개수를 참조하세요.
report_data 사전 리소스 예측 보고서에 대한 생성 데이터입니다.

물리적 개수

사전에는 physical_counts 다음 항목이 포함됩니다.

출력 매개 변수 데이터 형식 Description
physical_qubits number 실제 큐비트의 총 수입니다.
runtime number 알고리즘을 실행하는 총 런타임(nanoseconds)입니다.
rqops number QOPS(신뢰할 수 있는 양자 연산 수)입니다.
breakdown 사전 예상 분석. 자세한 내용은 물리적 개수 분석을 참조하세요.

물리적 개수 분석

physical_counts 사전에는 breakdown 다음 항목이 포함됩니다.

출력 매개 변수 데이터 형식 Description
algorithmic_logical_qubits number 알고리즘을 실행하는 데 필요한 논리 큐비트는 T 팩터리에 대한 리소스를 포함하지 않습니다.
algorithmic_logical_depth number 알고리즘을 실행하는 데 필요한 논리 주기이며 T 팩터리에 대한 리소스는 포함하지 않습니다.
logical_depth number T 팩터리 실행 시간이 더 빨라질 때마다 계산되는 조정된 주기 수는 알고리즘 실행입니다.
num_tstates number 알고리즘에서 사용하는 T 상태 수입니다.
clock_frequency number 초당 논리 주기 수입니다.
num_tfactories number T 팩터리 수입니다(균일한 T 팩터리 설계 가정).
num_tfactory_runs number 모든 병렬 T 팩터리를 실행하는 빈도입니다.
physical_qubits_for_tfactories number 모든 T 팩터리에 대한 실제 큐비트 수입니다.
physical_qubits_for_algorithm number 알고리즘 레이아웃의 실제 큐비트 수입니다.
required_logical_qubit_error_rate number 필요한 논리적 오류율입니다.
required_logical_tstate_error_rate number 필요한 논리적 T 상태 오류율입니다.
num_ts_per_rotation number 회전당 T 게이트 수입니다.
clifford_error_rate number 큐비트 매개 변수를 기반으로 하는 클리포드 오류율입니다.

서식이 지정된 물리적 개수

사전에는 physical_counts_formatted 다음 항목이 포함됩니다.

출력 매개 변수 데이터 형식 Description
runtime 문자열 인간 친화적인 문자열인 총 런타임입니다.
rqops 문자열 메트릭 접미사로 서식이 지정된 QOPS(신뢰할 수 있는 양자 연산 수)입니다.
physical_qubits 문자열 메트릭 접미사가 있는 실제 큐비트의 총 수입니다.
algorithmic_logical_qubits 문자열 메트릭 접미사가 있는 알고리즘 논리 큐비트입니다.
algorithmic_logical_depth 문자열 메트릭 접미사가 있는 알고리즘 논리 깊이입니다.
logical_depth 문자열 메트릭 접미사를 사용하여 알고리즘 논리 깊이를 조정할 수 있습니다.
num_tstates 문자열 메트릭 접미사가 있는 T 상태 수입니다.
num_tfactories 문자열 메트릭 접미사가 있는 T 팩터리 복사본 수입니다.
num_tfactory_runs string 메트릭 접미사가 있는 T 팩터리 실행 수입니다.
physical_qubits_for_algorithm 문자열 메트릭 접미사가 있는 알고리즘의 실제 큐비트 수입니다.
physical_qubits_for_tfactories 문자열 메트릭 접미사가 있는 T 팩터리의 실제 큐비트 수입니다.
physical_qubits_for_tfactories_percentage 문자열 모든 T 팩터리에 대한 실제 큐비트 수(백분율에서 합계)입니다.
required_logical_qubit_error_rate 문자열 잘린 필수 논리 큐비트 오류율입니다.
required_logical_tstate_error_rate 문자열 잘린 필수 T 상태 오류율입니다.
physical_qubits_per_logical_qubit 문자열 메트릭 접미사가 있는 논리 큐비트당 실제 큐비트 수입니다.
logical_cycle_time string 논리적 큐비트의 논리적 주기 시간(인간 친화적인 문자열)입니다.
clock_frequency string 사람이 친숙한 문자열인 초당 논리 주기 수입니다.
logical_error_rate 문자열 잘린 논리적 오류율입니다.
tfactory_physical_qubits 문자열 메트릭 접미사가 있는 T 팩터리의 실제 큐비트 수(또는 T 팩터리 없음 메시지).
tfactory_runtime string 단일 T 팩터리의 런타임을 사람 친화적인 문자열(또는 T 팩터리 없음 메시지)입니다.
num_input_tstates 문자열 입력 T 상태(또는 T 팩터리 없음 메시지)의 수입니다.
num_units_per_round 문자열 증류 라운드당 단위 수, 문자열로 구분된 쉼표(또는 T 팩터리 없음 메시지)입니다.
unit_name_per_round 문자열 각 증류 라운드의 단위 이름, 문자열로 구분된 쉼표(또는 T 팩터리 없음 메시지)입니다.
code_distance_per_round 문자열 코드는 증류 라운드당 거리, 문자열로 구분된 쉼표(또는 T 팩터리 없음 메시지)입니다.
physical_qubits_per_round 문자열 증류 라운드당 실제 큐비트 수, 문자열로 구분된 쉼표(또는 T 팩터리 없음 메시지)입니다.
tfactory_runtime_per_round 문자열 쉼표로 구분된 인간 친화적인 문자열(또는 T 공장이 없다는 메시지)으로 표시되는 각 증류 라운드의 런타임입니다.
tstate_logical_error_rate 문자열 잘린 논리 T 상태 오류율(또는 T 팩터리 없음 메시지).
logical_counts_num_qubits 문자열 메트릭 접미사가 있는 큐비트(사전 레이아웃) 수입니다.
logical_counts_t_count 문자열 메트릭 접미사가 있는 T 게이트(사전 레이아웃) 수입니다.
logical_counts_rotation_count 문자열 메트릭 접미사가 있는 회전 게이트(사전 레이아웃) 수입니다.
logical_counts_rotation_depth 문자열 메트릭 접미사가 있는 회전 깊이(사전 레이아웃)
logical_counts_ccz_count 문자열 메트릭 접미사가 있는 CCZ 게이트(사전 레이아웃) 수입니다.
logical_counts_ccix_count 문자열 메트릭 접미사가 있는 CCiX 게이트(사전 레이아웃) 수입니다.
logical_counts_measurement_count 문자열 메트릭 접미사가 있는 단일 큐비트 측정(사전 레이아웃)의 수입니다.
error_budget 문자열 잘린 총 오류 예산.
error_budget_logical 문자열 논리적 오류에 대한 오류 예산이 잘렸습니다.
error_budget_tstates string 결함이 있는 T 상태 증류에 대한 오류 예산이 잘렸습니다.
error_budget_rotations string 잘못된 회전 합성에 대한 오류 예산이 잘렸습니다.
num_ts_per_rotation string 회전당 형식이 지정된 Ts 수(없음일 수 있습니다).

논리 큐비트

사전에는 logical_qubit 다음 항목이 포함됩니다.

출력 매개 변수 데이터 형식 Description
code_distance number 논리 큐비트의 계산된 코드 거리입니다.
physical_qubits number 각 논리 큐비트의 실제 큐비트 수입니다.
logical_cycle_time number 하나의 논리 작업을 실행할 시간입니다.
logical_error_rate number 논리 큐비트의 논리적 오류 비율입니다.

논리적 개수

사전에는 logical_counts 다음 항목이 포함됩니다.

출력 매개 변수 데이터 형식 Description
num_qubits number 미리 레이아웃된 큐비트 수입니다.
t_count number T 게이트의 사전 레이아웃 수입니다.
rotation_count number 회전 게이트의 사전 레이아웃 수입니다.
rotation_depth number 사전 레이아웃 회전 깊이.
ccz_count number CCZ 게이트의 사전 레이아웃 수입니다.
ccix_count number CCiX 게이트의 사전 레이아웃 수입니다.
measurement_count number 단일 큐비트 측정의 사전 레이아웃 수입니다.

공간 다이어그램

전체 물리적 리소스 추정은 알고리즘 및 T 팩터리 복사본 모두에 사용되는 총 물리적 큐비트 수로 구성됩니다. 공간 다이어그램을 사용하여 이러한 둘 사이의 분포를 검사할 수 있습니다.

공간 다이어그램은 알고리즘 및 T 팩터리에 사용되는 실제 큐비트의 비율을 보여 줍니다. T 팩터리 복사본 수는 T 팩터리의 실제 큐비트 수에 영향을 줍니다.

Jupyter Notebook 패키지의 위젯을 SpaceChart 사용하여 공간 다이어그램에 qsharp-widgets 액세스할 수 있습니다.

import qsharp

from qsharp_widgets import SpaceChart
SpaceChart(result)

알고리즘 큐비트와 T 팩터리 큐비트 간의 총 물리적 큐비트 분포를 보여 주는 원형 다이어그램 T 팩터리 복사본 수와 T 팩터리당 실제 큐비트 수를 분석한 테이블이 있습니다.

Pareto 프론티어 추정을 사용하여 여러 매개 변수 구성 target 을 실행하는 경우 의 특정 솔루션에 대한 공간 다이어그램을 그릴 수 있습니다. 예를 들어 다음 코드는 매개 변수의 첫 번째 구성과 세 번째로 짧은 런타임에 대한 공간 다이어그램을 그리는 방법을 보여 있습니다.

SpaceChart(result[0], 2) # First (estimate index=0) run and third (point index=2) shortest runtime

시공간 다이어그램

양자 컴퓨팅에서는 실제 큐비트 수와 알고리즘의 런타임 간에 장단점이 있습니다. 알고리즘의 런타임을 줄이기 위해 가능한 한 많은 물리적 큐비트를 할당하는 것을 고려할 수 있습니다. 그러나 물리적 큐비트의 수는 양자 하드웨어에서 사용할 수 있는 물리적 큐비트의 수에 의해 제한됩니다. 런타임과 시스템 규모 간의 절충을 이해하는 것은 리소스 예측의 가장 중요한 측면 중 하나입니다.

알고리즘의 리소스를 추정할 때 시공간 다이어그램을 사용하여 실제 큐비트 수와 알고리즘의 런타임 간의 절충을 시각화할 수 있습니다.

참고

시공간 다이어그램에서 여러 최적의 조합을 보려면 예측 유형을 파레토 프론티어 추정으로 설정해야 합니다. : 자원 예측 계산 옵션을 사용하여 Q#Visual Studio Code 리소스 추정기를 실행하는 경우 Pareto 프론티어 추정은 기본적으로 사용하도록 설정됩니다.

시공간 다이어그램을 사용하면 양자 하드웨어의 제약 조건을 충족하는 {큐비트 수, 런타임} 쌍의 최적의 조합을 찾을 수 있습니다. 다이어그램은 각 {큐비트 수, 런타임} 쌍에 대한 실제 큐비트 수와 알고리즘의 런타임을 보여 줍니다.

Jupyter Notebook 시공간 다이어그램을 실행하려면 패키지의 EstimatesOverview 위젯을 qsharp-widgets 사용할 수 있습니다.

import qsharp

from qsharp_widgets import EstimatesOverview

EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])

리소스 예측 도구의 큐비트 시간 다이어그램을 보여 주는 스크린샷

예측 세부 정보를 보려면 다이어그램의 각 지점을 마우스로 가리킬 수 있습니다.

시공간 다이어그램은 동일한 알고리즘에 대한 여러 매개 변수 구성을 target 비교할 때 특히 유용합니다.

리소스 예측기에서 여러 매개 변수 구성을 실행할 때의 시공간 다이어그램 및 결과 테이블을 보여 주는 스크린샷

참고

리소스 예측 도구로 작업하는 동안 문제가 발생하면 문제 해결 페이지를 검사 또는 에 문의하세요AzureQuantumInfo@microsoft.com.

다음 단계