이 문서에서는 Azure Quantum 공급자 사용의 제한 및 할당량을 이해하기 위한 지침을 찾습니다.
Azure Quantum의 할당량은 무엇인가요?
할당량은 공급자가 정의한 QPU targets 사용에 대한 제한입니다. 할당량은 공급자 시스템의 무결성을 유지하면서 사용자에 대한 우발적인 비용 초과를 방지하는 데 도움이 됩니다.
할당량은 공급자 플랜 선택에 따라 다르며 일반적으로 지원 티켓을 사용하여 늘릴 수 있습니다. 할당량으로 추적되는 사용량이 반드시 비용 또는 크레딧과 관련이 있는 것은 아니지만 상관 관계가 있을 수 있습니다.
Azure Quantum에서 할당량은 어떻게 정의되나요?
Azure Quantum에서 하드웨어 및 소프트웨어 제품의 할당량을 정의하고 제어합니다. 자세한 할당량 정보는 각 공급자 참조 페이지를 참조하세요.
참고
공급자가 목록에 표시되지 않으면 해당 공급자는 할당량을 정의하지 않습니다.
남은 할당량을 보려면 어떻게 해야 하나요?
Azure Quantum 사용량 및 할당량은 각 공급자의 사용 단위를 기준으로 측정됩니다. 일부 공급자는 할당량을 정의하지 않으며 표시할 사용 정보가 없습니다.
Azure Portal을 사용하여 할당량 추적
- Azure 구독에 대한 자격 증명을 사용하여 Azure Portal에 로그인합니다.
- Azure Quantum 작업 영역을 선택합니다.
- 왼쪽 패널의 작업에서 할당량 블레이드로 이동합니다.
- 선택한 각 공급자에 대해 사용된 할당량과 나머지 할당량을 확인합니다. 할당량 정보는 세 개의 열에 표시됩니다.
- 작업 영역 사용량: 현재 작업 영역의 사용량 한도입니다. 각 Azure Quantum 작업 영역에는 사용 제한이 있습니다.
- Azure 구독 사용량: 현재 지역 및 구독 내의 모든 워크스페이스에 대한 사용량입니다. 모든 할당량이 이 수준에서 추적되는 것은 아닙니다.
- 주기: 할당량이 갱신되는 기간입니다. 매월인 경우 매월 1일에 사용량이 다시 설정됩니다. 일회성인 경우 사용량이 다시 설정되지 않습니다.
Azure CLI를 사용하여 할당량 추적
Azure CLI(Azure 명령줄 인터페이스)를 사용하여 할당량을 볼 수 있습니다. 자세한 내용은 Azure CLI를 사용하여 양자 작업 영역을 관리하는 방법을 참조하세요.
Azure CLI
quantum확장을 설치합니다. 명령 프롬프트를 열고 다음 명령을 실행합니다. 이전 버전이 이미 설치된 경우에도 확장을 업그레이드합니다.az extension add --upgrade -n quantum로그인 정보를 사용하여 Azure에 로그인합니다. 계정과 연결된 구독 목록이 표시됩니다.
az login사용하려는 구독을 지정합니다.
az account set -s <Your subscription ID>사용할 작업 영역을 선택합니다. 리소스 그룹 및 위치도 지정해야 합니다.
az quantum workspace set \ -g MyResourceGroup \ -w MyWorkspace \ -l MyLocation \ -o tableaz quantum workspace quotas명령을 사용하여 선택한 작업 영역에 대한 할당량 정보를 표시합니다.az quantum workspace quotas -o table| Dimension | Holds | Limit | Period | ProviderId | Scope | Utilization | | --------- | ----- | --------- | -------- | ---------- | ------------ | ----------- | | qgs | 0.0 | 8333334.0 | Infinite | ionq | Subscription | 33334.0 | | hqc | 0.0 | 800.0 | Infinite | quantinuum | Subscription | 0.0 |이 예제에서
qgs행은 계정에 IonQ를 사용하는8333334 qgs제한이 있음을 보여 하며, 그 중33334 qgs사용되었습니다. 또한 계정에는 Quantinuum과 관련된800HQC의 한도가 있으며, 그 중0이 사용되었습니다.
범위 열은 할당량이 현재 작업 영역 또는 구독을 참조하는지 여부를 나타냅니다.
- 작업 영역: 개별 작업 영역에 대한 할당량이 추적됩니다.
- 구독: 동일한 구독/지역 내의 모든 작업 영역에 대해 함께 할당량이 추적됩니다.
기간 열은 할당량이 갱신되는 기간을 나타냅니다.
- 매월: 매월 1일에 사용량이 다시 설정됩니다.
- Infinite: 사용량은 다시 설정되지 않습니다(Azure Portal 보기에서 일회성이라고도 함).
Python SDK를 사용하여 할당량 추적
최신 버전의 Python 라이브러리를
qdk설치합니다.새 Python 파일을 엽니다.
Workspace개체인스턴스화하여 이전에 Azure에 배포한 작업 영역에 연결할 수 있습니다.from qdk.azure import Workspace # Copy the following settings for your workspace workspace = Workspace ( resource_id = "", # Add your resource_id location = "" # Add your workspace location (for example, "westus") )get_quotas메서드를 사용하여 선택한 작업 영역에 대한 할당량 정보를 표시합니다.quotas = workspace.get_quotas()[{'dimension': 'qgs', 'scope': 'Subscription', 'provider_id': 'ionq', 'utilization': 33334.0, 'holds': 0.0, 'limit': 16666667.0, 'period': 'Infinite'}, {'dimension': 'hqc', 'scope': 'Subscription', 'provider_id': 'quantinuum', 'utilization': 0.0, 'holds': 0.0, 'limit': 40.0, 'period': 'Infinite'}, {'dimension': 'ehqc', 'scope': 'Subscription', 'provider_id': 'quantinuum', 'utilization': 0.0, 'holds': 0.0, 'limit': 160.0, 'period': 'Infinite'}, {'dimension': 'combined_job_hours', 'scope': 'Workspace', 'provider_id': 'Microsoft', 'utilization': 0.0, 'holds': 0.0, 'limit': 20.0, 'period': 'Monthly'}, {'dimension': 'combined_job_hours', 'scope': 'Subscription', 'provider_id': 'Microsoft', 'utilization': 0.011701412083333333, 'holds': 0.0, 'limit': 1000.0, 'period': 'Monthly'}]이 예제에서
qgs행은 계정에 IonQ를 사용하는8333334 qgs제한이 있음을 보여 하며, 그 중33334 qgs사용되었습니다. 동시 작업 수는 작업 영역당 한 번에 대기할 수 있는 작업 수입니다.
항목은 scope 할당량이 현재 작업 영역 또는 구독을 참조하는지 여부를 나타냅니다.
- 작업 영역: 개별 작업 영역에 대한 할당량이 추적됩니다.
- 구독: 동일한 구독/지역 내의 모든 작업 영역에 대해 함께 할당량이 추적됩니다.
항목은 period 할당량이 갱신되는 기간을 나타냅니다.
- 매월: 매월 1일에 사용량이 다시 설정됩니다.
- Infinite: 사용량은 다시 설정되지 않습니다(Azure Portal 보기에서 일회성이라고도 함).
팁
메서드는 get_quotas Python 사전의 형태로 결과를 반환합니다. 사람이 읽을 수 있는 형식의 경우 다음 코드 샘플을 사용하여 구독 및 작업 영역 수준에서 남은 할당량의 > 요약을 인쇄합니다.
다음 코드를 복사하여 구독 수준에서 할당량을 추적합니다.
# This gathers usage against quota for the various providers (quota is set at the subscription level).
# Note that a provider may have multiple quotas, such as Quantinuum that limits usage of their Emulator.
rigetti_quota = 0
ionq_quota = 0
quantinuum_hqc_quota = 0
quantinuum_ehqc_quota = 0
rigetti_quota_utilization = 0
ionq_quota_utilization = 0
quantinuum_hqc_quota_utilization = 0
quantinuum_ehqc_quota_utilization = 0
for quota in workspace.get_quotas():
if (quota['provider_id'] == 'rigetti'):
rigetti_quota = quota['limit']
rigetti_quota_utilization = quota['utilization']
if (quota['provider_id'] == 'ionq'):
ionq_quota = quota['limit']
ionq_quota_utilization = quota['utilization']
if (quota['dimension'] == 'hqc'):
quantinuum_hqc_quota = quota['limit']
quantinuum_hqc_quota_utilization = quota['utilization']
if (quota['dimension'] == 'ehqc'):
quantinuum_ehqc_quota = quota['limit']
quantinuum_ehqc_quota_utilization = quota['utilization']
print('Rigetti quota use: ', "{:,}".format(rigetti_quota_utilization), '/', "{:,}".format(rigetti_quota))
print('IonQ quota use:', "{:,}".format(ionq_quota_utilization), '/', "{:,}".format(ionq_quota))
print('Quantinuum HQC quota use:', "{:,}".format(quantinuum_hqc_quota_utilization), '/', "{:,}".format(quantinuum_hqc_quota))
print('Quantinuum eHQC quota use:', "{:,}".format(quantinuum_ehqc_quota_utilization), '/', "{:,}".format(quantinuum_ehqc_quota))
다음 코드를 복사하여 작업 영역 수준에서 할당량을 추적합니다.
# This gathers usage against quota for the various providers for the current workspace
# As there can be multiple workspaces in a subscription, the quota usage for the workspace is less or equal to usage against quota at the subscription level
amount_utilized_rigetti = 0
amount_utilized_ionq = 0
amount_utilized_quantinuum_hqc = 0
amount_utilized_quantinuum_ehqc = 0
for job in workspace.list_jobs():
if (job.details.cost_estimate != None):
for event in job.details.cost_estimate.events:
if (event.amount_consumed > 0):
#print(event.amount_consumed, event.dimension_name, 'on', job.details.provider_id)
if (job.details.provider_id == 'rigetti'):
amount_utilized_rigetti += event.amount_consumed
if (job.details.provider_id == 'ionq'):
amount_utilized_ionq += event.amount_consumed
if (job.details.provider_id == 'quantinuum'):
#print(event.amount_consumed, event.dimension_name, 'on', job.details.provider_id)
#print(event)
if (event.dimension_id == 'hqc'):
amount_utilized_quantinuum_hqc += event.amount_consumed
else:
amount_utilized_quantinuum_ehqc += event.amount_consumed
print(job.id, event)
print('Rigetti quota use in current workspace: ', "{:,}".format(amount_utilized_rigetti), '/', "{:,}".format(rigetti_quota))
print('IonQ quota use in current workspace:', "{:,}".format(amount_utilized_ionq), '/', "{:,}".format(ionq_quota))
print('Quantinuum HQC quota use in current workspace:', "{:,}".format(amount_utilized_quantinuum_hqc), '/', "{:,}".format(quantinuum_hqc_quota))
print('Quantinuum eHQC quota use in current workspace:', "{:,}".format(amount_utilized_quantinuum_ehqc), '/', "{:,}".format(quantinuum_ehqc_quota))
더 많은 할당량을 요청하기 위해 어떻게 해야 하나요?
지원 티켓을 올려 할당량 증가를 요청할 수 있습니다.
Azure 구독에 대한 자격 증명을 사용하여 Azure Portal에 로그인합니다.
Azure Quantum 작업 영역을 선택합니다.
왼쪽 패널의 작업에서 할당량 블레이드로 이동합니다.
할당량 페이지에서 증가 단추를 누르거나 포털의 측면 패널에서 새 지원 요청 단추를 선택합니다.
지원 티켓이 열립니다. 다음 단계에 따라 요청을 작성합니다.
- Azure Quantum 할당량 재정의 요청으로 문제를 설명합니다.
- "문제 유형"으로 기술을 선택합니다.
- 워크스페이스가 포함된 구독을 선택하세요.
- 전체 서비스를 선택합니다.
- "서비스 형식"으로 Azure Quantum – 미리 보기를 선택합니다.
- 리소스에서 할당량을 변경할 작업 영역을 선택합니다.
- 문제 유형을 기타로 선택합니다.
- 솔루션으로 이동한 다음 다시 세부 정보로 이동합니다.
- 모든 필드를 작성합니다. 설명에 다음을 포함합니다.
- 할당량을 변경하려는 공급자의 이름
- 구독 범위에 대한 할당량을 변경할지 또는 작업 영역 범위에 대한 할당량을 변경할지 여부
- 어떤 할당량을 얼마나 변경할지
- 할당량을 늘리는 이유에 대한 근거가 결정에 도움이 될 수 있습니다.