AWS Braket에서 양자-고전 하이브리드 잡 실행하기
NISQ (Noisy Intermediate-Scale Quantum) 시대의 양자 컴퓨터 기술 수준에서 양자-고전 하이브리드 알고리즘(Hybrid Algorithm)이 실질적인 문제 해결에 접근하는 효과적인 방법론으로 주목받음
Amazon Braket 하이브리드 잡(Hybrid Jobs) 기능을 통해 별도 인프라 구성 없이 고전 AWS 컴퓨팅 자원(Amazon EC2 인스턴스)과 양자 하드웨어(QPU) 또는 시뮬레이터를 동시에 활용하는 반복적 알고리즘 실행 가능함
알고리즘 스크립트 방식으로 AwsQuantumJob.create() API 또는 콘솔 UI 클릭만으로 하이브리드 잡 생성 가능하며, 실제 사용한 리소스만큼만 비용 지불하는 비용 효율성(Cost Efficiency) 확보함
PennyLane 기본 런타임 환경에서 X축 회전 게이트(RX)를 적용한 5개 양자 회로를 각각 100번 실행하여 측정 결과, 각도 값, 실행 비용을 확인하는 실습 진행함
@hybrid_job 데코레이터 방식은 로컬 Python 함수에 데코레이터만 추가하면 자동으로 컨테이너화하여 잡으로 실행하며, 빠른 프로토타이핑에 유리함
AwsQuantumJob.create() API의 동작 원리
본문에 따르면 AwsQuantumJob.create() 메서드는 Amazon Braket에서 하이브리드 잡을 생성하기 위한 공식 API이며, 소스 모듈 지정(source_module="algorithm_script.py")과 엔트리 포인트 설정(entry_point)을 통해 외부 스크립트를 참조하는 구조로 동작한다.
내부적으로는 Amazon EC2 인스턴스를 자동 프로비저닝하고, 지정된 양자 디바이스(QPU 또는 시뮬레이터)와 연동하여 알고리즘을 실행함
wait_until_complete=True 옵션을 통해 실행 중 출력 결과를 실시간으로 확인할 수 있으며, 완료 후 인스턴스는 자동으로 해제됨
Devices.Amazon.SV1은 온디맨드 시뮬레이터로, 타겟 양자 디바이스로 SV1, DM1, TN1, QPU 등을 선택할 수 있음
결국 사용자는 인프라 관리 없이 양자-고전 워크플로우의 오케스트레이션(Orchestration)을 자동으로 처리할 수 있다.
PennyLane 런타임 환경의 선택 기준
콘솔 UI 기반 실행에서 5가지 런타임 환경(PennyLane, PennyLane with TensorFlow, PennyLane with PyTorch, CUDA-Q, Custom (BYOC))을 선택할 수 있으며, 본문에서는 특별한 요건이 없다면 PennyLane을 기본 옵션으로 권장한다.
PennyLane: 퀀텀 머신 러닝(QML), 자동 미분, 하이브리드 양자-고전 계산 최적화에 특화된 환경으로, 변분 알고리즘(VQE, QAOA 등)에 필수적인 자동 미분(Automatic Differentiation) 기능을 제공함
PennyLane with PyTorch: 컴퓨터 비전 및 자연어 처리 응용 프로그램 개발에 적합하며, 분산 학습(Distributed Training) 환경과의 연동이 용이함
CUDA-Q: NVIDIA의 양자 컴퓨팅 프레임워크로, GPU 가속 양자 시뮬레이션(GPU-Accelerated Quantum Simulation) 및 하이브리드 양자-고전 애플리케이션 개발에 특화되어 있음
Custom (BYOC): Amazon ECR에 등록된 사용자 정의 컨테이너 이미지(Custom Container Image)를 가져올 수 있어, 특정 CUDA 버전이나 라이브러리 의존성이 있는 경우에 유용함
선택의 핵심은 자동 미분 지원 여부와 GPU 가속 필요 여부이며, 일반적인 연구 목적에는 PennyLane 기본 옵션이 가장 효율적이다.
다중 인스턴스 활용과 분산 컴퓨팅 패턴
본문에 따르면 2개 이상의 인스턴스(최대 5개)를 사용할 경우 InstanceConfig의 instanceCount를 지정해야 하며, 이 기능은 임베디드 시뮬레이터(PennyLane lightning.gpu, CUDA-Q nvidia 백엔드 등)를 선택한 경우에만 사용 가능하다.
인스턴스들은 네트워크로 연결된 분산 컴퓨팅 클러스터(Distributed Computing Cluster)로 동작하며, 두 가지 대표적 활용 패턴이 존재함:
1. 데이터 병렬 학습(QML): SageMaker Distributed Data Parallel(SMDDP) 라이브러리를 통해 여러 GPU가 데이터 슬라이스를 나눠 병렬 학습
2. 분산 양자 시뮬레이션(CUDA-Q): MPI(Message Passing Interface)를 통해 큰 양자 회로의 상태 벡터를 여러 GPU에 분산 저장 및 통신
EFA(Elastic Fabric Adapter) 지원 인스턴스(ml.p4d.24xlarge 등)에서는 EFA 기반 고속 통신이 활용되며, ml.g4dn.12xlarge 같은 인스턴스에서는 일반 네트워크 통신이 사용됨
QPU나 온디맨드 시뮬레이터(SV1, DM1, TN1)를 타겟으로 할 경우에는 인스턴스를 1개만 지정할 수 있는데, 이는 QPU 큐 접근이 직렬적이고 실행 병목이 양자 디바이스 쪽에 있어 고전 인스턴스를 여러 대로 늘려도 성능 이점이 크지 않기 때문이다.
코드 기반 vs 콘솔 기반 하이브리드 잡 생성 비교
본문에서 제공하는 비교표에 따르면, 코드 기반 방식(AwsQuantumJob.create())과 콘솔 기반 방식은 각각 다른 활용 시나리오에 적합하다.
콘솔 기반 방식의 장점은 시각적인 인터페이스로 설정이 간편하고, 복잡한 코드 없이 작업 생성이 가능하며, 초보자에게 진입 장벽이 낮다는 점이다. 반면 복잡한 설정이나 커스터마이징에 제약이 있고, 자동화된 작업 실행이 어렵다.
코드 기반 방식의 장점은 자동화 및 반복 작업에 용이하고, 세밀한 설정 및 커스터마이징이 가능하며, 대규모 작업에 적합하다. 반면 코드 작성 및 디버깅에 대한 이해가 필요하고, 상대적으로 복잡하다.
본문에서 권장하는 워크플로우는 개발 및 실험 단계에서는 @hybrid_job 데코레이터로 빠르게 검증하고, 검증된 로직은 별도 스크립트 파일로 옮겨 AwsQuantumJob.create() 방식으로 반복 및 운영한다. 이는 프로토타이핑에서 운영 전환(Prototyping to Production)의 일반적인 패턴을 따른다.
하이브리드 잡의 비용 모델과 한계점
본문에 따르면 Amazon Braket 하이브리드 잡은 실제 사용한 리소스에 대해서만 비용을 지불하는 구조로 운영 효율성이 높으며, 잡이 완료되면 인스턴스는 자동으로 해제되어 불필요한 비용이 발생하지 않는다.
실행 결과는 Amazon S3에 자동 저장되어 결과 아티팩트를 확인할 수 있으며, Amazon CloudWatch를 통해 진행 과정을 모니터링할 수 있다.
고전 인스턴스의 역할은 단순 API 호출만 하는 것이 아니라, QAOA·VQE 같은 변분 알고리즘(Variational Algorithm)에서 옵티마이저 실행, 비용 함수 및 그래디언트 계산, 데이터 전처리 및 후처리 등 필수 고전 연산을 수행한다.
더 큰 규모의 분산 컴퓨팅이나 전통적인 HPC 워크로드(CFD·FEA 등)에는 Amazon SageMaker Training, AWS ParallelCluster, AWS PCS(Parallel Computing Service) 같은 전용 서비스(Dedicated Service)가 적합하다.
QPU 디바이스의 경우 현재 버지니아 리전(us-east-1)에서는 Emerald QPU 등이 지원되지 않으므로, 사용 전 리전별 가용성(Regional Availability)을 확인해야 한다.