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
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 cargas de trabalho quânticas. Cada um de nossos cadernos 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 simuladores sob demanda do 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 simulador SV1. 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 do 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 as 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.