As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Controle e economia de custos
dica
Aprenda os fundamentos da computação quântica com AWS! Inscreva-se no Amazon Braket Digital
Com o Amazon Braket, você tem acesso a recursos de computação quântica sob demanda, sem compromisso prévio. Você paga somente pelo que usar. Para saber mais sobre precificação, consulte página de precificação
Nesta seção:
Definindo limites de gastos para o Amazon Braket QPUs
Os limites de gastos do Amazon Braket fornecem controles opcionais de custo por dispositivo para unidades de processamento quântico (). QPUs
Como os limites de gastos funcionam: o Amazon Braket monitora seus gastos cumulativos e valida cada solicitação de criação de tarefas em relação ao seu limite configurado. Se o custo estimado de uma tarefa exceder seu limite de gastos restante, o Amazon Braket rejeitará a tarefa imediatamente com um erro de validação. Opcionalmente, você pode configurar um período de tempo para seu limite de gastos. Ao configurar um período de tempo, você pode garantir que as tarefas só possam ser enviadas nesse período especificado. As tarefas enviadas fora do período de tempo serão rejeitadas.
Design opcional: os fluxos de trabalho existentes permanecerão inalterados, a menos que você habilite explicitamente os controles. Você pode remover todas as restrições excluindo o limite de gastos.
nota
Os limites de gastos se aplicam somente às tarefas de QPU de trabalho híbrido e sob demanda. Eles excluem simuladores, notebooks gerenciados, custos de instância do Hybrid Job EC2 e reservas do Braket Direct. Para um gerenciamento abrangente de custos em todos os serviços da AWS, continue usando AWS Budgets
Lista de ações de limite de gastos
- Pesquisar
-
Com o seguinte comando da AWS CLI, você pode pesquisar e listar os limites de gastos em uma região específica da AWS e para um dispositivo Braket específico.
aws --region {device_region} braket search-spending-limits --filters name=deviceArn,operator=EQUAL,values={device_arn} - Criar
-
Com o seguinte comando da AWS CLI, você pode criar um novo limite de gastos para um dispositivo quântico específico em uma região específica. A solicitação será rejeitada se já existir um limite de gastos para o dispositivo.
aws --region {device_region} braket create-spending-limit --device-arn {device_arn} --spending-limit {max_spend} - Atualizar
-
Com o seguinte comando da AWS CLI, você pode atualizar um limite de gastos existente para um novo valor máximo de gastos. A solicitação será rejeitada se a soma do gasto atual e do gasto em fila já for maior do que o novo gasto máximo solicitado.
aws --region {device_region} braket update-spending-limit --spending-limit-arn {spending_limit_arn} --spending-limit {new_max_spend}Você pode fornecer um período de tempo em vez ou além do novo gasto máximo, como no exemplo acima.
- Excluir
-
Com o seguinte comando da AWS CLI, você pode excluir um limite de gastos existente.
aws --region {device_region} braket delete-spending-limit --spending-limit-arn {spending_limit_arn}Você pode fornecer um período de tempo em vez ou além do novo gasto máximo, como no exemplo acima.
Embora opcional, sempre especifique o parâmetro da região como uma prática recomendada. Os comandos executados em uma região diferente da do dispositivo falharão ou, no caso deSearchSpendingLimits, retornarão resultados incorretos.
Para obter mais exemplos sobre como usar limites de gastos, consulte o exemplo de caderno
Como funciona a validação de tarefas
Quando a conta da AWS envia uma CreateQuantumTask solicitação válida, ela está sujeita ao seguinte comportamento de bloqueio. Observação: o orçamento restante é a diferença entre o limite de gastos e a soma dos gastos atuais e em fila. (Veja a próxima seção)
-
Caso 1: Não há limite de gastos para o dispositivo de tarefas: a tarefa foi criada.
-
Caso 2: Há um limite de gastos para o dispositivo de destino e o horário atual está dentro do período de tempo do limite de gastos:
-
Se o custo estimado da tarefa for menor ou igual ao orçamento restante: CreateQuantumTask for bem-sucedido, a tarefa será criada.
-
Se o custo estimado for maior que o orçamento restante:
CreateQuantumTaskfalha e nenhuma tarefa será criada.
-
-
Caso 3: Há um limite de gastos para o dispositivo de destino e o horário atual está fora do período do limite de gastos:
CreateQuantumTaskfalha e nenhuma tarefa é criada.
Como o orçamento restante é calculado
O orçamento restante é a diferença entre o limite de gastos e a soma dos gastos atuais e dos gastos em fila.
Quando uma tarefa é criada para um dispositivo com limite de gastos, o gasto na fila é aumentado pelo custo estimado da tarefa. Esse evento está listado na primeira linha da tabela a seguir. A tabela a seguir mostra o que acontece com o gasto na fila e o gasto atual, dependendo da progressão da tarefa.
|
Antigo estado de tarefa quântica |
Novo estado de tarefa quântica |
Alterar para gastos em fila |
Alteração nos gastos atuais |
|
- |
CREATED |
Aumentado pelo custo estimado |
Nenhuma alteração |
|
CREATED |
QUEUED |
Nenhuma alteração |
Nenhuma alteração |
|
Any |
RUNNING (Em execução) |
Nenhuma alteração |
Nenhuma alteração |
|
Any |
CANCELANDO |
Nenhuma alteração |
Nenhuma alteração |
|
CANCELANDO |
CANCELADO |
Reduzido pelo custo estimado |
Sem alteração |
|
Any |
FAILED |
Reduzido pelo custo estimado |
Nenhuma alteração |
|
RUNNING (Em execução) |
CONCLUÍDO |
Reduzido pelo custo estimado |
Aumentado pelo custo estimado (ajustado adequadamente para tarefas parcialmente concluídas) |
Casos Edge
P: Ao criar um limite de gastos, as tarefas que já estão na fila contam para o gasto na fila?
R: Não. Tarefas que já foram criadas, colocadas em fila ou em andamento não contam para os gastos em fila de um limite de gastos recém-criado.
P: Reduzir o limite de gastos, ao atualizá-lo, causa o encerramento antecipado de uma tarefa quântica criada, em fila ou em andamento?
R: Não.
P: Atingir a hora de término do limite de gastos causa o encerramento antecipado de uma tarefa quântica criada, em fila ou em andamento?
R: Não. Tarefas criadas, enfileiradas e em andamento podem ser concluídas independentemente do status do limite de gastos.
P: Como a falta de limite de gastos é diferente de um limite de gastos de zero dólares?
R: Nenhum limite de gastos permite criar tarefas quânticas sem restrições. Um limite de gastos com zero dólares bloqueia todas as tarefas quânticas.
P: Um limite de gastos de zero no passado ou no futuro bloqueia toda a criação de tarefas quânticas?
R: Sim.
P: Ao criar um limite de gastos, o custo estimado das tarefas que já estão na fila será contabilizado para o gasto atual quando essas tarefas forem concluídas?
R: Não. Somente as tarefas enviadas enquanto o limite de gastos estiver ativo contam para o gasto acumulado.
Controle de custos quase em tempo real
O Braket SDK oferece a opção de adicionar um rastreamento de custos quase em tempo real às suas workloads quânticas. Cada um de nossos notebooks de exemplo inclui um código de rastreamento de custos para fornecer uma estimativa máxima de custo nas unidades de processamento quântico (QPUs) e nos simuladores sob demanda da Braket. As estimativas de custo máximo serão mostradas em USD e não incluem créditos ou descontos.
nota
As cobranças mostradas são estimativas com base no uso de tarefas do simulador Amazon Braket e da unidade de processamento quântico (QPU). As cobranças estimadas mostradas podem diferir das cobranças reais. As cobranças estimadas não incluem descontos ou créditos, e você pode receber cobranças adicionais com base no uso de outros serviços, como o Amazon Elastic Compute Cloud (Amazon EC2).
Rastreamento de custos para SV1
Para demonstrar como a função de controle de custos pode ser usada, construiremos um circuito Bell State e o executaremos em nosso SV1 simulador. Comece importando os módulos do SDK do Braket, definindo um estado de sino e adicionando a Tracker() função ao nosso circuito:
#import any required modules from braket.aws import AwsDevice from braket.circuits import Circuit from braket.tracking import Tracker #create our bell circuit circ = Circuit().h(0).cnot(0,1) device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1") with Tracker() as tracker: task = device.run(circ, shots=1000).result() #Your results print(task.measurement_counts)
Counter({'00': 500, '11': 500})
Ao executar seu Notebook, você pode esperar a seguinte saída para sua simulação do Bell State. A função de rastreamento mostrará o número de fotos enviadas, as tarefas quânticas concluídas, a duração da execução, a duração da execução faturada e seu custo máximo em dólares americanos. Seu tempo de execução pode variar para cada simulação.
import datetime tracker.quantum_tasks_statistics() {'arn:aws:braket:::device/quantum-simulator/amazon/sv1': {'shots': 1000, 'tasks': {'COMPLETED': 1}, 'execution_duration': datetime.timedelta(microseconds=4000), 'billed_execution_duration': datetime.timedelta(seconds=3)}} tracker.simulator_tasks_cost()
Decimal('0.0037500000')
Usando o rastreador de custos para definir os custos máximos
Você pode usar o rastreador de custos para definir os custos máximos em um programa. Você pode ter um limite máximo de quanto deseja gastar em um determinado programa. Dessa forma, você pode usar o rastreador de custos para criar uma lógica de controle de custos em seu código de execução. O exemplo a seguir usa o mesmo circuito em uma Rigetti QPU e limita o custo a 1 USD. O custo para executar uma iteração do circuito em nosso código é de 0,30 USD. Definimos a lógica para repetir as iterações até que o custo total exceda 1 USD; portanto, o trecho de código será executado três vezes até que a próxima iteração exceda 1 USD. Geralmente, um programa continuaria a iterar até atingir o custo máximo desejado, neste caso, três iterações.
device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3") with Tracker() as tracker: while tracker.qpu_tasks_cost() < 1: result = device.run(circ, shots=200).result() print(tracker.quantum_tasks_statistics()) print(tracker.qpu_tasks_cost(), "USD")
{'arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3': {'shots': 600, 'tasks': {'COMPLETED': 3}}} 1.4400000000 USD
nota
O rastreador de custos não rastreará a duração de tarefas TN1 quânticas que falharam. Durante uma simulação TN1, se seu ensaio for concluído, mas a etapa de contração falhar, sua taxa de ensaio não será mostrada no rastreador de custos.
Melhores práticas para redução de custos
Considere as práticas recomendadas a seguir para usar o Amazon Braket. Economize tempo, minimize os custos e evite erros comuns.
Verificação com simuladores
-
Verifique seus circuitos usando um simulador antes de executá-lo em uma QPU, para que você possa ajustar seu circuito sem incorrer em cobranças pelo uso da QPU.
-
Embora os resultados da execução do circuito em um simulador possam não ser idênticos aos resultados da execução do circuito em uma QPU, você pode identificar erros de codificação ou problemas de configuração usando um simulador.
Restringir o acesso do usuário a determinados dispositivos
-
Você pode configurar restrições que impeçam usuários não autorizados de enviar tarefas quânticas em determinados dispositivos. O método recomendado para restringir o acesso é com o AWS IAM. Para obter mais informações sobre como fazer isso, consulte Restringir acesso.
-
Não recomendamos que você use sua conta de administrador como forma de conceder ou restringir o acesso do usuário aos dispositivos Amazon Braket.
Configurar alarmes de faturamento
-
Você pode definir um alarme de cobrança para receber uma notificação quando sua fatura atingir um limite predefinido. A forma recomendada de configurar um alarme é por meio de AWS Budgets. Você pode definir orçamentos personalizados e receber alertas quando seus custos ou uso excederem o valor orçado. As informações estão disponíveis no AWS Budgets
.
Teste tarefas quânticas TN1 com baixa contagem de disparos
-
Os simuladores custam menos do que QPUs, mas certos simuladores podem ser caros se as tarefas quânticas forem executadas com altas contagens de disparos. Recomendamos que você teste suas tarefas TN1 com uma contagem baixa de shot. A contagem de Shot não afeta o custo do SV1 e as tarefas locais do simulador.
Verifique todas as regiões para tarefas quânticas
-
O console exibe tarefas quânticas somente para a sua atual Região da AWS. Ao procurar tarefas quânticas faturáveis que foram enviadas, certifique-se de verificar todas as regiões.
-
Você pode ver uma lista de dispositivos e suas regiões associadas na página de documentação de dispositivos compatíveis.