Como gerenciar cotas no Azure Quantum

As cotas do Azure Quantum são limites definidos pelo provedor no uso de QPUs targets. As cotas ajudam a evitar excedentes acidentais de custos para o usuário, ao mesmo tempo em que preservam a integridade dos sistemas do provedor. As cotas são baseadas na seleção do plano do seu provedor e geralmente podem ser aumentadas com um tíquete de suporte.
O uso controlado por cotas não está necessariamente vinculado a um custo ou crédito, mas pode estar correlacionado.

Dica

Ao criar um workspace do Azure Quantum, você recebe automaticamente US$ 500 gratuitos em Créditos do Azure Quantum para cada provedor de hardware quântico. Você pode usar os Créditos do Azure Quantum para enviar seus primeiros programas quânticos para hardware quântico real.

Como as cotas são calculadas

No Azure Quantum, os provedores de hardware e software definem e as cotas de suas ofertas. Para obter informações detalhadas sobre cotas, consulte a página de referência de cada provedor. Se um provedor não aparecer na lista a seguir, esse provedor não definirá nenhuma cota.

Exibindo a cota restante

O uso e as cotas do Azure Quantum são medidos em termos de unidade de uso de cada provedor. Alguns provedores não definem cotas e não terão informações de uso para exibir.

Observação

Se você estiver usando um plano de Créditos do Azure Quantum e não um plano de cobrança, as informações de cotas serão mapeadas para seus créditos alocados. Nesse caso, a cota lista o número total de créditos recebidos.

Acompanhar cota usando o portal do Azure

  1. Entre no portal do Azure usando as credenciais de assinatura do Azure.
  2. Selecione seu espaço de trabalho do Azure Quantum.
  3. No painel esquerdo, em Operações, vá para a guia Créditos e cotas e selecione a folha Cotas .
  4. Veja as cotas consumidas e restantes para cada provedor selecionado. Observe que as informações de cota são exibidas em três colunas.
  • Uso do espaço de trabalho: o limite de uso para o espaço de trabalho atual. Cada workspace do Azure Quantum tem um limite de uso.
  • Uso da assinatura do Azure: o uso de todos os espaços de trabalho na região e assinatura atuais. Nem todas as cotas são controladas nesse nível.
  • Cadência: o período em que sua cota é renovada. Se mensalmente, o uso será redefinido no dia 1º de cada mês. Se for uma vez, o uso nunca será redefinido.

Captura de tela da folha de cotas no portal do Azure.

Nesse modo de exibição, os Créditos do Azure Quantum são incluídos como cotas. Isso permite que o usuário veja as informações de crédito expressas em termos das unidades que o provedor rastreia, bem como o intervalo associado.

Acompanhar cota usando a CLI do Azure

Confira suas cotas usando a Interface de Command-Line do Azure (CLI do Azure). Para obter mais informações, consulte Como gerenciar os espaços de trabalho do Quantum com a CLI do Azure.

  1. Instale a extensão da CLI do Azurequantum. Abra um prompt de comando e execute o seguinte comando, que também atualizará a extensão se uma versão anterior já estiver instalada.

    az extension add --upgrade -n quantum
    
  2. Faça logon no Azure usando suas credenciais. Você verá uma lista de assinaturas associadas à sua conta.

    az login
    
  3. Especifique a Assinatura que você deseja usar.

    az account set -s <Your subscription ID>
    
  4. Selecione o Espaço de Trabalho que você deseja usar. Observe que você também precisa especificar o grupo de recursos e a localização.

    az quantum workspace set \
        -g MyResourceGroup \
        -w MyWorkspace \
        -l MyLocation \
        -o table
    
  5. Use o az quantum workspace quotas comando para exibir informações de cotas para o espaço de trabalho selecionado.

    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|
    

Veja a saída acima como um exemplo. Nesse caso, a linha qgs mostra que a conta tem um limite de 8333334 qgs com IonQ, dos quais 33334 qgs foram usados. A conta também tem um limite de 800 HQCs com Quantinuum, dos quais 0 foram usados.

A coluna Escopo indica se a cota se refere ao workspace atual ou à assinatura.

  • Espaço de Trabalho: a cota é rastreada para um espaço de trabalho individual.
  • Assinatura: a cota é rastreada em conjunto para todos os espaço de trabalho na mesma assinatura/região.

A coluna Período indica o período em que a sua cota é renovada.

  • Mensalmente: o uso será redefinido no dia 1º de cada mês.
  • Infinito: o uso nunca é redefinido (também conhecido como único na exibição do portal do Azure).

Acompanhar cota usando o SDK do Python

  1. Instale a versão mais recente do azure-quantumpacote do Python.

  2. Abra um novo arquivo Python. Crie uma instância de um Workspaceobjeto, que permite que você se conecte ao Espaço de Trabalho que implantou anteriormente no Azure.

    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. Use o método get_quotas para exibir as informações de cotas para o espaço de trabalho selecionado.

    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'}]
    

Veja a saída acima como um exemplo. Nesse caso, a linha qgs mostra que a conta tem um limite de 8333334 qgs com IonQ, dos quais 33334 qgs foram usados. O número de trabalhos simultâneos é o número de trabalhos que podem ser enfileirados por workspace a qualquer momento.

O scope item indica se a cota se refere ao workspace atual ou à assinatura.

  • Espaço de Trabalho: a cota é rastreada para um espaço de trabalho individual.
  • Assinatura: a cota é rastreada em conjunto para todos os espaço de trabalho na mesma assinatura/região.

O period item indica o período em que sua cota é renovada.

  • Mensalmente: o uso será redefinido no dia 1º de cada mês.
  • Infinito: o uso nunca é redefinido (também conhecido como único na exibição do portal do Azure).

Dica

O get_quotas método retorna os resultados na forma de um dicionário Python. Para obter um formato mais legível, use os exemplos de código a seguir para imprimir um resumo das cotas restantes no nível da assinatura e do > workspace.

Copie o código a seguir para acompanhar a cota no nível da assinatura.

# 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))

Copie o código a seguir para acompanhar a cota no nível do workspace.

# 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))

Solicitação de cota adicional

Se você não estiver usando um plano de Créditos do Azure Quantum, poderá solicitar aumentos de cota gerando um tíquete de suporte.

  1. Entre no portal do Azure usando as credenciais de assinatura do Azure.

  2. Selecione seu espaço de trabalho do Azure Quantum.

  3. No painel esquerdo, em Operações, vá para a folha Créditos e cotas e selecione a guia Cotas.

  4. Pressione o botão Aumentar na página de cota ou selecione o botão Nova solicitação de suporte no painel lateral do portal.

  5. Um tíquete de suporte será aberto. Siga estas etapas para preencher a solicitação.

    1. Descrever o problema como Solicitação de Substituição de Cota do Azure Quantum
    2. Selecione Técnico para o “Tipo de problema”
    3. Selecione a assinatura na qual o espaço de trabalho está
    4. Selecione Todos os serviços
    5. Escolher o Azure Quantum – Versão prévia como o “Tipo de Serviço”
    6. Escolha o espaço de trabalho para o qual você deseja alterar a cota em Recurso
    7. Escolher Outro para o tipo de problema
    8. Avançar para Soluções e, em seguida, novamente para Detalhes
    9. Preencha todos os campos. Para Descrição, inclua o seguinte:
    • Nome do provedor para o qual você deseja alterar as cotas
    • Se você quiser alterar as cotas para o escopo da assinatura ou o escopo do espaço de trabalho
    • Quais cotas você deseja alterar e por quanto
    • Qualquer justificativa para o motivo pelo qual você está aumentando sua cota pode nos ajudar a decidir em alguns casos.