양자 프로세서 시대가 열린다. 구글이 3월 5일(현지시간) 양자 프로세서인 브리슬콘(Bristlecone)을 발표한 것. 주위에서 흔히 보는 PC용 프로세서는 0이나 1 상태를 1비트에 지니고 있다. 하지만 브리슬콘은 0과 1 정보를 동시에 가진 중첩 상태인 양자 비트를 72개를 탑재하고 있다. 구글 측은 이런 양자 프로세서를 이용하면 기존 컴퓨팅 한계를 뛰어 넘는 계산 처리가 가능하다는 점을 보여주게 될 것으로 기대하고 있다.
구글은 오래 전부터 양자 컴퓨터를 목표로 해왔다. 구글은 디웨이브(D-Wave)를 인수한 이후 이 양자컴퓨터 기술을 기반으로 개발을 진행해왔고 2014년에는 디웨이브2 성능 테스트를 한 바 있다. 다만 당시에는 성능 면에서 기존 컴퓨터와 큰 차이가 없다는 결과가 나온 바 있다.
양자 컴퓨터는 앞서 밝혔듯 0과 1을 동시에 가질 수 있는 큐비트(Qubit)를 이용한다. 큐비트 수는 양자컴퓨터 성능을 말해준다. 하지만 대신 양자 비트 상태를 정확하게 관찰할 수 있는 방법이 정해지지 않았다. 이를 위해 다시 양자비트 상태를 관찰하기 위한 양자비트가 필요한 상황인 것. 예를 들어 2,000비트 공개 암호화키를 갖춘 RSA 암호 시스템을 쇼(Shor) 알고리즘을 이용한 양자컴퓨터로 하룻동안 해독하는 데 필요한 큐비트 수는 1억 개라고 한다. 1억 큐비트 대부분은 계산 실행 뿐 아니라 오류 정정에 필요한 특별한 양자 상태를 생성하는 데 쓰인다. 이런 문제로 기존 슈퍼컴퓨터를 웃도는 시뮬레이션을 하려면 큐비트를 다량으로 갖춰야 계산 처리 등에서 발생할 수 있는 양자비트 오류를 낮출 수 있다. 브리슬콘은 이런 양자비트 오류율과 성능 측정을 위한 테스트 플랫폼 제공을 목적으로 한다. 또 양자 시뮬레이션과 머신러닝 등에 활용할 수 있다.
구글에 따르면 양자비트 오류율은 읽기에서 1% 양자 게이트를 이용한 논리 연산에서 큐비트 하나는 0.1%, 2큐비트에선 0.6%라고 한다. 브리슬콘은 읽기 처리나 논리 연산에서 같은 처리 방식을 채택했고 72큐비트를 탑재하고 있다. 구글 측은 양자 초월성(quantum supermacy), 그러니까 기존 컴퓨팅 한계를 뛰어넘는 계산 처리를 양자 컴퓨터로 가능해지는 상태가 되려면 49큐비트가 필요하다고 밝히고 있다. 하지만 브리슬콘이 72큐비트를 갖추게 된 배경에는 앞으로 직면할 기술적 문제에 대비한 확장성 확보일 가능성이 있다.
구글 측은 브리슬콘을 내놓으면서 앞으로 양자 컴퓨터와 양자초월성 실현에 대한 자신감을 나타내고 있다. 하지만 앞으로 실제로 이 같은 양자컴퓨팅을 실현하려면 소프트웨어 등 다양한 연계가 필요한 만큼 개발에는 시간이 더 필요할 것으로 보인다.
양자컴퓨터를 둘러싼 논란이 없는 건 아니지만 이미 2015년 이후 무어의 법칙이 한계가 왔다는 지적이 나오고 있는 상황인 만큼 기존 컴퓨터처럼 수많은 0과 1로 이뤄진 디지털 데이터로 초고속 처리를 하는 기술에는 한계가 있다는 문제 의식이 있다는 점은 기억해둘 필요가 있다.
기존 컴퓨터의 구성 요소는 단순하다. 기억 장치와 연산 장치, 제어 장치 등이다. 컴퓨터에는 칩 모듈과 기본 모듈, 논리 게이트, 트랜지스터가 있다. 트랜지스터라는 건 간단한 스위치다. 정보를 흘리거나 멈춰주는 역할을 하는 것이다. 여기에 흐르는 정보는 잘 알려진 것처럼 최소 단위인 비트로 표시되며 0 혹은 1이라는 값을 갖는다. 비트는 0이나 1 어느 한쪽 밖에 표현할 수 없다는 것이다. 하지만 이렇게 단순한 구조도 여러 개가 있으면 더 복잡한 정보를 나타낼 수 있다.
또 논리 게이트는 간단한 연산을 한다. 예를 들어 AND 게이트라면 모두 1이라면 1을 보내라고 할 수 있고 그렇지 않으면 0을 보내는 단순한 구성이다. 하지만 이를 결합하면 덧셈이나 곱셈을 할 수 있는 든 모든 계산을 할 수 있다. 이런 점에서 보면 고성능 컴퓨터라고 해도 결국 7살짜리 어린이가 모여서 계산하고 있는 것 같다. 하지만 이런 숫자가 늘어나면 물리학이나 복잡한 3D 게임도 가능해진다.
트랜지스터는 전기 스위치다. 전류, 전자의 움직임을 스위치를 통해 차단할 수 있는 것이다. 트랜지스터 제조 공정이 14nm라고 하면 이 정도 크기만 되어도 HIV 바이러스와 견줘 8분의 1 수준에 불과하다. 적혈구보다 500분의 1 정도다. 이렇게 작아지면 문제는 터널 효과가 생기면서 누수 현상이 일어날 수 있다. 결국 현재 기술로는 언젠가는 물리적 한계에 도달할 수밖에 없다는 얘기다.
양자컴퓨터는 0과 1을 동시에 가진 특성을 살려 기존과는 차원이 다른 수준의 처리 속도를 실현할 것으로 기대를 모은다. 기존 컴퓨터는 사실 처리하는 프로세서 수와 처리 능력의 관계라는 게 기본적으론 단일 비례로 증가한다. 하지만 양자컴퓨터는 능력이 기하급수적으로 증가한다는 사실은 이론적으로 증명된 상태다. 이런 점 때문에 양자컴퓨터를 차세대 기술을 여는 돌파구로 기대하는 것이다.
예를 들어 데이터베이스를 검색한다고 치자. 기존에 데이터베이스를 검색한다면 검색은 모든 요소를 참조해야 하기 때문에 하나씩 데이터를 찾아 표시하기까지 시간이 걸릴 수밖에 없다. 하지만 양자컴퓨터라면 제곱근의 시간 안에 검색할 수 있다. 말하자면 100만 초 걸리던 검색이었다면 1,000초에 끝낼 수 있다는 얘기다. 마찬가지로 시뮬레이션처럼 방대한 계산이 필요한 분야에서도 쓰임새를 기대할 수 있다.
과학 잡자인 네이처는 지난 2017년 양자컴퓨터가 2017년을 기점으로 연구에서 개발 단계로 이행될 것이라고 밝힌 바 있다. 실제로 IBM은 같은 해 3월 클라우드 기반으로 양자컴퓨팅을 써볼 수 있는 서비스인 IBM Q(http://research.ibm.com/ibm-q/)를 발표하기도 했다. 또 인텔은 지난 2017년 17큐비트를 갖춘 초전도 칩 프로토타입 생산에 성공했다고 밝힌 바 있다.
다만 앞서 밝혔듯 실제 실현에는 아직도 장벽이 많다. 0과 1이 동시에 존재하는 걸 이용하는 양자컴퓨터는 양자중첩과 양자얽힘 효과를 이용해 대규모 병렬 프로세싱을 제공한다(양자비트는 한 가지 상태가 아니라 한 번에 2가지 상태로 존재할 수 있는데 이를 중첩이라고 한다. 기존 컴퓨터의 경우 4비트 정보라면 15가지 중 하나 밖에 표현할 수 없지만 양자비트는 16가지를 한꺼번에 모두 표시할 수 있다. 이는 숫자가 늘어나면 기하급수적으로 늘어난다. 큐비트 20개만 써도 무려 100만 개를 병렬할 수 있다. 양자얽힘은 큐비트 2개가 떨어져 있어도 동시에 같은 상태가 되는 현상을 말한다. 하나만 봐도 다른 쪽 상태를 알 수 있게 된다).
큐비트 여러 개를 이용해 병렬 처리할 때 중요해지는 건 양자간섭 상태로 유지되고 있는지다. 양자비트를 이용해 정확하게 계산하려면 양자가 서로 간섭을 일으키지 않는 일관적인 상태에 있는지 여부가 중요하다. 이걸 유지하지 못하면 서로 양자 상태에 영향을 주는 탓에 답을 얻을 수 없는 것이다.
아직까지 현재 기술로는 이런 일관된 상태는 1초 가량 짧은 시간만 유지할 수 이다고 한다. 1초에 1억 회 이상 처리하는 컴퓨팅의 시간으로 본다면 1초라는 시간은 물론 상당히 길다. 하지만 이런 불안정성을 극복하는 게 양자컴퓨터의 신뢰도를 높이는 가장 큰 과제이기도 하다.
그 뿐 아니라 외부에서 양자가 어떤 상태에 있는지 원칙적으론 측정할 수 없는 모순 같은 과제도 있다. 양자 상태를 측정하려고 하면 그 상태가 변해버리는 원리적 특성에 의한 것이다. 제대로 작동하고 있는지 여부를 원리적으로 확인할 방법이 없다는 성가신 문제인 것. 이를 해소하려고 고안한 방법이 양자비트에 다른 양자비트를 곱해 간접적으로 양자비트 상태를 확인한다.
하지만 이런 방법은 복잡한 큐비트의 신뢰도를 높이려고 다른 양자비트를 이용해야 한다는 점 때문에 더 많은 양자비트를 필요로 한다. 계산 하나를 측정하고 성능을 높이려면 작게는 수백에서 많게는 1만 배에 달하는 큐비트가 필요할 수도 있다고 말한다. 결국 지금은 이 과정에서 발생하는 오류율이 양자컴퓨터가 실행할 수 있는 계산 시간을 크게 제한해버린다.
오류를 수정하는 대신 오류를 방지하거나 오류 영향을 무시하는 방법도 고안되고 있다. 다만 오류 정정 기능이 없는 장치가 되어버리면 기존 컴퓨터를 뛰어 넘는 결과를 얻을 수 없다는 문제가 발생할 수 있다. 양자컴퓨터가 수많은 오류가 발생하는 단계라면 기존 컴퓨터보다 뛰어나다고 말할 수 없다는 얘기다. 그 뿐 아니라 이 과정에서 양자비트 수가 늘어나면 컴퓨터 전체가 소비하는 전력도 많아진다는 문제가 있다.
다른 한편으로는 큐비트 수를 무조건 늘려서 해결하는 것보다는 알고리즘 효율을 높이는 방안도 고려되고 있다. 양자컴퓨터가 정확하게 계산을 하려면 일관된 상태를 유지하는 동안 처리를 끝내야 한다. 여기에서 중요한 건 어떻게 알고리즘을 이용해 효율적으로 계산을 빠르게 끝내냐는 것이다. 어쨌든 이런 기술적 과제를 해결하려면 아직까지는 시간이 더 필요할 것으로 볼 수 있다.
구글이 양자 프로세서를 발표하면서 양자 컴퓨팅의 새로운 전기가 열릴 가능성이 생겼다. 양자 컴퓨팅을 위한 소프트웨어는 물론 이를 제어하기 위한 하드웨어, 아키텍처 등 양자 컴퓨팅 시스템 전체를 일관성 있게 구축할 기반이 생겼다고 할 수 있는 셈이다.