Como gerenciar cotas no Azure Quantum

As cotas do Azure Quantum são limites definidos pelo provedor para o uso de QPUs targets. As cotas ajudam a evitar excessos 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 seu plano de provedor e geralmente podem ser aumentadas com um tíquete de suporte.
O uso rastreado por cotas não está necessariamente vinculado a um custo ou crédito, mas pode estar correlacionado.

Gorjeta

Ao criar um espaço de trabalho do Azure Quantum, você obtém automaticamente US$ 500 gratuitos dos Créditos Quânticos do Azure para cada provedor de hardware quântico. Você pode usar os Créditos Quânticos do Azure para enviar seus primeiros programas quânticos para hardware quântico real.

Como são calculadas as quotas

No Azure Quantum, os fornecedores de hardware e software definem e controlam as quotas das suas ofertas. Para obter informações detalhadas sobre a cota, 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.

Visualizando a cota restante

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

Nota

Se estiver a utilizar um plano do Azure Quantum Credits, e não um plano de faturação, as informações de quota são mapeadas para os créditos atribuídos. Nesse caso, a cota lista o número total de créditos recebidos.

Controlar cota usando o portal do Azure

  1. Entre no portal do Azure, usando as credenciais para sua 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 as restantes para cada fornecedor 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 do espaço de trabalho atual. Cada espaço de trabalho do Azure Quantum tem um limite de uso.
  • Uso da assinatura do Azure: o uso para todos os espaços de trabalho dentro da região e da assinatura atuais. Nem todas as quotas são acompanhadas a este nível.
  • Cadência: O período em que a sua quota é renovada. Se for mensal, o uso é redefinido no dia 1º de cada mês. Se for uma vez, o uso nunca será redefinido.

Captura de ecrã da folha de quotas no portal do Azure.

Nesta vista, os Créditos Quânticos do Azure são incluídos como quotas. 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.

Controlar cota usando a CLI do Azure

Você pode ver suas cotas usando a Interface de Linha de Comando do Azure (CLI do Azure). Para obter mais informações, consulte Como gerenciar espaços de trabalho quânticos com a CLI do Azure.

  1. Instale a extensão CLI quantum do Azure. 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. Verá a lista de subscrições associadas à sua conta.

    az login
    
  3. Especifique a Subscrição que pretende utilizar.

    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 o local.

    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. Neste caso, a qgs linha 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 espaço de trabalho 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ços de trabalho dentro da mesma assinatura/região.

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

  • Mensal: O uso é redefinido no dia 1º de cada mês.
  • Infinito: o uso nunca é redefinido (também conhecido como uma única vez no modo de exibição do portal do Azure).

Controlar cota usando Python SDK

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

  2. Abra um novo arquivo Python. Instancie um Workspace objeto, que permite que você se conecte ao espaço de trabalho implantado 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 get_quotas método 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. Neste caso, a qgs linha 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 espaço de trabalho a qualquer momento.

O scope item indica se a cota se refere ao espaço de trabalho 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ços de trabalho dentro da mesma assinatura/região.

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

  • Mensal: O uso é redefinido no dia 1º de cada mês.
  • Infinito: o uso nunca é redefinido (também conhecido como uma única vez no modo de exibição do portal do Azure).

Gorjeta

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

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 controlar a cota no nível do espaço de trabalho.

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

Pedido de quota adicional

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

  1. Entre no portal do Azure, usando as credenciais para sua 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 ticket de suporte será aberto. Siga estes passos para preencher o pedido.

    1. Descreva o problema como Solicitação de substituição de cota do Azure Quantum
    2. Selecione Técnico para "Tipo de Problema"
    3. Selecione a assinatura na qual o espaço de trabalho está
    4. Selecione Todos os serviços
    5. Escolha Azure Quantum – Preview como "Tipo de serviço"
    6. Escolha o espaço de trabalho para o qual deseja alterar a cota em Recurso
    7. Escolha Outro para o tipo de problema
    8. Avançar para Soluções e depois novamente para Detalhes
    9. Preencha todos os campos. Para Descrição , inclua o seguinte:
    • Nome do fornecedor para o qual pretende alterar quotas
    • Se você deseja alterar as cotas para o escopo da assinatura ou do espaço de trabalho
    • Quais cotas você deseja alterar e por quanto
    • Qualquer justificação para o facto de estar a aumentar a sua quota pode ajudar-nos a decidir em alguns casos.