Ⅰ. 서론
양자컴퓨터는 기존의 슈퍼컴퓨터로는 불가능했던 복잡한 연산을 다항 시간 안에 수행할 수 있으므로 차세대 컴퓨터로 주목받고 있다. 양자컴퓨터는 매우 많은 경우의 수에 대한 연산 및 비교 작업에서 기존의 컴퓨터에 비해 이점을 가진다. 대표적인 작업으로 소인수분해가 있으며, 2019년 구글의 양자컴퓨터 연구팀은 2048 비트 자연수를 양자컴퓨터로 소인수분해하는 작업에 약 8시간이 걸린다고 주장하였다[1]. 물론 해당 작업에 약 2000만 개의 큐비트가 필요하므로 현재 시점에서 제공되는 중간 규모의 양자컴퓨터로는 동작시킬 수 없는 상황이다.
하지만 현재 사용되는 RSA 등과 같은 암호체계는 1024, 2048 비트의 자연수의 소인수분해가 어렵다는 사실에 기반하고 있으므로 양자컴퓨터의 등장은 이러한 암호를 무력화 시킬 수 있다는 점에서 큰 위협이 된다. 본고에서는 이러한 양자컴퓨터의 최근 개발 현황과 양자컴퓨팅을 위한 대표적인 플랫폼 동향에 대해 살펴본다.
Ⅱ. 양자컴퓨터 소개 및 개발 현황
2.1. 양자컴퓨터
양자컴퓨터는 양자 역학의 특성을 활용한 컴퓨터이다. 큐비트 (qubit)는 양자컴퓨터의 기본 연산 단위로, 초전도 회로 (superconducting circuitry), 이온 트랩 (trapped ions) 등 다양한 기술을 통해 만들어진다. 이러한 큐비트는 양자 현상인 얽힘 (entanglement)과 중첩 (superposition) 성질을 가진다. 또한, 이러한 성질을 갖는 큐비트들은 양자 게이트에 의해서 그 상태가 변화하게 되며, 아래와 같은 특성을 활용하여 양자 프로그래밍을 수행할 수 있다.
먼저, 얽힘 상태의 큐비트는 한 큐비트의 상태가 변화하면 얽혀있는 다른 큐비트의 상태에도 영향을 줄 수 있다. 다음으로, 중첩은 0과 1의 상태를 동시에 확률적으로 가질 수 있는 상태를 말한다. 양자컴퓨터는 중첩 성질에 의해 n개의 큐비트로 2n개의 값을 동시에 나타낼 수 있다. 따라서 이러한 성질을 기반으로 하는 양자컴퓨터는 모든 경우의 수에 대한 연산을 동시에 수행할 수 있게 되므로 매우 빠른 연산속도를 갖게 된다.
2.2. 양자컴퓨터 개발 현황
2.2.1. IBM
초전도 프로세서 기반의 양자컴퓨터를 개발하는 IBM은 [표 1]과 같은 IBM의 양자컴퓨터 개발 로드맵에 따라 착실히 목표를 달성해왔으며, 지난 2023년 12월 세계에서 두 번째로 1000큐비트가 넘는 양자컴퓨터 Condor를 발표했다. Condor는 IBM이 대규모의 고품질 큐비트를 안정적으로 생산할 수 있음을 입증했지만 향후 10년까지는 Condor가 IBM에서 만드는 가장 큰 단일 칩이 될 가능성이 높다고 말했다. IBM은 각 칩에 쌓인 큐비트 수를 늘리는 대신 보유한 큐비트를 최대한 활용하는 데 집중하고 있으며, 이러한 점에서 Condor 이후에 발표된 칩인 Heron이 주목받고 있다. Heron은 Condor보다 큐비트 수가 적지만 속도가 훨씬 더 빠르며 오류 발생 가능성이 낮다. 향후 10년 IBM의 로드맵으로 2024년 5,000번의 게이트 작동이 가능한 Heron의 업그레이드 버전을 출시할 예정이며, 2025년에는 Flamingo를 출시하여 7개의 Flamingo 칩을 1,000큐비트가 넘는 단일 시스템에 연결할 예정이다. 또한, 2028년에는 Flamingo의 게이트 수를 15,000개에 도달할 때까지 매년 50%씩 늘릴 계획임을 밝혔다. 마지막으로 2033년까지 2000 큐비트와 10억 개의 양자 게이트를 사용하는 Blue Jay를 출시할 예정이다.
[표 1] IBM 양자 하드웨어 개발 로드맵
2.2.2. Google
IBM과 마찬가지로 초전도 기반 양자 프로세서를 개발하고 있다. 2019년 10월 오류율을 대폭 낮춰 실제로 프로그래밍이 가능한 54큐비트의 Sycamore를 발표했으며 현재는 70개의 큐비트를 제어하는 단계에 이르렀다고 한다. 이는 54큐비트를 사용하는 양자컴퓨터보다 2억 4100만 배 빠르며, 현존하는 최고의 슈퍼컴퓨터인 Frontier를 사용하여 47년 걸리는 계산을 단 몇 초 만에 완료할 수 있는 수준이다. 이러한 양자컴퓨터 실용성 검증은 양자컴퓨터의 실현 가능성에 의문을 제기하던 연구자들이 앞으로 다가올 양자컴퓨터 시대를 위한 연구에 집중할 수 있는 토대가 된 유의미한 결과이다. 또한, 2021년까지 2030년에 상업화된 양자컴퓨터(1,000,000큐비트)를 내겠다고 했으나, 최근 2023년 업데이트된 양자 로드맵에서 IBM과 달리 구체적인 연도 언급이 사라진 상황이다.
2.2.3. IonQ
IonQ는 Amazon, Microsoft와 기아, 현대차에서 투자 중인 양자컴퓨터 스타트업 회사로, 현재 Amazon Braket, Microsoft Azure Quantum, Google 클라우드 서비스를 통해 IonQ의 양자컴퓨터를 제공하고 있다. IonQ의 양자컴퓨터는 이온 트랩 기술을 기반으로 한다. 이온 트랩 기술은 양자 비트를 형성하기 위해 이온을 진공 상태에서 전기장에 가두는 기술로 초전도 소자를 이용하는 다른 큐비트 제어 방식보다 연산 정확도가 높고, 연산 가능 횟수가 크다. IonQ는 이러한 이온 트랩 기술을 사용하여 안정적이고 효율적인 양자 컴퓨터를 개발하고 있으며, 2023년 8월 기준 143 큐비트 규모의 양자 컴퓨터를 개발하였다. 또한, 향후 5년 이내에 1,000큐비트 이상의 양자 컴퓨터를 개발할 계획임을 보였다.
2.2.4. D-Wave
D-Wave는 양자컴퓨터와 Python 기반의 양자 프로그래밍 개발 환경을 제공한다. D-wave는 실제 양자 하드웨어를 제공하는데, 이는 앞서 살펴본 범용적인 양자 컴퓨터와는 달리 게이트 기반이 아닌 양자 어닐링 기반의 양자컴퓨터이다. 양자 어닐링 기법이 적용될 수 있는 문제로는 유한한 집합에서 최적 솔루션을 찾는 최적화 문제나 샘플링 등이 있다. 즉, 게이트 기반의 범용적인 양자 컴퓨터와는 해결 가능한 문제의 성격이 다른 양자 컴퓨터이다. D-Wave의 양자 컴퓨터는 5000 큐비트 이상 (Advantage), 2000 큐비트 이상 (D-wave 2000Q)을 제공한다. 이는 2021년에 제공하기 시작한 양자 컴퓨터와 동일한 수의 큐비트를 제공하며, 최근에는 가속화 등과 같은 소프트웨어 관점에서의 업데이트가 활발히 진행되고 있다, 그러나, 현재 한국에서는 접근 권한이 없어 해당 플랫폼 및 양자컴퓨터를 사용할 수 없으며, VPN을 통한 우회 접근마저 차단된 상태이다.
Ⅲ. 양자컴퓨터 플랫폼 동향
차세대 컴퓨팅 환경인 양자컴퓨터를 위한 플랫폼으로는 IBM Qiskit, Google Cirq, ProjectQ, Amazon Braket, Microsoft Azure Quantum, Intel Quantum SDK, Pennylane 등이 있으며, 각 플랫폼은 양자 응용 프로그램을 구현하고 실행할 수 있도록 다양한 기능과 시뮬레이터 및 하드웨어를 제공한다. 본 장에서는 각 플랫폼의 특징에 대해 상세히 알아본다.
3.1. IBM Qiskit [6]
Qiskit은 IBM에서 개발한 오픈소스 양자 소프트웨어 프레임워크이며, Quantum Lab과 Quantum Composer 기능을 제공한다. Quantum Lab을 사용하면 Jupyter notebook 형식으로 Python과 OpenQASM (Open Quantum Assembly Language)를 활용하여 구현이 가능하고, Composer 기능을 사용하면 드래그앤 드롭 (Drag and drop) 방식을 통해 큐비트 및 양자 게이트를 배치할 수 있어 보다 쉽게 회로를 구성하고 실행할 수 있다. 또한 Composer에서 제공하는 시각화 기능을 통해 실행된 회로의 결과에 대한 확률과 블로흐 구의 상태 및 상태 벡터를 확인할 수 있다. 최근에는 Composer를 통해 생성한 회로에 대한 작업을 실행할 때, 작업 결과가 트랜스파일러를 통해 변환된 회로를 포함하도록 업데이트 되었다. 이러한 양자회로 구성과 관련된 기능은 Qiskit이 다른 플랫폼에 비해 우수하다고 평가받아 현재 양자컴퓨팅 플랫폼 중 가장 높은 인지도를 차지하고 있다.
Qiskit은 양자 프로그램의 실행을 위해 시뮬레이터와 자사의 실제 하드웨어를 제공한다. 양자 시뮬레이터는 양자컴퓨터에서 수행하는 연산을 고전컴퓨터에서 수행하는 것이며, 목적에 따라 사용할 수 있도록 다양한 시뮬레이터를 제공하고 있다. 그 중 qasm 시뮬레이터는 하드웨어에서 작동하는 방식과 유사하며 Shots 수에 따라 확률이 결정된다. 또한 고품질의 노이즈 모델링을 지원하며 다양한 회전 게이트를 사용할 수 있다. statevector 시뮬레이터는 큐비트의 상태 벡터를 관찰할 수 있는 시뮬레이터로, n 큐비트에 대해 2n 길이의 상태 벡터를 반환하는데 이 과정에서 qasm 시뮬레이터보다 더 많은 시간과 메모리가 요구된다. 또한 일반 노이즈 모델링을 지원하며 다양한 회전 게이트를 사용할 수 있다. 다음으로, stabilizer 시뮬레이터는 5000큐비트를 지원하고 있으며 Clifford simulator의 시뮬레이터 타입으로, 13개의 Clifford 게이트를 사용할 수 있다. extended_stabilizer 시뮬레이터는 stabilizer 시뮬레이터보다 사용 가능한 게이트가 확장된 형태이며, Clifford+T 타입의 시뮬레이터이다. 지원하는 큐비트는 63큐비트이지만 CCX, T, TDG 등의 게이트를 더 사용할 수 있다. 마지막으로, Matrix Product State 시뮬레이터는 100큐비트를 지원하나 사용 가능한 게이트의 종류에 한계가 있다.
[표 2]는 ‘qasm’과 ‘statevector’ 시뮬레이터에 대한 큐비트 개수 별 실행시간을 보여준다. 사용된 회로는 X 게이트로 구성되었으며, 30의 회로 깊이를 가지며 회로 반복 횟수인 shots은 1024로 설정하였다. 또한, 본 고에서 수행한 시뮬레이터 및 하드웨어 성능 평가에는 해당 양자 회로 구조가 사용되었다. 두 시뮬레이터 모두 32큐비트를 지원한다는 Qiskit 공식 문서와는 다르게 실제로 측정했을 때는 큐비트 수가 늘어남에 따라 연산 시간이 급격히 증가하였으며, qasm 및 statevector 시뮬레이터는 각각 최대 28큐비트, 24큐비트까지만 동작 가능하였다.
[표 2] Qiskit의 시뮬레이터에 따른 큐비트별 회로 실행시간 (단위: 초)
Qiskit은 IBM의 실제 하드웨어에 접근할 수 있도록 하며, 기존에 지원했던 ‘ibmq_manila’와 ‘ibmq_nairobi’ 는 각각 2023년 9월과 11월부로 지원이 종료되었으며, 그 외에도 7개의 하드웨어가 제거되었다. 이후 Heron r1 프로세서 타입을 갖는 ‘ibm_torino’와 Eagle r3 프로세서 타입을 갖는 ‘ibm_brisbane’, ‘ibm_kyoto’ 등을 포함하여 17개의 하드웨어가 추가되었다. ‘ibm_torino’는 현재 133큐비트를 지원하며, 별도의 비용 없이 무료로 이용하고자 하는 오픈 플랜 사용자도 사용할 수 있는 ‘ibm_brisbane’, ‘ibm_kyoto’ 는 127큐비트를 지원하고 있다. 이외에도 14개의 하드웨어들은 현재 대부분이 127큐비트 혹은 27큐비트를 지원하고 있다. [표 3]은 Qiskit의 ‘ibm_brisbane’ 프로세서의 큐비트별 회로 실행 시간을 보여준다.
[표 3] Qiskit Eagle 프로세서의 큐비트별 회로 실행시간 (단위 : 초)
기존에는 일반 사용자는 최대 7큐비트의 하드웨어까지만 무료로 사용할 수 있었으나, 2023년 9월 이후 오픈 플랜 사용자에게도 100큐비트 이상의 양자 시스템에서 작업을 실행할 수 있는 월간 Qiskit Runtime 액세스 권한이 생겼으며, 이것으로 추가적으로 비용이 청구되는 것 없이 무료 이용자도 대시보드에서 한도, 사용량, 할당량을 확인하고 사용할 수 있다. 또한, Qiskit runtime은 2024년 3월 1일부터 회로와 관측 가능량을 하드웨어에 제출하기 전에 시스템에서 지원하는 명령어 (ISA 회로 및 관측 가능량)만 사용하도록 변환해야한다. 결과적으로 더 빠른 결과를 생성하고 양자 시스템을 보다 효율적으로 사용할 수 있게 되었다. 또한, 사용자는 “options.transpilation.skip_transpilation”를 통해 기본 요소가 입력 회로의 최적화를 건너뛰도록 요청할 수도 있으며, 트랜스파일러를 통해 더 가벼운 변환 패스로 기본 사전 처리를 간소화하여 더 빠르고 효율적인 결과를 보장하도록 최적화 되었다. 또한, 최근 들어 Qiskit SDK 1.0가 출시되면서 기존에 비해 메모리 사용량이 55퍼센트 감소했으며, 16배 더 빠른 바인딩 및 트랜스파일을 사용할 수 있게 되었다. 이에 더해 Qiskit에서는 하드웨어나 시뮬레이터로 회로를 실행한 작업에 대하여 작업 상태나 생성 시간, 사용 중인 하드웨어의 이름을 확인할 수 있다. 업데이트 이후에는 작업이 대기열에 있는 동안 작업의 예상 사용량도 확인할 수 있도록 변경됨으로써 사용자의 편의성이 개선되었다.
이외에도 Qiskit은 실제 하드웨어는 아니지만 IBM의 실제 하드웨어 동작 방식을 모방하도록 구축된 fake hardware도 제공한다. Fake hardware는 노이즈 시뮬레이션을 제공하고 100 큐비트 이상의 백엔드를 사용할 수 있지만, 속도가 매우 느리다는 단점이 있다.
3.2. Google Cirq [7]
Google Quantum AI에서 제공하는 Cirq는 노이즈가 많은 중간 규모의 양자인 NISQ (Noisy Intermediate Scale Quantum) 시대의 양자 알고리즘을 작성하기 위한 오픈소스 프레임워크이다. Cirq의 Moment라는 개념을 통해 다양한 삽입 기능을 구현할 수 있으며 이를 활용하여 원하는 회로를 구축할 수 있다.
Python 기반으로 동작하며, Cirq에는 작은 회로를 테스트하기 위한 파동함수 및 밀도 매트릭스용 Python 시뮬레이터가 내장되어있다. 이는 각각 ‘Simulator’, ‘DensityMatrixSimulator’이며, 두 시뮬레이터는 모두 노이즈가 있는 양자컴퓨팅 환경에 대한 시뮬레이션을 수행할 수 있다. 또한 Cirq는 C++로 작성된 최첨단 파동함수 시뮬레이터인 qsim도 함께 지원한다. 내장된 시뮬레이터를 사용하면 약 20큐비트까지 사용이 가능하지만, qsim은 90 코어의 Intel Xeon 워크스테이션에서 최대 40큐비트까지 시뮬레이션이 가능하다. 이러한 시뮬레이터들은 Quantum Virtual Machine으로 양자 하드웨어를 모방하는데 사용될 수 있다.
[표 4]는 Cirq에 내장된 기본 시뮬레이터를 사용했을 때의 큐비트별 회로 실행시간이며, 최대 30큐비트까지 동작 가능함을 확인하였다.
[표 4] Cirq의 기본 시뮬레이터에 대한 큐비트별 회로 실행시간 (단위: 초)
3.3. ProjectQ [8]
취리히 공과대학교 연구팀에서 개발한 오픈소스 소프트웨어 프레임워크인 ProjectQ는 Python 기반으로 동작하며, ProjectQ에서 제공하는 라이브러리를 통해 다양한 양자 프로그램을 구현할 수 있다. 또한 시뮬레이터, 에뮬레이터, 실제 하드웨어와 같은 여러가지 유형의 백엔드를 사용하여 실행할 수 있으며, 프로그래밍의 목적에 맞는 다양한 백엔드를 선택해서 사용할 수 있다는 장점이 있다.
Main engine에서 사용하는 기본 시뮬레이터인 ‘Simulator’는 C++를 기반으로 하여 빠른 속도를 가지지만 사용 가능한 큐비트가 제한되어 있다. 다음으로, ‘ClassicalSimulator’는 고전 컴퓨터에서 수만 개의 큐비트까지 동작 가능하며, 양자 회로에 사용된 큐비트 수, 게이트 수 등과 같은 양자 자원을 추정하는 백엔드인 ‘Resource counter’ 등도 존재한다. 이외에도 본고에서 언급되는 양자컴퓨팅 플랫폼인 Amazon Braket, Azure Quantum, IBM Qiskit 등의 디바이스를 지원하기 위한 백엔드들이 존재한다.
[표 5]는 Main engine의 기본 시뮬레이터를 사용할 때의 큐비트별 회로 실행시간이며, 최대 31큐비트까지 동작이 가능한 것을 확인하였다.
[표 5] ProjectQ의 기본 시뮬레이터에 대한 큐비트별 회로 실행시간 (단위 : 초)
3.4. Amazon Braket [9]
Amazon Braket은 클라우드 서비스 형태의 양자 컴퓨팅 플랫폼이다. Braket을 통해 양자 시뮬레이션을 수행할 수 있으며 양자 하드웨어를 제공하는 업체의 양자 자원과 기술을 사용할 수 있도록 제공한다. Braket에서 사용 가능한 양자 하드웨어로는 게이트 기반 초전도 프로세서, 이온 트랩 프로세서, 중성원자 기반 양자 프로세서 등과 같이 다양한 종류가 있다.
또한 Python을 기반으로 하는 Jupyter notebook 형식으로 양자 프로그램을 개발할 수 있으며, 일부 서비스는 매월 1시간 이내 무료 시뮬레이션이 가능하다. 또한 양자 하드웨어 제공에 대한 업데이트가 활발하게 이루어지고 있다.
구현된 양자 프로그램은 Braket에서 제공하는 시뮬레이터 및 하드웨어를 사용하여 동작시킬 수 있다. Braket은 무료 시뮬레이터인 ‘Local’ 시뮬레이터와 유료로 사용 가능한 ‘State Vector(SV1)’, ‘Density Matrix(DM1)’, ‘Tensor Network(TN1)’ 총 4가지 시뮬레이터를 제공한다. 모든 시뮬레이터의 로컬 실행시 최대 런타임 시간은 6시간이다. ‘Local’과 ‘SV1’은 상태 벡터를 시뮬레이션하고 범용적인 양자 회로를 지원하며, 각각 최대 25큐비트, 34큐비트까지 동작시킬 수 있다. 또한 실제 양자컴퓨터처럼 노이즈 시뮬레이션이 가능한 ‘DM1’ 시뮬레이터, 양자 푸리에 변환(Quantum Fourier Transform, QFT)과 같이 규칙성이 있는 회로 시뮬레이션 및 대규모 시뮬레이션에 특화된 ‘TN1’ 시뮬레이터를 제공한다. 각각 최대 17큐비트, 50큐비트까지 동작시킬 수 있다. [표 6]은 ‘Local’ 시뮬레이터에 대한 실행 시간을 보여주며, 제공하는 25큐비트까지 모두 동작 가능한 것을 확인하였다.
[표 6] Braket 시뮬레이터의 큐비트별 회로 실행시간 (단위: 초)
3.5. Microsoft Azure Quantum [10]
Azure Quantum은 Microsoft에서 2021년 출시한 클라우드 양자컴퓨팅 서비스로, 직접 제공하는 양자 프로그램 개발 도구인 Quantum Development Kit (QDK)를 통해 Jupyter notebook 형식의 Azure Quantum 서비스를 사용할 수 있다. 기본적으로 Python과 QDK에 포함된 양자 프로그래밍 언어인 Q#을 사용하여 작성할 수 있으며, 가장 많이 사용되는 양자 SDK인 IBM의 Qiskit과 Google의 Cirq도 지원하므로 편리한 개발이 가능하다. 또한 QRNG와 Grover search, Quantum Lookup Table 등 다양한 샘플 코드 및 커스텀 모델 작성을 위한 튜토리얼을 제공한다.
Microsoft의 클라우드 서비스인 Azure Quantum 서비스를 사용하면 IonQ, Quantinuum, QCI, Rigetti와 같은 디바이스 상에서도 동작이 가능하다. Azure Quantum은 클라우드 컴퓨팅 환경에서 해당 디바이스를 사용하는 리소스를 생성하여 양자 프로그래밍을 수행할 수 있으며, 리소스를 사용한 시간에 따른 요금을 부과한다.
IonQ의 시뮬레이터와 하드웨어는 각각 29, 23큐비트를 제공한다. 그러나, 시뮬레이터의 경우는 최대 29큐비트까지 지원한다는 공식 문서와 달리 실제 측정한 결과 19큐비트에서 에러가 발생하였다. 하드웨어의 경우, 23큐비트까지 지원한다는 ‘ionq.qpu.aria-1’은 5큐비트를 할당한 경우에도 최대 런타임 시간을 초과했으며, 11큐비트까지 지원하는 ‘ionq.qpu’도 동일하게 5큐비트 할당 시 런타임 시간을 초과하였다. 이와 같이 현재 Microsoft의 양자 시뮬레이터 및 하드웨어 시스템은 약간 불안정한 것으로 보인다.
3.6. Intel Quantum SDK [11]
Intel에서 출시한 Quantum 소프트웨어 개발 키트(SDK) 이다. 업계 표준 LLVM (Low Level Virtual Machine) 컴파일러를 사용하여 C++로 작성된 직관적인 프로그래밍 인터페이스를 가지는 것이 특징이다. 또한, Intel의 SDK는 C, C++ 및 Python 응용 프로그램과의 원활한 인터페이스도 제공한다. 이러한 방식으로 양자 알고리즘을 구축할 수 있기 때문에 양자컴퓨팅 개발 경험이 적은 사용자도 쉽게 접근하여 작업할 수 있다는 이점이 있다.
또한 양자-고전 하이브리드 알고리즘 실행에 최적화된 양자 런타임 환경을 제공한다. 2개의 백엔드를 선택할 수 있는데, 기본적으로 Intel의 큐비트는 실리콘 트랜지스터 기반이며, 고성능 오픈 소스 일반 큐비트 시뮬레이터인 Intel Quantum Simulator (IQS)와 Intel Quantum Dot 하드웨어를 시뮬레이션하고 Intel의 실리콘 스핀 큐비트의 소형 모델 시뮬레이션을 가능하게 하는 백엔드가 존재한다.
Intel Quantum SDK 1.0은 현재 OneAPI Intel Dev Cloud에서 사용할 수 있으며, 액세스 권한을 허가 받은 후 사용이 가능하다. 단일 계산 노드에서 최대 32큐비트를, 여러 노드에서 40큐비트 이상의 애플리케이션 및 알고리즘을 시뮬레이션 할 수 있다.
3.7. XANADU Pennylane [12]
Pennylane은 양자-고전 하이브리드 컴퓨팅을 적극 지원하는 플랫폼으로써, 최근에도 수많은 업데이트가 진행되고 있다. 해당 플랫폼은 특히 하이브리드 양자 인공지능에 관한 기능을 중점으로 하는 라이브러리이며, Tensorflow, Pytorch 등과 양자 회로를 함께 사용할 수 있도록 하는 기능을 지원한다. 또한, 앞서 살펴 본 Qiskit, Cirq, Braket, Q# 등과 같은 대부분의 플랫폼과의 연동이 가능하다.
Pennylane 또한 다른 플랫폼과 같이 시뮬레이터를 제공한다. 기본 시뮬레이터에 더불어 C++로 구성된 가속화 시뮬레이터, 양자 컴퓨터의 노이즈를 고려한 노이즈 시뮬레이터, 타 프레임워크의 시뮬레이터 및 하드웨어를 사용할 수 있는 플러그인 기능을 지원한다.
Pennylane은 사용자들에게 크게 범용적인 양자컴퓨팅과 양자 머신러닝 그리고 양자 화학 프로그래밍과 관련된 기능을 지원한다. 즉, 이론적인 지식부터 양자 알고리즘 (Grover’s search, Quantum machine learning, Quadratic Unconstrained Binary Optimization (QUBO))에 대한 튜토리얼까지 제공하고 있다.
해당 플랫폼은 현재도 빠르게 업데이트가 진행되고 있으며, 사용자 및 Pennylane의 관계자들까지 함께 논의할 수 있는 discussion 사이트 또한 활발히 운영 중에 있다.
Ⅳ. 결론
고속 연산 능력을 바탕으로 다항 시간 안에 난제를 해결할 수 있는 양자컴퓨터는 기존 산업의 판도를 바꿀 것으로 주목받고 있다. 현재 IBM을 선두로 Google, Amazon 등 세계적인 IT 기업들이 양자컴퓨터 산업에 큰 관심을 가지고 있으며, 매우 빠르게 연구 개발되고 있다. 이렇듯 다양한 양자컴퓨팅 플랫폼들이 등장하고 있으며, 각 기업들은 양자컴퓨터 활용을 위한 다양한 서비스 및 라이브러리를 제공하고 있다. 자체적으로 양자컴퓨터를 개발하지 않는 기업 또한 양자 플랫폼을 제공하며 양자 하드웨어 업체의 기술과 자원을 호환하여 사용할 수 있다. 이와 같이 양자컴퓨터 산업은 유연하게 개발되고 있으며, 양자 플랫폼을 활용함에 따라 양자컴퓨팅 기술을 접목한 산업이 빠르게 발전할 수 있을 것으로 기대된다.
References
- Craig Gidney and Martin Ekera, "How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits," https://arxiv.org/abs/1905.09749, 2019
- The IBM Quantum Development Roadmap [Website]. (2023, Mar 29). https://www.ibm.com/quantum/roadmap.
- The 2022 IBM Research annual letter[Website]. (2023, Mar 29). https://research.ibm.com/blog/research-annual-letter-2022.
- F.Arute, K.Arya, R.Babbush, D.Bacon, J.C.Bardin, R.Barends, and J.M.Martinis, "Quantum supremacy using a programmable superconducting processor," Nature, 574(7779), pp.505-510, Oct 2019. https://doi.org/10.1038/s41586-019-1666-5
- IonQ Aria[Website]. (2023, Mar 29). https://ionq.com/quantum-systems/aria.z
- Qiskit Runtime[Website]. (2023, Mar 29). https://www.ibm.com/quantum/qiskit-runtime.
- Introduction to Cirq[Website]. (2023, Mar 29). https://quantumai.google/cirq/start/intro.
- Steiger, Damian S., Thomas Haner, and Matthias Troyer. "ProjectQ: an open source software framework for quantum computing," Quantum Vol. 2, pp. 49, 2018.
- Amazon Braket[Website]. (2023, Mar 29). https://aws.amazon.com/ko/braket/.
- Azure Quantum[Website]. (2023, Mar 29). https://azure.microsoft.com/ko-kr/products/quantum
- Wu, Xin-Chuan, et al. "Intel Quantum SDK Version 1.0: Extended C++ Compiler, Runtime and Quantum Hardware Simulators for Hybrid Quantum-Classical Applications," Bulletin of the American Physical Society, 2023.
- Bergholm, Ville, et al. "Pennylane: Automatic differentiation of hybrid quantum-classical computations." arXiv preprint arXiv:1811.04968 (2018).