0과 1 사이, 양자 컴퓨터가 걷는 새로운 길
안녕하세요. 다시 돌아온 ‘제로가 직접 말아주는 딥테크’ 이야기입니다.
양자 컴퓨터라고 하면, SF 영화 속에서 빛나는 유리관 안에 들어 있는 신비로운 기계나 기존 슈퍼컴퓨터를 단번에 뛰어넘는 미래형 장치를 떠올리는 분들이 많을 겁니다.
실제로는 아직 완전한 상용화 단계에 이르진 않았지만, 이미 다양한 연구실과 기업에서 꾸준히 진전을 거듭하며 실질적인 가능성을 보여주고 있죠.
사실 양자 컴퓨터라는 개념 자체는 새로운 것이 아닙니다. 1980년대 리처드 파인만이 그 가능성을 제안했고, 1990년대에는 쇼어 알고리즘이 발표되며 큰 주목을 받았죠. 하지만 실제 구현 단계에서 오랫동안 정체 상태에 머물렀습니다.
그런데 최근 들어서는 양자 컴퓨터 이야기가 다시 부쩍 들려옵니다.
예전에는 먼 미래의 기술로만 여겨졌지만, 이제는 실제 기업과 연구소들이 앞다투어 뛰어드는 분야가 되었죠. 그렇다면 왜 지금, 양자 컴퓨터가 다시 주목받고 있는 걸까요?
이 질문에 답하기 위해서는 양자 컴퓨터의 기본 개념을 먼저 이해할 필요가 있습니다. 단순하게 말하면 양자 컴퓨터는 말 그대로 ‘양자의 특성’을 활용해서 연산을 수행하는 ‘계산기’에 불과합니다. 다만 무시무시한 양자역학 개념들이 우리가 익숙하게 배운 결정론의 원리와는 전혀 달라서, 직관적으로 이해하기 쉽지 않은데요.
오늘은 고전적인 실리콘 컴퓨터의 구조와 비교하면서, 양자 컴퓨터의 기본 원리를 최대한 쉽게 풀어보려 합니다.
어서 와, 양자역학은 처음이지?
이 글을 쓰고 있는 (고전적인) 컴퓨터와 마찬가지로, 양자 컴퓨터 역시 기반이 되는 물리학과 그 위에 쌓이는 소프트웨어 알고리즘이 서로 맞물려 하나의 구조를 이룹니다. 물리학 위에 정보 체계가 놓이고, 그 위에 단위 구성과 알고리즘이 차곡차곡 더해져 결국 하나의 완전한 컴퓨터가 완성되는 것이죠.
이번 글에서는 가장 아래층인 물리학부터 시작해, 소프트웨어 스택까지 위로 올라가는 과정 그대로 양자컴퓨터를 살펴보겠습니다.
양자역학, 비결정론의 세계로
먼저 우리가 익숙한 고전 컴퓨터부터 떠올려 보겠습니다. 컴퓨터를 비롯해 스마트폰, TV 같은 제품들을 전자제품이라고 부르는데요. 이는 전자기학을 기반으로, 전기가 흐르느냐 흐르지 않느냐에 따라 1 또는 0이 결정되는 이진법을 따르기 때문입니다.
반면, 양자 컴퓨터는 양자역학의 핵심 개념인 ‘중첩’을 활용합니다. 양자역학은 관측하기 전까지는 아무것도 확정되지 않는다는 비결정론적 성격을 가지고 있죠. 이와 관련해 아마 가장 잘 알려진 사례가 바로 ‘슈뢰딩거의 고양이’일 겁니다.
슈뢰딩거의 고양이는 하나의 사고 실험입니다. 과학자가 상자 안에 방사성 원소, 이를 감지하는 방사능 계수기, 독약이 든 병, 그리고 고양이 한 마리를 함께 넣어두었다고 생각해 봅시다. 방사성 원소는 일정 시간 동안 50%의 확률로 붕괴할 수 있고, 붕괴가 감지되면 장치가 작동해 독약 병을 깨뜨립니다.
병이 깨지면 고양이는 죽게 되지만, 붕괴가 일어나지 않으면 고양이는 계속 살 수 있죠. 문제는 방사성 붕괴는 무작위로 일어나기 때문에, 언제 일어날지, 혹은 실제로 일어나긴 할지는 아무도 알 수 없습니다.
그렇다면 상자를 닫고 몇 시간이 흐른 뒤, 고양이는 살아 있을까요?
상자를 열기 전까지 고양이는 죽어 있는 상태이면서 동시에 살아 있는 상태, 즉 서로 다른 두 상태가 함께 존재합니다. 이렇게 관측을 통해 결과가 확정되기 전까지 두 상태가 동시에 존재한다고 설명하는 것이 바로 양자역학의 중첩(superposition)입니다. 양자 상태는 둘 이상의 서로 다른 상태가 합쳐져 있는 것이라고 할 수 있죠.
0과 1을 넘어, 큐비트라는 정보체계
그렇다면 이번에는 각각의 기반 물리학에 따라 정보가 어떻게 표현되는지 살펴보겠습니다. 고전 컴퓨터에서는 우리가 익숙하게 알고 있는 비트(bit)를 이용하는데요. 전자기학의 원리에 따라 비트는 항상 0 또는 1 중 하나의 상태를 가집니다.
반면, 양자 컴퓨터는 큐비트(qubit)를 활용합니다. 말 그대로 ‘양자(Quantum)비트’라는 뜻인데요. 양자역학의 법칙에 따라 큐비트는 0일 수도 있고, 1일 수도 있으며, 심지어 0과 1이 동시에 존재하는 중첩 상태일 수도 있습니다.
바로 이 중첩의 성질이 양자 컴퓨터가 고전 컴퓨터보다 우위를 가질 수 있는 핵심 포인트입니다. 예를 들어 n비트 정보는 각 비트가 0 또는 1을 가지므로 결국 2ⁿ 가지 경우 중 하나의 상태로만 표현됩니다. 하지만 n개의 큐비트는 2ⁿ 가지 경우의 수가 동시에 공존하는 상태를 표현할 수 있는 것이죠.
이렇게 되면 고전 컴퓨터가 하나하나 시도해야 하는 방대한 경우의 수를, 양자 컴퓨터는 동시에 고려할 수 있게 됩니다.
현실 속의 큐비트는 어떻게 만들어질까
고전 컴퓨터의 비트를 실제로 구현하는 데에는 전자기학이 사용됩니다. 다리가 세 개 달린 트랜지스터가 전류의 스위치 역할을 하며 흐름을 통제하죠. 전류가 흐르면 해당 비트의 값은 1, 전류가 흐르지 않으면 0으로 표현됩니다. 다시 말해, 트랜지스터 하나가 곧 비트 하나를 나타내는 셈입니다.
그렇다면 양자 컴퓨터의 큐비트는 어떻게 구현할 수 있을까요? 전류처럼 항상 하나의 상태로 확정되는 방식만으로는, 여러 가능성이 동시에 존재하는 큐비트를 표현할 수 없습니다. 그래서 연구자들은 양자역학적 성질을 가진 물리적 시스템을 이용해 큐비트를 구현했고, 이를 물리적 큐비트라고 부릅니다.
물리적 큐비트를 구현하는 방식에는 여러 방식이 있는데요. 대표적으로 초전도 큐비트, 이온트랩 큐비트, 중성원자 큐비트 등이 있습니다. 각 방식의 특성과 차이점은 뒤에서 하드웨어를 다룰 때 더 자세히 살펴보겠습니다.
양자 세계의 계산법
이제 기본 재료를 살펴봤으니 한 걸음 더 깊게 들어가 보겠습니다. 고전 컴퓨터는 트랜지스터와 비트를 바탕으로 덧셈기, 논리 게이트를 만들어냈는데요. 마찬가지로 양자 컴퓨터 역시 물리적 큐비트를 토대로 새로운 연산 방식을 설계해야 합니다.
양자 알고리즘, 새로운 계산의 규칙
알고리즘은 말 그대로 여러 연산 규칙을 묶어 절차로 만든 것입니다. 복잡한 수식을 계산하기 위해서는, 개별 단위를 조합해 원하는 결과를 낼 수 있도록 하는 알고리즘의 개발이 반드시 필요하죠.
이제부터는 고전 컴퓨터 이야기도 조금 낯설게 느껴지실 수 있는데요. 일상 속 컴퓨터는 0과 1을 활용하는 Boolean 알고리즘을 사용합니다.
이는 쉽게 말하자면 전선을 어떻게 연결할지, 트랜지스터를 통해 전류를 흘려보낼지 말지를 결정하고, 논리 게이트와 진리표에 따라 결괏값을 도출하는 구조입니다. (논리 게이트와 진리표가 무엇인지, 어떤 역할을 하는지에 대해서는 뒤에서 자세하게 설명할 예정이니, 걱정하지 마시고 함께 따라와 주시면 됩니다.)
반면, 양자 컴퓨터는 중첩과 얽힘이라는 개념을 활용해 알고리즘을 설계합니다. 얽힘(entanglement)이란 두 개의 큐비트가 서로 양자역학적인 방식으로 연결되어, 한쪽을 관측하면 다른 쪽의 상태도 결정되는 강한 상관관계를 뜻합니다.
예를 들어 양자 입자는 기본적으로 스핀(spin)이라는 속성을 가지고 있는데, 스핀은 관측했을 때 위 또는 아래 중 하나로 결과가 나옵니다. 두 개의 입자가 얽혀 있다면, 그중 하나의 스핀이 위로 측정되는 순간 다른 하나의 스핀은 자동으로 아래로 결정되는 식입니다.
이때 얽힘과 중첩은 함께 작동합니다. 얽힌 큐비트가 중첩 상태에 있으면, 연결된 다른 입자 역시 중첩된 상태로 존재하죠. 이러한 겹겹의 불확정성 덕분에 양자 컴퓨터가 기하급수적인 성능을 발휘할 수 있는 것입니다.
즉, 고전 컴퓨터의 알고리즘은 전선의 연결을 기반으로 하고, 양자 컴퓨터의 알고리즘은 얽힘에 의한 연결을 활용하고 있습니다. 이 부분이 고전적인 사고방식과는 달라 직관적으로 이해하기 쉽지 않은데요.
얽힘은 전선처럼 눈에 보이는 연결이 아니지만, 실험을 통해 특정한 상관관계가 반복적으로 확인된다는 점에서 실제로 존재하는 현상이라는 것만 기억해 두시면 충분합니다.
고전 컴퓨터가 덧셈기(adder) 같은 기본 회로를 바탕으로 사칙연산과 더 복잡한 알고리즘을 구성하듯, 양자 컴퓨터 역시 Adder Circuit과 같은 기본 회로를 설계합니다. 나아가 쇼어 알고리즘(Shor’s Algorithm) 또는 그로버 알고리즘(Grover’s Algorithm)과 같은 고급 양자 알고리즘이 만들어지죠. 쇼어 알고리즘은 거대한 수를 빠르게 소인수분해 할 수 있어, 기존의 고전 컴퓨터로는 사실상 불가능했던 문제를 해결할 수 있게 만드는 양자 컴퓨터의 대표적인 예로 꼽힙니다.
이렇게 기본 회로에서 출발해 응용 알고리즘으로 확장되는 구조는 고전과 양자 모두 동일하지만, 그 바탕이 되는 연결 방식이 완전히 다르다는 점이 핵심입니다.
중첩과 얽힘을 제어하는 양자 논리 게이트
이쯤에서 논리 게이트가 뭔지 한 번 짚고 넘어가야 할 텐데요. 논리 게이트란 알고리즘을 구현하기 위한 기본적인 연산 단위를 의미합니다.
조금 더 상세히 설명하자면 컴퓨터 속 일종의 스위치로, 0과 1 같은 input을 받아 약속된 규칙에 따라서 다시 0, 1과 같은 output을 내보내는 전자회로의 기본 블록입니다. 이런 기본 블록과 같은 게이트들을 이어 붙여서 덧셈, 뺄셈, 자릿수 바꾸기 등과 같은 복잡한 기능도 만들 수 있습니다.
진리표는 input을 게이트에 넣었을 때 그 결과가 무엇인지 한눈에 보여주는 표입니다. 회로가 의도대로 규칙을 잘 지키는지 설계 및 검증할 때 기본 도구로 쓰이죠.
고전 컴퓨터에서는 Boolean 알고리즘을 구현하기 위한 논리게이트로 AND, OR, NOT 등의 논리게이트를 사용하고 있습니다. 예를 들어 OR 논리 게이트는 두 입력 중 하나만 1이어도 결괏값을 1로 내보내는 규칙을 따릅니다. 이렇게 여러 게이트를 조합해 덧셈기 같은 회로를 만들고, 더 나아가 복잡한 알고리즘을 구현하게 됩니다.
양자 알고리즘 역시 이를 구현하기 위한 양자 논리 게이트가 필요합니다. 이때 이용되는 것이 논리적 큐비트입니다. 실제 하드웨어에서 구현된 물리적 큐비트는 중첩이나 얽힘 같은 양자 상태가 외부 간섭에 쉽게 붕괴되기 때문에 오류에 매우 취약한데요. 때문에 여러 개의 물리적 큐비트를 묶어 안정성을 높인 논리적 큐비트를 구성하고, 이를 기반으로 연산을 수행하려는 시도가 이어지고 있습니다.
또한 양자 게이트는 고전 게이트와 달리 전류의 흐름을 제어하는 방식이 아니라, 큐비트의 중첩, 얽힘 등을 제어하는 방식으로 작동합니다.
궁극적으로는 이러한 논리적 큐비트에 양자 게이트를 적용해 안정적으로 연산을 수행하는 것이 목표입니다. 대표적으로 중첩을 만드는 Hadamard 게이트, 얽힘을 만드는 CNOT 게이트, 그리고 위상을 바꾸는 Phase 게이트 등이 있습니다.
먼저 시작된 양자 소프트웨어 실험
그렇다면 지금까지 설계한 이론적인 알고리즘을, 사람들이 활용할 수 있는 소프트웨어로 만드는 과정도 필요할 것 같습니다. 아직 완전히 상용화된 양자 컴퓨터는 없지만, 아마존이나 구글 같은 기업들은 이미 클라우드 기반으로 양자 컴퓨팅 서비스를 제공하고 있습니다.
정작 양자 컴퓨터가 없는데, 이들은 어떻게 양자 소프트웨어를 만들 수 있었던 걸까요?
비슷한 상황은 고전 컴퓨터의 역사에도 찾을 수 있는데요. 최초의 범용 전자식 컴퓨터인 애니악(ENIAC)이 1946년에 발명되고, 트랜지스터가 1948년에 등장했지만, 이미 같은 해에 최초의 프로그래밍 언어인 어셈블리(Assembly)가 만들어졌습니다.
즉, 하드웨어가 완전히 갖추어지기 전에 기존 세대의 계산기를 활용해 다음 세대를 위한 소프트웨어 개념이 등장한 것이죠. 양자 컴퓨터 소프트웨어가 지금 먼저 발전하고 있는 이유도 바로 여기에 있습니다.
Q#, QODA, Qiskit 같은 양자 소프트웨어들은 속도가 느리더라도 기존 컴퓨터에서 실행이 가능합니다. 이 덕분에 실제 양자 하드웨어가 완전히 준비되지 않았음에도 불구하고, 연구자와 기업들이 알고리즘과 소프트웨어를 앞서 개발할 수 있는 것입니다.
다만, 실제 하드웨어가 본격적으로 등장하면 application layer 수준의 양자 소프트웨어만으로는 충분하지 않을 텐데요. 고전 컴퓨터에서 고급 언어를 기계어로 번역해 주는 컴파일러가 필요했던 것처럼, 양자 소프트웨어를 실제 장치에서 실행 가능한 게이트 수준의 연산으로 변환해 주는 컴파일러와 같은 low level 수준의 시스템 SW 개발이 필수적이겠습니다.
양자 컴퓨터가 마주한 도전
하드웨어 구현이 까다로운 이유
큐비트 체계부터 소프트웨어까지 필요한 기술 스택은 다 확보했는데요, 결국 남아있는 핵심은 하드웨어 구현입니다. 트랜지스터가 전류의 흐름을 온·오프로 제어해 이진법을 실현했던 것처럼, 이미 설계된 양자 컴퓨팅 개념을 실제로 구현할 방법을 찾아야 하는 것이죠. 이론적 토대는 마련되어 있지만, 그것을 실행할 컴퓨터가 아직 없는 상황이라고 할 수 있습니다.
고전 컴퓨터가 안정적으로 작동하기 위해서는 수천, 수만 개의 소자가 필요합니다. 따라서 소자는 작게 만들 수 있어야 하고(집적성), 발열이 적고 전력 효율이 높으며(효율성), 고장 가능성이 낮아야 합니다(신뢰성). 애니악 시절의 진공관은 이 조건을 충족하지 못했지만, 트랜지스터가 등장하면서 실마리를 찾을 수 있었는데요.
이 트랜지스터가 발전해 만들어진 실리콘 기반의 FET(Field Effect Transistor)가 하드웨어 구현의 문제를 풀어냈습니다. FET는 세 개의 단자(Gate, Source, Drain)를 가지고 전기장의 힘으로 전류가 흐르는 통로를 열고 닫는 구조인데요. 이 단순한 스위치 동작이 모여서 0과 1을 구분하는 비트를 만들고, 수십억 개가 집적되면 우리가 쓰는 CPU와 메모리가 되는 것입니다.
다시 말해, FET는 고전 컴퓨터의 모든 계산을 가능하게 하는 최소 단위 하드웨어 블록이라 할 수 있습니다.
마찬가지로 양자 컴퓨터에서도 이러한 역할을 해줄 구현 방식이 필요합니다. 하지만 문제는 훨씬 복잡합니다. 양자 상태는 외부 환경과 조금만 상호작용해도 쉽게 붕괴되기 때문에, 고전 컴퓨터처럼 안정적이고 대량 생산 가능한 소자를 마련하기가 쉽지 않기 때문입니다. 바로 이 점이 양자 컴퓨터 하드웨어가 어려운 이유이자, 현재 연구가 집중되는 핵심 과제입니다.
양자 컴퓨터 하드웨어, 어디까지 왔을까
양자 컴퓨터의 가장 유력한 하드웨어 구현 방식으로는 앞서 언급한 초전도체, 이온트랩, 중성원자 세 가지가 꼽힙니다. 각각의 장단점이 뚜렷하기 때문에 현재는 다양한 기업과 연구소들이 자신들의 방식으로 개발을 이어가고 있죠.
양자 컴퓨터를 구현하기 위해서는 크게 두 가지가 필요한데요. 큐비트를 물리적으로 구현할 방법과 큐비트 간 ‘얽힘’을 구현할 방법입니다.
(1) 초전도체 양자 컴퓨터
초전도체 방식은 금속 회로를 극저온으로 냉각하면 전류가 양자적인 성질을 띠게 된다는 원리를 활용합니다. 이때 전류가 흐르거나 흐르지 않는 두 상태를 큐비트로 삼을 수 있고, 특정 회로 간섭 장치를 이용해 얽힘 상태도 만들 수 있습니다.
실리콘 칩 기반으로 제작하기에 반도체 파운드리와 협력이 가능한 자금과 인력이 있다면 충분히 만들 수 있습니다. 다만 초기 설치 비용과 유지 비용이 막대해, IBM이나 국내의 삼성처럼 자본력을 갖춘 대기업들이 주도적으로 연구하고 있습니다.
이러한 대기업들은 지금 당장의 수익화 이전에 양자컴퓨터와 관련된 알고리즘 연구, 양자컴퓨터 자체의 사업성 확인 등 장기적인 목표를 가지고 선진기술 탐색을 위해 지금까지 개발을 진행해 왔습니다.
그렇기에 현존하는 초전도체 방식은 비용의 문제로 상업화보다는 기술 탐색의 성격이 더 큽니다. 이러한 한계를 해결하기 위해 양자 컴퓨터의 상업화를 목표로 한 스타트업들이 등장하게 되었죠.
(2) 이온트랩 양자 컴퓨터
이온트랩 방식은 비용 감축을 목표로 그다음 세대로 연구된 방식 중 하나인데요. 진공 속에 띄운 이온을 전기장과 레이저로 제어합니다. 이온의 전자 상태를 큐비트로 활용할 수 있고, 레이저 펄스를 통해 두 이온 사이에 상호작용을 일으켜 얽힘을 구현하죠. 비용이 상대적으로 적게 든다는 장점이 있지만, 큐비트 수를 늘리는 데 제약이 있기에 집적성 측면에서 과제가 남아 있습니다.
현재 이온 큐비트의 개수는 수십 큐비트 단계에 머물고 있는데요. 이러한 한계를 넘어서기 위해 이온 큐비트를 담는 챔버 내 넣을 수 있는 최대 큐비트를 늘리기 위한 연구, 또는 여러 이온 챔버들을 연결해 병렬적 연산을 수행하기 위한 연구가 주로 진행되고 있습니다. 대표적인 기업으로는 한국인이라면 다 알고 있을 상장사 IonQ가 있습니다.
(3) 중성원자 양자 컴퓨터
중성원자 방식은 비용과 큐비트의 확장성을 고려하여 나온 새로운 방식으로, 진공 챔버에 중성 원자를 기체로 주입하고, 레이저로 개별 원자를 제어하는 방법입니다. 원자의 에너지 준위를 큐비트로 삼고, ‘Rydberg 상호작용’이라 불리는 원자 간 강한 힘을 이용해 얽힘을 만들어내죠.
중성원자 방식은 큐비트의 확장성에 큰 장점이 있어 꽤 오래 전부터 고안되었는데요. 그동안은 수백만 개의 중성원자를 정밀하게 조작할 수 있는 레이저 기술이 없었기에 구현이 어려웠습니다.
하지만 약 3년 전 이를 조작할 수 있는 레이저 기술이 개발되었고, 유럽과 미국에서 각각 PasQal, QuEra와 같은 신흥 강세 스타트업들이 등장했습니다.
세 가지 방식 모두 아직 완성 단계는 아니지만, 각자의 강점과 한계를 바탕으로 활발히 연구가 이어지고 있습니다.
이렇게 해서 양자 컴퓨터를 이해하기 위한 기본 개념을 차근차근 짚어봤습니다.
양자역학적 배경부터 큐비트의 개념, 큐비트의 물리적 구현과 알고리즘, 그리고 하드웨어 구현의 난제까지 알아보며, 결국 남은 병목은 안정적인 하드웨어에 있다는 점을 확인할 수 있었죠.
그렇다면 이렇게 어렵고 막막한 양자 컴퓨터 기술이 왜 다시 주목을 받게 된 걸까요? 한동안 이론 속 가능성에 머물러 있던 연구가 점차 현실에 가까워지고 있기 때문입니다.
양자 컴퓨터를 둘러싼 최근의 변화와 앞으로 기대할 만한 흐름, 이 흥미로운 이야기는 다음주에 이어가보겠습니다. 😎
카카오벤처스 투자팀의 인사이트를 바탕으로
커뮤니케이션팀 에디터 인턴 Chloe가 제작에 참여했습니다.
다음 인사이트도 기대된다면?