새로운 배움 — 양자 컴퓨팅 — Part 2

배우는 자(Learner Of Life)
11 min readApr 24, 2024

양자 컴퓨팅의 수수께끼를 좀 더 파헤쳐본다

양자 컴퓨팅에 대해서 조금 더 깊게 탐구해본다(1).

지난 글 부터 양자 컴퓨팅에 대한 탐구를 시작했다. 큐비트(Qubit)라는 양자 단위의 비트를 측정하는데는 여러 방법이 있는데 그 중에서도 초전도 큐비트(Superconducting Qubit)에 대해서 알아보았다. 지금까지 알아본바로 요약하자면, Resonator를 포함하는 큐비트 측정용 전기 회로를 활용하여 RRS(Readout Resonator Spectroscopy)라는 것을 통해 이 Resonator의 특정 주파수를 기준으로 Peak 정보를 읽어들인다. 이후 QS(Qubit Spectroscopy)라는 도구를 활용해 이 신호를 Sweep한 후의 주파수와 Peak정보를 활용해 본래의 Peak 정보와 비교하여 어떠한 상태 변화가 이루어졌는지를 관찰하는 것이다.

양자 컴퓨팅에 대한 기초는 여기서 끝나지 않는다. 이전에 Qubit가 펄스(Pulsed)신호를 활용한다고 언급했다. 그렇다면 이러한 펄스를 활용하여 큐비트를 제어하는 것은 어떤 원리일까? 이번 글에서는 이에 대해서 다루어보고자한다. 이번 글에서도 역시 Zurich Instruments 사의 QCCS(양자 컴퓨팅 제어 시스템)을 기반으로 설명한다.

펄스 큐비트 제어(Pulsed Qubit Control)

구(Sphere)를 통해 이해하는 펄스 큐비트 제어 개념

큐비트의 상태는 일반적으로 아래 그림의 수식으로 표현할 수 있다. 북극(North Pole)은 접지(ground)상태이고, 남극(South Pole)은 여자(excited)상태로 가정한다. 경도(Longitude)는 a와 b(beta)사이의 위상(phase)차라고 볼 수 있다. 위도(Latitude)는 a와 b사이의 진폭(amplitude)차라고 볼 수 있다. 지구에 존재하는 북극/남극의 개념과 위도 및 경도의 정보를 바탕으로 큐비트의 상태에 대한 진폭 및 위상을 비유해 쉽게 이해할 수 있다.

큐비트의 상태는 지구의 북극/남극과 위도 경도에 빚대어 이해할 수 있다(2).

그렇다면 이 것이 펄스 제어와는 어떤 상관일까? 단수 큐비트 게이트 운용(Single-Qubit Gate Operations) 상황을 가정해보자. Resonant Drive 펄스에서는 펄스 진폭에 비례하는 경도의 회전각(Latitude rotation angle)정보가 있다. 예를 들어, 같은 무게의 |g>와 |e>를 중첩(Superposition)시킨 ㅠ/2 펄스를 가정한다. 그러면 구(Sphere)의 특정 지점에 이르는 좌표값을 얻을 수 있다. 자세히 보면 이 것은 접지 상태와 여자 상태의 중간 지점에 해당하는 것을 알 수 있다.

펄스의 진폭에 비례하는 경도 회전각 정보와 주어진 펄스 신호를 활용해 구(Sphere)상의 위치를 얻는다(2).

이 상태에서 진폭을 2배 증가시킬 경우, 그에 따라서 구상의 위치가 변경되고, 큐비트의 상태는 여자 상태에 이르게된다.

진폭을 2배 증가시키면 여자 상태로 전환한다(2).

또한 위상을 90도 틀었을(Shift) 경우, 해당 정보 역시 구에 표현될 수 있다. 이때는 경도(Longitude)축에 변화가 생기는 것을 알 수 있다.

90도 위상을 틀었을 때 발생하는 경도 상의 위치 변화(2)

주의할 것은 위 정보가 신호의 아날로그 성질이기 때문에 섬세하게 안정적으로 제어되어야하며, 최대한 잡음이 없도록 해 주어야 큐비트의 상태를 최대한 정확하게 제어할 수 있다는 것이다. 또한, 위와 같이 신호를 구상에서 위치 변화 시키기 위해서는 Rabi 진동이라는 것을 활용해야한다.

Rabi 진동을 활용한 측정

펄스 큐비트 제어에 있어서 핵심적인 원리라고 할 수 있다. 먼저 큐비트 상태를 읽은 후에 Drive 펄스를 적용한다. 이후 시스템적으로 Drive 펄스의 성질을 변화시킨다(예: 진폭). 이렇게하면 구에서 진폭의 변화에 따라 위도의 변화가 이루어지는 것을 볼 수 있다. 마지막으로 펄스 적용 후 Z 축에서의 변화를 측정할 수 있다.

Drive 펄스는 여러개의 가우스 펄스(Gaussian Pulse)를 적용하는 것으로 구현할 수 있다. 연속적으로 진폭이 변화된 가우스 펄스를, 규칙적으로 특정 Readout 신호의 주기에서 Drive 펄스로 적용하는 방식으로 측정이 이루어진다.

특정 Readout 신호의 주기마다 진폭 변화된 가우스 펄스를 반복적으로 적용하여 Rabi 진동을 구현한다(2).

이렇게 Rabi 진동을 적용하는 것에는 여러 장점이 있다.

  • Drive 펄스: 신호 자체가 짧아, 더 빠른 게이트를 적용가능하고, 더 높은 여자 상태로의 상태 유출(State Leakage)이 가능하다. 가우스 Envelope을 활용하기에 스펙트럼의 감소가 용이(Well-decaying)하고, 주파수의 폭이 좁다. 또한, DRAG 펄스 등을 활용해 유출을 억제하는 방식으로 신호 최적화가 가능하다.
  • Readout 펄스: Readout는 더 빠르면서 신호가 더 작다. Square Envelope을 활용하기에 최대의 진폭에 대해서 최대의 적분(Integral)을 계산할 수 있다. 즉, 더 정확하게 신호의 정보를 취득할 수 있다. Reader Resonator의 시간을 Ring-up 및 Ring-down하고, 이를 가속화할 수 있는 Pre-emphasis를 적용해 최적화할 수 있다.
  • Timing 및 평균의 계산: Timing 및 평균을 정확하게 계산하기 위해서는 제어 펄스 및 Readout 신호의 정렬(Aligned)된 상태가 매우 중요하고, 둘 사이의 갭이 최소화되어야한다. Drive 및 Readout 펄스가 서로 잘 동기화 되어있고, 둘 사이의 갭이 적기때문에 정확한 신호의 정렬(Alignment)이 가능하다. 동시에 두 신호가 특정 샘플에서 중첩되지 않을 정도로 신호의 Propagation Delay를 잘 처리한다. 각각의 Readout 펄스 쌍의 정보를 읽은 후에는 충분한 안정화 시간(Relaxation Time)을 주는 것이 중요한데, 이 안정화시간은 보통 T1의 3x에서 최대 4x까지이다. 이를 조금 더 빠르게 하기 위해서 Active Reset을 적용할 수 있다. 10,000 샘플당 1%의 에러를 발생시키기에 평균 계산시 정확도가 높다.
Rabi 진동을 활용하는 것에는 여러 장점이 존재한다(2).

이러한 Rabi 진동을 적용하여 측정을 수행하면 보통 아래와 같은 형태의 평균 그래프 데이터를 얻을 수 있다. 일반적으로 Sin 형태의 커브이고, 진폭이 ㅠ, ㅠ/2인 시점의 펄스 정보를 얻을 수 있게 해준다.

Rabi 진동을 적용해 얻은 펄스는 Sin 형태의 신호이며 진폭이 ㅠ, ㅠ/2인 시점의 정보를 얻을 수 있게한다(2).

Ramsey 진동과 큐비트 신호 생명주기

Rabi 진동을 적용한 이후에는, Ramsey 진동이라는 것을 적용해 진폭 ㅠ/2를 갖는 Drive 펄스를 Readout 신호의 특정 주기마다 적용해 볼 수 있다. Rabi 진동과는 다르게 진동 자체가 감소(Decaying)하는 성질을 가지는데, 감소하는 성질은 불균일한 일관성 해제 시간(Inhomogenous Dephasing Time, T2)에 대한 정보를 준다. 주파수는 Drive Offset의 주파수와 같다. 이러한 진동의 주파수는 Drive 펄스와 실제 큐비트 신호의 주파수 차이를 말해주어, 정확한 큐비트 신호의 주파수를 계산하는데 도움을 준다.

또한 Rabi 진동에서 진폭 ㅠ를 갖는 Drive 펄스를 Readout 신호의 특정 주기마다 적용하면, 이때 감소 시간(Decay Time)은 큐비트 신호의 생명주기 시간(여자 상태에서 접지 상태로 돌아가는 시간)인 T1에 대한 정보를 제공한다.

Rabi 진동을 통해 얻은 정보로 Ramsey 진동을 적용하거나 큐비트 신호의 생명주기를 알 수 있다(2).

소프트웨어 상에서의 실험 수행

Zurich Instrument사의 QCCS와 호환되는 LabOneQ라는 소프트웨어 상에서는 양자 컴퓨팅에 특화된 Python 언어 프레임워크로 시간 제어를 수행한다. 이를 통해서 펄스의 시퀀싱(Pulse Sequencing), 여러 펄스 신호를 대상으로 다채널 시간 정렬(Multi-channel timing alignment) 및 Sweeping 수행과 평균 계산(Averaging)등을 수행할 수 있다.

실험은 크게 3가지 섹션으로 구성되는데, 첫 번째는 큐비트의 여자(Excitation) 단계, 다음으로 큐비트의 Readout, 마지막으로 Delay 단계가 있다. 먼저 여자 단계에서는 가우스 펄스를 Drive 펄스로 입력하는 부분이다. Readout 단계에서는 Readout 펄스를 적용한다. 또한 Readout 펄스를 출력단에서 내보내는 동시에 입력 부분에서 신호를 얻을 수 있도록 구성한다. 여기서는 펄스가 아닌 적분 함수(Integral Weight Function)을 활용해 복조된 신호가 출력될 수 있도록한다. 여자 단계와 Readout 단계에서는 펄스가 서로 다른 라인에 적용되는데, 반드시 특정 신호가 모두 흐르고 나서 다른 신호가 흐르도록 하는 것이 좋다.

마지막으로 Delay 단계에서는 명확하게 정의된 대기 시간(Waiting Time)이 있는데, 이는 큐비트의 상태가 접지 상태로 돌아올 수 있는 충분한 물리적 시간을 확보하기 위함이다.

위 모든 과정을 거치고 신호를 Sweep한 후, 신호의 평균(Average)를 계산하는 과정이 일어난다.

소프트웨어 상에서 3단계의 큐비트 측정 과정이 수행되며, 이에 대한 Sweeping 및 Averaging이 수행된다(2).

위 실험은 소프트에어에서 하드웨어로 컴파일되어 실행된다. 실험을 실행하면 이전에 확인한 것처럼, 여러 데이터 사이의 평균을 통해 특정한 성질의 그래프를 정의할 수 있다. 아래와 같이 진폭이 0.18, 0.37 정도 되는 Quadrature Level 사이에서 진동하는 Sin 신호를 확인할 수 있다. 초기 접지 상태에서 펄스의 진폭을 증가시키면, 큐비트는 완전한 접지 상태에서 벗어나 접지 상태와 여자 상태 사이에서 중첩(Superposition)된 형태를 취한다. 그러다가 가장 Quadrature Level이 높은 부분에서는 큐비트가 완전한 여자 상태에 이르게된다. 여기서 진폭을 더 증가시키면, 이후에는 완전한 여자 상태를 벗어나 점점 더 접지 상태와 가까워지는 것을 확인할 수 있다. 이러한 패턴이 반복되면서 큐비트가 계속 상태 변화를 한다고 볼 수 있다. 이러한 데이터를 통해 단수 큐비트 게이트 펄스에 대한 [ㅠ, ㅠ/2] 회전의 초기 근사를 할 수 있다. 이 데이터를 바탕으로 이후에 이어지는 Ramsey 진동과 신호 생명주기에 대한 측정이 가능하다. 또한 이 시리즈의 다음 글에서 설명할 Single Shot Readout 최적화를 수행할 수 있다.

두 진폭 레벨 사이에서 진동하는 Sin 신호를 추출한 모습(2)

요약

Rabi 진동 실험의 목적은 다음과 같다: 큐비트의 응집성(Coherence)를 규정하는 것이다. 이 실험의 주 관건은 위에서 설명한대로 일정 주기마다의 Readout 펄스 신호에 맞추어 Drive 펄스를 활용해 큐비트 상태를 측정 및 제어하는 것이다. Drive 펄스는 구(Sphere)상에서 펄스의 진폭에 비례하는 각도로 변화한다. 변화하는 진폭을 갖는 펄스를 연속적으로 적용하여 측정을 반복하는 방식으로 구 상에서의 각도 변화를 제어할 수 있다. 북극을 완전한 접지(ground, g)상태로 보고, 남극을 완전한 여자(excited, e)상태로 가정하여 이 안에서 큐비트의 상태를 제어하는 것이다.

주기적으로 변화하는 Drive 펄스를 특정 주기의 Readout 펄스마다 적용하여 구 상의 각도를 제어한다(2).

참조:

(1) https://pixabay.com/illustrations/ai-generated-brain-explosion-8408172/

(2) https://www.youtube.com/watch?v=rKkR4m1DaiY

--

--

배우는 자(Learner Of Life)

배움은 죽을 때까지 끝이 없다. 어쩌면 그게 우리가 살아있다는 증거일지도 모른다. 배움을 멈추는 순간, 혹은 배움의 기회가 더 이상 존재하지 않는 순간, 우리의 삶은 어쩌면 거기서 끝나는 것은 아닐까? 그렇기에 살아있음에 감사하며, 세상의 가르침에 목이말라 오늘도 즐겁게 배우려한다.