소개
양자 프로그램을 시뮬레이션된 디바이스에서 실행하고 실제 디바이스 노이즈 모델에서 성능을 탐색하여 테스트할 수 있습니다. 이를 통해 양자 처리 장치(QPU)로 보내기 전에 디버깅할 수 있습니다.
양자 시뮬레이터는 프로그램을 미세 조정하고 양자 하드웨어로 전송하기 전에 프로그램을 개발하고 테스트하는 데 사용할 수 있습니다. 로컬 시뮬레이터는 우수한 성능과 효율성으로 이 작업을 수행할 수 있습니다.
고전적으로 양자 회로를 시뮬레이션하는 비용은 큐비트 수에 따라 기하급수적으로 증가하기 때문에 일반적으로 50큐비트 이상의 회로는 시뮬레이터에서 실행할 수 없습니다. 이러한 회로의 경우 가능합니다:
- 고전적으로 시뮬레이션할 수 있는 더 작은 버전의 회로를 테스트하세요.
- 정확도는 떨어지지만 고전적으로 시뮬레이션할 수 있도록 회로를 수정합니다.
클리포드 회로라고도 불리는 안정화 회로는 이러한 후자의 목표를 달성하는 데 유용한 도구입니다. 이들은 고전적인 방법으로 효율적으로 시뮬레이션할 수 있는 제한된 종류의 양자 회로입니다. 전문 시뮬레이터는 수천 개의 큐비트로 구성된 안정화 회로를 손쉽게 시뮬레이션할 수 있다. 자세한 내용은 ‘Qiskit Aer 기본 요소를 활용한 안정화 회로의 효율적인 시뮬레이션’을 참조하십시오.
일반적인 양자 회로의 경우, 다음 도구를 사용하여 양자 프로그램을 테스트하고 디버깅할 수 있습니다:
- 소규모 양자 회로를 정확하게 시뮬레이션하려면 Qiskit에 포함된 참조 프리미티브를 사용할 수 있습니다. Qiskit SDK 의 기본 요소를 사용한 정확한 시뮬레이션을 참조하십시오.
- 더 큰 회로를 처리할 수 있는 고성능 시뮬레이션을 원하거나 노이즈 모델을 시뮬레이션에 통합하려면 키스킷 에코시스템의 일부인 키스킷 에어 프로젝트를 사용하세요. 키스킷 에어 프리미티브를 사용한 정확하고 노이즈가 적은 시뮬레이션을 참조하세요.
- 사용자 정의 노이즈 모델을 구축하려면 Qiskit Aer의
noise모듈을 사용하십시오. “소음 모델 구축”을 참조하십시오.
하드웨어 고려사항
양자 시뮬레이션에 필요한 메모리 양에는 여러 가지 요인이 영향을 미치므로 시뮬레이션을 위한 정확한 하드웨어 요구 사항은 없지만 몇 가지 가이드라인을 참고할 수 있습니다.
- Qiskit을 실행하기 위한 유일한 조건은 정상적으로 작동하는 Python 환경입니다. 자세한 내용은 ‘운영 체제 지원’ 섹션을 참조하십시오.
- 양자 회로를 시뮬레이션하는 데 필요한 요구 사항은 큐비트 수에 따라 기하급수적으로 증가하기 때문에 사용 가능한 하드웨어는 시뮬레이션할 수 있는 큐비트 수를 제한합니다. 예를 들어, 4GB RAM이 있는 시스템은 약 27개의 큐비트를 시뮬레이션할 수 있습니다.
- 사용 가능한 메모리가 많거나 적다고 해서 결과가 더 정확하거나 덜 정확하지는 않지만(결과가 반환된다는 가정 하에), 메모리가 많다고 해서 결과가 더 빨리 반환되거나 더 많은 큐비트를 시뮬레이션할 수 있는 것은 아닙니다.
- 하드웨어의 성능을 최대한 활용하려면, 가능한 경우 로컬 안정화(클리포드) 회로 시뮬레이션을 사용하십시오. 예시로는 ‘로컬
qiskit-ibm-runtime테스트 모드를 사용한 클리포드 시뮬레이션’ 또는 ‘Qiskit Aer 프리미티브를 활용한 안정화 회로의 효율적인 시뮬레이션 ’을 참고하십시오. - 다음 지침에 따라 여러 GPU, 노드 또는 둘 다로 실행하여 컴퓨팅 성능을 향상시킬 수 있습니다.
다음 단계
권장사항
- Qiskit Aer 기본 요소를 활용한 정확한 시뮬레이션과 노이즈가 포함된 시뮬레이션에 대해 알아보세요.
- 회로 시각화 관련 문서를 확인해 주세요.
- 회로 타이밍 시각화 관련 문서를 검토하십시오.
- NEAT를 사용하여 작업을 디버그하세요.
이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.