Quotas do Azure Quantum

As quotas do Azure Quantum são limites definidos pelo fornecedor na utilização de QPUs targets. As quotas ajudam a evitar utilizações excessivas acidentais de custos para o utilizador, preservando também a integridade dos sistemas do fornecedor. As quotas baseiam-se na seleção do seu plano de fornecedor e, normalmente, podem ser aumentadas com um pedido de suporte.
A utilização controlada por quotas não está necessariamente associada a um custo ou crédito, mas pode estar correlacionada.

Dica

Os utilizadores pela primeira vez recebem automaticamente 500 $ (USD)Créditos Quânticos do Azure gratuitos para utilização com cada fornecedor de hardware quântico participante. Se tiver consumido todos os créditos e precisar de mais, pode aplicar-se ao programa Créditos Quânticos do Azure.

Como as quotas são calculadas

No Azure Quantum, os fornecedores de hardware e software definem e controlam as quotas das suas ofertas. Para obter informações detalhadas sobre a quota, veja cada página de referência do fornecedor. Se um fornecedor não aparecer na lista seguinte, esse fornecedor não define quotas.

Ver a quota restante

A utilização e as quotas do Azure Quantum são medidas em termos da unidade de utilização de cada fornecedor. Alguns fornecedores não definem quotas e não terão informações de utilização para apresentar.

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 alocados. Nesse caso, a quota lista o número total de créditos que recebeu.

Controlar a quota com portal do Azure

  1. Inicie sessão no portal do Azure, com as credenciais da sua subscrição do Azure.
  2. Selecione a área de trabalho do Azure Quantum.
  3. No painel esquerdo, em Operações, aceda ao painel Créditos e quotas e selecione o separador Quotas .
  4. Veja as quotas consumidas e restantes para cada fornecedor selecionado. Repare que as informações de quota são apresentadas em três colunas.
  • Utilização da área de trabalho: o limite de utilização da área de trabalho atual. Cada área de trabalho do Azure Quantum tem um limite de utilização.
  • Utilização da subscrição do Azure: a utilização de todas as áreas de trabalho na região e subscrição atuais. Nem todas as quotas são controladas a este nível.
  • Cadência: o período em que a quota é renovada. Se mensalmente, a utilização é reposta no dia 1 de cada mês. Se uma vez, a utilização nunca será reposta.

Painel Quotas no portal do Azure

Nesta vista, os Créditos do Azure Quantum estão incluídos como quotas. Isto permite ao utilizador ver as informações de crédito expressas em termos das unidades que o fornecedor controla, bem como o intervalo associado.

Controlar a quota com a CLI do Azure

Pode ver as quotas com a Interface de Command-Line do Azure (CLI do Azure). Para obter mais informações, veja Como gerir áreas de trabalho quânticas com a CLI do Azure.

  1. Instale a extensão da CLI quantumdo Azure. Abra uma linha de comandos 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. Inicie sessão no Azure com as 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 a Área de Trabalho que pretende utilizar. Tenha em atenção que também tem de especificar o grupo de recursos e a localização.

    az quantum workspace set \
        -g MyResourceGroup \
        -w MyWorkspace \
        -l MyLocation \
        -o table
    
  5. Utilize o az quantum workspace quotas comando para apresentar as informações de quotas da área de trabalho selecionada.

    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 o resultado 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 utilizados. A conta também tem um limite de 800 HQCs com Quantinuum, dos quais 0 foram utilizados.

A coluna Âmbito indica se a quota se refere à área de trabalho atual ou à subscrição.

  • Área de trabalho: a quota é controlada para uma área de trabalho individual.
  • Subscrição: a quota é controlada em conjunto para todas as áreas de trabalho na mesma subscrição/região.

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

  • Mensalmente: a utilização é reposta no dia 1 de cada mês.
  • Infinito: a utilização nunca é reposta (também referida como única vez na vista de portal do Azure).

Controlar a quota com o SDK python

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

  2. Abra um novo ficheiro Python. Instanciar um Workspace objeto, que lhe permite ligar à área de trabalho que implementou 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. Utilize o get_quotas método para apresentar as informações de quotas da área de trabalho selecionada.

    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 o resultado 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 utilizados. O número de tarefas simultâneas é o número de trabalhos que podem ser em fila por área de trabalho em qualquer altura.

O scope item indica se a quota se refere à área de trabalho atual ou à subscrição.

  • Área de trabalho: a quota é controlada para uma área de trabalho individual.
  • Subscrição: a quota é controlada em conjunto para todas as áreas de trabalho na mesma subscrição/região.

O period item indica o período em que a quota é renovada.

  • Mensalmente: a utilização é reposta no dia 1 de cada mês.
  • Infinito: a utilização nunca é reposta (também referida como única vez na vista de portal do Azure).

Dica

O get_quotas método devolve os resultados sob a forma de um dicionário Python. Para um formato mais legível por humanos, utilize os seguintes exemplos de código para imprimir um resumo das quotas restantes ao nível da > subscrição e da área de trabalho.

Copie o seguinte código para controlar a quota ao nível da subscrição.

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

Copie o seguinte código para controlar a quota ao nível da área 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))

Pedir quota adicional

Se não estiver a utilizar um plano do Azure Quantum Credits, pode pedir aumentos de quota ao aumentar um pedido de suporte.

  1. Inicie sessão no portal do Azure, com as credenciais da sua subscrição do Azure.

  2. Selecione a área de trabalho do Azure Quantum.

  3. No painel esquerdo, em Operações, aceda ao painel Créditos e quotas e selecione o separador Quotas .

  4. Prima o botão Aumentar na página de quota ou selecione o botão Novo pedido de suporte no painel lateral do portal.

  5. Será aberto um pedido de suporte. Siga estes passos para preencher o pedido.

    1. Descrever o problema como Pedido de Substituição da Quota Quântica do Azure
    2. Selecione Técnico para "Tipo de Problema"
    3. Selecione a subscrição em que se encontra a área de trabalho
    4. Selecionar Todos os serviços
    5. Escolher Azure Quantum – Pré-visualização como "Tipo de Serviço"
    6. Escolha a área de trabalho para a qual pretende alterar a quota em Recurso
    7. Escolher Outro para o tipo de problema
    8. Avance para Soluções e, em seguida, novamente para Detalhes
    9. Preencha todos os campos. Para Descrição , inclua o seguinte:
    • Nome do fornecedor para o qual pretende alterar as quotas
    • Se pretende alterar as quotas para o âmbito da subscrição ou o âmbito da área de trabalho
    • Que quotas pretende alterar e por quanto
    • Qualquer justificação para o aumento da quota pode ajudar-nos a decidir em alguns casos.

Passos Seguintes