리소스 추정기의 결과 데이터 이해

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

필수 조건

  • Python 및 Pip설치된 Python 환경입니다.

  • 최신 버전의 Visual Studio Code 또는 웹에서 VS Code를 엽니다.

  • Azure Quantum Development Kit, PythonJupyter 확장이 설치된 VS Code

  • 최신 Azure Quantum qsharpqsharp-widgets 패키지입니다.

    python -m pip install --upgrade qsharp qsharp-widgets 
    

출력 매개 변수

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

result['jobParams']

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

최상위 출력 매개 변수 데이터 형식 설명
status string 작업의 상태, 항상 Succeeded.
jobParams 사전 target 입력으로 전달되는 작업의 매개 변수입니다.
physicalCounts 사전 실제 자원 추정치입니다. 자세한 내용은 실제 개수를 참조 하세요.
physicalCountsFormatted 사전 보고서 데이터에 표시하기 위해 서식이 지정된 실제 리소스 추정치입니다. 자세한 내용은 서식이 지정된 실제 개수를 참조하세요.
logicalQubit 사전 논리 큐비트 속성입니다. 자세한 내용은 논리 큐비트를 참조하세요.
tfactory 사전 T 팩터리 속성입니다.
logicalCounts 사전 사전 레이아웃 논리 리소스는 예상합니다. 자세한 내용은 논리 개수를 참조 하세요.
reportData 사전 리소스 예측 보고서에 대한 생성 데이터입니다.

실제 개수

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

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

물리적 개수 분석

사전 physicalCountsbreakdown 다음 항목을 포함합니다.

출력 매개 변수 데이터 형식 설명
algorithmicLogicalQubits number 알고리즘을 실행하는 데 필요한 논리 큐비트는 T 팩터리에 대한 리소스를 포함하지 않습니다.
algorithmicLogicalDepth number 알고리즘을 실행하는 데 필요한 논리 주기이며 T 팩터리에 대한 리소스는 포함하지 않습니다.
logicalDepth number T 팩터리 실행 시간이 더 빠를 때마다 계산되는 조정된 주기 수는 알고리즘 실행일 수 있습니다.
numTstates number 알고리즘에서 사용하는 T 상태의 수입니다.
clockFrequency number 초당 논리 주기 수입니다.
numTfactories number T 팩터리 수입니다(균일한 T 팩터리 설계 가정).
numTfactoryRuns number 모든 병렬 T 팩터리를 실행하는 빈도입니다.
physicalQubitsForTfactories number 모든 T 팩터리에 대한 실제 큐비트 수입니다.
physicalQubitsForAlgorithm number 알고리즘 레이아웃의 실제 큐비트 수입니다.
requiredLogicalQubitErrorRate number 필요한 논리적 오류 비율입니다.
requiredLogicalTstateErrorRate number 필요한 논리적 T 상태 오류 비율입니다.
numTsPerRotation number 회전당 T 게이트 수입니다.
cliffordErrorRate number 큐비트 매개 변수를 기반으로 하는 Clifford 오류 비율입니다.

서식이 지정된 실제 개수

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

출력 매개 변수 데이터 형식 설명
runtime string 인간 친화적 문자열인 총 런타임입니다.
rqops string 메트릭 접미사로 서식이 지정된 QOPS(신뢰할 수 있는 양자 연산 수)입니다.
physicalQubits string 메트릭 접미사가 있는 총 실제 큐비트 수입니다.
algorithmicLogicalQubits string 메트릭 접미사가 있는 알고리즘 논리 큐비트입니다.
algorithmicLogicalDepth string 메트릭 접미사가 있는 알고리즘 논리 깊이입니다.
logicalDepth string 메트릭 접미사를 사용하여 알고리즘 논리 깊이를 조정할 수 있습니다.
numTstates string 메트릭 접미사가 있는 T 상태 수입니다.
numTfactories string 메트릭 접미사가 있는 T 팩터리 복사본 수입니다.
numTfactoryRuns string 메트릭 접미사가 있는 T 팩터리 실행 수입니다.
physicalQubitsForAlgorithm string 메트릭 접미사가 있는 알고리즘의 실제 큐비트 수입니다.
physicalQubitsForTfactories string 메트릭 접미사가 있는 T 팩터리의 실제 큐비트 수입니다.
physicalQubitsForTfactoriesPercentage string 모든 T 팩터리에 대한 실제 큐비트 수(백분율에서 합계)입니다.
requiredLogicalQubitErrorRate string 잘린 필수 논리 큐비트 오류 비율입니다.
requiredLogicalTstateErrorRate string 잘린 필수 T 상태 오류 비율입니다.
physicalQubitsPerLogicalQubit string 메트릭 접미사가 있는 논리 큐비트당 실제 큐비트 수입니다.
logicalCycleTime string 논리적 큐비트의 논리적 주기 시간(사람이 친숙한 문자열)입니다.
clockFrequency string 사람이 친숙한 문자열인 초당 논리 주기 수입니다.
logicalErrorRate string 잘린 논리적 오류 비율입니다.
tfactoryPhysicalQubits string 메트릭 접미사가 있는 T 팩터리의 실제 큐비트 수(또는 T 팩터리 없음)
tfactoryRuntime string 단일 T 팩터리의 런타임을 사람 친화적인 문자열(또는 T 팩터리 없음 메시지)입니다.
numInputTstates string 입력 T 상태(또는 T 팩터리 없음 메시지)의 수입니다.
numUnitsPerRound string 문자열로 구분된 쉼표(또는 T 팩터리 없음) 증류 라운드당 단위 수입니다.
unitNamePerRound string 문자열로 구분된 각 증류 라운드의 단위 이름(또는 T 팩터리 없음 메시지)입니다.
codeDistancePerRound string 코드는 문자열로 구분된 쉼표(또는 T 팩터리 없음 메시지)의 증류 라운드당 거리입니다.
physicalQubitsPerRound string 증류 라운드당 실제 큐비트 수, 문자열로 구분된 쉼표(또는 T 팩터리 없음 메시지)
tfactoryRuntimePerRound string 쉼표로 구분된 인간 친화적인 문자열(또는 T 팩터리 없음 메시지)으로 표시되는 각 증류 라운드의 런타임입니다.
tstateLogicalErrorRate string 잘린 논리적 T 상태 오류 비율(또는 T 팩터리 없음 메시지).
logicalCountsNumQubits string 메트릭 접미사가 있는 큐비트(사전 레이아웃) 수입니다.
logicalCountsTCount string 메트릭 접미사가 있는 T 게이트(사전 레이아웃) 수입니다.
logicalCountsRotationCount string 메트릭 접미사가 있는 회전 게이트(사전 레이아웃) 수입니다.
logicalCountsRotationDepth string 메트릭 접미사가 있는 회전 깊이(사전 레이아웃)입니다.
logicalCountsCczCount string 메트릭 접미사가 있는 CCZ 게이트(사전 레이아웃) 수입니다.
logicalCountsCcixCount string 메트릭 접미사가 있는 CCiX 게이트(사전 레이아웃) 수입니다.
logicalCountsMeasurementCount string 메트릭 접미사가 있는 단일 큐비트 측정(사전 레이아웃) 수입니다.
errorBudget string 총 오류 예산이 잘렸습니다.
errorBudgetLogical string 논리적 오류에 대한 오류 예산이 잘렸습니다.
errorBudgetTstates string 오류 T 상태 증류에 대한 오류 예산이 잘렸습니다.
errorBudgetRotations string 잘못된 회전 합성에 대한 오류 예산이 잘렸습니다.
numTsPerRotation string 회전당 형식이 지정된 Ts 수입니다(없음일 수 있습니다).

논리 큐비트

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

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

논리 개수

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

출력 매개 변수 데이터 형식 설명
numQubits number 큐비트의 사전 레이아웃 수입니다.
tCount number T 게이트의 사전 레이아웃 번호입니다.
rotationCount number 회전 게이트의 사전 레이아웃 수입니다.
rotationDepth number 사전 레이아웃 회전 깊이입니다.
cczCount number CCZ 게이트의 사전 레이아웃 번호입니다.
ccixCount number CCiX 게이트의 사전 레이아웃 수입니다.
measurementCount number 단일 큐비트 측정의 사전 레이아웃 수입니다.

리소스 예측 작업에 대해 미리 계산된 논리 개수 집합을 사용하려는 경우 Python 작업을 사용하여 LogicalCounts 알려진 예측값을 리소스 예측 도구에 전달할 수 있습니다. 자세한 내용은 리소스 추정기에서 알려진 예상치를 사용하는 방법을 참조 하세요.

공간 다이어그램

전체 물리적 리소스 예측은 알고리즘 및 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

시공간 다이어그램

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

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

참고 항목

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

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

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.

다음 단계