기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
로컬 양자 디바이스 에뮬레이터
Amazon Braket의 로컬 에뮬레이터 도구를 사용하면 실제 양자 하드웨어에서 실행하기 전에 축어 양자 프로그램을 로컬에서 에뮬레이션할 수 있습니다. 에뮬레이터는 디바이스 보정 데이터를 사용하여 축어적 회로를 검증하므로 호환성 문제를 조기에 파악할 수 있습니다.
또한 로컬 에뮬레이터는 다음 프로세스를 통해 양자 하드웨어 노이즈를 시뮬레이션합니다.
-
디바이스 보정 데이터를 사용하여 노이즈 모델 구성
-
회로의 각 게이트에 디폴라라이징 노이즈 적용
-
회로 끝에 읽기 오류 적용
-
로컬 밀도 매트릭스 시뮬레이터를 사용하여 노이즈가 많은 회로 시뮬레이션
로컬 에뮬레이터 사용에 대한 자세한 내용은 amazon-braket-examples 리포지GitHub토리에서 Amazon Braket의 축어적 회로에 대한 로컬 에뮬레이션
로컬 에뮬레이션의 이점
-
실시간 또는 과거 보정 데이터를 사용하여 디바이스 제약 조건에 대해 축어적 회로를 검증합니다.
-
양자 하드웨어에 작업을 제출하기 전에 문제를 디버깅합니다.
-
노이즈 없는 에뮬레이션과 노이즈가 있는 에뮬레이션을 하드웨어 결과와 비교하여 노이즈 효과를 이해합니다.
-
노이즈 인식 양자 알고리즘을 개발하는 워크플로를 간소화합니다.
로컬 에뮬레이터 생성
로컬 양자 디바이스 에뮬레이터는 양자 디바이스 또는 디바이스 속성 집합에서 직접 생성할 수 있습니다. 디바이스를 직접 에뮬레이션할 때 에뮬레이터는 인스턴스화된 디바이스의 최신 보정 데이터를 사용합니다. 다음 코드 예제에서는 Rigetti's Ankaa-3 디바이스를 직접 에뮬레이션하는 방법을 보여줍니다.
from braket.aws.aws_device import AwsDevice ankaa3 = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3") ankaa3_emulator = ankaa3.emulator()
다음 예제에서는 JSON 형식의 디바이스 속성 집합에서 로컬 Ankaa-3 디바이스 에뮬레이터를 생성하는 방법을 보여줍니다.
from braket.aws import AwsDevice from braket.emulation.local_emulator import LocalEmulator import json # Instantiate the device ankaa3 = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-3") ankaa3_properties = ankaa3.properties # Put the Ankaa-3 properties in a file named ankaa3_device_properties.json with open("ankaa3_device_properties.json", "w") as f: json.dump(ankaa3_properties.json(), f) # Load the json into the ankaa3_data_json variable with open("ankaa3_device_properties.json", "r") as json_file: ankaa3_data_json = json.load(json_file) # Create the Ankaa-3 local emulator from the json file you created ankaa3_emulator = LocalEmulator.from_json(ankaa3_data_json)
다음을 통해 예제를 사용자 지정할 수 있습니다.
-
다른 QPU 디바이스의 속성 사용
-
에뮬레이터에 대해 다른 JSON 파일 지정
-
에뮬레이터를 인스턴스화하기 전에 디바이스 속성 값 변경