양자 오류 정정과 논리 큐비트, 쉽게 설명합니다
양자 오류 정정이 많은 잡음 많은 물리 큐비트를 더 신뢰할 수 있는 논리 큐비트로 바꾸는 방식과, 코드 거리, 임계값, 표면 코드가 왜 중요한지를 설명합니다.
이 페이지는 영어에서 번역되었습니다. 기업명, 제품명, 출처 링크는 변경되지 않았습니다. 영문 원문 보기
양자 오류 정정은 잡음, 디코히런스, 불완전한 연산에도 불구하고 깨지기 쉬운 양자 정보를 사용할 수 있게 유지하는 방법들의 집합이다. 기본 아이디어는 하나 이상의 논리 큐비트를 더 큰 물리 큐비트 집합에 부호화하고, 보호된 양자 상태 자체는 드러내지 않으면서 오류 정보만 알려 주도록 신중하게 선택된 검사를 반복 측정한 뒤, 관측된 신드롬을 바탕으로 복구 단계를 적용하는 것이다.
왜 양자 컴퓨터에는 오류 정정이 필요한가
양자 정보는 유난히 섬세하다. 오류는 디코히런스와 다른 양자 잡음 원인에서 비롯될 수 있고, 실제 양자 컴퓨팅에서는 결함이 있는 게이트, 불완전한 상태 준비, 측정 오류까지 함께 다뤄야 한다. 그래서 오류 정정은 양자 상태를 저장하는 데만 중요한 것이 아니라, 긴 계산을 수행하는 데에도 핵심이 된다.
고전적 오류 정정은 비트에 중복성을 추가하는 방식으로 작동한다. 양자 오류 정정도 비슷한 목표를 갖지만, 중요한 제약이 있다. 큐비트를 직접 측정하면 일반적으로 상태가 교란된다. 따라서 양자 코드는 논리 정보 자체를 드러내지 않으면서 무엇이 잘못됐는지에 관한 정보만 추출해야 한다. 많은 코드에서는 이를 안정자(stabilizer)라고 불리는 가환 연산자의 측정을 통해 수행한다.
양자 오류 정정의 가능성을 이해하는 유용한 관점은 이를 시뮬레이션 계층으로 보는 것이다. 어떤 오류 모델에 부합하는 잡음 있는 물리 채널이 주어졌을 때, 양자 오류 정정 코드는 통신이나 계산을 실용적으로 만들 수 있을 정도로 무잡음 논리 채널을 충분히 잘 근사하는 데 사용될 수 있다.
물리 큐비트, 논리 큐비트, 그리고 코드 거리
양자 코드를 나타내는 표준 표기법은 [[n,k,d]]이며, 이는 코드가 k개의 논리 큐비트를 n개의 물리 큐비트에 부호화하고 코드 거리가 d임을 뜻한다.
이 세 매개변수는 대부분의 절충 관계를 담고 있다.
n: 코드가 사용하는 물리 큐비트 수k: 보호되는 논리 큐비트 수d: 코드 거리로, 오류가 논리 연산처럼 작용하기가 얼마나 어려운지와 연결된 척도
코드율 k/n은 기본적인 효율성 지표다. 코드율이 높을수록 논리 큐비트당 오버헤드는 작아진다. 하지만 일반적으로 더 높은 코드 거리와 더 높은 코드율은 서로 반대 방향으로 작용하므로, 코드 설계는 신뢰성과 하드웨어 비용 사이의 균형을 맞추는 일이라고 할 수 있다.
큰 틀에서 보면, 양자 오류 정정 사이클은 세 단계로 이뤄진다.
- 부호화: 논리 정보를 더 큰 물리 시스템에 부호화
- 저장 또는 전송: 잡음 있는 채널을 통해 정보 유지 또는 전달
- 신드롬 추출과 복구: 가능성이 높은 오류를 식별하고 정정
신드롬은 핵심적이다. 안정자 측정은 부호화된 양자 상태가 아니라 오류 정보만 드러내도록 선택된다. 그렇지 않으면 정정 과정이 컴퓨터가 보존하려는 중첩 상태를 파괴하게 된다.
코드는 어떤 종류의 오류를 겨냥하나?
지배적인 오류 유형은 하드웨어 플랫폼에 따라 크게 달라진다. 중요한 예시는 다음과 같다.
- 진폭 감쇠(amplitude damping) 또는 들뜸 손실로, 평형 상태를 향한 이완과 관련됨
- **코히런트 오류(coherent errors)**로, 시스템의 내부 동역학에서 발생
- **탈위상(dephasing)**으로, 많은 큐비트 구현에서 지배적인 잡음 과정 중 하나
그럼에도 많은 양자 코드는 오류를 파울리 연산의 조합으로 다루는 단순화된 모델을 사용한다.
- 비트 반전류 오류에 해당하는
X - 위상 반전류 오류에 해당하는
Z - 비트와 위상이 함께 뒤집히는 오류에 해당하는
Y
이 파울리 기반 그림은 모든 현실적인 잡음 과정을 포착하지는 못하지만, 분석과 코드 구성을 더 다루기 쉽게 만들어 널리 쓰인다. 이 모델 아래에서는 신드롬 추출과 디코딩을 고전 부호 이론의 아이디어를 빌려 설명할 수 있는 경우가 많다.
다만 이런 단순화에도 주의할 점이 있다. 디코딩은 여전히 어려울 수 있다. 매개변수가 [[n,k,d]]인 코드는 가능한 신드롬이 2^(n-k)개이며, 이는 단순 조회표로 처리하기에는 금세 너무 커진다. 실제로는 보통 효율적인 고전적 디코딩 알고리즘이 필요하다.
폴트 톨러런스: 상황을 더 악화시키지 않으면서 오류를 정정하기
오류 정정만으로는 확장 가능한 계산에 충분하지 않다. 컴퓨터에서는 정정 장치 자체도 게이트, 측정, 준비된 보조 큐비트(ancilla)를 사용하며, 이들 모두 실패할 수 있다. 여기서 폴트 톨러런스가 등장한다.
핵심 아이디어는 소수의 물리적 결함이 복구 불가능한 논리 실패로 번지지 않도록 부호화, 신드롬 측정, 복구 과정을 설계하는 것이다. 양자 오류 정정은 이것이 **양자 임계값 정리(quantum threshold theorem)**와 연결된다고 설명한다. 개별 양자 게이트의 오류율이 임계값 아래에 머무르는 한, 코드를 재귀적으로 연결(concatenate)함으로써 임의로 긴 양자 계산이 가능하다는 것이다.
양자 오류 정정은 2004년의 한 역사적 추정치를 소개하는데, 충분한 큐비트를 사용할 수 있다는 가정 아래 이 임계값이 **1–3%**까지 될 수 있다고 본다. 또 임계값이 왜 중요한지에 대한 직관도 제시한다. 임계값 아래에서는 정정 과정이 도입하는 오류보다 제거하는 오류가 더 많고, 그 위에서는 정정 과정이 순해롭게 작용할 수 있다.
이 임계값 개념은 논리 큐비트가 유용한 추상화인 이유 중 하나다. 논리 큐비트는 단일 장치 소자가 아니라, 더 많은 물리 자원을 투입하고 더 나은 폴트 톨러런트 절차를 쓰면 유효 오류율을 원칙적으로 더 낮출 수 있는 부호화된 객체다.
주요 코드 계열과 각각이 최적화하는 것
서로 다른 코드 계열은 오버헤드, 거리, 구조, 구현 용이성 사이에서 서로 다른 절충을 택한다.
| Code family | 핵심 아이디어 | Notable trade-off or feature |
|---|---|---|
| Shor code | [[d^2,1,d]]로 일반화되며, 비트 반전 오류와 위상 반전 오류를 각각 처리하기 위해 안쪽과 바깥쪽 반복 코드를 사용 |
거리는 증가하지만 코드율은 더 낮음 |
| Steane / quantum Hamming codes | 반복 구조를 고전 [7,4] Hamming code로 대체하고 X 및 Z 오류를 대칭적으로 다룸 |
Shor 방식 반복 코드보다 더 나은 코드율 |
| CSS codes | Calderbank, Shor, Steane의 관련 구성에서 유도된 일반적 프레임워크 | X와 Z 안정자를 분리해 폴트 톨러런트 신드롬 측정에 유리 |
| Five-qubit code | X와 Z를 섞는 네 개의 안정자를 사용하며 CSS 코드는 아님 |
임의의 단일 큐비트 오류로부터 하나의 논리 큐비트를 보호할 수 있는 가능한 가장 작은 코드 |
| Surface code | 2D 격자 위의 위상적 안정자 코드 | 국소적 검사와 평면 배치가 실험적으로 매력적 |
5-큐비트 코드는 개념적으로 특히 중요하다. 이는 임의의 단일 큐비트 오류로부터 하나의 논리 큐비트를 보호할 수 있는 가능한 가장 작은 코드이며, 이 사실은 양자 해밍 경계와 관련이 있다.
양자 오류 정정은 또한 **비가산 코드(non-additive codes)**도 언급한다. 이는 [[n,k,d]] 가산 코드에 사용되는 안정자 형식주의를 넘어서는 코드들이다. 이들은 일부 경우 더 높은 코드율을 달성할 수 있지만, 구성과 분석이 훨씬 더 어렵기 때문에 상대적으로 덜 탐구돼 왔다.
왜 표면 코드가 그렇게 중요해졌나
현대 코드 계열 가운데 **표면 코드(surface codes)**는 2025년의 확장 가능한 양자 오류 정정에서 핵심적인 위치를 차지한다. 가장 큰 이유는 아키텍처에 있다. 표면 코드는 2차원 격자 위에서의 국소적 안정자 측정을 사용해 정의되므로, 장거리 상호작용이 필요한 코드보다 많은 하드웨어 플랫폼에 더 잘 맞는다.
표면 코드는 위상적 안정자 코드다. Alexei Kitaev in 1997가 도입한 토릭 버전에서는 큐비트가 2D 격자의 변 위에 놓이고, 안정자는 꼭짓점과 플라케트에 대응된다. 오류는 이러한 안정자의 위반으로 나타난다.
유용한 그림은 오류가 애니온(anyon)으로 묘사되는 국소적 결함을 만들거나 이동시킨다고 보는 것이다.
Z오류는 이웃한 꼭짓점 안정자를 뒤집는다X오류는 이웃한 플라케트 안정자를 뒤집는다
정정은 이러한 결함을 짝짓고 다시 소멸시키는 과정에 해당한다. 그 결과 경로가 위상적으로 자명하다면 순효과는 단지 하나의 안정자일 뿐이며 논리 정보는 바뀌지 않는다. 반대로 경로가 위상적으로 비자명하면, 그 과정은 논리 연산자처럼 작용해 부호화된 정보를 바꾸게 된다.
이 기하학적 해석은 표면 코드가 직관적인 이유 중 하나다. 코드 거리는 논리 오류를 구현하는 비자명한 경로나 루프의 최소 길이가 된다.
토릭, 평면, 회전 평면 표면 코드
몇 가지 관련된 기하 구조가 중요하다.
토릭 코드는 주기적 경계 조건을 사용하며, 위상적으로는 토러스와 동등하다. d × d 격자에 대해 2d^2개의 큐비트를 가지며, 코드 공간은 4차원이므로 두 개의 논리 큐비트를 저장한다.
하드웨어 관점에서는 개방 경계가 더 실용적인 경우가 많고, 여기서 **평면 코드(planar code)**가 나온다. 하지만 경계 설계가 중요하다. 경계 유형이 하나뿐인 표면 코드는 논리 큐비트를 부호화하지 못한다. 비자명한 코드 공간을 만들려면 매끄러운(smooth) 경계와 거친(rough) 경계가 번갈아 필요하다. 위아래가 매끄러운 경계이고 좌우가 거친 경계인 경우, 평면 코드는 하나의 논리 큐비트를 저장하며, 위상적으로 비자명한 최소 경로의 길이는 d이므로 **코드 거리 d**를 갖는다.
**회전 평면 코드(rotated planar code)**는 효율 개선형이다. Surface code에 따르면 거리 d의 회전 평면 코드는 d^2개의 물리 큐비트를 사용하며, 이는 같은 코드 거리를 유지하면서 비회전 평면 버전의 **d^2 + (d − 1)^2**보다 적다.
임계값, 디코딩, 그리고 “임계값 아래”의 의미
표면 코드는 표준 잡음 모델 아래에서 비교적 높은 임계값으로도 주목받는다. 각 큐비트에서 비트 오류와 위상 오류가 확률 p로 서로 독립적으로 발생하는 모델에 대해, Surface code는 다음을 보고한다.
- 통계물리 매핑으로부터 약 **11%**의 임계 확률
- 널리 쓰이는 minimum weight perfect matching 디코더를 사용할 때 약 10.5%
이 수치들은 중요하지만 해석이 필요하다. 첫째, 이는 가정한 오류 모델에 따라 달라진다. 둘째, 이론적 한계는 실제로 그것에 근접하는 실용적 디코더가 있을 때에만 의미가 있다. 셋째, 비트 오류와 위상 오류가 상관돼 있는 경우, 예를 들어 depolarizing noise 아래에서는 일부 디코더 성능이 더 나빠진다.
따라서 “임계값 아래”라는 말은 시스템에 오류가 없다는 뜻이 아니다. 원칙적으로 코드 크기를 키우면 논리 오류율을 악화시키는 대신 줄일 수 있다는 뜻이다.
큐비트 블록 코드를 넘어서
양자 오류 정정은 큐비트 대 큐비트 블록 코드보다 더 넓은 개념이다. 양자 정보는 **큐딧(qudits)**이나 무한히 많은 에너지 준위를 가진 **진동자(oscillators)**에도 부호화할 수 있다. cat, GKP, binomial 계열과 같은 보손적 접근은 하나의 논리 큐비트를 많은 2준위 시스템에 분산시키는 대신, 단일 진동자 내부의 중복성을 활용한다.
이는 이 분야의 중요한 열린 설계 질문을 부각한다. 중복성은 많은 물리 큐비트에 걸쳐 존재해야 하는가, 더 고차원적인 시스템 내부에 있어야 하는가, 아니면 둘의 하이브리드여야 하는가?
2025년 현재 이 분야의 위치
표면 코드는 2025년에 특히 중요하다. 양자 오류 정정은 표면 코드가 초전도 시스템에서 향상된 충실도로 임계값 이하의 논리 큐비트를 가능하게 한다고 말하며, 별도로 Google Quantum AI가 Willow 초전도 프로세서에서 distance-7 planar code를 구현해 임계값 이하의 물리 오류율을 입증했다고도 적고 있다.
그렇다고 더 광범위한 과제가 해결됐다는 뜻은 아니다. 논리 큐비트에는 여전히 상당한 오버헤드가 필요하고, 디코딩은 여전히 실제 시스템 문제이며, 성능은 코드 선택을 실제 하드웨어 잡음과 얼마나 잘 맞추느냐에 달려 있다. 하지만 이는 논리 큐비트가 이제 단지 이론적 구성물이 아니라 실질적인 공학 목표가 됐는지를 보여준다.
핵심 정리
- 양자 오류 정정은 논리 큐비트를 더 큰 물리 시스템에 부호화하고 오류 신드롬을 반복적으로 추출함으로써 깨지기 쉬운 양자 정보를 보호한다.
- 표준
[[n,k,d]]표기법은 핵심 절충 관계, 즉 물리적 오버헤드와 보호되는 논리 용량 및 코드 거리를 담아낸다. - 가장 널리 쓰이는 코드들 다수는 실제 장치에서 진폭 감쇠나 탈위상 같은 현상이 나타남에도 불구하고, 하드웨어 잡음을
X,Y,Z파울리 오류로 단순화한다. - 폴트 톨러런스가 중요한 이유는 정정 과정 자체에도 잡음이 있기 때문이며, 임계값 정리는 확장 가능한 계산이 특정 물리 오류율 아래에서만 가능하다고 말한다.
- 5-큐비트 코드는 임의의 단일 큐비트 오류로부터 하나의 논리 큐비트를 보호할 수 있는 가장 작은 코드다.
- CSS 코드는
X와Z안정자를 분리하기 때문에 폴트 톨러런트 신드롬 측정에 도움이 되어 높이 평가된다. - 표면 코드는 안정자가 2D 격자에서 국소적이어서 실험적으로 매력적이라는 점에서 두드러진다.
- 표면 코드에서 논리 실패는 위상적으로 비자명한 오류 경로에 대응하며, 코드 거리는 그러한 경로의 최소 크기다.
- 회전 평면 표면 코드는 거리를 유지하면서 비회전 평면 코드보다 필요한 큐비트 수를 줄인다.
- 보고된 임계값과 최근 시연은 고무적이지만, 실제 성능은 여전히 하드웨어 잡음, 디코더 품질, 그리고 큰 물리 큐비트 오버헤드에 달려 있다.
출처
이 페이지의 사실 정보는 아래 출처를 바탕으로 DesignQuantum이 수집했습니다.
- Quantum error correction en.wikipedia.org
- Surface code en.wikipedia.org