기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이 섹션에서는 Python 스크립트를 사용하여 하이브리드 작업을 생성하는 방법을 보여줍니다. 또는 선호하는 통합 개발 환경(IDE) 또는 Braket 노트북과 같은 로컬 Python 코드에서 하이브리드 작업을 생성하려면 섹션을 참조하세요로컬 코드를 하이브리드 작업으로 실행.
권한 설정
첫 번째 하이브리드 작업을 실행하기 전에이 작업을 진행할 수 있는 충분한 권한이 있는지 확인해야 합니다. 올바른 권한이 있는지 확인하려면 Braket 콘솔 왼쪽의 메뉴에서 권한을 선택합니다. Amazon Braket에 대한 권한 관리 페이지를 통해 기존 역할 중 하나에 하이브리드 작업을 실행하기에 충분한 권한이 있는지 확인하거나, 해당 역할이 아직 없는 경우 하이브리드 작업을 실행하는 데 사용할 수 있는 기본 역할 생성을 안내할 수 있습니다.

하이브리드 작업을 실행할 수 있는 충분한 권한이 있는 역할이 있는지 확인하려면 기존 역할 확인 버튼을 선택합니다. 이렇게 하면 역할이 발견되었다는 메시지가 표시됩니다. 역할의 이름과 역할 ARNs을 보려면 역할 표시 버튼을 선택합니다.

하이브리드 작업을 실행할 수 있는 충분한 권한이 있는 역할이 없는 경우 해당 역할을 찾을 수 없다는 메시지가 표시됩니다. 기본 역할 생성 버튼을 선택하여 충분한 권한이 있는 역할을 가져옵니다.

역할이 성공적으로 생성된 경우 이를 확인하는 메시지가 표시됩니다.

이 문의를 수행할 권한이 없는 경우 액세스가 거부됩니다. 이 경우 내부 AWS 관리자에게 문의하세요.

생성 및 실행
하이브리드 작업을 실행할 수 있는 권한이 있는 역할이 있으면 진행할 준비가 된 것입니다. 첫 번째 Braket 하이브리드 작업의 핵심은 알고리즘 스크립트입니다. 실행하려는 알고리즘을 정의하고 알고리즘의 일부인 클래식 로직 및 양자 작업을 포함합니다. 알고리즘 스크립트 외에도 다른 종속성 파일을 제공할 수 있습니다. 알고리즘 스크립트는 종속성과 함께 소스 모듈이라고 합니다. 진입점은 하이브리드 작업이 시작될 때 소스 모듈에서 실행할 첫 번째 파일 또는 함수를 정의합니다.

먼저, 다섯 가지 종 상태를 생성하고 해당 측정 결과를 인쇄하는 알고리즘 스크립트의 다음 기본 예제를 생각해 보세요.
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!")
이 파일을 이름 algorithm_script.py와 함께 Braket 노트북 또는 로컬 환경의 현재 작업 디렉터리에 저장합니다. algorithm_script.py 파일은를 계획된 진입점start_here()
으로 사용합니다.
그런 다음 algorithm_script.py 파일과 동일한 디렉터리에 Python 파일 또는 Python 노트북을 생성합니다. 이 스크립트는 하이브리드 작업을 시작하고 관심 있는 상태 또는 주요 결과 인쇄와 같은 비동기 처리를 처리합니다. 최소한이 스크립트는 하이브리드 작업 스크립트와 기본 디바이스를 지정해야 합니다.
참고
노트북과 동일한 디렉터리에서 Braket 노트북을 생성하거나 algorithm_script.py 파일과 같은 파일을 업로드하는 방법에 대한 자세한 내용은 Amazon Braket Python SDK를 사용하여 첫 번째 회로 실행을 참조하세요.
이 기본 첫 번째 사례의 경우 시뮬레이터를 대상으로 합니다. 대상 양자 디바이스, 시뮬레이터 또는 실제 양자 처리 장치(QPU) 유형과 관계없이 다음 스크립트device
에서 로 지정하는 디바이스는 하이브리드 작업을 예약하는 데 사용되며 알고리즘 스크립트에서 환경 변수 로 사용할 수 있습니다AMZN_BRAKET_DEVICE_ARN
.
참고
하이브리드 작업 AWS 리전 의에서 사용할 수 있는 디바이스만 사용할 수 있습니다. Amazon Braket SDK가 이를 자동으로 선택합니다 AWS 리전. 예를 들어 us-east-1의 하이브리드 작업은 , IonQSV1DM1, 및 TN1 디바이스를 사용할 수 있지만 Rigetti 디바이스는 사용할 수 없습니다.
시뮬레이터 대신 양자 컴퓨터를 선택하면 Braket는 우선 액세스 권한으로 모든 양자 작업을 실행하도록 하이브리드 작업을 예약합니다.
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
)
파라미터는 작업이 실행 중일 때 실제 작업의 출력을 인쇄하도록 상세 모드를 wait_until_complete=True
설정합니다. 다음 예제와 비슷한 출력이 표시되어야 합니다.
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
참고
위치(로컬 디렉터리 또는 파일의 경로 또는 tar.gz 파일의 S3 URI)를 전달하여 AwsQuantumJob.create
모니터 결과
또는 Amazon CloudWatch에서 로그 출력에 액세스할 수 있습니다. 이렇게 하려면 작업 세부 정보 페이지의 왼쪽 메뉴에 있는 로그 그룹 탭으로 이동하여 로그 그룹를 선택한 aws/braket/jobs
다음 작업 이름이 포함된 로그 스트림을 선택합니다. 위 예제에서이 값은 입니다braket-job-default-1631915042705/algo-1-1631915190
.

하이브리드 작업 페이지를 선택한 다음 설정을 선택하여 콘솔에서 하이브리드 작업의 상태를 볼 수도 있습니다.

하이브리드 작업은 실행되는 동안 Amazon S3에서 일부 아티팩트를 생성합니다. 기본 S3 버킷 이름은 amazon-braket-<region>-<accountid>
이고 콘텐츠는 jobs/<jobname>/<timestamp>
디렉터리에 있습니다. 하이브리드 작업이 Braket Python SDK로 생성될 code_location
때 다른를 지정하여 이러한 아티팩트가 저장되는 S3 위치를 구성할 수 있습니다.
참고
이 S3 버킷은 작업 스크립트 AWS 리전 와 동일한에 있어야 합니다.
jobs/<jobname>/<timestamp>
디렉터리에는 model.tar.gz
파일의 진입점 스크립트에서 출력한 하위 폴더가 포함되어 있습니다. 또한 source.tar.gz
파일에 알고리즘 스크립트 아티팩트script
가 포함된 라는 디렉터리도 있습니다. 실제 양자 작업의 결과는 라는 디렉터리에 있습니다jobs/<jobname>/tasks
.