리소스 예측 도구의 결과 데이터 이해
리소스 예측 도구의 출력 매개 변수 및 다이어그램을 해석하고 검색하는 방법을 알아봅니다. 이 문서에서는 Jupyter Notebook에서 리소스 예측 도구의 결과에 프로그래밍 방식으로 액세스하는 방법을 설명합니다. 명령 팔레트에서 Visual Studio Code 리소스 예측 도구를 실행하는 경우 다음 명령이 적용되지 않습니다.
사전 요구 사항
Python 및 Pip가 설치된 Python 환경.
최신 버전의 Visual Studio Code또는 웹에서 VS Code를 엽니다.
Azure Quantum Development Kit, Python 및 Jupyter 확장이 설치된 VS Code.
최신 Azure Quantum
qsharp
및qsharp-widgets
패키지.python -m pip install --upgrade qsharp qsharp-widgets
출력 매개 변수
리소스 추정기의 출력 데이터는 콘솔에 인쇄되어 프로그래밍 방식으로 액세스할 수 있는 보고서입니다. 예를 들어 다음 코드 조각은 리소스 예측 매개 변수에 액세스하는 방법을 보여 있습니다.
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)
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.
다음 단계
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기