As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Crie seu primeiro Hybrid Job
Esta seção mostra como criar um Hybrid Job usando um script Python. Como alternativa, para criar uma tarefa híbrida a partir do código Python local, como seu ambiente de desenvolvimento integrado preferido (IDE) ou um notebook Braket, consulte. Executando seu código local como um trabalho híbrido
Definir permissões
Antes de executar seu primeiro trabalho híbrido, você deve garantir que tenha permissões suficientes para continuar com essa tarefa. Para determinar se você tem as permissões corretas, selecione Permissões no menu à esquerda do console Braket. A página Gerenciamento de permissões para Amazon Braket ajuda você a verificar se uma de suas funções existentes tem permissões suficientes para executar seu trabalho híbrido ou orienta você na criação de uma função padrão que pode ser usada para executar seu trabalho híbrido, caso você ainda não tenha essa função.
Para verificar se você tem funções com permissões suficientes para executar um trabalho híbrido, selecione o botão Verificar função existente. Se você fizer isso, receberá uma mensagem informando que as funções foram encontradas. Para ver os nomes das funções e suas funçõesARNs, selecione o botão Mostrar funções.
Se você não tiver uma função com permissões suficientes para executar uma tarefa híbrida, receberá uma mensagem informando que essa função não foi encontrada. Selecione o botão Criar função padrão para obter uma função com permissões suficientes.
Se a função foi criada com sucesso, você receberá uma mensagem confirmando isso.
Se você não tiver permissão para fazer essa consulta, seu acesso será negado. Nesse caso, entre em contato com seu AWS administrador interno.
Crie e execute
Depois de ter uma função com permissões para executar um trabalho híbrido, você estará pronto para continuar. A peça-chave do seu primeiro trabalho híbrido do Braket é o script do algoritmo. Ele define o algoritmo que você deseja executar e contém a lógica clássica e as tarefas quânticas que fazem parte do seu algoritmo. Além do script do algoritmo, você pode fornecer outros arquivos de dependência. O script do algoritmo, junto com suas dependências, é chamado de módulo de origem. O ponto de entrada define o primeiro arquivo ou função a ser executado no módulo de origem quando o trabalho híbrido é iniciado.
Primeiro, considere o seguinte exemplo básico de um script de algoritmo que cria cinco estados de sino e imprime os resultados de medição correspondentes.
import os from braket.aws import AwsDevice from braket.circuits import Circuit def start_here(): print("Test job started!") # Use the device declared in the job script device = AwsDevice(os.environ["AMZN_BRAKET_DEVICE_ARN"]) bell = Circuit().h(0).cnot(0, 1) for count in range(5): task = device.run(bell, shots=100) print(task.result().measurement_counts) print("Test job completed!")
Salve esse arquivo com o nome algorithm_script.py em seu diretório de trabalho atual no notebook Braket ou no ambiente local. O arquivo algorithm_script.py tem start_here()
como ponto de entrada planejado.
Em seguida, crie um arquivo Python ou um notebook Python no mesmo diretório do arquivo algorithm_script.py. Esse script inicia o trabalho híbrido e processa qualquer processamento assíncrono, como imprimir o status ou os principais resultados nos quais estamos interessados. No mínimo, esse script precisa especificar seu script de trabalho híbrido e seu dispositivo principal.
nota
Para obter mais informações sobre como criar um notebook Braket ou fazer upload de um arquivo, como o arquivo algorithm_script.py, no mesmo diretório dos notebooks, consulte Executar seu primeiro circuito usando o Amazon Braket Python SDK
Para esse primeiro caso básico, você escolhe um simulador. Qualquer que seja o tipo de dispositivo quântico que você almeje, um simulador ou uma unidade real de processamento quântico (QPU), o dispositivo especificado device
no script a seguir é usado para agendar a tarefa híbrida e está disponível para os scripts do algoritmo como a variável de ambiente. AMZN_BRAKET_DEVICE_ARN
nota
Você só pode usar dispositivos que estejam disponíveis no Região da AWS seu trabalho híbrido. O Amazon SDK Braket seleciona isso automaticamente. Região da AWS Por exemplo, um trabalho híbrido em us-east-1 pode usar IonQ, SV1, DM1 e TN1 dispositivos, mas não Rigetti dispositivos.
Se você escolher um computador quântico em vez de um simulador, o Braket agenda seus trabalhos híbridos para executar todas as tarefas quânticas com acesso prioritário.
from braket.aws import AwsQuantumJob from braket.devices import Devices job = AwsQuantumJob.create( Devices.Amazon.SV1, source_module="algorithm_script.py", entry_point="algorithm_script:start_here", wait_until_complete=True )
O parâmetro wait_until_complete=True
define um modo detalhado para que seu trabalho imprima a saída do trabalho real enquanto ele está sendo executado. Você deve ver uma saída semelhante ao exemplo a seguir.
job = AwsQuantumJob.create( Devices.Amazon.SV1, source_module="algorithm_script.py", entry_point="algorithm_script:start_here", wait_until_complete=True, ) Initializing Braket Job: arn:aws:braket:us-west-2:<accountid>:job/<UUID> ......................................... . . . Completed 36.1 KiB/36.1 KiB (692.1 KiB/s) with 1 file(s) remaining#015download: s3://braket-external-assets-preview-us-west-2/HybridJobsAccess/models/braket-2019-09-01.normal.json to ../../braket/additional_lib/original/braket-2019-09-01.normal.json Running Code As Process Test job started!!!!! Counter({'00': 55, '11': 45}) Counter({'11': 59, '00': 41}) Counter({'00': 55, '11': 45}) Counter({'00': 58, '11': 42}) Counter({'00': 55, '11': 45}) Test job completed!!!!! Code Run Finished 2021-09-17 21:48:05,544 sagemaker-training-toolkit INFO Reporting training SUCCESS
nota
Você também pode usar seu módulo personalizado com o AwsQuantumJobmétodo.create
Resultados do monitoramento
Como alternativa, você pode acessar a saída do log da Amazon CloudWatch. Para fazer isso, acesse a guia Grupos de registros no menu esquerdo da página de detalhes do trabalho, selecione o grupo aws/braket/jobs
de registros e escolha o fluxo de registros que contém o nome do trabalho. No exemplo acima, ele é braket-job-default-1631915042705/algo-1-1631915190
.
Você também pode visualizar o status do trabalho híbrido no console selecionando a página Trabalhos híbridos e, em seguida, escolhendo Configurações.
Seu trabalho híbrido produz alguns artefatos no Amazon S3 enquanto é executado. O nome padrão do bucket do S3 é amazon-braket-<region>-<accountid>
e o conteúdo está no jobs/<jobname>/<timestamp>
diretório. Você pode configurar os locais do S3 em que esses artefatos são armazenados especificando um diferente code_location
quando a tarefa híbrida é criada com o Braket Python. SDK
nota
Esse bucket do S3 deve estar localizado da Região da AWS mesma forma que seu script de trabalho.
O jobs/<jobname>/<timestamp>
diretório contém uma subpasta com a saída do script do ponto de entrada em um model.tar.gz
arquivo. Também há um diretório chamado script
que contém os artefatos do script do algoritmo em um source.tar.gz
arquivo. Os resultados de suas tarefas quânticas reais estão no diretório nomeadojobs/<jobname>/tasks
.