Azure Quantum 서비스를 사용할 때 연결 또는 작업 관련 문제가 발생할 수 있습니다. 이 문서에서는 이러한 문제를 해결하는 방법을 설명합니다.
작업 영역 연결 문제
문제: pytket-azure 사용하여 Azure Quantum 인증할 수 없습니다.
환경 변수 pytket-azure, "AZURE_TENANT_ID" 및 "AZURE_CLIENT_ID" 사용하여 CI 환경에서 "AZURE_CLIENT_SECRET" 패키지로 Azure Quantum 인증하려고 하면 다음 오류가 발생할 수 있습니다.
Code: InsufficientPermissions
Message: There are not enough permissions to perform this operation.
이 문제를 해결하려면 대신 연결 문자열 및 환경 변수 "AZURE_QUANTUM_CONNECTION_STRING" 사용하여 인증합니다. 자세한 내용은 연결 문자열로 연결하기를 참조하세요.
connection_string = "" # Add your connection string
import os
os.environ["AZURE_QUANTUM_CONNECTION_STRING"] = connection_string
작업 제출 문제
문제: 작업을 제출할 대상을 target 찾을 수 없습니다.
작업을 실행하려는 Azure Quantum
문제: 작업이 잘못된 상태 코드 '권한 없음'을 반환합니다.
이 이슈를 해결하려면 다음 단계를 따릅니다.
- Azure 포털 로그인하고 계정을 인증합니다.
- 작업을 제출하려는 Quantum 작업 영역으로 이동합니다.
- 작업 영역 탐색 창에서 액세스 제어(IAM)를 선택합니다.
- 내 액세스 보기 단추를 선택합니다. 할당 창이 열립니다.
- 역할 할당 테이블의 역할 열에서 소유자 또는 기여자 역할이 있는지 확인합니다.
- 역할이 없는 경우 구독 관리자에게 이 작업 영역에 대한 소유자 또는 기여자 역할을 할당하도록 요청합니다.
문제: "AuthorizationFailure - 이 요청은 이 작업을 수행할 권한이 없습니다."
Azure Quantum 서비스에 대한 유효한 연결이 있는 경우에도 이 메시지가 표시되면 공용 네트워크 액세스를 차단하도록 스토리지 계정이 구성될 수 있습니다. Azure Quantum 서비스는 공용 인터넷에 액세스할 수 있는 스토리지 계정만 지원합니다.
스토리지 계정 설정을 확인하려면 다음 단계를 수행합니다.
- Azure 포털 로그인합니다.
- Quantum 작업 영역으로 이동합니다.
- 개요 페이지에서 Storage 계정을 선택합니다.
- 탐색 창에서 보안 + 네트워킹 드롭다운을 확장하고 네트워킹을 선택합니다.
- 공용 액세스 탭의 공용 네트워크 액세스 섹션에서 관리 단추를 선택합니다.
- 공용 네트워크 액세스 설정의 경우 [사용]을 선택합니다. 공용 네트워크 액세스 범위 설정의 경우 모든 네트워크에서 사용을 선택합니다.
- 저장 단추를 선택합니다.
문제: Azure CLI Q# 프로그램을 제출할 때 "프로그램을 컴파일하지 못했습니다."
az quantum submit Azure CLI 명령을 사용하여 작업을 제출하면 다음과 같은 오류 메시지가 표시될 수 있습니다.
az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)
이 오류는 컴파일이 실패하는 Q# 프로그램에 문제가 있을 때 발생합니다. Q# 코드에 적절한 구문이 있는지 확인합니다.
문제: 컴파일러 오류 "잘못된 수의 게이트 매개 변수"
로컬 Jupyter Notebook 또는 CLI 환경에서 Quantinuum에 작업을 제출하고 레거시 QASM(OPENQASM 2.0) 번역기를 사용하는 경우 다음 오류가 발생할 수 있습니다.
Job ID <jobId> failed or was cancelled with the message: 1000: Compile error: [<file, line>] Wrong number of gate parameters
이 오류는 쉼표 "" 또는 다른 비정기 문자가 소수 구분 기호로 사용될 때 발생합니다. 마침표가 아닌 모든 소수 구분 기호를 마침표 "."로 대체합니다. 다음은 그 예입니다.
// replace this line:
rx(1,5707963267948966) q[0];
// with this:
rx(1.5707963267948966) q[0];
문제: 컴파일러 오류 "현재 컴파일 구성에 사용할 수 없음"
VS Code의 Jupyter Notebook Q# 코드 셀을 실행하면 오류가 발생할 수 있습니다.
<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration
이 오류는 함수에 target 프로필이 필요한 경우 QIR(양자 중간 표현) 프로필을 target로 설정했음을 나타냅니다. 프로필 형식을 target 지정하지 않으면 컴파일러가 자동으로 target으로 설정합니다.
문제: 연산이 잘못된 상태 코드 ‘금지됨’을 반환
첫 번째 작업을 제출하면 오류 코드가 'forbidden' 표시될 수 있습니다.
이 문제는 Azure 포털에서 새 작업 영역을 만들고 Azure Quantum 작업 영역을 지정된 스토리지 계정에 연결하는 역할 할당을 완료하지 못할 때 발생합니다. 이 문제는 작업 영역 만들기가 완료되기 전에 탭 또는 웹 브라우저를 닫을 때 발생할 수 있습니다.
이 역할 할당 문제가 발생하는지 확인하려면 다음 단계를 수행합니다.
- Azure 포털에서 Quantum 작업 영역으로 이동합니다.
- 개요 페이지에서 Storage 계정을 선택합니다.
- 탐색 창에서 Access Control(IAM) 선택합니다.
- 역할 할당 탭을 선택합니다.
- 역할 열에서 작업 영역의 스토리지 계정에 스토리지 계정 기여자 역할 및 Storage Blob 데이터 기여자 역할이 있는지 확인합니다.
작업 영역에 스토리지 계정에 이러한 역할이 모두 없는 경우 다음 중 하나를 수행합니다.
- 새 작업 영역을 만들고 웹 브라우저 창 또는 탭을 닫기 전에 작업 영역 만들기가 완료되었는지 확인합니다.
- 스토리지 계정 기여자 및 스토리지 Blob 데이터 기여자 역할을 스토리지 계정의 작업 영역에 할당합니다.
문제: 오류 코드로 작업이 실패함: QIRPreProcessingFailed
Rigetti target 작업을 제출하면 작업이 실패하면 Azure Portal의 Quantum 작업 영역에 대한 Job 관리 콘솔에 다음 오류 메시지가 표시될 수 있습니다.
Error code: QIRPreProcessingFailed
Error message: No match found for output recording set converter from outputrecordingset.v2.labeled to outputrecordingset.v1.nonlabeled
이 오류는 이전 버전 pyqir 또는 qiskit-qir.와 종속성 충돌로 인해 발생할 수 있습니다. 로컬 컴퓨터에서 pyqir, pyqir-* 및 qiskit-qir 모든 버전을 제거한 다음 qdk Python 라이브러리를 azure 및 qiskit 추가 항목으로 설치하거나 업데이트합니다.
pip install --upgrade "qdk[azure,qiskit]"
문제: 실패한 작업에 대한 기본 정보 검색
하드웨어 target에 작업을 제출하면 작업이 실패하기 전에 몇 시간 또는 며칠 동안 큐에 있을 수 있습니다.
작업 실패에 대한 자세한 정보를 검색하려면 다음 중 하나를 수행합니다.
작업 출력 또는 오류 메시지를 보려면
get_results()Python 모듈의qdk.azure메서드를 사용합니다.job.get_results()Azure Portal의 Quantum 작업 영역에서
Operations 드롭다운에서 Job Management 창으로 이동합니다. 그런 다음 작업Name 을 선택하여작업 세부 정보 창을 엽니다.Azure Portal의 Quantum 작업 영역에서 작업 드롭다운에서 프로바이더 창으로 이동합니다. target 하드웨어가 사용 가능한지 확인합니다. target 상태가 Degraded이면 작업이 평소보다 더 오래 큐에 있을 수 있습니다. 작업이 처리되는 경우도 있지만, 때로는 시간이 초과되어 사용할 수 없는 오류가 target 반환되기도 합니다.
문제: Azure Quantum 내 작업 영역에 프로그래밍 방식으로 연결할 때 인증하도록 요청합니다.
Azure Quantum Python SDK를 사용하고 AzureQuantumProvider 클래스를 사용하여 작업 영역에 연결하는 경우 스크립트를 실행할 때마다 Azure 인증하는 팝업이 발생할 수 있습니다.
이 팝업은 스크립트를 실행할 때마다 보안 토큰이 다시 설정되기 때문에 발생합니다.
이 문제를 해결하려면 Azure CLI az login 실행합니다. 자세한 내용은 az login을 참조 하세요.
Microsoft 양자 리소스 추정 도구의 문제
다음 문제로 인해 리소스 예측 작업이 실패할 수 있습니다.
문제: 양자 알고리즘은 하나 이상의 T 상태 또는 측정값을 포함해야 합니다.
임의의 양자 프로그램을 2D 논리 큐비트 배열에 매핑하기 위해 리소스 예측기는 PSSPC(병렬 합성 순차 Pauli Computation)가 입력 프로그램에서 수행된다고 가정합니다. 이러한 접근 방식에서 모든 클리포드 연산은 모든 T 게이트, 회전 게이트 및 측정 연산을 통과하여 순서 변경이 이루어지며, 이로 인해 고전적으로 효율적으로 평가할 수 있는 단일 클리포드 연산이 남게 됩니다. 따라서 T 게이트 또는 회전 게이트 또는 측정 작업에서 T 상태를 포함하지 않는 양자 프로그램에는 물리적 양자 컴퓨팅 리소스가 필요하지 않습니다. 병렬 합성 순차적 Pauli 계산에 대한 자세한 내용은 arXiv:2211.07629, 부록 D참조하세요.
Error message: Algorithm requires at least one T state or measurement to estimate resources
문제: 물리적 T 게이트 오류 비율이 너무 높습니다.
논리적 T 상태 오류 비율은 오류 예산 및 양자 프로그램의 T 상태 수에 따라 달라집니다. T 공장은 물리적 T 게이트가 가진 물리적 T 게이트 오류율로부터 필요한 논리적 T 상태 오류율을 갖춘 T 상태를 생성하는 데 사용됩니다. 일반적으로 물리적 T 게이트 오류 비율은 필요한 논리적 T 게이트 오류 속도보다 높습니다. 일부 시나리오에서는 물리적 T 게이트 오류 비율이 필요한 논리적 T 상태 오류율에 비해 훨씬 높으므로 충분한 품질의 논리적 T 상태를 생성할 수 있는 T 팩터리를 찾을 수 없습니다.
Error message: No T factory can be found, because the required logical T state error rate is too low
이 문제를 해결하려면 다음 중 하나를 수행합니다.
- T 상태의 합계 또는 부분 중에서 오류 예산을 늘입니다.
- 큐비트 매개 변수의 실제 T 게이트 오류 비율을 줄입니다.
- T 게이트, 회전 게이트 및 토폴리 게이트를 줄여 양자 프로그램의 T 상태 수를 줄입니다.
문제: 물리적 T 게이트 오류율이 너무 낮음
물리적 T 게이트 오류율이 필요한 논리적 T 상태 오류 비율보다 낮은 경우 실제 T 게이트 오류율로 충분하기 때문에 T 팩터리는 필요하지 않습니다. 그러나 물리적 T 상태를 코드 거리 1에서 알고리즘의 코드 거리로 전송하는 전송 단위의 영향을 고려해야 합니다( arXiv:2211.07629, 부록 C 참조). 일반적으로 T 공장이 있는 경우 전송 단위 비용은 무시할 수 있습니다.
Error message: No T factory can be found, because the required logical T state error rate is too high; transfer units are necessary to perform a resource estimation accurately. One possibility to circumvent this problem is to increase the physical T gate error rate of the qubit parameters.
이 문제를 해결하려면 다음 중 하나를 수행합니다.
- 큐비트 매개 변수의 실제 T 게이트 오류 속도를 필요한 논리적 T 상태 오류율로 늘입니다.
- 오류 예산 또는 T 상태에 대한 부분만 줄입니다.
문제: 오류 비율은 0에서 1 사이의 숫자여야 합니다.
오류 비율은 0에서 1 사이의 값만 가질 수 있습니다. 오류 수정을 적용하려면 게이트 및 측정값의 실제 오류 비율이 오류 수정 코드의 속성과 필요한 논리적 오류 비율에 따라 달라지는 값보다 낮아야 합니다.
이 문제를 해결하려면 다음 중 하나를 수행합니다.
- 논리적 오류에 대한 총 또는 부분의 오류 예산을 늘입니다.
- 큐비트 매개 변수의 실제 오류 비율을 줄입니다.
문제: 제약 조건 최대 런타임 및 최대 물리적 큐비트 수는 상호 배타적입니다.
리소스 예측 도구는 maxDuration 또는 maxPhysicalQubits 제약 조건 중 하나만 허용합니다.
maxDuration 및 maxPhysicalQubits 제약 조건을 단일 작업에 제공하면 작업이 BothDurationAndPhysicalQubitsProvided 오류를 반환합니다.
문제: QIR 추정 개수 컨테이너 실행: 정의되지 않은 기호 __quantum__rt__result_record_output
qiskit_qir Python 패키지를 사용하여 Qiskit 회로에 대한 QIR을 생성하고 record_output 매개 변수를 False 설정하지 않으면 이 오류가 발생합니다.
이 오류를 방지하려면 다음 중 하나를 수행합니다.
-
qdk.azurePython 모듈을 사용하여 Qiskit 회로를 Azure Quantum 제출합니다(권장). -
qiskit_qirPython 패키지를 사용하는 경우 회로를 제출하기 전에record_output매개 변수를False설정합니다.
Azure Quantum 작업 영역 만들기 문제
Azure 포털에서 Quantum 작업 영역을 만들 때 다음과 같은 문제가 발생할 수 있습니다.
문제: Azure 포털에서 작업 영역 만들기 양식에 액세스할 수 없으며 대신 구독에 등록하라는 메시지가 표시됩니다.
이 문제는 활성 Azure 구독이 없기 때문에 발생합니다.
30일 무료 평가판 Azure 구독 등록하면 무료 Azure 크레딧이 제공됩니다. 모든 무료 크레딧을 사용하거나 등록 후 30일 후에는 Azure Quantum 서비스를 계속 사용하려면 pay-as-you-go 구독으로 업그레이드해야 합니다. 활성 구독이 있는 경우 Azure 포털을 사용하면 작업 영역 만들기 양식에 액세스할 수 있습니다.
구독 및 관련 역할 목록을 보려면 구독 확인을 참조하세요.
참고
30일 무료 평가판 Azure 구독의 Azure 크레딧은 양자 하드웨어 공급자에서 사용할 수 없습니다.
문제: 빠른 만들기 옵션을 사용할 수 없음
빠른 만들기 옵션을 사용하려면 구독의 소유자여야 합니다. 구독 및 관련 역할 목록을 보려면 구독 확인을 참조하세요. 구독 참가자인 경우 고급 만들기 옵션을 사용하여 작업 영역을 만들 수 있습니다.
문제: 리소스 그룹 또는 스토리지 계정을 만들거나 선택할 수 없습니다.
이 문제는 구독, 리소스 그룹 또는 스토리지 계정 수준에서 필요한 권한 부여가 없기 때문에 발생합니다. 필요한 액세스 수준에 대한 자세한 내용은 작업 영역을 만들기 위한 역할 요구 사항을 참조 하세요.
문제: 만들기를 선택하면 "배포 유효성 검사 실패" 오류 메시지가 나타납니다.
이 오류 메시지에는 "클라이언트에 작업을 수행할 권한이 없습니다."와 같은 자세한 정보가 포함될 수 있습니다.
이 문제는 구독, 리소스 그룹 또는 스토리지 계정 수준에서 필요한 권한 부여가 없기 때문에 발생합니다. 필요한 액세스 수준에 대한 자세한 내용은 작업 영역을 만들기 위한 역할 요구 사항을 참조 하세요.
최근에 액세스 권한이 부여된 경우 페이지를 새로 고쳐야 할 수 있습니다. 새 역할 할당은 스택 전체에서 캐시된 사용 권한을 적용하는 데 최대 1시간이 걸릴 수 있습니다.
문제: 공급자 탭에 특정 양자 하드웨어 공급자가 표시되지 않음
이 문제는 공급자가 구독이 설정된 청구 지역을 지원하지 않기 때문에 발생합니다. 공급자 목록 및 국가/지역별 가용성은 Azure Quantum 공급자의 글로벌 가용성 참조하세요.
문제: "ResourceDeploymentFailure" 또는 "ProviderDeploymentFailure"로 작업 영역 만들기 또는 공급자 추가/제거가 실패합니다.
이 문제에는 "ResourceDeploymentFailure - 터미널 프로비저닝 상태가 'Failed'로 완료된 'AzureAsyncOperationWaiting' 리소스 작업", "ProviderDeploymentFailure - 공급자에 대한 계획을 만들지 못했습니다. <공급자> 이름"과 같은 자세한 정보가 포함될 수 있습니다.
이 오류는 테넌트가 Azure Marketplace 구매를 사용하도록 설정하지 않았기 때문에 발생합니다. Azure Marketplace 구매 단계를 수행하여 Azure Marketplace 구매를 사용하도록 설정합니다.
문제: 양자 작업 영역 또는 스토리지 계정 배포 실패
Quantum 작업 영역 또는 스토리지 계정을 배포하려고 하면 다음 오류 중 하나가 발생할 수 있습니다.
- 작업 영역: "터미널 프로비저닝 상태 '실패'에 도달했기 때문에 리소스 쓰기 작업이 성공적으로 완료되지 못했습니다."
- 스토리지 계정: "정책 위반으로 인해 템플릿 배포에 실패했습니다."
이 문제는 구독 보안 정책이 공용 액세스를 사용하도록 설정된 스토리지 계정 생성을 차단하는 경우에 발생할 수 있습니다. Azure Quantum 서비스는 공용 인터넷에 액세스할 수 있는 스토리지 계정만 지원합니다.
이 문제를 해결하려면 구독 관리자와 협력하여 사용하려는 스토리지 계정에 대한 예외를 가져옵니다.