Utilizzo della compilazione parametrica per velocizzare i lavori ibridi - Amazon Braket

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo della compilazione parametrica per velocizzare i lavori ibridi

Amazon Braket supporta la compilazione parametrica su determinate QPU. Ciò consente di ridurre il sovraccarico associato alla fase di compilazione, dal punto di vista computazionalmente costoso, compilando un circuito una sola volta e non per ogni iterazione del tuo algoritmo ibrido. Ciò può migliorare notevolmente i tempi di esecuzione per Hybrid Jobs, poiché si evita la necessità di ricompilare il circuito in ogni fase. Basta inviare circuiti parametrizzati a una delle nostre QPU supportate come Braket Hybrid Job. Per lavori ibridi di lunga durata, Braket utilizza automaticamente i dati di calibrazione aggiornati del fornitore di hardware durante la compilazione del circuito per garantire risultati della massima qualità.

Per creare un circuito parametrico, devi prima fornire i parametri come input nello script dell'algoritmo. In questo esempio, utilizziamo un piccolo circuito parametrico e ignoriamo qualsiasi elaborazione classica tra ogni iterazione. Per i carichi di lavoro tipici, è necessario inviare molti circuiti in batch ed eseguire l'elaborazione classica, ad esempio l'aggiornamento dei parametri in ogni iterazione.

import os from braket.aws import AwsDevice from braket.circuits import Circuit, FreeParameter def start_here(): print("Test job started.") # Use the device declared in the job script device = AwsDevice(os.environ["AMZN_BRAKET_DEVICE_ARN"]) circuit = Circuit().rx(0, FreeParameter("theta")) parameter_list = [0.1, 0.2, 0.3] for parameter in parameter_list: result = device.run(circuit, shots=1000, inputs={"theta": parameter}) print("Test job completed.")

È possibile inviare lo script dell'algoritmo per l'esecuzione come Hybrid Job con il seguente script di processo. Quando si esegue Hybrid Job su una QPU che supporta la compilazione parametrica, il circuito viene compilato solo alla prima esecuzione. Nelle esecuzioni successive, il circuito compilato viene riutilizzato, aumentando le prestazioni di runtime di Hybrid Job senza righe di codice aggiuntive.

from braket.aws import AwsQuantumJob job = AwsQuantumJob.create( device=device_arn, source_module="algorithm_script.py", )
Nota

La compilazione parametrica è supportata su tutte le QPU superconduttrici basate su gate di Rigetti Computing e Oxford Quantum Circuits ad eccezione dei programmi a livello di impulsi.