Azure Quantum에서 할당량을 관리하는 방법
Azure Quantum 할당량은 QPU targets사용에 대한 공급자 정의 제한입니다. 할당량은 공급자 시스템의 무결성을 유지하면서 사용자에 대한 우발적인 비용 초과를 방지하는 데 도움이 됩니다. 할당량은 공급자 플랜 선택에 따라 다르며 일반적으로 지원 티켓을 사용하여 늘릴 수 있습니다.
할당량으로 추적되는 사용량이 반드시 비용이나 크레딧에 연결되는 것은 아니지만 상관 관계가 있을 수 있습니다.
팁
Azure Quantum 작업 영역을 만들 때 각 양자 하드웨어 공급자에 대해 USD500 무료 Azure Quantum 크레딧을 자동으로 받습니다. Azure Quantum 크레딧을 사용하여 첫 번째 양자 프로그램을 실제 양자 하드웨어에 제출할 수 있습니다.
할당량 계산 방법
Azure Quantum에서 하드웨어 및 소프트웨어 제품의 할당량을 정의하고 제어합니다. 자세한 할당량 정보는 각 공급자 참조 페이지를 참조하세요. 공급자가 다음 목록에 표시되지 않으면 해당 공급자는 할당량을 정의하지 않습니다.
남은 할당량 보기
Azure Quantum 사용량 및 할당량은 각 공급자의 사용량 단위를 기준으로 측정됩니다. 일부 공급자는 할당량을 정의하지 않으며 표시할 사용 정보가 없습니다.
참고 항목
청구 플랜이 아닌 Azure Quantum 크레딧 플랜을 사용하는 경우 할당량 정보는 할당된 크레딧에 매핑됩니다. 이 경우 할당량에는 받은 총 크레딧 수가 나열됩니다.
Azure Portal을 사용하여 할당량 추적
- Azure 구독에 대한 자격 증명을 사용하여 Azure Portal에 로그인합니다.
- Azure Quantum 작업 영역을 선택합니다.
- 왼쪽 패널의 작업에서 크레딧 및 할당량 탭으로 이동하여 할당량 블레이드를 선택합니다.
- 선택한 각 공급자에 대해 사용된 할당량과 나머지 할당량을 확인합니다. 할당량 정보는 세 개의 열에 표시됩니다.
- 작업 영역 사용량: 현재 작업 영역의 사용량 한도입니다. 각 Azure Quantum 작업 영역에는 사용 제한이 있습니다.
- Azure 구독 사용량: 현재 셀이 있는 영역 및 구독 내의 모든 작업 영역에 대한 사용량입니다. 모든 할당량이 이 수준에서 추적되는 것은 아닙니다.
- 주기: 할당량이 갱신되는 기간입니다. 매월인 경우 매월 1일에 사용량이 다시 설정됩니다. 일회성인 경우 사용량이 다시 설정되지 않습니다.
이 보기에서는 Azure Quantum 크레딧이 할당량으로 포함됩니다. 이를 통해 사용자는 공급자가 추적하는 단위 및 관련 간격으로 표현된 크레딧 정보를 볼 수 있습니다.
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 table
az 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에도 HQC가 800
개로 제한되어 있으며 그중 0
개가 사용되었습니다.
범위 열은 할당량이 현재 작업 영역 또는 구독을 참조하는지 여부를 나타냅니다.
- 작업 영역: 개별 작업 영역에 대한 할당량이 추적됩니다.
- 구독: 동일한 구독/지역 내의 모든 작업 영역에 대해 함께 할당량이 추적됩니다.
기간 열은 할당량이 갱신되는 기간을 나타냅니다.
- 매월: 매월 1일에 사용량이 다시 설정됩니다.
- Infinite: 사용량은 다시 설정되지 않습니다(Azure Portal 보기에서 일회성이라고도 함).
Python SDK를 사용하여 할당량 추적
최신 버전의
azure-quantum
Python 패키지를 설치합니다.새 Python 파일을 엽니다. Azure에서 이전에 배포한 작업 영역에 연결할 수 있는
Workspace
개체를 인스턴스화합니다.from azure.quantum 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 Quantum 크레딧 플랜을 사용하지 않는 경우 지원 티켓을 요청하여 할당량 증가를 요청할 수 있습니다.
Azure 구독에 대한 자격 증명을 사용하여 Azure Portal에 로그인합니다.
Azure Quantum 작업 영역을 선택합니다.
왼쪽 패널의 작업에서 크레딧 및 할당량 블레이드로 이동하여 할당량 탭을 선택합니다.
할당량 페이지에서 증가 단추를 누르거나 포털의 측면 패널에서 새 지원 요청 단추를 선택합니다.
지원 티켓이 열립니다. 다음 단계에 따라 요청을 작성합니다.
- Azure Quantum 할당량 재정의 요청으로 문제를 설명합니다.
- "문제 유형"으로 기술을 선택합니다.
- 작업 영역이 있는 구독을 선택합니다.
- 전체 서비스를 선택합니다.
- "서비스 형식"으로 Azure Quantum – 미리 보기를 선택합니다.
- 리소스에서 할당량을 변경할 작업 영역을 선택합니다.
- 문제 유형을 기타로 선택합니다.
- 솔루션으로 이동한 다음 다시 세부 정보로 이동합니다.
- 모든 필드를 작성합니다. 설명에 다음을 포함합니다.
- 할당량을 변경하려는 공급자의 이름
- 구독 범위에 대한 할당량을 변경할지 또는 작업 영역 범위에 대한 할당량을 변경할지 여부
- 어떤 할당량을 얼마나 변경할지
- 할당량을 늘리는 이유에 대한 근거가 결정에 도움이 될 수 있습니다.