Seguimiento y ahorro de costos - Amazon Braket

Seguimiento y ahorro de costos

sugerencia

Conozca 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.

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 costos para proporcionarle una estimación máxima del costo de las unidades de procesamiento cuántico (QPU) y los simuladores bajo demanda de Braket. 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 los costos de SV1

Para demostrar cómo se puede utilizar la función de seguimiento de costos, construiremos un circuito de Bell State y lo ejecutaremos en nuestro simulador de SV1. 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 IAM de AWS. 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 a través de 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 las QPU, pero algunos simuladores pueden resultar caros si las tareas cuánticas se ejecutan con un número alto de shots. 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 solo muestra las tareas cuánticas para su Región de AWS actual. 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.