Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Concepts clés pour les emplois hybrides
Cette section explique les concepts clés de la AwsQuantumJob.create fonction fournie par le SDK Amazon Braket Python et le mappage avec la structure du fichier conteneur.
Outre le ou les fichiers qui constituent le script complet de votre algorithme, votre tâche hybride peut comporter des entrées et des sorties supplémentaires. Lorsque votre tâche hybride démarre, Amazon Braket copie les entrées fournies dans le cadre de la création de la tâche hybride dans le conteneur qui exécute le script de l'algorithme. Une fois la tâche hybride terminée, toutes les sorties définies au cours de l'algorithme sont copiées vers l'emplacement Amazon S3 spécifié.
Note
Les métriques des algorithmes sont affichées en temps réel et ne suivent pas cette procédure de sortie.
Amazon Braket fournit également plusieurs variables d'environnement et fonctions d'assistance pour simplifier les interactions avec les entrées et les sorties des conteneurs. Pour plus d'informations, consultez le package braket.jobs du
Dans cette section :
Inputs
Données d'entrée : Les données d'entrée peuvent être fournies à l'algorithme hybride en spécifiant le fichier de données d'entrée, qui est configuré sous forme de dictionnaire, avec l'input_dataargument. L'utilisateur définit l'input_dataargument dans la AwsQuantumJob.create fonction dans le SDK. Cela copie les données d'entrée vers le système de fichiers conteneur à l'emplacement indiqué par la variable d'environnement"AMZN_BRAKET_INPUT_DIR". Pour quelques exemples de la manière dont les données d'entrée sont utilisées dans un algorithme hybride, consultez le QAOA avec Amazon Braket Hybrid Jobs et l'apprentissage automatique quantique dans les blocs-notes Jupyter Amazon PennyLane
Note
Lorsque les données d'entrée sont volumineuses (> 1 Go), le temps d'attente est long avant que la tâche hybride ne soit soumise. Cela est dû au fait que les données d'entrée locales seront d'abord téléchargées dans un compartiment S3, puis le chemin S3 sera ajouté à la demande de tâche hybride et, enfin, la demande de tâche hybride sera soumise au service Braket.
Hyperparamètres : si vous les transmettezhyperparameters, ils sont disponibles dans la variable "AMZN_BRAKET_HP_FILE" d'environnement.
Note
Points de contrôle : pour spécifier job-arn le point de contrôle que vous souhaitez utiliser dans une nouvelle tâche hybride, utilisez la copy_checkpoints_from_job commande. Cette commande copie les données du point de contrôle vers celles checkpoint_configs3Uri de la nouvelle tâche hybride, les rendant disponibles sur le chemin indiqué par la variable d'environnement AMZN_BRAKET_CHECKPOINT_DIR pendant l'exécution de la tâche. La valeur par défaut estNone, ce qui signifie que les données des points de contrôle d'une autre tâche hybride ne seront pas utilisées dans la nouvelle tâche hybride.
Sorties
Tâches quantiques : les résultats des tâches quantiques sont stockés dans l'emplacement S3s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/tasks.
Résultats de la tâche : tout ce que le script de votre algorithme enregistre dans le répertoire indiqué par la variable d'environnement "AMZN_BRAKET_JOB_RESULTS_DIR" est copié vers l'emplacement S3 spécifié dansoutput_data_config. Si la valeur n'est pas spécifiée, sa valeur par défaut est. s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/<timestamp>/data Nous fournissons la fonction d'assistance du SDK save_job_result, que vous pouvez utiliser pour stocker facilement les résultats sous la forme d'un dictionnaire lorsque vous l'appelez depuis le script de votre algorithme.
Points de contrôle : Si vous souhaitez utiliser des points de contrôle, vous pouvez les enregistrer dans le répertoire indiqué par la variable d'environnement. "AMZN_BRAKET_CHECKPOINT_DIR" Vous pouvez également utiliser la fonction d'assistance du SDK à la save_job_checkpoint place.
Métriques d'algorithme : vous pouvez définir des métriques d'algorithme dans le cadre de votre script d'algorithme qui sont émises vers Amazon CloudWatch et affichées en temps réel sur la console Amazon Braket pendant l'exécution de votre tâche hybride. Pour obtenir un exemple d'utilisation des métriques d'algorithme, consultez la section Utiliser Amazon Braket Hybrid Jobs pour exécuter un algorithme QAOA.
Pour plus d'informations sur la sauvegarde des résultats de vos tâches, consultez la section Enregistrer vos résultats dans la documentation relative aux tâches hybrides.
Variables d'environnement
Amazon Braket fournit plusieurs variables d'environnement pour simplifier les interactions avec les entrées et les sorties des conteneurs. Le code suivant répertorie les variables environnementales utilisées par Braket.
-
AMZN_BRAKET_INPUT_DIR— Le répertoire des données d'entrée opt/braket/input/data. -
AMZN_BRAKET_JOB_RESULTS_DIR— Le répertoire de sortie opt/braket /model dans lequel écrire les résultats des tâches. -
AMZN_BRAKET_JOB_NAME— Le nom de la tâche. -
AMZN_BRAKET_CHECKPOINT_DIR— Le répertoire des points de contrôle. -
AMZN_BRAKET_HP_FILE— Le fichier contenant les hyperparamètres. -
AMZN_BRAKET_DEVICE_ARN— L'ARN (nom de AWS ressource) du périphérique. -
AMZN_BRAKET_OUT_S3_BUCKET— Le compartiment Amazon S3 en sortie, tel que spécifié dans laCreateJobdemandeOutputDataConfig. -
AMZN_BRAKET_SCRIPT_ENTRY_POINT— Le point d'entrée tel que spécifié dans laCreateJobdemandeScriptModeConfig. -
AMZN_BRAKET_SCRIPT_COMPRESSION_TYPE— Type de compression tel que spécifié dans laCreateJobdemandeScriptModeConfig. -
AMZN_BRAKET_SCRIPT_S3_URI— L'emplacement Amazon S3 du script de l'utilisateur, tel que spécifié dans laCreateJobdemandeScriptModeConfig. -
AMZN_BRAKET_TASK_RESULTS_S3_URI— L'emplacement Amazon S3 où le SDK stockerait les résultats de la tâche quantique par défaut pour la tâche. -
AMZN_BRAKET_JOB_RESULTS_S3_PATH— L'emplacement Amazon S3 où les résultats de la tâche seraient stockés, comme indiqué dans laCreateJobdemandeOutputDataConfig. -
AMZN_BRAKET_JOB_TOKEN— La chaîne qui doit être transmise auCreateQuantumTaskjobTokenparamètre pour les tâches quantiques créées dans le conteneur de tâches.
Fonctions d'assistance
Amazon Braket propose plusieurs fonctions d'assistance destinées à simplifier les interactions avec les entrées et les sorties des conteneurs. Ces fonctions d'assistance seraient appelées depuis le script d'algorithme utilisé pour exécuter votre tâche hybride. L'exemple suivant montre comment les utiliser.
from braket.jobs import get_checkpoint_dir, get_hyperparameters, get_input_data_dir, get_job_device_arn, get_job_name, get_results_dir, save_job_result, save_job_checkpoint, load_job_checkpoint get_checkpoint_dir() # Get the checkpoint directory get_hyperparameters() # Get the hyperparameters as strings get_input_data_dir() # Get the input data directory get_job_device_arn() # Get the device specified by the hybrid job get_job_name() # Get the name of the hybrid job. get_results_dir() # Get the path to a results directory save_job_result(result_data='data') # Save hybrid job results save_job_checkpoint(checkpoint_data={'key': 'value'}) # Save a checkpoint load_job_checkpoint() # Load a previously saved checkpoint