Azure Quantum 문제 해결

Azure Quantum 서비스를 사용할 때 이러한 일반적인 문제가 발생할 수 있습니다. 해결 방법을 참조하세요.

작업 제출

문제: 누락됨 targets

target 작업을 실행하려는 위치가 사용 가능한 목록에서 누락된 경우 Visual Studio Code 최신 버전의Quantum Development Kit 으로 업데이트해야 할 수 있습니다target. 자세한 내용은 QDK 업데이트를 참조하세요.

문제: 연산이 잘못된 상태 코드 ‘권한 없음’을 반환

다음 단계에 따라 문제를 해결합니다.

  1. Azure Portal(https://portal.azure.com)을 열고 계정을 인증합니다.

  2. 탐색에서 구독을 선택하고 구독을 선택합니다.

  3. 액세스 제어(IAM) 를 선택합니다.

  4. 액세스 확인에서 내 메일 주소를 검색하고 계정을 선택합니다.

  5. 소유자 또는 기여자 역할이 나열되지 않아야 합니다.

  6. 역할 할당 탭을 선택합니다.

    참고

    역할 할당 탭이 표시되지 않으면 포털을 전체 화면으로 확장하거나 <사용자 이름> 할당 창을 닫아야 할 수 있습니다.

  7. 역할 드롭다운을 선택하고 소유자 또는 기여자를 선택한 다음 전자 메일 주소를 입력하고 계정을 선택합니다.

  8. 저장을 선택합니다.

  9. 이제 Owner 또는 Contributor 역할로 구성된 계정 집합이 표시됩니다.

  10. Azure Quantum 작업 영역을 다시 만들고 이 새 작업 영역에 대해 작업을 제출합니다.

문제: CLI를 통해 Q# 프로그램을 제출하려고 하면 “프로그램을 컴파일하지 못했습니다”가 표시

az quantum submit 명령을 사용하여 명령 프롬프트에서 작업을 제출하려고 하면 다음과 같은 오류 메시지가 나타날 수 있습니다.

az quantum job submit ...
Failed to compile program.
Command ran in 21.181 seconds (init: 0.457, invoke: 20.724)

이 오류는 컴파일이 실패하는 Q# 프로그램에 문제가 있을 때 발생합니다.

문제: 컴파일러 오류 "잘못된 수의 게이트 매개 변수"

로컬 Jupyter Notebook 또는 명령줄 환경에서 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

이 오류는 많은 언어에서 흔히 볼 수 있듯이 쉼표 "" 또는 다른 비기적 문자가 10진수 구분 기호로 사용될 때 발생합니다. 마침표가 아닌 소수점 구분 기호를 마침표 "."로 대체합니다.

// replace this line:
rx(1,5707963267948966) q[0];

// with this:
rx(1.5707963267948966) q[0];

참고

이 문제는 로컬 개발 환경에서만 Azure Quantum 포털의 호스트된 Notebook에서 발생하지 않습니다.

문제: 컴파일러 오류 "현재 컴파일 구성에 사용할 수 없음"

VS Code의 Jupyter Notebook Q# 코드 셀을 실행하면 오류가 발생할 수 있습니다.

<function name> not found. Found a matching item `<function name>' that is not available for the current compilation configuration

이 오류는 QIR target 프로필이 기본 으로 설정되고 해당 함수에 무제한target 프로필이 필요했음을 나타냅니다. 프로필을 무제한으로 설정 target 하려면 다음을 수행합니다.

  1. VS Code의 Q# 프로그램에 있는 동안 아래쪽 상태 표시줄에서 Q#: QIR 베이스를 선택합니다.
  2. 위쪽 상태 표시줄에 표시된 옵션에서 Q#: 무제한을 선택합니다.

문제: 연산이 잘못된 상태 코드 ‘금지됨’을 반환

첫 번째 작업을 제출하면 '사용할 수 없음' 오류 코드가 나타날 수 있습니다.

이 문제는 Azure Quantum이 지정된 스토리지 계정에 새 작업 영역을 연결하는 역할 할당을 완료하지 못하는 경우 작업 영역 생성 중에 발생할 수 있습니다. 이 상황에 대한 일반적인 시나리오는 작업 영역 생성이 완료되기 전에 탭 또는 웹 브라우저 창이 닫히면 발생합니다.

다음 단계에 따라 이 역할 할당 문제가 발생하는지 확인할 수 있습니다.

  • Azure Portal에서 새 Quantum 작업 영역으로 이동
  • 개요>Essentials>스토리지 계정에서 스토리지 계정 링크를 선택합니다.
  • 왼쪽 탐색 영역에서 액세스 제어(IAM) 를 선택합니다.
  • 역할 할당을 선택합니다.
  • 작업 영역이 Contributor로 표시되는지 확인
  • 작업 영역이 기여자로 표시되지 않으면 다음 중 하나를 수행할 수 있습니다.
    • 새 작업 영역을 만들고 웹 브라우저 탭이나 창을 닫기 전에 작업 영역 만들기가 완료될 때까지 기다립니다.
    • 스토리지 계정 아래에 적절한 역할 할당을 추가
      • 액세스 제어(IAM) > 역할 할당 추가
      • 역할 > 기여자
      • > 사용자, 그룹 또는 서비스 주체에 대한 액세스 할당
      • 선택 > [작업 영역 이름]
      • 저장

문제: 오류 코드로 작업이 실패함: QIRPreProcessingFailed

Rigetti 공급자에 작업을 제출하면 작업이 실패하고 Azure Portal 작업 관리 콘솔 보고됩니다.

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 을 제거한 다음[qiskit] 매개 변수를 사용하여 azure-quantum Python 패키지를 설치하거나 업데이트합니다.

pip install --upgrade azure-quantum[qiskit]

문제: 실패한 작업에 대한 기본 정보 검색

하드웨어 target에 작업을 제출한 후 작업이 실패하기 전에 몇 시간 또는 1~2일 동안 큐에 있을 수 있습니다.

오류에 대한 자세한 정보를 검색하려면 다음을 수행합니다.

  • 작업 개체와 get_results() 함께 메서드를 사용하여 출력 또는 반환된 오류 메시지를 봅니다.
job.get_results()
  • Azure Portal 작업 영역에서 작업 작업 > 관리를 선택한 다음 작업 이름을 선택하여 세부 정보 창을 엽니다.
  • Azure Portal 작업 영역에서 selecd Operations Providers > 입니다. 컴퓨터의 target 사용 가능성을 확인합니다. 성능 저하 상태 함께 제출된 targets 작업은 평소보다 더 오래 큐에 있을 수 있습니다. 경우에 따라 작업이 처리되지만 시간이 초과되어 사용할 수 없음 오류가target 반환되는 경우도 있습니다.

문제: 프로그래밍 방식으로 작업 영역에 연결할 때 인증하라는 메시지가 계속 표시됩니다.

Azure Quantum Python SDK(instance용 Jupyter Notebook 내에서)를 사용하고 AzureQuantumProvider 클래스를 사용하여 작업 영역에 연결하는 경우 스크립트를 실행할 때마다 Azure에 인증하는 팝업이 발생할 수 있습니다.

이는 스크립트를 실행할 때마다 보안 토큰이 다시 설정되기 때문에 발생합니다.

Azure CLI를 사용하여 를 실행 az login 하여 이 문제를 resolve 수 있습니다. 자세한 내용은 az login을 참조하세요.

문제: azure-quantum 패키지를 업데이트한 후 작업을 모니터링할 때 "ModuleNotFoundError: qiskit.tools라는 모듈 없음" 오류가 발생합니다.

Qiskit 1.0 qiskit.tools 부터 함수에 job_monitor() 필요한 모듈은 더 이상 사용되지 않습니다. 작업을 모니터링하려면 또는 함수를 result 사용합니다wait_for_final_state().

job = MyTarget.run(circuit, shots=100)

# to wait until the job is complete
job.wait_for_final_state() 

# to return the results of the job
result = job.result()

Azure Quantum 리소스 추정기

다음 일반적인 시나리오에서는 리소스 예측 작업이 완료되지 않을 수 있습니다. resolve 방법을 참조하세요.

문제: 양자 알고리즘에는 하나 이상의 T 상태 또는 측정값이 포함되어야 합니다.

임의의 양자 프로그램을 논리 큐비트의 2D 배열에 매핑하기 위해 리소스 예측기는 PSSPC(병렬 합성 순차 Pauli 계산)(arXiv:2211.07629, 부록 D 참조)가 inputprogram에서 수행된다고 가정합니다. 이러한 접근 방식에서 모든 클리포드 작업은 모든 T 게이트, 회전 게이트 및 측정 작업을 통해 통근되며, 클래식적으로 효율적으로 평가할 수 있는 단일 Clifford 작업을 남깁니다. 따라서 T 상태(예: T 게이트 또는 회전 게이트)를 포함하지 않는 양자 프로그램이나 측정 작업에는 물리적 양자 컴퓨팅 리소스가 필요하지 않습니다.

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 게이트, 회전 게이트 및 Toffoli 게이트를 줄여 양자 프로그램의 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 사이의 값이어야 합니다. 또한 오류 수정을 적용하려면 게이트 및 측정에 대한 물리적 오류 비율이 오류 수정 코드의 속성과 필요한 논리적 오류율에 따라 달라지는 값보다 낮아야 합니다.

이러한 시나리오에서 수행할 수 있는 작업은 다음과 같습니다.

  • 논리적 오류에 대한 전체 또는 부분의 오류 예산을 늘입니다.
  • 큐비트 매개 변수의 실제 오류 비율을 줄입니다.

문제: 제약 조건 최대 런타임 및 최대 물리적 큐비트 수는 상호 배타적입니다.

자원 예측 도구는 당시 또는 maxPhysicalQubits 제약 조건 중 maxDuration 하나만 허용하지만 두 가지 제약 조건은 허용하지 않습니다. 단일 작업에 대한 및 maxPhysicalQubits제약 조건을 모두 maxDuration 제공하면 오류가 반환됩니다BothDurationAndPhysicalQubitsProvided.

문제: QIR 추정 개수 컨테이너 실행: 정의되지 않은 기호 __quantum__rt__result_record_output

이 오류는 매개 변수를 로 설정하지 않고 qiskit_qir Python 패키지를 통해 Qiskit 회로에 대한 QIR을 record_outputFalse생성한 결과입니다.

이 오류를 방지하려면 다음 중 하나를 수행합니다.

  • azure_quantum Python 패키지를 사용하여 Azure Quantum에 Qiskit 회로를 제출합니다(권장).
  • qiskit_qir Python 패키지를 사용하는 경우 회로를 제출하기 전에 매개 변수를 로 False 설정 record_output 해야 합니다.

Azure Quantum 작업 영역 만들기

Azure Portal 사용하여 작업 영역을 만들 때 다음과 같은 문제가 발생할 수 있습니다.

문제: Azure Portal 작업 영역 만들기 양식에 액세스할 수 없습니다. 대신 구독에 등록하라는 메시지가 표시됩니다.

이 문제는 활성 구독이 없기 때문에 발생합니다.

예를 들어 Azure 서비스에서 사용할 수 있는 $200(USD) 무료 Azure 크레딧이 포함된 30일 무료 평가판 Azure 구독에 등록했을 수 있습니다. 이러한 Azure 크레딧은 Azure Quantum 크레딧 과 동일하지 않으며 양자 하드웨어 공급자에서 사용할 수 없습니다. 등록 30일 후 또는 200달러의 무료 Azure 크레딧을 사용한 후(먼저 발생하는 경우) Azure Quantum 서비스를 계속 사용하려면 종량제 구독으로 업그레이드해야 합니다. 활성 구독이 있으면 Azure Portal 작업 영역 만들기 양식에 액세스할 수 있습니다.

구독 및 연결된 역할 목록을 보려면 구독 확인을 참조하세요.

문제: 빠른 만들기 옵션을 사용할 수 없습니다.

빠른 만들기 옵션을 사용하려면 선택한 구독의 소유자여야 합니다. 구독 및 연결된 역할 목록을 보려면 구독 확인을 참조하세요. 구독 참가자인 경우 고급 만들기 옵션을 사용하여 작업 영역을 만들 수 있습니다.

문제: 리소스 그룹 또는 스토리지 계정을 만들거나 선택할 수 없습니다.

이 문제는 구독, 리소스 그룹 또는 스토리지 계정 수준에서 필요한 권한 부여가 없기 때문에 발생합니다. 필요한 액세스 수준에 대한 자세한 내용은 작업 영역을 만들기 위한 역할 요구 사항을 참조하세요.

문제: Create 선택한 후 "배포 유효성 검사 실패" 오류 메시지가 나타납니다.

이 오류 메시지에는 "클라이언트에 작업을 수행할 권한이 없습니다."와 같은 자세한 정보가 포함될 수 있습니다.

이 문제는 구독, 리소스 그룹 또는 스토리지 계정 수준에서 필요한 권한 부여가 없기 때문에 발생합니다. 필요한 액세스 수준에 대한 자세한 내용은 작업 영역을 만들기 위한 역할 요구 사항을 참조하세요.

최근에 액세스 권한이 부여된 경우 페이지를 새로 고쳐야 할 수 있습니다. 새 역할 할당이 스택 전체에서 캐시된 권한에 적용되는 데 최대 1시간이 걸릴 수 있습니다.

문제: 공급자 탭에 특정 양자 하드웨어 공급자가 표시되지 않음

이 문제는 공급자가 구독이 설정된 청구 지역을 지원하지 않기 때문에 발생합니다. 예를 들어 구독이 이스라엘에서 설정된 경우 공급자 탭은 Rigetti를 사용 가능한 공급자로 나열하지 않습니다. 공급자 목록 및 국가/지역별 가용성은 Azure Quantum 공급자의 글로벌 가용성을 참조하세요.

문제: "ResourceDeploymentFailure" 또는 "ProviderDeploymentFailure"로 인해 작업 영역 만들기 또는 공급자 추가/제거가 실패합니다.

이 문제에는 "ResourceDeploymentFailure - 터미널 프로비저닝 상태가 '실패'로 완료된 'AzureAsyncOperationWaiting' 리소스 작업" 또는 "ProviderDeploymentFailure - 공급자에 대한 계획을 만들지 못했습니다. 공급자>< 이름"과 같은 자세한 정보가 포함될 수 있습니다.

이 문제는 테넌트가 Azure Marketplace 구매를 사용하도록 설정하지 않았기 때문에 발생합니다. Azure Marketplace 구매를 사용하도록 설정하려면 Azure Marketplace 구매 사용의 단계를 따릅니다.

Azure Quantum 포털

문제: 저장된 Notebook이 로드되지 않음

작업 영역에서 Notebook을 선택하면 저장된 전자 필기장 목록에 진행률 표시줄이 표시되지만 로드되지 않습니다.

이 작업은 다음 두 가지 이유로 발생할 수 있습니다.

  1. 스토리지 계정이 더 이상 존재하지 않는 경우 이 문제는 작업 영역에 연결된 스토리지 계정이 삭제된 경우에 발생할 수 있습니다. 확인하려면 작업 영역에 대한 개요 페이지를 선택하고 스토리지 계정에 대한 링크를 선택합니다. 스토리지 계정이 삭제된 경우 404 - 찾을 수 없음 오류가 표시됩니다.

  2. 작업 영역의 관리 ID가 스토리지 계정에 대한 기여자가 아닌 경우 작업 영역 ID(작업 영역과 동일한 이름을 사용)에 스토리지 계정에 대한 기여자 역할 할당이 여전히 있는지 확인합니다. 확인하려면 작업 영역에 대한 개요 페이지를 선택하고 스토리지 계정에 대한 링크를 선택합니다. 스토리지 계정에 대한 개요 페이지에서 액세스 제어(IAM) 를 선택하고 작업 영역이 기여자 아래에 나열되어 있는지 확인합니다.