Share via


Azure Quantum 할당량

Azure Quantum 할당량은 QPU targets사용에 대한 공급자 정의 제한입니다. 할당량은 공급자 시스템의 무결성을 유지하면서 사용자에 대한 우발적인 비용 초과를 방지하는 데 도움이 됩니다. 할당량은 공급자 플랜 선택에 따라 다르며 일반적으로 지원 티켓을 사용하여 늘릴 수 있습니다.
할당량으로 추적되는 사용량이 반드시 비용이나 크레딧에 연결되는 것은 아니지만 상관 관계가 있을 수 있습니다.

처음 사용자는 참여하는 각 양자 하드웨어 공급자와 함께 사용할 수 있도록 자동으로 USD($500)의 무료 Azure Quantum 크레딧을 받습니다. 크레딧을 모두 사용했는데 더 필요한 경우 Azure Quantum Credits 프로그램에 신청할 수 있습니다.

할당량 계산 방법

Azure Quantum에서 하드웨어 및 소프트웨어 제품의 할당량을 정의하고 제어합니다. 자세한 할당량 정보는 각 공급자 참조 페이지를 참조하세요. 공급자가 다음 목록에 표시되지 않으면 해당 공급자는 할당량을 정의하지 않습니다.

남은 할당량 보기

Azure Quantum 사용량 및 할당량은 각 공급자의 사용량 단위를 기준으로 측정됩니다. 일부 공급자는 할당량을 정의하지 않으며 표시할 사용 정보가 없습니다.

참고 항목

청구 플랜이 아닌 Azure Quantum 크레딧 플랜을 사용하는 경우 할당량 정보는 할당된 크레딧에 매핑됩니다. 이 경우 할당량에는 받은 총 크레딧 수가 나열됩니다.

Azure Portal을 사용하여 할당량 추적

  1. Azure 구독에 대한 자격 증명을 사용하여 Azure Portal에 로그인합니다.
  2. Azure Quantum 작업 영역을 선택합니다.
  3. 왼쪽 패널의 작업에서 크레딧 및 할당량 탭으로 이동하여 할당량 블레이드를 선택합니다.
  4. 선택한 각 공급자에 대해 사용된 할당량과 다시 기본 할당량을 참조하세요. 할당량 정보는 세 개의 열에 표시됩니다.
  • 작업 영역 사용량: 현재 작업 영역의 사용량 한도입니다. 각 Azure Quantum 작업 영역에는 사용 제한이 있습니다.
  • Azure 구독 사용량: 현재 셀이 있는 영역 및 구독 내의 모든 작업 영역에 대한 사용량입니다. 모든 할당량이 이 수준에서 추적되는 것은 아닙니다.
  • 주기: 할당량이 갱신되는 기간입니다. 매월인 경우 매월 1일에 사용량이 다시 설정됩니다. 일회성인 경우 사용량이 다시 설정되지 않습니다.

Azure Portal의 할당량 블레이드 스크린샷

이 보기에서는 Azure Quantum 크레딧이 할당량으로 포함됩니다. 이를 통해 사용자는 공급자가 추적하는 단위 및 관련 간격으로 표현된 크레딧 정보를 볼 수 있습니다.

Azure CLI를 사용하여 할당량 추적

Azure CLI(Azure 명령줄 인터페이스)를 사용하여 할당량을 볼 수 있습니다. 자세한 내용은 Azure CLI를 사용하여 양자 작업 영역을 관리하는 방법을 참조하세요.

  1. Azure CLIquantum 확장을 설치합니다. 명령 프롬프트를 열고 다음 명령을 실행합니다. 이 명령은 이전 버전이 이미 설치된 경우 확장을 업그레이드하기도 합니다.

    az extension add --upgrade -n quantum
    
  2. 로그인 정보를 사용하여 Azure에 로그인합니다. 계정과 연결된 구독 목록이 표시됩니다.

    az login
    
  3. 사용하려는 구독을 지정합니다.

    az account set -s <Your subscription ID>
    
  4. 사용할 작업 영역을 선택합니다. 리소스 그룹 및 위치도 지정해야 합니다.

    az quantum workspace set \
        -g MyResourceGroup \
        -w MyWorkspace \
        -l MyLocation \
        -o table
    
  5. 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를 사용하여 할당량 추적

  1. 최신 버전의 azure-quantum Python 패키지를 설치합니다.

  2. 새 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") 
    )
    
  3. 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 mutiple 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 크레딧 플랜을 사용하지 않는 경우 지원 티켓을 요청하여 할당량 증가를 요청할 수 있습니다.

  1. Azure 구독에 대한 자격 증명을 사용하여 Azure Portal에 로그인합니다.

  2. Azure Quantum 작업 영역을 선택합니다.

  3. 왼쪽 패널의 작업에서 크레딧 및 할당량 블레이드로 이동하여 할당량 탭을 선택합니다.

  4. 할당량 페이지에서 증가 단추를 누르거나 포털의 측면 패널에서 새 지원 요청 단추를 선택합니다.

  5. 지원 티켓이 열립니다. 다음 단계에 따라 요청을 작성합니다.

    1. Azure Quantum 할당량 재정의 요청으로 문제를 설명합니다.
    2. "문제 유형"으로 기술을 선택합니다.
    3. 작업 영역이 있는 구독을 선택합니다.
    4. 전체 서비스를 선택합니다.
    5. "서비스 형식"으로 Azure Quantum – 미리 보기를 선택합니다.
    6. 리소스에서 할당량을 변경할 작업 영역을 선택합니다.
    7. 문제 유형을 기타로 선택합니다.
    8. 솔루션으로 이동한 다음 다시 세부 정보로 이동합니다.
    9. 모든 필드를 작성합니다. 설명에 다음을 포함합니다.
    • 할당량을 변경하려는 공급자의 이름
    • 구독 범위에 대한 할당량을 변경할지 또는 작업 영역 범위에 대한 할당량을 변경할지 여부
    • 어떤 할당량을 얼마나 변경할지
    • 할당량을 늘리는 이유에 대한 근거가 결정에 도움이 될 수 있습니다.

다음 단계