brunch

You can make anything
by writing

C.S.Lewis

by 한국현 Apr 11. 2021

양자 컴퓨터

1946년 1만 7천여개의 진공관으로 만들어진 최초의 컴퓨터 에니악(ENIAC)이 등장하면서 디지털 컴퓨터 시대가 시작된지 벌써 70여년이 흘렀습니다. 최근 모든 산업에서 디지털 전환(Digital Transformation)이 본격적으로 이루어지면서 새롭게 생성되는 디지털 데이터의 양은 어마어마하게 방대해 졌고, 이러한 방대한 데이터를 처리하기 위해서 컴퓨팅 파워는 빠르게 증가하고 있지요. 대량 병렬 연산을 위해 개발된 슈퍼컴퓨터도 지속적으로 발전해 왔습니다. 하지만, 아무리 디지털 컴퓨터 기술이 발전한다 하더라도 이론상 넘을 수 없는 한계는 존재합니다. 이에, 30여년 전부터 이론상 디지털 컴퓨터가 갖는 한계를 넘어설 수 있는 기술로 양자 컴퓨터에 대한 연구가 진행되어 왔고, 최근 들어 먼 미래 이야기로만 여겨져 왔던 양자 컴퓨터의 상용화 가능성이 급격히 높아지고 있습니다.

(좌) 최초의 디지털 컴퓨터 ENIAC(사진출처: www.kurzweilai.net), (우)구글의 54 큐빗 양자 컴퓨터(사진출처: 구글)


특히, 2019년 10월 구글이 개발한 양자 컴퓨터를 이용하여 53큐빗(qubit; quantum bit의 의미)으로 양자 우월성(Quantum Supremacy)에 대한 가능성을 증명한 논문을 Nature지에 발표하면서 양자 컴퓨터에 대한 관심은 더욱 높아지고 있어요. 여기서 양자 우월성이란 양자 컴퓨터가 기존의 슈퍼컴퓨터를 능가하는 것을 말합니다. 구글은 이후에 72 큐빗 양자 컴퓨터까지 발표한 상황입니다. 불과 몇 년 전까지만 해도 전세계적으로 10 큐빗 남짓한 양자 컴퓨터를 연구하는 수준이었는데 갑자기 빠르게 기술이 발전하는 모양새입니다. 구글의 양자 컴퓨터 사진을 보면 마치 최초의 디지털 컴퓨터 ENIAC을 연상시키는 것 같습니다.

구글의 72큐빗 Bristlecone 양자 컴퓨터(사진출처: 구글)

사실 아는 만큼만 보인다고, 양자 컴퓨터는 뉴스에서도 많이 나오는데 도대체 양자 컴퓨터가 무엇이고 지금 쓰는 컴퓨터와는 무엇이 다르다는 것인지 궁금하신 분들이 많으실 것 같습니다. 얼마 전에는 S*T社가 S전자와 함께 개발한 퀀텀칩을 장착하여 보안 성능을 높인 스마트폰이 출시됐다는 광고도 나와서 이건 또 뭔가 하셨을 것 겁니다.


먼저 퀀텀칩을 장착했다는 스마트폰에 대해서 간략히 설명을 드리면, 사실 양자 컴퓨터와는 관련이 없습니다. 양자난수생성 칩셋을 개발하여 장착했다는 내용으로, 보통 통신을 할 때 암호키 생성을 위해서 난수(random number)를 만들어야 하는데, 이론상 현재까지는 진정한 난수를 발생시키는 것은 불가능했고 알고리즘에 의한 유사난수를 생성하여 사용을 하고 있었습니다. 즉, 유사난수는 이론적으로는 어떤 방식을 사용했는지를 알면 난수를 알아낼 수 있는 가능성이 존재합니다. 하지만, 이번에 개발된 양자난수생성 칩셋은 LED로부터 나오는 빛을 CMOS 이미지센서로 감지하여 일정 시간동안 센서에 감지되는 광자의 개수를 카운트하여 난수를 추출한다고 합니다. 양자의 무작위성으로 인해 진정한 난수 생성이 가능하다고 하고, 따라서 암호키의 보안 수준이 보다 향상된다는 뜻입니다. 하지만, 기존의 유사난수도 알아내는 것은 거의 불가능하고 보통 해킹이 이루어지는 영역이 난수 발생기 부분은 아니기 때문에 실제로 보안 기능이 향상되었다는 것을 체감하기는 어려울 것 같습니다. 다만, 역사적으로 진정한 난수 발생이 불가능했던 것이 양자난수생성 칩셋 개발로 가능해졌다는 정도로 의미를 이해하시면 될 것 같습니다. 사실 이것도 매우 큰 의미가 있는 결과이지요.

가로 2.5 x세로 2.5mm의 양자난수생성 칩셋이 탑재된 스마트폰 (사진출처: SKT)


이제 양자 컴퓨터에 대해서 살펴보죠. 먼저 더 큰 범위의 연구 분야인 양자정보과학기술은 양자컴퓨팅, 양자통신, 양자센서 등을 포함하는 기술로 정의합니다. 여기서 양자컴퓨팅 하드웨어는 양자 컴퓨터를 의미합니다. 하지만, 보통은 양자컴퓨팅 소프트웨어까지 설치가 되어야 양자 컴퓨터가 의미가 있기 때문에, 양자컴퓨팅을 실현하는 장치를 포괄적으로 양자컴퓨터라고 생각하면 타당할 것 같습니다.



양자 컴퓨터가 디지털 컴퓨터의 한계를 뛰어넘을 수 있는 이유는 양자의 중첩(superposition)과 얽힘(entanglement)의 성질 때문입니다. 양자 컴퓨터도 디지털 컴퓨터처럼 0과 1의 두 가지 상태를 사용하지만, 차이가 있다면 0과 1이 동시에 중첩되어 있는 상태도 표현할 수 있다는 점이 차이입니다. 두 자리 이진수라면 00, 01, 10, 11 네 가지 상태가 존재할 수 있고, 디지털 컴퓨터는 두 비트로 한 번에 네 가지 상태 중의 하나만을 명시할 수 있지만, 양자 컴퓨터는 두 큐빗(qubit)으로 네 가지 상태를 동시에 중첩시켜 포함할 수 있다는 점이 차이점입니다. 즉, |00>+|01>+|10>+|11> 이렇게 모두 중첩된 상태를 표현할 수 있다는 것이죠. 이것이 가능한 이유는 양자는 입자인 동시에 파동의 성질도 갖기 때문입니다.


이렇게 중첩된 상태를 표현하는 것이 좋은 이유는 중첩된 상태에서 연산을  번에   있다는 점입니다. 10큐빗이라면 2^10 = 1,024가지 상태를 동시에 포함시킬  있고, 1,024가지 상태에 대한 연산을  번에 수행할  있다는 뜻입니다. 이제 조금 느낌이 오시죠? 그런데, 여기서 문제가 하나 있습니다. 여러 개의 상태를 중첩시킨   번에 연산을 하는 것까지는 좋은데, 결과도 중첩된 상태로 나온다는 것이 문제입니다. 따라서 보통은 여러  동일한 연산을 반복하여 결과를 확률적인 분포로 얻게 됩니다. 그래서 기본적으로 양자 컴퓨터는 모든 연산에 대해서 유리하다고 보기는 어렵고, 동시에 중첩시켜서 연산을 했을  효과를   있는 유형의 문제에 대해서만 유리하다고 보면 됩니다. 이렇듯 양자 컴퓨터는 활용하는 방법도 난도가 은데, 양자 컴퓨터로 문제를 풀기위해 설계하는 소프트웨어에 해당하는 영역을 양자 알고리즘이라고 합니다.


사실 요즘 많은 나라들이 양자 컴퓨터 개발을 선점하기 위해 치열하게 경쟁하고 있습니다. 이렇게 국가 차원에서 많은 투자를 하는 이유는 1994년에 발표된 Shor의 소인수 분해 양자 알고리즘 논문에서 시작됩니다. Shor의 알고리즘에 따르면 아무리 큰 숫자라고 하더라도 다항식 시간 안에 소인수 분해를 할 수 있다는 것입니다. 보통은 큰 숫자의 소인수 분해를 하려면 천문학적인 시간이 걸리기 때문에 현존하는 대부분의 암호 체계는 이 원리를 이용하여 설계가 되어있습니다. 즉, 양자 컴퓨터가 나와서 Shor의 소인수 분해 알고리즘을 이용하면 현존하는 대부분의 암호 체계가 뚫릴 수 있다는 이야기입니다. 예를 들어, 1,024비트 RSA(공개 키 암호 방식)의 암호를 해독하는데 기존의 디지털 컴퓨터로는 백만 년의 시간이 걸리는데 반해, 양자 컴퓨터로는 10시간이면 해독할 수 있다고 합니다. 이것이 현실화된다면 국방, 금융, 정부 등 국가의 모든 시스템이 붕괴될 수도 있겠죠. 1996년에 발표된 Grover의 데이터 검색 양자 알고리즘도 이러한 위기 의식에 기름을 붓는 역할을 하게 됩니다. 이러한 이유로 많은 나라들이 서로 먼저 양자 컴퓨터를 선점 개발하려고 하는 것입니다. 참고로, 당연히 양자 컴퓨터가 나와도 뚫리지 않는 암호 통신 시스템을 만드는 연구도 동시에 하고 있지요. 해당 연구 영역이 바로 양자암호통신 분야입니다. 이 글에서는 양자암호통신에 대해서는 다루지 않겠습니다.


양자 컴퓨터를 암호 해독만을 위하여 연구하는 것은 아닙니다. 지금 이 시간에도 전세계적으로 수많은 문제를 풀기 위한 새로운 양자 알고리즘 논문들이 발표되고 있습니다. 특히, 기존 컴퓨터에서는 최적해를 구하는데 천문학적인 시간이 걸리던 NP 문제(Nondeterministic Polynomial time 문제; 다항식 시간으로 표현될 수 있는 지의 여부가 아직 결정되지 않은 문제)들을 푸는데 매우 적합합니다. 항공이나 우주, 물류, 반도체, 엔지니어링 설계 등을 포함한 많은 분야의 최적화 문제들이 NP 문제에 해당합니다. 신약 개발이나 신소재 설계 등과 같은 각종 양자화학 시뮬레이션 분야도 양자 컴퓨터에서 매우 효과적인 분야입니다. 빅데이터 기반 인공지능과도 궁합이 아주 잘 맞는다고 볼 수 있습니다. 또한, 양자 컴퓨터의 원천 기술은 양자암호통신 분야에서도 바로 활용이 가능할 겁니다. 이 정도의 응용 분야 만으로도 미래를 바꾸는데 충분히 효과적이라고 볼 수 있겠지요?


그런데 이런 양자 컴퓨터는 어떻게 만드는지 궁금하실 겁니다. 양자 역학이 적용되는 다양한 방식들을 이용하여 전세계의 많은 연구자들이 양자 컴퓨터의 주도권을 잡기 위해 경쟁적으로 연구 개발하고 있습니다. 현재 가장 앞서고 있는 초전도 소자를 이용한 방식부터 이온 트랩, 반도체 양자점, 광자, 핵자기공명 등 다양한 방식으로 양자 컴퓨터를 만드는 시도들을 하고 있습니다. 지금은 마치 춘추전국시대와 같다고 보시면 되겠고, 이 중에서 한 두 가지의 방식이 사실상 표준으로 등극하고 나머지 방식은 점차 사라지게 될 것 같습니다. 참고로, 가장 앞서 나가고 있는 구글과 IBM이 발표한 양자 컴퓨터는 모두 초전도 소자를 이용한 방식입니다.


양자 컴퓨터에 대해서 관심이 있으셨던 분들에게 가장 궁금한 점은 바로 D-Wave사의 양자 컴퓨터는 왜 아류 취급을 받고 있는가 하는 점일 것입니다. 첫 양자 컴퓨터인 128 큐빗 D-Wave One을 2011년에 발표했고, 2,048 큐빗 양자 컴퓨터를 2017년에, 그리고 무려 5,640 큐빗 양자 컴퓨터를 2020년에 발표했다는데, 왜 인정을 잘 안해주고 있는지 궁금하실 겁니다. 구글은 72큐빗 양자 컴퓨터 만들었다고 그 난리인데 말이죠. 그건 바로 D-Wave사에서 만들고 있는 양자 컴퓨터는 구글이나 IBM 등과 같은 범용 양자 칩을 만들어서 구현한 것이 아니라 양자 어닐링 칩을 만들어 구현한 양자 컴퓨터이기 때문입니다. 즉, 설계한 다양한 종류의 양자 알고리즘을 돌리려면 범용 양자 컴퓨터가 필요한 것이고, 양자 어닐링 칩으로 구현한 D-Wave 시스템은 최적화 문제를 푸는데 특화된 컴퓨터입니다. 인공지능 분야에서 Simulated Annealing이라는 최적화 알고리즘이 있는데, 이와 유사한 개념을 양자 컴퓨터 버전으로 구현한 것이라고 생각하시면 됩니다. 반복 연산을 통해서 최적해를 구하는 알고리즘인데, 이때 중첩(superposition)의 원리를 이용하여 동시에 많은 해에 대한 연산을 수행하면서 진화해 갈수록 점차 최적해의 확률이 높아지도록 해서 답을 찾는 방식입니다. 더 깊게 들어가지는 않겠습니다만, 암튼 D-Wave사의 양자 컴퓨터는 최적화 문제를 푸는데 특화된 시스템이고, 하지만 그래도 양자 역학을 기반으로 한 양자 컴퓨터는 맞다고 볼 수 있겠습니다. 다만, 아무 양자 알고리즘이나 돌려볼 수 있는 범용 양자 컴퓨터는 아니라는 것이죠. 그래도 너무 관심을 못 받고 있는 것 같아서 조금 짠하긴 합니다. 나름 NASA, 구글, 록히드마틴 등 여러 기관에서 천만불 이상의 거금을 주고 구입하여 사용하고 있는 양자 컴퓨터인데 말이죠.


마이크로소프트, 구글 등의 SW 회사들은 양자 컴퓨터용 OS나 SW 언어 등을 개발하여 표준을 장악하기 위해서도 열심히 노력하고 있습니다.


항상 짧게 쓴다고 시작하는데 애착이 가는 분야이다 보니 길어졌네요. 사실 저도 “양자 개념을 도입한 진화 알고리즘(Quantum-inspired Evolutionary Algorithm)”이라는 새로운 개념의 범용 최적화 알고리즘을 20년 전에 박사논문으로 발표했고, 그래서 양자 컴퓨팅에 대해서 어느정도 알게 되었죠. 여기서 더 나가면 끝이 안날 것 같아서 이만 줄이겠습니다.


그러고보니 가장 중요한 개념 중의 하나인 “얽힘(entanglement)” 개념을 언급하지 않았네요. 간단히 설명 드리면, 말 그대로 양자 간에 서로 얽혀있다는 뜻입니다. 예를 들면 두 개의 큐빗 시스템이 있다고 가정했을 때, |00>, |01>, |10>, |11> 이렇게 네 가지 상태를 각각 표현할 수 있지만, 앞에서도 언급 드렸던 것처럼 양자는 파동의 성질을 갖기 때문에 중첩이 될 경우에는 |00>+|01>+|10>+|11>과 같이 네 가지 상태를 모두 포함할 수 있습니다. 이렇게 네 가지 상태가 모두 중첩되어 있는 경우에는 관측(observation) 행위를 통해서 첫 번째 큐빗을 읽었더니 |0>이었을 때, 두 번째 큐빗은 읽어보기 전에는 |0>일지 |1>일지 모르겠죠. 왜냐면 여전히 |00> 또는 |01>의 가능성이 남아 있으니까요. 여기까지는 양자 얽힘이 등장하지 않았습니다. 이제 양자가 얽혀있는 상태의 예시를 살펴보면, 두 개의 큐빗 시스템이 |01>+|10>의 중첩된 상태를 포함하고 있다고 가정해 봅시다. 이 의미는 두 큐빗의 값을 읽었을 때 |01>일 수도 있고, |10>일 수도 있다는 뜻입니다. 이런 상태가 두 양자(큐빗)가 얽혀있는 상태입니다. 무슨 의미냐구요? 두 큐빗 값 중에서 첫 번째 큐빗 값만 먼저 읽었다고 가정해봅시다. 그리고 그 값이 |0>일 경우, 두 번째 큐빗 값은 읽어보나 마나 |1>이 되게 됩니다. 왜냐면 첫 번째 큐빗의 값이 |0>인 경우는 |10>인 상태가 될 수 없으므로 |01>일 수 밖에는 없기 때문이죠. 즉, 이렇게 두 큐빗 이상이 서로 독립적으로 분리가 되지 않는 상태를 얽혀 있다고 이야기 합니다.


극단적인 예를 하나 더 들어보면, |01>+|10>으로 중첩되어 있는 두 큐빗(양자)을 관측하지 않은 상태에서 첫 번째 큐빗은 철수가 서울로 가져가고, 두 번째 큐빗은 영희가 부산으로 가져갔다고 생각해 봅시다. 아직 아무도 관측을 하기 전이기 때문에 여전히 두 큐빗은 |01>+|10>으로 중첩되어 있는 상태에 있을 것입니다. 이때 철수든 영희든 먼저 한 사람이 자신이 가지고 있는 큐빗을 관측하게 되면 그 순간 해당 양자가 파동성을 잃고 한 가지 상태로 붕괴되어 관측이 되는데, 동시에 나머지 다른 공간에 있는 얽혀있는 큐빗 또한 자동으로 양자 상태가 (상대방이 |0>이면 |1>, |1>이면 |0>으로) 결정되게 된다는 것입니다. 실제로는 양자의 중첩 상태가 유지되는 결맞음 시간(coherence time)이 이렇게 길게 유지되기는 현실적으로 불가능하지만, 결맞음 시간을 늘릴 수 있다고 가정한다면 이론상으로는 가능한 시나리오 입니다. 참고로, 이러한 원리를 기반으로 하는 양자 순간이동(quantum transportation) 연구 분야도 있습니다. 이제 양자의 얽힘이 어떤 개념인지 이해가 되시죠? 양자 컴퓨터가 디지털 컴퓨터 대비 막강한 컴퓨팅 파워를 갖는 이유는 양자의 중첩 뿐만 아니라 얽힘의 성질까지 활용하기 때문입니다.


#와해성기술 #양자컴퓨터 #양자전산 #양자알고리즘 #양자공간이동 #양자암호통신 #양자중첩 #양자얽힘 #큐빗


※ 더 자세한 내용은 2023년 출간된 <세상을 바꿀 미래기술 12가지> 책에서 참고하실 수 있습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari