2014년 12월호
왼쪽 화살표 버튼 IBS TALK! TALK! 오른쪽 화살표 버튼
facebook blog kakaotalk

IBS TALK! TALK!

말 많은 양자컴퓨터, 오해와 사실

말 많은 양자컴퓨터, 오해와 사실

▲ 현재 수준의 양자컴퓨터는 기존의 컴퓨터를 대체할 수 없다. 대체재나 경쟁자라기보다는 오히려 보완재에 가깝다. 그러나 상온 초전도체가 실현되어 대량생산이 가능해진다면 양자컴퓨터가 대중화될 가능성도 없지는 않다. ⓒ shutterstock.com

2014년은 SF 팬이나 새로운 기술에 민감한 엔지니어들에게는 다소 실망스러운 소식으로 시작했다. 바로 세계 최초의 양자컴퓨터로 화제를 모았던 D-Wave의 성능이 일반 컴퓨터와 그리 다르지 않다는 것이다. 심지어 일각에서는 D-Wave가 '제대로 된 양자컴퓨터가 아니다'는 얘기까지 한다. 사실 최초의 양자컴퓨터라는 타이틀치고는 D-Wave가 한 일이 별로 없긴 하다. 양자컴퓨터가 NP 문제를 쉽게 해결한다고는 하지만 어디까지나 적절한 알고리즘이 적용됐을 때의 이야기, D-Wave는 지금까지 록히드 마틴, NASA, 구글 딱 세 곳에 팔렸을 뿐이고 특별한 활약을 보였다는 얘기가 아직 없다. 요란한 기대만큼의 역할을 해주려면 아직 시간이 필요할 것으로 보인다.

양자컴퓨터는 병렬컴퓨터인가?

여러 언론에서는 2013년부터 당장에라도 양자컴퓨터가 실용적인 수준에서 사용될 것처럼 보도하곤 했다. 최근 2년 들어 양자컴퓨터에 대한 대중적인 정보도 크게 늘었다. 심지어 '양자컴퓨터에 윈도 깔면 부팅 시간이 몇 초?'같은 황당한 질문들도 종종 보인다. 그런 질문에 정성스럽고 진지하게 답을 달아주는 모습까지.

과연 양자컴퓨터가 언론과 사람들의 기대대로 조만간 실현될까? 대부분의 전문가는 아직 한참 멀었다는 데 의견을 같이한다. 그것도 사람들이 기대하는 형태하고는 차이가 클 것이다. 현재의 기술 수준으로는 양자컴퓨터에 게임은 고사하고 업무용 프로그램은 물론, 윈도나 리눅스 같은 대중적인 운영체제조차 깔지 못할 것이다. 애초에 현재 연구되는 수준의 양자컴퓨터는 한정된 용도로만 사용 가능한 컴퓨터이기 때문이다.

언론과 대중의 이상할 정도로 과열된 관심은 양자컴퓨터에 대한 오해에서 비롯된다. 흔히 양자컴퓨터를 대규모 병렬 계산이 가능한 컴퓨터 정도로 생각하곤 한다. 그도 무리가 아닌 것이 양자컴퓨터는 양자적 상태의 조합인 '큐비트'를 이용하여 연산한다고 알려졌으며 그에 따라 한 단위가 다루는 정보도 0과 1의 두 가지가 아닌 00, 01, 10, 11 조합의 네 가지 상태기 때문이다. 그 결과 양자컴퓨터는 이진 코드를 사용하는 컴퓨터에 비해 곱절이나 빠른 처리가 가능할 것으로 기대된다.

세계 최초의 양자컴퓨터 D-Wave 1. 현재 명령어셋과 프로그래밍 언어까지 개발되어 실용성이 높아졌지만 최근 성능 논란에 휘말렸다. ⓒ D-Wave

▲ 세계 최초의 양자컴퓨터 D-Wave 1. 현재 명령어셋과 프로그래밍 언어까지 개발되어 실용성이 높아졌지만 최근 성능 논란에 휘말렸다. ⓒ D-Wave

연산능력을 극대화한 슈퍼컴퓨터는 병렬컴퓨팅을 이용한다. 프로세서 여러 대를 연결하여 한 번에 많은 연산을 처리하도록 구성한 것이다. 그러나 병렬컴퓨팅의 기반은 기존 프로세서의 아키텍처와 알고리즘이다. 양자컴퓨팅은 구조와 작동방식이 본질적으로 다르다. 사진은 IBM의 슈퍼컴퓨터 '블루진(Blue Gene)'ⓒ IBM

▲연산능력을 극대화한 슈퍼컴퓨터는 병렬컴퓨팅을 이용한다. 프로세서 여러 대를 연결하여 한 번에 많은 연산을 처리하도록 구성한 것이다. 그러나 병렬컴퓨팅의 기반은 기존 프로세서의 아키텍처와 알고리즘이다. 양자컴퓨팅은 구조와 작동방식이 본질적으로 다르다. 사진은 IBM의 슈퍼컴퓨터 '블루진(Blue Gene)'ⓒ IBM

그런데 정말 그럴까? 물론 큐비트는 고전적인 컴퓨터의 비트와 달리 얽힘을 이용하여 n개의 양자가 존재할 때 2n개 만큼의 상태를 만들어낼 수 있다. 그러나 단순히 상태를 표현하는 가짓수가 많은 것만으로는 특별할 것이 없다. 고전적인 컴퓨터의 연산으로도 적절한 알고리즘만 도입하면 큐비트가 보여주는 것만큼이나 다양한 상태를 만들어낼 수 있기 때문이다. 양자컴퓨터를 일반 컴퓨터와 차별화하는 점은 큐비트가 만들어내는 경우의 수가 아니라 연산이 결정론적이냐, 비결정론적이냐의 여부다.

큐비트는 말보다는 공간 기하로 설명하는 편이 이해가 빠르다. '블로흐 구'라고 부르는 위의 그래프에서 구의 표면은 두 가지 결과에 대한 확률값의 합이 1인 점으로 가능한 모든 사건이 일어나는 경우를 확률적으로 표현한 것이다. 고전적인 비트는 구의 '북극'과 '남극'에 해당하는 1과 0 값만 지닐 수 있지만 큐비트는 구의 어느 곳에도 존재할 수 있다. 북극과 남극을 제외한 나머지 표면에서는 1과 0 두 가지 사건에 대한 확률이 공존한다. 중첩을 정확히 이해하려면 확률에 대한 일반적인 상식에서 다소 벗어나야 한다. A라는 물체가 B에 있을 확률이 10%라면 10번 중 한 번은 B 장소에 있고 나머지 9번은 B에 없다는 뜻이다. 이때 A는 결코 같은 시간에 두 곳에 존재할 수 없다. A가 B에서 발견된다면 A는 다른 곳에는 존재하지 않는다. 그러나 양자적 수준의 미시세계에서는 A가 B와 B가 아닌 곳에 '동시에' 존재한다. 다만 그 존재 확률이 B에서는 10%로 나타날 뿐이다. 사실 중첩과 같은 현상은 우리가 지각할 수 있는 세계의 경험과 너무나 이질적이라서 적당한 시각화 방법이 없다. 위의 도표도 일상적인 경험에 비추어 이해할 수 있도록 도식화한 것뿐이다.

▲ 큐비트는 말보다는 공간 기하로 설명하는 편이 이해가 빠르다. '블로흐 구'라고 부르는 위의 그래프에서 구의 표면은 두 가지 결과에 대한 확률값의 합이 1인 점으로 가능한 모든 사건이 일어나는 경우를 확률적으로 표현한 것이다. 고전적인 비트는 구의 '북극'과 '남극'에 해당하는 1과 0 값만 지닐 수 있지만 큐비트는 구의 어느 곳에도 존재할 수 있다. 북극과 남극을 제외한 나머지 표면에서는 1과 0 두 가지 사건에 대한 확률이 공존한다. 중첩을 정확히 이해하려면 확률에 대한 일반적인 상식에서 다소 벗어나야 한다. A라는 물체가 B에 있을 확률이 10%라면 10번 중 한 번은 B 장소에 있고 나머지 9번은 B에 없다는 뜻이다. 이때 A는 결코 같은 시간에 두 곳에 존재할 수 없다. A가 B에서 발견된다면 A는 다른 곳에는 존재하지 않는다. 그러나 양자적 수준의 미시세계에서는 A가 B와 B가 아닌 곳에 '동시에' 존재한다. 다만 그 존재 확률이 B에서는 10%로 나타날 뿐이다. 사실 중첩과 같은 현상은 우리가 지각할 수 있는 세계의 경험과 너무나 이질적이라서 적당한 시각화 방법이 없다. 위의 도표도 일상적인 경험에 비추어 이해할 수 있도록 도식화한 것뿐이다.

결정론적 튜링 기계 vs 비결정론적 튜링 기계

고전적인 컴퓨터는 하나의 입력에 대해 하나의 결과만 내놓는다. 입력값에 따라 출력값이 선형적으로 결정되는 결정론적인 체계다. 이에 비해 양자적 수준의 소립자를 이용하는 양자컴퓨터는 입자 상태의 '중첩'을 이용한다. 상태의 중첩이란 여러 가지 상태가 동시에 하나의 입자에 나타나는 것을 말하며 흔히 이야기하는 양자의 '불확정성'과 연관된다.

예를 들어 어떤 양자컴퓨터가 전자의 스핀을 큐비트로 이용한다고 생각해보자. 연산을 시작하기 전의 전자는 양자컴퓨터 내에서 전자가 지닐 수 있는 스핀의 값인 +1/2, -1/2을 모두 가진다. 이는 거칠게 표현하면 이렇다. 어떤 질문에 대해 그렇다는 흰 공, 아니다는 검정 공으로 표현한다고 생각해보자.

당신이 질문을 던졌을 때 상대방이 공을 내놓았는데 이 공이 흰색인 동시에 검은색이라는 이야기다. 얼핏 보면 그저 결과를 모르니 '흰 공일 확률이 반, 검은 공일 확률이 반'이라고 이야기하는 것처럼 보인다. 그러나 중첩이란 단순히 가능성만을 이야기하는 것이 아니다. 양자적 수준에서 검정 공과 흰색 공은 둘 다 분명히 존재한다. 그것도 같은 자리, 같은 시간에. 다만 존재할 확률이 각각 50%씩일 뿐이다. 더 정확히 이야기하자면, 양자적 수준에서는 관측 전까지 여러 상태가 확률적으로 중첩된 상태로 존재하다 관측하거나 조작하는 순간 어느 하나의 상태로 고정된다.

이러한 양자적 특성 때문에 양자컴퓨터는 적은 큐비트로도 많은 경우의 수를 표현할 수 있을 뿐 아니라 큐비트의 행동 자체가 비결정론적이라 여러 가지 결괏값을 한 번에 낼 수 있다. 여기에 더해 양자를 확률 파동함수로 표현했을 때 상반되는 상태가 상쇄되어 오답을 재빨리 제거할 수 있다는 점까지 고려하면 적당한 메커니즘만 지닌 문제라면 양자컴퓨터가 매우 빠르게 해결할 수 있음을 알 수 있다. 이러한 장점은 양자컴퓨터의 작동원리가 기존의 컴퓨터와는 본질적으로 다르기 때문에 나타난다. 따라서 양자컴퓨터의 '빠름'은 우리가 컴퓨터에 기대하는 '빠름'과는 그 적용분야나 성격에 큰 차이가 있는 것이다. 어쩌면 특정 연산에서 기존 컴퓨터와 속도 차이가 별로 없거나 부족한 결과를 보여주었다고 양자컴퓨터에 실망할 필요는 없는 셈이다.

튜링 기계를 표현한 일러스트. 튜링 기계는 영국의 수학자, 앨런 튜링이 제안한 계산기계로 테이프에 기록된 연산을 순차적으로 처리한다. 현대 컴퓨터의 기본 원리는 튜링 기계를 바탕으로 폰 노이만 구조를 적용한 것이다. 즉 현대 컴퓨터의 기본 구조는 튜링 기계의 일부분이며 양자컴퓨터 역시 마찬가지다. ⓒ Schadel

▲ 튜링 기계를 표현한 일러스트. 튜링 기계는 영국의 수학자, 앨런 튜링이 제안한 계산기계로 테이프에 기록된 연산을 순차적으로 처리한다. 현대 컴퓨터의 기본 원리는 튜링 기계를 바탕으로 폰 노이만 구조를 적용한 것이다. 즉 현대 컴퓨터의 기본 구조는 튜링 기계의 일부분이며 양자컴퓨터 역시 마찬가지다. ⓒ Schadel

양자 중첩에 대한 대표적인 예시가 슈뢰딩어의 고양이다. 슈뢰딩어는 상반된 두 가지 상태가 중첩된다고 할 때 어떤 논리적 모순이 생기는지 풍자하려 고양이 실험을 고안했으나 현재는 상식적으로 이해하기 어려운 미시현상을 대표하는 비유로 사용된다. ⓒ ADA+Neagoe

▲양자 중첩에 대한 대표적인 예시가 슈뢰딩어의 고양이다. 슈뢰딩어는 상반된 두 가지 상태가 중첩된다고 할 때 어떤 논리적 모순이 생기는지 풍자하려 고양이 실험을 고안했으나 현재는 상식적으로 이해하기 어려운 미시현상을 대표하는 비유로 사용된다. ⓒ ADA+Neagoe

기존 컴퓨터가 해결하지 못하는 문제를 해결한다

그렇다면 왜 과학자들이 기존의 컴퓨터와는 동떨어진 양자컴퓨터에 매달릴까? 양자컴퓨터가 비결정론적인 NP 문제를 해결할 때 큰 역할을 할 수 있기 때문이다. NP 문제란 '비결정론적 튜링 기계'라는 장치로 합리적인 시간 내에 풀 수 있는 문제를 말한다. 수학계의 밀레니엄 문제 중 하나인 P-NP 문제에 등장하는 NP 문제가 바로 이것이다. 현재 사용하는 컴퓨터처럼 단일 경로만 계산할 수 있는 기계는 NP 문제를 해결하려면 문제의 복잡도가 증가할수록 지수함수적인 비례로 해결시간이 증가하므로 효율적이지 않다. A라는 암호체계를 깨려면 몇 만 년이 걸리네 어쩌네 하는 이유도 이 때문이다.

NP 문제의 대표적인 예시가 교통상황 분석이다. 도로의 교통상황은 각각의 차량의 움직임이 상호작용하여 만들어내는 현상이다. 개별 차량의 움직임을 모두 분석하면 교통상황을 예측할 수 있겠지만, 연산에 너무나도 많은 시간이 소요되어 현실적으로 거의 불가능하다. 비결정론적인 튜링 기계는 특정한 NP 문제를 충분히 이른 시간 내에 해결할 수 있으리라고 기대된다. ⓒ shutterstock.com

▲ NP 문제의 대표적인 예시가 교통상황 분석이다. 도로의 교통상황은 각각의 차량의 움직임이 상호작용하여 만들어내는 현상이다. 개별 차량의 움직임을 모두 분석하면 교통상황을 예측할 수 있겠지만, 연산에 너무나도 많은 시간이 소요되어 현실적으로 거의 불가능하다. 비결정론적인 튜링 기계는 특정한 NP 문제를 충분히 이른 시간 내에 해결할 수 있으리라고 기대된다. ⓒ shutterstock.com

비결정론적 튜링 기계는 문제에 대한 여러 가지 답을 동시에 계산할 수 있는 장치다. 간단히 말하면 여러 가지 경우의 수 중 최적의 해결책을 골라내는 것이다. 길 찾기 알고리즘이 좋은 예다. A에서 B까지 가는 합리적인 경로가 10가지라고 해보자. 비결정론적 튜링 기계는 목적지까지 가는 경로 10가지를 동시에 시뮬레이션하고 그중 가장 일찍 도착한 경로를 정답으로 내놓는다. 이는 10개의 서로 다른 계산장치가 각각 하나의 경로만을 계산하고 이들 중 가장 빨리 계산을 끝낸 장치가 결과값을 보고하는 것과 같다.

따라서 비결정론적인 튜링 기계는 다양한 원인과 요소들을 고려해야 하면서도 공식처럼 적용되는 표준 해법이 존재하지 않는 복잡한 문제들을 빠르게 해결할 수 있다. 예로 든 최적 경로를 찾는 문제나 암호 해독, 시장 분석, 유체 등의 복잡계 분석, 자연어 분석과 같은 과제들이 바로 비결정론적인 튜링 기계가 해결 가능한 문제들이다.

물론 NP 문제는 P 문제에 포괄되므로 고전적 컴퓨터인 결정론적 튜링 기계도 적절한 알고리즘만 짜면 NP 문제를 해결할 수 있다. 다만 그 시간이 엄청나게 오래 걸리는 것이 문제다. 특히 양자컴퓨터는 소인수분해나 이산 로그에서 강력한 것으로 알려졌다. 소인수분해나 이산로그 모두 큰 수에 대해서는 일반적인 해법이 존재하지 않아 대입을 통해 일일이 확인해보아야 하는 문제들이다. 이 두 가지 과제들은 현대 암호학의 공개키 알고리즘의 중요한 부분을 차지하기에 양자컴퓨터가 언급될 때마다 암호에 대한 얘기가 따라붙는다.

그러나 NP 문제는 양자컴퓨터 본연의 목적도 아니고 애초에 모든 NP 문제에 양자컴퓨터가 효율적인 것도 아니다. 양자컴퓨터가 그보다 더 막강한 능력을 발휘하리라고 기대되는 분야는 입자들의 미시적 운동을 분석해야 하는 학문 분야다. 양자컴퓨터에 대한 논의 자체가 미시세계의 운동을 분석하려면 슈뢰딩어 방정식에 기반을 둔 컴퓨터가 있어야겠다고 주장한 리처드 파인만의 논문으로부터 비롯됐음을 상기해보자.

양자컴퓨터는 기존 컴퓨터를 대체할까?

코넬 대학교 강의실에서의 리처드 파인만. 파인만은 1982년의 논문에서 양자컴퓨터의 가능성과 필요성을 제시했다.

▲ 코넬 대학교 강의실에서의 리처드 파인만. 파인만은 1982년의 논문에서 양자컴퓨터의 가능성과 필요성을 제시했다.

이처럼 특정 분야에서는 기대를 한몸에 받는 양자컴퓨터지만 비가역적인 변환에 대해서는 오히려 기존 컴퓨터보다 취약할 수 있다. 양자역학적 시스템은 '유니터리'한 방식으로만 변화한다. 유니터리란 양자를 행렬로 표현했을 때 이에 대한 역행렬이 항상 존재한다는 뜻이다. 이는 양자에 어떤 변환을 가했을 때 역변환이 항상 가능해야 한다는 뜻이므로 양자컴퓨터로 계산한 결괏값으로부터 입력값을 다시 찾는 것이 항상 가능해야 한다. 그러나 일대일 함수가 아니라면, 즉 둘 이상의 입력값으로부터 동일한 결괏값이 나올 수 있는 경우에는 결괏값만으로 정확한 입력값을 찾아낼 수 없다.

간단히는 기본적인 형태의 이차방정식, x2=1의 경우를 생각해보면 된다. 제곱해서 값이 1이 되는 경우는 +1과 -1, 두 가지 모두 해당되므로 단지 제곱한 결과가 1이라는 정보만으로, 다른 단서가 없는 한 원래 x가 정확히 어느 값이었는지 판단하는 것은 불가능하다. 고전컴퓨터는 둘째치고 중등 이상의 교육을 받은 사람이 쉽게 암산할 수 있는 이런 문제가 양자컴퓨터에게는 난제가 될 수 있다. 물론 조건값을 삽입해서, 즉 'x가 1일 경우에는 제곱하면 1이다'와 'x가 -1일 경우에는 제곱하면 1이다'는 두 가지 형태로 분리해서 연산할 수 있기는 하지만 이는 어디까지나 연산 회수를 늘려야 하는 우회로일 뿐이다. 그래서 '양자컴퓨터가 평범한 컴퓨터에 깨졌다!'는 이야기는 어떤 연산으로 실험한 것인지를 먼저 살펴봐야 한다. 애초에 일반적인 컴퓨터와 양자컴퓨터는 용도가 다르기 때문이다.

결국, 양자컴퓨터에 기대감을 보이는 것은 좋지만 신중할 필요가 있다. 나중에는 모르겠지만, 현재 수준에서 양자컴퓨터는 개인용 컴퓨터를 대체할 일도 없고 연구 방향이 그쪽도 아니다. 양자컴퓨터의 가능성은 오히려 현재의 컴퓨터로 하기 어려운 일들에 있다. 양자컴퓨터와 기존 컴퓨터는 경쟁이 아니라 보완관계인 셈이다.

무엇보다 아직 기술적으로 해결할 과제도 수두룩하다. 양자컴퓨터의 기본 정보 단위인 큐비트를 충분한 시간 동안 유지하는 것도 관건이거니와 큐비트가 외부 환경 변화에 민감하므로 차폐시설에도 신경을 써야 한다. D-Wave가 그토록 고가인 이유도 큐비트를 유지하기 위해 초전도체를 사용하고 고도의 방음, 차진 설비를 적용했기 때문이다.

양자컴퓨터 실현의 첨병, 스핀트로닉스

D-Wave는 양자컴퓨터의 이러한 한계를 단적으로 보여준다. 민감한 프로세서를 관리하고 초전도상태를 유지하느라 온갖 장치들을 붙이다 보니 덩치가 엄청나게 커졌다. 자연히 용도도 제한됐는데도 천만 달러 이상이라는 고가를 유지하고 있다. 사용하는 곳이 없는 것은 당연지사, 이런 기술의 단골손님인 NASA와 군수 기업인 록히드 마틴, 구글이 D-Wave를 사용하는 곳의 전부다. 그러고도 완전한 양자컴퓨터를 구현하지도 못했다. D-Wave는 양자 CPU에서 처리된 연산 결과를 외부의 컴퓨터가 다시 읽는 구조라 사실 '반만' 양자컴퓨터인 셈이다. D-Wave는 구조적으로 일반 워크스테이션에 큐비트 CPU를 보조연산장치로 달아놓은 것과 비슷하다.

탈륨/실리콘(111)의 원자 구조를 위에서 본 그림. 빨간색과 초록색은 각각 탈륨과 실리콘 원자를 나타낸다. 파란색 화살표는 원자 구조의 대칭성을 보여주는 거울 면이다. ⓒ 염한웅

▲ 탈륨/실리콘(111)의 원자 구조를 위에서 본 그림. 빨간색과 초록색은 각각 탈륨과 실리콘 원자를 나타낸다. 파란색 화살표는 원자 구조의 대칭성을 보여주는 거울 면이다. ⓒ 염한웅

이러한 난점의 핵심은 바로 큐비트를 제대로 제어하기 어렵다는 데 있다. 입자의 성질 중 확연히 구분되는 상태를 지닐 수 있는 것은 무엇이나 큐비트로 이용할 수 있지만 양자적인 수준에서 제어하기란 무척 어려운 일이다. 가장 제어가 용이하리라고 예측되는 전자의 스핀조차 실용적인 수준의 컴퓨팅을 구현하기에는 일정한 상태를 유지할 수 있는 시간이 너무 짧다. 이는 마치 나중에 참고하려고 적어 둔 메모의 글자들이 제멋대로 바뀌는 것과 같을 정도로 심각한 문제다. 정보의 안정성이 보장되지 않는 것이다.

많은 과학자가 이 문제를 해결하려 시도하고 있다. 당연하게도, 안정성 높은 큐비트를 얻는 것은 공학자가 아니라 이론 물리를 연구하는 기초과학자들의 몫이다. 특히 전자의 스핀을 제어하는 방법에 대한 연구가 활발하여 아예 '스핀트로닉스'라는 이름이 붙었다.

다행히 스핀트로닉스 분야에서 주목할만한 성과들이 나오고 있다. 대표적인 연구가 지난해 IBS의 원자제어 저차원 전자계 연구단이 추진 중인 밸리트로닉스 관련 연구다. 이 연구단은 최근 기존의 실리콘 기반의 반도체를 이용하면서도 스핀을 쉽게 조절하는 방법을 찾아냈다. 스핀이 아닌 다른 특성, 파동양자수를 이용하여 스핀이 일정하게 유지될 수 있는 조건을 만들어 준 것이다. 이 연구는 특정 시스템에서 간단하고 확실하게 스핀이 분극되어 유지되는 현상을 관찰함으로써 진정한 양자컴퓨터의 실현 가능성을 높인 것으로 평가된다. 큐비트를 항구적으로 유지할 수 있는 기술과 함께 양자적 특성을 이용할 수 있는 알고리즘이 충분히 개발된다면 실제 양자 컴퓨터를 대중적으로 사용할 날도 그리 멀지는 않을 것이다.