본문 바로가기

흥미로운 물리학

슈퍼컴퓨터보다 훨씬 뛰어나다?! [양자컴퓨터의 발전]

728x90
반응형

  일상생활에서 컴퓨터는 이미 떼놓을래야 떼 놓을 수 없는 존재이다. 무언가를 검색할 때나, 게임할 때 우리는 항상 컴퓨터를 사용해왔다. 스마트폰 역시 작은 컴퓨터라고 볼 수도 있다. 그러나, 컴퓨터도 쓰다보면 자꾸 랙이 걸리고 종종 컴퓨터 오류가 걸린다.

 

  그렇기에 우리는 더 빠른 컴퓨터를 사고싶다는 욕망에 사로잡힌다. 그것과는 별개로, 최근 슈퍼컴퓨터의 성능을 넘어선 양자컴퓨터가 나왔다는 소식이 계속 들려온다. 과연 얼마나 뛰어난 컴퓨터길래 슈퍼컴퓨터보다 대단하다는 것일까?  원리는 무엇이며 어디서 구할 수 있는걸까?

 

  당장 나만 하더라도, 컴퓨터때문에 속을 썩이는 일이 잦다. 새로 출시되는 게임들은 항상 더 높은 사양을 요구하기 때문에 항상 머릿속은 컴퓨터를 바꾸고자 하는 욕망 뿐이다. 컴퓨터가 왜 느려지는가? 데이터를 처리하는 과정에서 계산이 꼬일 수도 있다. 바이러스가 침투할 수도 있고, 혹은 본체 내부 먼지쌓임으로 인한 과열, 장비 노후화로 인한 고장 등 다양한 이유가 있지만 근본적으로 넘을 수 있는 성능, 속도가 있다.

 

 

  1946년 만들어진 에니악. 무게는 30톤에 육박하는 최초의 컴퓨터였다.

사람이 손으로 계산하듯 포탄의 예상 포격지점을 계산하기위해 만들어졌던 에니악의 성능은 지금 현대의 기술력과 비교해보면 손바닥만한 계산기 수준이지만, 당시 가격은 지금 환율로 76억원정도였다. 무게와 크기 가격면에서 진정한 슈퍼컴퓨터인 것이다. 이후 꾸준히 미국과 일본 등 다양한 나라에서 슈퍼컴퓨터가 개발되었다.

이어 2008년, 최초로 1페타플롭스 성능을 인증 받은 슈퍼컴퓨터 '로드러너'가 등장한다. 여기서 플롭스란 컴퓨터의 성능을 나타낸 단위로 , 1초동안 수행할 수 있는 부동소수점 연산 횟수를 말한다.

 

  부동소수점 연산이란 또 무엇일까? 

우리는 일상생활에서 숫자를 사용할 때 10진법을 사용한다. 1,2,3,4,5,6,7,8,9,10 이렇게 1부터 10까지 사용하는 것이 10진법이다. 그러나 컴퓨터는 오직 0과 1을 사용하는 2진법을 사용한다. 모든 숫자가 2진법으로 쉽게 표현이 되면 좋을텐데, 안타깝게도 실수 중 어떤 수들은 2진법으로 표현했을 때 표현이 무한정으로 순환하는 일이 발생하기도 한다. 예를들어 0.3같은 실수는 2진수로 쓰면 0.010011001100110011.... 이 계속반복되는 것이다.

유한한 수였던 10진법 숫자 0.3이 2진법에서는 무한하게 순환하는 수가 되어버리는 것이다. 이렇게 순환하는 수를 변하지않는 소수점으로 표현하는 것을 부동소수점이라고 한다. 즉, 이렇게 부동소수점 처리를 빨리해야 비로소 컴퓨터는 10진법의 숫자를 빠르게 받아들일 수 있고, 우리 인간의 말을 잘 이해하게 되는 것이다.

 

 

  플롭스라는건 이렇게 1초 동안 수행할 수 있는 부동소수점 연산이며, 이는 슈퍼컴퓨터의 성능과 직결된다.

1초 동안 수행할수있는 부동소수점연산 횟수가 많을 수록 성능은 빨라진다. 그리고 페타는 1000조를 의미한다. 최초의 1페타플롭스로 공인된 IBM의 로드러너는 1초당 1000조 번의 연산이 가능하다는 뜻이다. 가정용 컴퓨터보다 백만배이상 빠른 엄청난속도이다. 2010년 중국의 톈허가 2.5페타플롭스를 달성하며 세계1위로 올라서고, 바로 다음해에는 일본에서 8페타플롭스의 게이 컴퓨터가 등장한다. 미국은 연달아 슈퍼컴퓨터의 1위 자리를 내어주게 되었지만, 역시나 2년 후에 2012년 등장한 세콰이어와 타이탄은 17페타플롭스 이상으로 다시 천조국의 힘을 과시했다.

 

  그러나 14억인민이 있는 돌아온 톈하 2는 거의 34페타플롭스의 성능으로, 세콰이어와 타이탄을 합쳐도 상대가 되질않았다. 이후 지속적인 업그레이드로  속도는 61페타플롭스까지 올라간다. 작정하고 등장한 중국의 93페타플롭스 슈퍼컴퓨터 선웨이 타이후라이트는 아예 기존과 다른 설계방식으로 소비전력까지 줄여버린다. 

 

  2018년까지 중국은 슈퍼컴퓨터 강국으로 위세를 떨친다. IBM이 본격적으로 슈퍼컴퓨터 개발에 박차를 가하기 전까지는 말이다.

체스에서 최초로 세계 챔피언을 꺾은 최초의 컴퓨터 딥 블루를 기억하는가?

 

 

  퀴즈 쇼에서 인류 챔피언을 발라버린 인공지능 컴퓨터 왓슨도 역시 딥 블루와 더불어서 전부 IBM의 작품이다.

2018년 IBM은 맘먹고 슈퍼컴퓨터를 만들었고 무려 143페타플롭스라는 무시무시한 괴물을 세상에 내놓는다. 그럼 이렇게빠른 슈퍼컴퓨터의 원리는 무엇일까? 슈퍼컴퓨터를 이해하기 전에 컴퓨터라는 것에 대해 이야기해보려 한다. 아까 이야기했듯 컴퓨터는 2진법을 사용한다. 이러한 2진법을 사용하기에, 컴퓨터는 연산 중 에러를 획기적으로 줄일 수 있었다.

단지 전원의 on/off만 이용하여 정보를 얻을 수 있는 2진법에 비하면, 전압의 세기를 조절하여 1~10까지 정보를 다르게 구분해야하는 10진법의 경우가 훨씬 더 오류에 취약하지 않겠는가?

 

  만약 10진법을 쓴다면 전기신호를 10단계로 나누어 각 숫자에 대응하는 전압을 주어야하겠지만, 2진법이라면 들어오는 모든 명령을 전압이 있거나 없거나 단 두가지로 처리가 가능하기때문에 오류로부터 훨씬 안전하다. 따라서 컴퓨터는 모든 과정을 0과 1 단 두가지의 경우로구분하여 명령을 연산한다.

 

  각각에 상황에 주어진 0, 1에 주어진 정보를 각각계산해서 가장 최적의 결과를 찾아내는 것이 바로 컴퓨터가 하는 일이다. 이때 사용되는 정보 단위를 비트(Bit)라고 부른다. 각각의 경우에서 0과 1중 하나를 표현하게 되는데, 다양한 상황 속에서 이 비트들은 연산을 통해 결과를 보여준다.

하지만 상황이 복잡해지면 복잡해질 수록 처리해야할 계산들이 많아지고 대규모연산을 훨씬빠르게 해야할 필요가 생기기 시작했다. 과학자들은 고민했다. 더빠르게계산할 수 있는 컴퓨터는 없을까?

 

 

  처음에는 인간의 뇌에 해당하는 중앙처리장치(CPU)의 성능을 높여보았다. 그러나 이는 곧 한계에 부딪혔고, CPU 한 개는 부족하다는 생각에 여러 개를 병렬로 연결하기 시작했다. 이것이 바로 슈퍼컴퓨터의 시작이다.

한 명이 계산하던 문제를 여러 명이 동시에 나누어 계산해서 합치는 방식. 속도는 굉장히 빨라졌으나 과도하게 많은 전기를 사용하게되었고, 발열이 엄청나서 열을 식히기 위해 냉각장치를 돌리자 더 많은 전기가 들어 감당이 안되는 수준이 되었다. 나누어 계산한 결과를 검산하는 시간이 점점 늘어나는것도 문제였다.

 

리처드 파인만은 이런말을남겼다.

 

"컴퓨터는 막대한 계산을 감당하기 어렵다. 아마 미래에는 양자역학을 활용한 전혀 새로운 컴퓨터가 등장할 것이다."

 

  컴퓨터의 성능을 더 끌어올리기 위해 과학자들은 변화에 기로에 섰다. 더 빨라질 수는 없는가? 그 의문에 해답을 하기 전 아주 근본적인 질문으로 돌아갔던 과학자가 있다. 바로 영국의 이론물리학자 데이비드 도이치였다.

 

 

  그는 컴퓨터의 성능을 더빠르게 하는 것이 중요한 게 아니라, 우리는 지금 컴퓨터를 제대로 만든 것일까 생각했다.

지금의 컴퓨터는 0과 1로 계산을 하고있지만, 양자역학적으로 보면 정보의 상태는 0과 1 오직 두 가지만 존재하는 것이 아니다. 0이면서도 동시에 1인 중첩상태도 고려해야하는 것이다.

이렇게 양자컴퓨터의 기본 단위인 큐비트가 등장했다. 정보의 중첩상태. 우리는 이미 양자역학, 슈뢰딩거 고양이 포스팅을 통해 중첩의 의미를 알고있다. (아래는 포스팅 링크)

https://flyingmanlife.tistory.com/8

 

  관측하기 전까지 양자역학적으로 고양이는 살아있거나 죽어있는 상태를 동시에 갖는다.

그렇다면 정보가 중첩되어있는것이 도대체 속도와 무슨 관계가 있는 걸까? 예를 들어보자. 목적지까지 가장 빠른길을찾고싶어서 각각의 경로마다 걸리는 시간을 계산해야한다.

열번의 계산이 끝난 후에야 비트에 저장된 각각의 결과를 비교하여 가장 빠른 길이 어느쪽이라는걸 알 수있게 된다. 이것이 기존 컴퓨터의 방법.

  그러나 양자 컴퓨터를 사용한다면 정보가 모두 중첩되어있기때문에 10가지 경로 역시 모두 중첩되어있다. 계산을 시작하면 결과가 관측되기전까지 전까지 10개의 상태는 동시에 출발한다. 그리고 가장 먼저 도달한 특정한 경로가 관측되는 순간 큐비트에 결과가 저장된다. 한 번의 계산이 끝인 것이다. 물론 방식 자체가 다르기 때문에 양자컴퓨터로 이러한 상황을 만들어 연산하는것은 매우 어렵다. 이해를 돕기 위한 예시였을 뿐이다.

 

 

  물론 큐비트의 숫자가 적다면 그리 많은 계산을 한번에 해내는 것이 불가능하다. 하지만 큐비트가 충분히 꽤 많이 중첩되어있다면, 길찾는 과정은 좌회전이거나 우회전이며 직진이거나 정지하며 길을 건너거나 건너지않으며 문을 열거나 열지않는 상태를 동시에 계산할 수 있겠다.

사실 큐비트는 모든 것은 확률적으로 존재한다는 양자역학의 특성을 적극 반영하여 만들어졌다. 2자리수의 상태를표현하기 위해서 기존 컴퓨터는 2개의 비트에 각각 정보가 필요하다. 3자리 수라면 3개의 비트 정보가 들어있겠다. 마찬가지로 양자컴퓨터로 2자리수의 상태라면 2개의 큐비트가 필요한건 동일하지만, 단순히 개수만큼 정보가 저장되는 것이 아니라, 4개의 상태가 나올 수 있는 각각의 확률정보가 저장되기때문에 저장된 정보는 4개가 되는것. 큐비트가 3개가 되는건 8개, 10개가 되면 1024개의 정보가 들어있는 것이다.

 

  물론 본질적으로 작동원리가 다르기 때문에 이렇게 직접 비교하는 것도 적합하지 않다. 또한 연산 횟수가 적고 한꺼번에많은 정보를 처리할 수 있다고 해서 무조건 빠르다고 볼 수는 없다. 오히려 연산을 한번 하는데 걸리는 시간이 기존컴퓨터보다 훨씬 길다면 전혀 쓸모가 없을 것이다. 

 

 

  1994년 미국의 컴퓨터과학자 피터 쇼어는 소인수분해를 하다가 생각에 잠긴다. 만약 분해를 해야하는 숫자가 매우 크다면, 양자컴퓨터가 기존 컴퓨터보다 훨씬 빠른 성능을 보일 수 있지 않을까? 

 

  막대한 계산이 필요한 물리학이나 수학에서 월등한 계산 속도를 보일지도 모른다는 기대. 특히 암호 분야는 소수의 곱으로 만들어진 큰 수를 다시 분해하기가 어렵다는 원리를 이용하기때문에 소인수분해속도가 빨라진다면 기존 보안체계가 무력화될 가능성도 있었다. 그러나 역시 쉽지는 않다.

큐비트를 조작하기위해서는 눈에보이지않는 입자수준의 정밀한 제어가 필요하기 때문이다. 큐비트들이 일정시간동안 서로 잘맞아서 중첩된상태로 전부 얽혀있어야하는데,  큐비트의 숫자가 늘어나거나 온도가 올라가면, 주변과 상호작용하는 관측이 일어나서 어긋나고 붕괴되어버린다.

  최종결과가 나오기전에 연산이 엉망으로 끝나버린다는 것이다. 모두가 양자컴퓨터는 현실에서는불가능하며 이론적으로만존재한다고 믿고있던 와중에 1995년 미국표준기술연구원에서 최초로 이원화된 원자를 붙잡아서 중첩상태로 만든 양자컴퓨터를 개발했다.

 

  가능성을 보였던 것이다. 이후 초전도소자나 광자를 이용하거나 다이아몬드 분자구조안에  전자와 원자핵을넣어 제어하는 등 다양한 방법으로 도전하기 시작했다. 그러나 21세기로 들어서도 양자컴퓨터의 성능은 그다지 좋아지지않았다. 양자컴퓨터로 소인수 분해에 성공한 가장 큰 숫자는 고작 21, 큐비트를 늘릴 수록 그 큐비트들을 제어하기가 어려웠기 때문이다.

 

 

  양자컴퓨터가 기존 컴퓨터의 성능을 뛰어넘었다는 것이 입증된 상태를 양자 우위(Quantum supremacy)라고 한다. 이를 달성하기 위해서는 최소한 50개 이상의 큐비트가 필요한데, 현실적으로는 몇 개의 큐비트를 얽힘상태로 유지하는 것도 쉬운일이 아니었다.

 

  모두가 숨죽이고 연구에 매진하는 가운데, 2007년 혜성처럼 등장한 캐나다의 기업 D-웨이브 시스템사가 128개의 큐비트를 사용하는 최초의 상용 양자컴퓨터 D-웨이브를 선보였다. 이어서 2013년에는 512개의 큐비트를 2015년에는 무려 1000개의 큐비트를 사용하는 양자컴퓨터를 개발했다고 주장했다.

모두가 놀랐다. 큐비트 한두 개도 중첩상태를 유지하기 어려운 상황에서 천 개를 사용한다니. 그러나 실상을 확인해보니 결과는 실망스러웠다.

 

  시장에 내놓은 양자컴퓨터의 성능은 기존 컴퓨터에 비해 그다지 뛰어나지 못했으며 어떻게 그 많은 큐비트를 결어긋남없이 제어할 수 있었는지도 설명하지 못했다. 나중에는 그 안에 큐비트가 정말 제대로 들어있는지조차 의심을 받았다. 마이크로소프트 구글 IBM등 다양한 기업들은 계속 미디어나 시연회를 통해 양자컴퓨터를 개발했다고 주장하기 시작했다. 그러나 과학자들은 더이상 믿지 않게 되었다.

 

 

  2019년 10월 23일 세계에서 가장 저명한 학술지인 영국의 네이처에 한 편의 논문이 올라온다. 바로 구글이 초전도소자를 이용해 개발한  53개 큐비트의 양자컴퓨터 시카모어에 대한 것이었다. 2센티미터 크기의 칩 위에 6개씩 9줄로 늘어선 큐비트가 있고 그 중에 하나의 큐비트는 제대로 작동이 되지 않아서 53개의 큐비트만 사용했다. 그리고 현존하는 최고 성능의 슈퍼컴퓨터로도 최소 만년이상 걸리는 연산을 단200초만에 풀어냈다.

 

  중요한 건 이러한 구글의 주장이 단순한 보도자료가 아닌 논문을 통해 발표되었다는 것이었다. 전세계의 저명한 컴퓨터과학자들과 물리학자들의 치밀한 검증과정을 통과했다는 뜻이다. 시장경쟁에서 우위를 점하기 위한 것이 아니라 실제 양자 우위에 도달했다는 뜻이었다 심지어 아주 특수한 문제를 만들어야만 작동했던 기존 양자컴퓨터와 달리 프로그래밍까지 가능하기 때문에 다양한 연구에 응용이 가능하다는 것 그럼에도 문제를 제대로 설계하지 못한다면 기존컴퓨터에 비해 충분한 성능향상이 나타나지 않을수도 있다. 초전도소자의 원활한 작동을 위해 영하 273도의 가까운 극저온 및 매우 까다로운 환경을 유지해야하기 때문에 가정용컴퓨터로는 절대 사용하기가 어렵다.

 

  그러나 분명한 것은 이번 양자컴퓨터는 현실세계에서 양자역학의 원리를 활용하는 것이 가능하다는 최초의 실험적 증거라는것이다.

구글의 최고경영자인 선다 피차이는 이런 말을남겼다.

 

'우리는 우주의가장자리를 향해 가는 첫 번째 로켓을 만들었다. '

 

  많은 제한들과 아직 구현되지 못한 기능들. 양자컴퓨터는 이제 시작이다. 805번의 실패 끝에 결국 라이트 플라이어호로 12초간 하늘을 날았던 라이트형제가있었기에 사람도 하늘을 날 수있다는 사실이 밝혀져 현재 우리는 전세계 어디든 해외여행을 갈 수있다.

  집에서 사용하는 가정용 컴퓨터에 도달할때까지 큐비트가 결맞음상태를 유지할 수있거나 아니면 전혀 새로운 방식으로 연결될 수 있다면, 미래에는 온라이인으로로 주요 연산 과정만 중앙의 양자컴퓨터를 이용하는 양자 클라우드 서비스를 이용하게될지도 모른다. 

728x90
반응형