본문 바로 가기

[ 테크 ]

마이크로소프트의 양자 컴퓨팅 세계 들여다 보기

byITWorld

마이크로소프트 CEO 사티야 나델라는 양자 컴퓨터가 곧 미래라고 말한다. 말뿐이 아니라 나델라는 양자 컴퓨팅을 AI, 혼합/증강 현실과 함께 마이크로소프트 미래 전략의 세 기둥 중 하나로 보고 막대한 자금을 투자하고 있다. 나델라는 양자 컴퓨팅이 마이크로소프트가 큰 영향력을 갖고 경쟁업체들과 차별화될 수 있는 분야임을 확신한다.

 

그러나 양자 컴퓨터 만들기는 어려운 일이다. 마이크로소프트는 지금까지 20년 이상 연구와 투자를 계속해왔다. 이 과정에서 전 세계 대학들과 협력해 순수 물리학과 컴퓨터 과학을 혼합하고 실험적 아이디어를 제품화했다. 최종적인 목표는 누구나 사용할 수 있는, 규모의 조정이 가능한 양자 컴퓨터를 만드는 것이다.

마이크로소프트의 양자 컴퓨팅 세계 들

양자 컴퓨팅에 대한 마이크로소프트의 새로운 접근 방법: 마요라나 입자

마이크로소프트는 양자 컴퓨팅을 위해 디웨이브(DWave)와 같은 기업들과 달리 프로세스의 중심인 큐비트(qubit), 즉 양자 비트를 만드는 데 있어 새로운 접근 방법을 취하고 있다. 마이크로소프트는 대학 연구원들과 손잡고 새로운 유형의 입자인 마요라나(Majorana) 페르미 입자를 사용하는 방법을 연구 중이다. 마요라나 입자는 1930년대 말에 처음 제안됐지만 최근 들어서야 극저온 상태의 반도체 나노와이어에서 탐지됐다.

 

마이크로소프트의 양자 컴퓨터에 사용되는 마요라나 입자는 다른 큐비트 접근 방법에 비해 더 안정적이며 오류율이 낮고, 상태를 읽을 때 증발될 가능성이 낮은 위상 매듭 전반으로 전자 상태를 분산시킨다. 양자 컴퓨팅에 대한 이 위상 접근 방법을 두고 나델라는 “퀀텀 컴퓨터의 트랜지스터”라고 말했다. 아직 양자 프로세서는 아니지만 그 길을 향한 첫 걸음이다.

 

양자 컴퓨터 만들기 : 극저온 필요

양자 컴퓨터를 사용한 작업은 지금의 기계를 사용하는 방식과는 판이하게 다르다. 비트의 1과 0은 큐비트로 대체된다. 이때 분할된 전자의 통계적인 흐림(blur)은 해석이 필요하다. 큐비트 온도가 절대 0도에 근접한 상태에서 비트를 프로그램하고 결과를 읽기 위해 또 다른 특수한 저온(극저온) 컴퓨터가 사용되어 양자 알고리즘으로 복잡한 문제를 해결하는데, 이를 통해 현대의 슈퍼컴퓨터로는 수천년, 심지어 수백만 년이 걸려야 풀 수 있는 문제에 대해 거의 즉각적으로 답을 내놓을 수 있게 될 전망이다.

 

극저온 컨트롤러와 극저온 양자 컴퓨터에서 실행되는 프로그램의 관계를 보면 심해 잠수사가 수중 굴착기에서 작업하는 방법과 비슷하다는 것을 알 수 있다. 양자 컴퓨터는 온도에 의해 나머지 세계와 격리된 일종의 유정이다. 극저온 제어 컴퓨터는 잠수사의 가압 다이빙 벨로, 프로그램에 외부 세계의 일반적인 온도와 양자 냉각기의 극한 저온 사이를 잇는 디딤돌을 제공한다. 극한 심해에서의 작업이 가능하도록 다이빙 벨이 잠수사를 준비시키는 것과 비슷하다.

 

마이크로소프트의 양자 컴퓨터가 일반적인 데이터센터에서 운용될 가능성은 낮다. 큐비트를 냉각하기 위해 세밀하게 제작된 나노와이어로 만들어진 특수한 냉동기가 필요하기 때문이다. 마이크로소프트 컨소시엄에 포함된 대학들이 각 부분을 따로 제조한 다음 결합해 지금 세대의 테스트 시스템을 제공한다.

 

양자 코드를 작성하는 방법

마이크로소프트는 애저(Azure)에 양자 하드웨어를 내장해 양자 시뮬레이터를 구동, 양자 코드를 실제 양자 컴퓨터에 배포하기 전에 테스트할 수 있도록 할 계획이다. 또한 마이크로소프트는 개발자가 비주얼 스튜디오에서 양자 코드를 작성 가능하도록 새로운 언어도 개발 중이다.

 

마이크로소프트 리서치는 이미 32GB 메모리를 탑재한 PC에서 30큐비트 환경을 시뮬레이션하기 위한 툴, 리퀴드(Liqui|>, 특수문자를 사용하지만 보통 리퀴드라고 읽음)에서 첫 양자 프로그래밍 환경을 선보였다. 마이크로소프트는 향후 애저에서 16TB 용량에 40큐비트 이상의 대규모 양자 시뮬레이터를 구축할 수 있게 될 것이라고 한다. 다만 실제 양자 컴퓨터의 가속 기능 없이는 이 정도 규모의 문제 해결을 위해서는 오랜 시간이 걸린다.

 

그래도 리퀴드를 통해 F#을 사용해서 핵심적인 양자 컴퓨팅 개념을 실험하면서 복잡한 수학적 개념을 처리하기 위해 어떻게 알고리즘을 구축해야 하는지 살펴보고 저수준 오류 교정 알고리즘을 사용하는 방법도 이해할 수 있게 된다.

 

마이크로소프트의 새로운 양자 컴퓨팅 언어는 리퀴드에서 얻은 교훈을 바탕으로 구축되지만 F#을 기반으로 하지는 않는다. 언어의 이름은 아직 공개되지 않았으나 비주얼 스튜디오에서 편집 중인 양자 코드가 나온 초기 스크린샷을 보면 흥미롭게도 고전적인 퀵 베이직(Quick Basic)과 동일한 파일 확장명을 사용하는 것으로 보인다.

 

필자는 최근 마이크로소프트 리서치에서 마이크로소프트가 계획하는 확장 가능한 양자 컴퓨터의 소프트웨어 측면을 담당하는 양자 컴퓨팅 그룹 수장인 크리스타 스보어와 이야기를 나눴다. 양자 컴퓨팅 프로젝트에서 이 그룹이 맡은 일은 실험적 하드웨어를 다루는 데 필요한 저수준 양자 알고리즘을 사용해 익숙한 고수준 언어로부터 이 알고리즘을 생성하는 방법을 찾는 것이다. 스보어의 팀이 성공한다면 프로그래머는 양자 컴퓨터에 대해서는 알 필요가 없고 그냥 코드를 작성해서 이를 애저에 배포해 실행만 하면 된다.

 

목표는 기저의 양자 회로에 대해 생각할 필요 없이 코드에만 집중할 수 있도록 하는 것이다. 예를 들어 양자 푸리에 변환을 구축하는 데 필요한 연결을 구성할 필요 없이 QFT 라이브러리를 호출하고 데이터를 준비, 로드하고 읽기 위한 부가적인 코드를 작성하면 된다. 스보어가 언급한 대로 많은 양자 알고리즘은 전처리와 후처리를 양자 동작과 섞은 하이브리드 형태이며, 이를 전통적인 슈퍼컴퓨터에서 실행되는 루프의 일부로 사용하는 경우가 많다.

 

여기에는 AI 기술의 역할도 있다. 머신 러닝을 사용해서 코드의 요소를 식별하고 이 요소가 어느 부분에서 어떻게 최적으로 동작하는지 파악하는 것이다.

 

마이크로소프트 양자 컴퓨팅을 향한 개발자의 길

리퀴드로 실험하는 개발자는 마이그레이션 툴을 사용해 자신의 애플리케이션을 새로운 플랫폼으로 가져올 수 있다. 애저 기반 양자 시뮬레이터는 PC에 비해 훨씬 더 많은 큐비트를 지원하므로 도움이 될 것이다. 또한 이 시뮬레이터를 사용하면 익숙한 GPGPU 데이터 병렬 처리 모델이 아닌, 동일한 데이터에 대해 여러 번의 패스를 실행하는 실행 기반 병렬 처리도 연구할 수 있다.

 

80큐비트 연산을 생각해 보면 컴퓨팅에서 이것이 무엇을 의미하는지 감을 잡을 수 있다. 스보어는 큐비트의 수에 관계없이 양자 컴퓨터에서 한 번의 연산에는 100ns가 소요된다고 강조했다. 전통적인 컴퓨터에서 동일한 연산을 하려면 육안으로 볼 수 있는 우주의 모든 입자보다 더 많은 입자가 필요하고 우주의 수명보다 더 오랜 시간이 필요할 것이다. 100ns만에 이러한 문제를 해결한다는 것은 과학 컴퓨팅에 있어 새로운 방향을 여는 크나큰 진전이다.

 

마이크로소프트의 양자 컴퓨팅 연구는 컴퓨터의 미래를 건 대대적인 도박이다. 일상적으로 사용되는 수준에 이르려면 아직 멀었고, 연구에서 유망한 결과물이 나오고 있다 해도 여전히 순수한 연구 영역에 머물러 있기 때문이다.

 

마이크로소프트의 양자 컴퓨팅 연구가 진정한 파급력을 가지려면 개발자가 익숙한 IDE와 병렬 프로그래밍 구조를 벗어나지 않고도 어려운 문제를 빠르게, 반복적으로 양자 알고리즘화할 수 있는 프로그래밍 환경을 제공해야 한다. 그렇게 된다면 세계는 우리가 아직 상상할 수 없는 방식으로 변하게 될 것이다. editor@itworld.co.kr

 

Simon Bisson editor@itworld.co.kr