제11장: “양자 오류정정: 신뢰도를 높이는 기술.”

양자컴퓨터가 기능하려면, 큐비트가 시간에따라 안정적으로 유지되어야한다.

by Youhan Kim

양자컴퓨터가 가진 가장 큰 매력은 빠르고도 독특한 계산 능력이지만, 정작 실용 단계에 접어들려면 생각보다 까다로운 문제들을 해결해야 한다. 그중에서도 “양자 오류정정”이라는 기술은 핵심 중의 핵심으로 꼽힌다. 이미 예전 장에서 양자컴퓨터가 관측이나 외부 교란에 예민하다는 말을 했는데, 그 예민함이 부정확한 결과를 낳는 ‘오류’로 직결될 수 있기 때문이다. 예를 들어, 우리가 깨끗한 물이 담긴 컵을 들고 매우 조심스럽게 걸어간다고 해도, 미세한 흔들림이나 주변 환경의 영향으로 결국 물이 조금이라도 출렁이듯이, 큐비트도 그 작고 복잡한 양자 세계 속에서 쉽게 흔들린다.


hanuk0644_water_slightly_jiggling_in_a_mug_--ar_169_--v_6.1_458658f8-b02a-4914-aece-232bea5e1fdc_3.png


이 흔들림이 심해져서 ‘중첩 상태’나 ‘얽힘 상태’가 무너지는 현상을 흔히 디코히런스(탈코히런스)라고 부른다. 디코히런스가 일어나면, 원래 의도했던 양자 계산 과정이 엉뚱한 상태로 바뀌거나, 최종 측정에서 에러가 발생할 수 있다. 따뜻한 날 볕 아래에서 아이스크림이 녹아내리는 모습이나, 학교 실험실에서 온도계나 습도계가 조금만 조건이 달라져도 수치가 바뀌어 버리는 일처럼, 미시적인 환경 변화가 큐비트 상태에 큰 교란을 주는 것이다. 그런데 양자컴퓨터가 제대로 기능하려면, 많은 큐비트가 오랜 시간 동안 안정적으로 유지되어야 한다.


우리가 일반 컴퓨터(고전 컴퓨터)를 쓸 때는, 메모리에 저장된 0이나 1이 어지간해선 바뀌지 않는다고 가정한다. 하지만 실제로도 완벽하지는 않아서, 전송 과정에서 노이즈가 섞이거나 물리적 결함이 생기는 일이 있을 수 있다. 그럼에도 오류정정 코드를 통해 “이 비트가 잘못되었는지”를 비교적 쉽게 확인하고, 수정할 수 있는 메커니즘을 이미 갖추고 있다. 예를 들어, 한 자리만 틀려도 주변 비트들의 패턴을 통해 오타를 찾아내듯, 고전 오류정정 알고리즘은 자가진단이 가능하다. 문제는 양자 세계에서는 정보가 중첩되어 있고, 관측을 하는 순간 그 상태 자체가 깨져 버리므로, 고전적인 방식으로 오류를 체크하기 어렵다는 점이다.


그래서 연구자들은 “양자의 중첩을 깨뜨리지 않으면서도, 오류를 감지하고 교정할 방법”을 고안해 왔다. 이 아이디어가 바로 양자 오류정정(Quantum Error Correction) 기술이다. 얼핏 듣기엔 불가능해 보이지만, 몇 가지 특수한 방법을 통해 어느 정도 해법을 찾았다. 간단한 예로, 한 큐비트에만 정보를 담는 대신, 여러 큐비트가 서로 얽히도록 설계한 뒤, 외부 관측 없이 그 얽힘 상태를 부분적으로 확인하며 오류를 감지하는 식이다. 이렇게 하면 특정 큐비트에서 에러가 발생했더라도, 전체 얽힌 그룹이 가진 정보 덕분에 “어디가 틀렸구나”를 알아낼 수 있다는 것이다.


물론 이 방식이 완벽하거나 쉽다는 뜻은 아니다. 일반적으로 양자 오류정정을 구현하려면, 실제로 계산에 쓰일 ‘논리 큐비트(Logic Qubit)’ 하나를 만들기 위해 훨씬 많은 ‘물리 큐비트(Physical Qubit)’가 필요해진다. 다시 말해, 오류정정을 위해 추가적인 큐비트를 잔뜩 투입해서 보호막을 형성해야 하는 셈이다. 이는 마치 정교한 갤러리 그림을 안전하게 옮기려면 여러 겹의 포장재로 싸고, 또 튼튼한 상자를 준비하고, 차의 흔들림도 최소화하려고 에어 쿠션 등을 사용하는 모습과 비슷하다. 그 결과, 적은 수의 큐비트로는 오류정정이 버겁고, 일정 규모 이상의 큐비트가 모여야 비로소 의미 있는 양자 계산을 안정적으로 진행할 수 있다는 결론이 나온다.


그렇다면 왜 굳이 이렇게 복잡한 오류정정 작업을 해야 할까? 한마디로, 양자컴퓨터가 “대형 계산”을 처리하려면 오랜 시간 동안 큐비트 상태가 유지돼야 하고, 그 사이 발생하는 작은 오류들조차 통제 가능해야 하기 때문이다. 에러가 누적되어 중간이나 마지막에 측정 결과가 완전히 뒤죽박죽 나오면, 아무리 빠른 계산이라도 소용이 없다. 그래서 구글, IBM, 마이크로소프트 같은 대기업들은 큐비트를 많이 늘리는 것 못지않게, 오류정정 기술 연구에도 막대한 투자를 하고 있다. 목표는 “에러율을 일정 수준 이하로 낮추고, 필요하면 교정해 가며 완성도 높은 양자 연산을 수행하자”는 것이다.


과연 이렇게 하면 정말 완벽하게 오류를 잡을 수 있을까? 아직은 완벽한 해결책이라고 할 수는 없지만, 이론상 양자오류정정이 충분히 정교해지면 고전 컴퓨터가 그랬던 것처럼 “미세한 오류는 알아서 수정하고, 큰 계산을 성공적으로 끝마치는” 수준에 이를 수 있다고 한다. 실제로 최근 몇 년 사이에 “오류율이 낮아진 양자칩”이나 “오류정정 코드를 테스트했다”는 연구 발표가 잇따르고 있다. 가령 구글이 발표한 특정 실험에서는 에러정정 코드가 제대로 동작해, 더 많은 큐비트를 쓸수록 에러율이 서서히 떨어진다는 결과가 관측되기도 했다. 비록 아직 갈 길은 멀지만, 이런 결과는 실용 양자컴퓨터에 한 발 더 가까워졌다는 희소식이기도 하다.


googlereleas.jpg 양자-클래식 판별 모델의 추론 및 훈련을 위한 엔드투엔드 파이프라인 (Google)



결국 양자 오류정정 기술은 “양자컴퓨팅이 실용화되기 위한 필수 조건”으로 꼽힌다. 우리가 고전 컴퓨터를 사용할 때 문서가 조금 더러워졌다고 갑자기 내용이 변하거나, 네트워크 케이블이 몇 초 흔들렸다고 파일이 영영 깨지는 일은 극히 드물다. 왜냐하면 이미 오랜 세월 동안 고전 오류정정 방식이 정교해졌고, 하드웨어·소프트웨어가 탄탄하게 자리 잡았기 때문이다. 양자 세계에서는 작은 교란만으로도 입자의 상태가 크게 달라질 수 있어, 이와 비슷하거나 더 강력한 보호장치를 마련하지 않으면, 양자컴퓨터는 그저 신기한 실험 장비 이상이 되기 어렵다.


그렇지만 “연구가 더 진전될수록, 대규모 오류정정이 가능한 양자컴퓨터가 나타날 것”이라는 게 많은 과학자와 기술자의 전망이다. 예를 들어, 쇼어 알고리즘이나 그루버 알고리즘 같은 강력한 양자알고리즘을 실제 큰 문제에 적용하려면, 오류정정으로 안정성을 확보해야만 한다. 마치 축구 팀이 11명이 있어야 경기가 성립하듯, 양자컴퓨터도 오류정정을 포함해 전부 자리를 잡아야 ‘진짜 경기’를 뛸 수 있게 된다는 비유도 가능하다.






그렇다면 언제쯤 이 오류정정 기술이 완벽해져서, 우리 앞에 대규모 안정적 양자컴퓨터가 등장하게 될까? 아직은 다양한 예측이 공존하지만, 해마다 조금씩 에러율을 낮추고 큐비트 수를 늘리며, 인프라와 알고리즘을 발전시키는 중이다. 그리고 그 과정 자체가 현대 물리학과 컴퓨터공학, 수학, 전자공학까지 뒤흔드는 새 도전이다. 미래 어느 날, 우리는 “양자 오류정정을 완벽히 구현한 머신”을 손에 쥐고, 지금으로선 상상하지 못할 문제들을 순식간에 풀어낼 수도 있다. 이런 시나리오가 실현되면, 정말로 우리 앞에 ‘양자 시대’가 열리게 될 것이다.




★ 용어 설명


디코히런스(탈코히런스): 양자 상태(중첩, 얽힘 등)가 외부 교란으로 인해 고전적 상태로 붕괴하는 현상.

양자 오류정정(Quantum Error Correction): 디코히런스로 인한 에러를 감지하고 수정하기 위한 기술. 관측 없이 큐비트의 오류를 파악해 교정하는 방법 등을 연구한다.

물리 큐비트(Physical Qubit): 실제 하드웨어에서 구현되는 큐비트. 각종 잡음과 에러에 취약하다.

논리 큐비트(Logic Qubit): 여러 물리 큐비트를 묶어 오류정정 코드를 적용해, 에러에 강한 ‘논리적 하나의 큐비트’를 만든 개념.


keyword
매거진의 이전글제10장: “양자 알고리즘의 기초”