Seguimiento y ahorro de costos - Amazon Braket

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Seguimiento y ahorro de costos

sugerencia

¡Aprenda los fundamentos de la computación cuántica con! AWS Inscríbase en el plan de aprendizaje digital de Amazon Braket y obtenga su propia insignia digital tras completar una serie de cursos de aprendizaje y una evaluación digital.

Con Amazon Braket, tiene acceso a los recursos de computación cuántica bajo demanda sin compromiso previo. Solo paga por lo que utiliza. Para obtener más información acerca de los precios, visite la página de precios.

Establecer límites de gasto para Amazon Braket QPUs

Los límites de gasto de Amazon Braket proporcionan controles de costes opcionales por dispositivo para las unidades de procesamiento cuántico (). QPUs

Cómo funcionan los límites de gasto: Amazon Braket realiza un seguimiento de tus gastos acumulados y valida todas las solicitudes de creación de tareas con respecto al límite configurado. Si el coste estimado de una tarea supera el límite de gastos restante, Amazon Braket rechaza la tarea inmediatamente con un error de validación. Si lo desea, puede configurar un período de tiempo para su límite de gasto. Al configurar un período de tiempo, puedes asegurarte de que las tareas solo se puedan enviar en ese período especificado. Se rechazarán las tareas enviadas fuera del período de tiempo.

Diseño opcional: los flujos de trabajo existentes no se verán afectados a menos que habilites los controles de forma explícita. Puedes eliminar todas las restricciones suprimiendo el límite de gasto.

nota

Los límites de gasto se aplican solo a las tareas de QPU híbridas y bajo demanda. Excluyen los simuladores, los cuadernos gestionados, los costes de las instancias EC2 de Hybrid Job y las reservas de Braket Direct. Para una gestión integral de los costes de todos los servicios de AWS, siga utilizándolos AWS Budgets.

Lista de medidas para limitar el gasto

Busca

Con el siguiente comando de la CLI de AWS, puede buscar y enumerar los límites de gasto en una región de AWS específica y para un dispositivo Braket específico.

aws --region {device_region} braket search-spending-limits --filters name=deviceArn,operator=EQUAL,values={device_arn}
Crear

Con el siguiente comando de la AWS CLI, puede crear un nuevo límite de gasto para un dispositivo cuántico específico en una región específica. La solicitud se rechaza si ya existe un límite de gasto para el dispositivo.

aws --region {device_region} braket create-spending-limit --device-arn {device_arn} --spending-limit {max_spend}
Actualización

Con el siguiente comando de la AWS CLI, puede actualizar un límite de gasto existente a un nuevo valor máximo de gasto. La solicitud se rechaza si la suma del gasto actual y el gasto en cola ya es superior al nuevo gasto máximo solicitado.

aws --region {device_region} braket update-spending-limit --spending-limit-arn {spending_limit_arn} --spending-limit {new_max_spend}

Puedes proporcionar un período de tiempo en lugar del nuevo gasto máximo o además de él, como en el ejemplo anterior.

Eliminar

Con el siguiente comando de la AWS CLI, puede eliminar un límite de gasto existente.

aws --region {device_region} braket delete-spending-limit --spending-limit-arn {spending_limit_arn}

Puede proporcionar un período de tiempo en lugar del nuevo gasto máximo o además de él, como en el ejemplo anterior.

Si bien es opcional, especifique siempre el parámetro de región como práctica recomendada. Los comandos ejecutados en una región diferente a la del dispositivo fallarán o, en su casoSearchSpendingLimits, devolverán resultados incorrectos.

Para ver más ejemplos sobre cómo usar los límites de gasto, consulta el cuaderno de ejemplo.

Cómo funciona la validación de tareas

Cuando la cuenta de AWS envía una CreateQuantumTask solicitud que de otro modo sería válida, está sujeta al siguiente comportamiento de bloqueo. Nota: El presupuesto restante es la diferencia entre el límite de gasto y la suma del gasto pendiente y el gasto actual. (Consulta la siguiente sección)

  • Caso 1: No hay límite de gasto para el dispositivo de tareas: se crea la tarea.

  • Caso 2: Hay un límite de gasto para el dispositivo de destino y la hora actual se encuentra dentro del período de tiempo del límite de gasto:

    • Si el coste estimado de la tarea es inferior o igual al presupuesto restante: si se CreateQuantumTask realiza correctamente, se crea la tarea.

    • Si el costo estimado es superior al presupuesto restante: se produce un CreateQuantumTask error y no se crea ninguna tarea.

  • Caso 3: hay un límite de gasto para el dispositivo de destino y la hora actual está fuera del período de tiempo del límite de gasto: CreateQuantumTask se produce un error y no se crea ninguna tarea.

¿Cómo se calcula el presupuesto restante

El presupuesto restante es la diferencia entre el límite de gasto y la suma del gasto actual y el gasto en cola.

Cuando se crea una tarea para un dispositivo con un límite de gasto, el gasto en cola se incrementa en función del coste estimado de la tarea. Este evento aparece en la primera fila de la tabla siguiente. En la siguiente tabla se muestra lo que ocurre con el gasto en cola y el gasto actual, en función del progreso de la tarea.

Estado antiguo de una tarea cuántica

Nuevo estado de tarea cuántica

Cambiar a gasto en cola

Cambiar al gasto actual

-

CREATED

Incrementado según el costo estimado

Sin cambios

CREATED

QUEUED

Sin cambios

Sin cambios

Cualquiera

RUNNING

Sin cambios

Sin cambios

Cualquiera

CANCELADO

Sin cambios

Sin cambios

CANCELADO

CANCELLED

Reducido según el costo estimado

Sin cambios

Cualquiera

ERROR

Reducido según el costo estimado

Sin cambios

RUNNING

COMPLETED

Reducido según el costo estimado

Incrementado según el costo estimado (ajustado en consecuencia para las tareas parcialmente completadas)

Casos perimetrales

P: Al crear un límite de gastos, ¿se tienen en cuenta las tareas que ya están en cola para el gasto en cola?

R: No. Las tareas que ya están creadas, en cola o en curso no se tienen en cuenta para el gasto en cola de un límite de gastos recién creado.

P: ¿Reducir el límite de gasto actualizándolo provoca la finalización anticipada de una tarea cuántica creada, en cola o en curso?

R: No.

P: ¿Llegar a la hora de finalización del límite de gasto provoca la finalización anticipada de una tarea cuántica creada, en cola o en curso?

R: No. Las tareas creadas, en cola o en curso se pueden completar independientemente del estado del límite de gasto.

P: ¿En qué se diferencia la falta de límite de gastos de un límite de gasto de cero dólares?

R: No tener límite de gasto permite crear tareas cuánticas sin restricciones. Un límite de gasto de cero dólares bloquea todas las tareas cuánticas.

P: ¿Un límite de gasto de cero en el pasado o en el futuro bloquea toda creación de tareas cuánticas?

R: Sí.

P: Al crear un límite de gastos, ¿se tendrá en cuenta el coste estimado de las tareas que ya están en espera para el gasto actual una vez finalizadas dichas tareas?

R: No. Solo las tareas enviadas mientras haya un límite de gasto activo se tendrán en cuenta para el gasto acumulado.

Seguimiento de costos casi en tiempo real

El SDK de Braket le ofrece la opción de añadir un seguimiento de costos casi en tiempo real a sus cargas de trabajo cuánticas. Cada uno de nuestros cuadernos de ejemplo incluye un código de seguimiento de costes para proporcionarle una estimación del coste máximo de las unidades de procesamiento cuántico de Braket () QPUs y de los simuladores bajo demanda. Las estimaciones de costos máximos se mostrarán en USD y no incluyen ningún crédito ni descuento.

nota

Los cargos que se muestran son estimaciones basadas en el uso de tareas del simulador de la unidad de procesamiento cuántico (QPU) y el simulador de Amazon Braket. Los cargos estimados que se muestran pueden diferir de los cargos reales. En los cargos estimados no se incluyen descuentos ni créditos y es posible que se le apliquen cargos adicionales en función del uso de otros servicios, como Amazon Elastic Compute Cloud (Amazon EC2).

Seguimiento de costes para SV1

Para demostrar cómo se puede utilizar la función de seguimiento de costes, construiremos un circuito Bell State y lo ejecutaremos en nuestro SV1 simulador. Empezaremos importando los módulos del SDK de Braket, definiendo un Bell State y añadiendo la función Tracker() a nuestro 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})

Al utilizar su cuaderno, puede esperar el siguiente resultado para su simulación de Bell State. La función de seguimiento le mostrará el número de shots enviados, las tareas cuánticas completadas, la duración de la ejecución, la duración de la ejecución facturada y su costo máximo en USD. El tiempo de ejecución puede variar en cada simulación.

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

Uso del rastreador de costos para establecer los costos máximos

Puede usar el rastreador de costos para establecer los costos máximos de un programa. Es posible que tenga un límite máximo de cuánto desea gastar en un programa determinado. De esta forma, puede usar el rastreador de costos para desarrollar una lógica de control de costos en su código de ejecución. El siguiente ejemplo utiliza el mismo circuito en una QPU de Rigetti y limita el costo a 1 USD. El costo de ejecutar una iteración del circuito en nuestro código es de 0,30 USD. Hemos establecido la lógica para repetir las iteraciones hasta que el costo total supere 1 USD; de este modo, el fragmento de código se ejecutará tres veces hasta que la siguiente iteración supere 1 USD. Por lo general, un programa seguiría iterando hasta alcanzar el costo máximo deseado, en este caso, tres iteraciones.

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

El rastreador de costos no registrará la duración de las tareas cuánticas de TN1 fallidas. Durante una simulación de TN1, si se completa el ensayo, pero la fase de contracción falla, los gastos del ensayo no se mostrarán en el registro de costos.

Prácticas recomendadas para el ahorro costos

Tenga en cuenta las siguientes prácticas recomendadas al usar Amazon Braket. Ahorre tiempo, minimice los costos y evite errores comunes.

Verificar con simuladores

  • Verifique sus circuitos con un simulador antes de ejecutarlo en una QPU, de modo que pueda refinar su circuito sin incurrir en cargos por el uso de la QPU.

  • Si bien es posible que los resultados de ejecutar el circuito en un simulador no sean idénticos a los de ejecutar el circuito en una QPU, puede identificar los errores de codificación o los problemas de configuración con un simulador.

Restringir el acceso de los usuarios a determinados dispositivos

  • Puede configurar restricciones que impidan que usuarios no autorizados envíen tareas cuánticas en determinados dispositivos. El método recomendado para restringir el acceso es con AWS IAM. Para obtener más información sobre cómo hacerlo, consulte Restringir el acceso.

  • Le recomendamos que no utilice su cuenta de administrador para conceder o restringir el acceso de los usuarios a los dispositivos de Amazon Braket.

Configurar alarmas de facturación

  • Puede configurar una alarma de facturación para que le avise cuando su factura alcance un límite preestablecido. La forma recomendada de configurar una alarma es mediante AWS Budgets. Puede establecer presupuestos personalizados y recibir alertas cuando sus costos o su uso puedan superar la cantidad presupuestada. Encontrará información disponible en AWS Budgets.

Probar tareas cuánticas de TN1 con números bajos de shots

  • Los simuladores cuestan menos que QPUs, pero algunos simuladores pueden resultar caros si las tareas cuánticas se ejecutan con un alto número de disparos. Le recomendamos que pruebe sus tareas de TN1 con un número bajo de shot. El número de Shot no afecta al costo de SV1 ni al de las tareas de simulador local.

Comprobar las tareas cuánticas en todas las regiones

  • La consola muestra las tareas cuánticas solo para las actuales. Región de AWS Cuando busque tareas cuánticas facturables que se hayan enviado, asegúrese de comprobar todas las regiones.

  • Puede ver una lista de dispositivos y sus regiones asociadas en la página de dispositivos compatibles de la documentación.