양자 컴퓨팅이란?

완료됨

양자 컴퓨터는 양자 물리학의 특수 규칙을 사용하여 계산을 수행함으로써 기존 프로그래밍 방법에 새로운 개념을 도입합니다.

양자 컴퓨팅이 클래식 컴퓨팅과 어떻게 다른지, 그리고 양자 컴퓨터를 빌드하는 방법을 살펴보겠습니다.

양자 컴퓨팅의 탄생

양자 컴퓨터의 아이디어는 클래식 컴퓨터에서 양자 시스템을 시뮬레이션하는 어려움에서 비롯되었습니다. 1980년대에 Richard Feynman과 Yuri Manin은 양자 현상을 기반으로 한 하드웨어가 기존 시스템보다 양자 시스템 시뮬레이션에 더 효율적일 수 있다고 제안했습니다.

양자 시스템을 시뮬레이트하기 어려운 이유를 이해하는 방법에는 여러 가지가 있습니다. 가장 간단한 방법은 물질이 양자 수준에서 동시에 다양한 구성(상태라고 함)으로 존재한다는 것을 확인하는 것입니다.

양자 컴퓨팅이 기하급수적으로 성장하고 있습니다.

양자 입자 시스템(예: 전자)을 고려해 보세요. 전자에 사용할 수 있는 위치는 $40$입니다. 따라서 각 위치에는 전자가 있을 수도 있고 없을 수도 있으므로 시스템은 $2^{40}$ 구성 중 하나일 수 있습니다. 종래의 컴퓨터 메모리에 전자의 양자 상태를 저장하려면 $130$GB의 메모리를 초과하게 됩니다. 전자가 하나의 추가 위치에 있을 수 있도록 허용하여 $41$개 위치 중 하나에 있을 수 있게 되면 $2^{41}$에서 구성의 2배가 가능해지며, 양자 상태를 저장하기 위해 $260$GB 이상의 메모리가 필요하게 됩니다.

위치 수를 늘리는 이 게임은 무기한 재생할 수 없습니다. 상태를 기존 방식처럼 저장하려고 한다면 세계에서 가장 강력한 컴퓨터의 메모리 용량을 순식간에 초과하게 될 수 있습니다. 수백 개의 전자에서, 시스템을 저장하는 데 필요한 메모리는 우주의 입자 수를 초과합니다. 따라서 기존 컴퓨터로는 양자 동역학을 시뮬레이트하는 것이 불가능할 것입니다.

어려움을 기회로 전환

이러한 기하급수적인 성장을 관찰하면서 강력한 질문이 생겼습니다. 이 어려움을 기회로 바꿀 수 있을까요? 구체적으로, 양자 효과를 기본 작동 방식으로 활용하는 하드웨어를 구축할 경우 어떤 상황이 발생하는지를 양자 시스템을 통해 시뮬레이트하는 것이 어려운 경우가 여기에 해당할 것입니다. 정확히 동일한 물리 법칙을 활용하는 컴퓨터를 사용하여 상호 작용하는 입자의 양자 시스템을 시뮬레이션할 수 있나요? 그리고 양자 입자에는 없지만 우리에게 중요한 다른 태스크를 조사하기 위해 그 컴퓨터를 사용할 수 있나요? 이러한 질문 때문에 양자 컴퓨팅이 발생하게 되었습니다.

1985년 David Deutsch는 양자 시스템이 모든 실제 시스템의 동작을 효율적으로 시뮬레이션할 수 있음을 보여 주었습니다. 이러한 검색으로 양자 컴퓨터를 사용하여 기존 컴퓨터에서는 다루기 힘든 문제를 해결할 수 있다는 첫 번째 가능성을 보았습니다.

1994년 Peter Shor는 가장 잘 알려진 기존 알고리즘보다 기하급수적으로 빠르게 실행되는 정수 인수분해를 위한 양자 알고리즘을 발견했습니다. 팩터링을 해석하면서 RSA 및 타원 곡선 암호화를 포함하여 현재 전자 상거래 보안의 토대가 되는 많은 공개 키 암호화 시스템을 분석하는 기능이 가능해졌습니다. 이 검색은 양자 컴퓨팅에 대한 큰 관심을 불러일으켰고 다른 많은 문제에 대한 양자 알고리즘의 개발로 이어졌습니다.

그 이후부터 화학, 물리학 및 재료 과학 분야의 물리 시스템 시뮬레이트, 정렬되지 않은 데이터베이스 검색, 선형 방정식 시스템 해결, 기계 학습을 비롯한 까다로운 기존 태스크를 위해 빠르고 효율적인 양자 컴퓨터 알고리즘이 개발되었습니다.

큐비트란?

비트가 기존 컴퓨팅에서 정보의 클래식 개체인 것처럼 큐비트(양자 비트)는 양자 컴퓨팅에서 정보의 클래식 개체입니다.

큐비트는 양자 컴퓨팅의 기본 정보 단위입니다. 큐비트는 비트가 클래식 컴퓨팅에서 재생되기 때문에 양자 컴퓨팅에서 비슷한 역할을 하지만 동작은 다릅니다. 클래식 비트는 이진 파일이며 $0$ 또는 $1$의 위치만 보유할 수 있지만 큐비트는 가능한 모든 상태의 중첩을 보유할 수 있습니다. 이 동작은 큐비트가 $0$, $1$ 또는 이 둘의 양자 중첩 상태에 있을 수 있음을 의미합니다. $0$와 $1$의 중첩 가능성은 무한하며, 각각은 유효한 큐비트 상태입니다.

양자 컴퓨팅에서 정보는 $0$와 $1$ 상태의 중첩으로 인코딩됩니다. 예를 들어, $8$ 비트를 사용하면 $256$의 다른 값을 인코딩할 수 있지만 이를 인코딩하려면 그중 하나를 선택해야 합니다. $8$개 큐비트를 사용하면 큐비트가 가능한 모든 상태의 중첩에 있을 수 있으므로 동시에 $256$개 값을 인코딩할 수 있습니다.

양자 컴퓨터를 빌드하는 방법

양자 컴퓨터는 양자역학적 현상을 활용하는 컴퓨터입니다. 양자 컴퓨터는 물질의 양자 상태를 사용하여 정보를 저장하고 계산합니다. 양자 간섭을 "프로그래밍"하여 기존 컴퓨터보다 더 빠르고 더 나은 작업을 수행할 수 있습니다.

양자 컴퓨터를 만들 때 큐비트를 어떻게 만들고, 어떻게 저장하는지 고민해야 합니다. 또한 이를 조작하는 방법과 계산 결과를 읽는 방법에 대해서도 생각해야 합니다.

가장 많이 사용되는 큐비트 기술은 트랩 이온 큐비트, 초전도 큐비트 및 위상학적 큐비트입니다. 큐비트를 저장하는 일부 방법의 경우 큐비트를 저장하는 장치는 결집을 최대화하고 간섭을 줄이기 위해 절대 0(영)에 가까운 온도로 유지됩니다. 다른 유형의 큐비트 저장에서는 진동을 최소화하고 큐비트를 안정화하는 데 도움이 되는 진공 챔버를 사용합니다. 신호는 극초단파, 레이저 및 전압을 포함한 다양한 방법을 사용하여 큐비트에 보낼 수 있습니다.

양자 컴퓨터의 5가지 기준

좋은 양자 컴퓨터는 다음과 같은 5가지 기능을 갖추어야 합니다.

  1. 확장성: 많은 큐비트를 가질 수 있습니다.
  2. 초기화 가능: 큐비트를 특정 상태(일반적으로 $0$ 상태)로 설정할 수 있습니다.
  3. 복원력: 큐비트를 오랫동안 중첩 상태로 유지할 수 있습니다.
  4. 유니버설: 양자 컴퓨터는 가능한 모든 작업을 수행할 필요가 없으며 유니버설 집합이라는 작업 집합만 수행하면 됩니다. 유니버설인 양자 연산 집합은 그러한 다른 연산이 일련의 연산으로 분해될 수 있다는 것입니다.
  5. 안정적: 큐비트를 정확하게 측정할 수 있습니다.

이러한 다섯 가지 기준을 흔히 양자 계산의 DiVincenzo 기준이라고 합니다.

이러한 다섯 가지 기준을 충족하는 디바이스를 빌드하는 것은 인류가 직면한 가장 까다로운 공학 과제 중 하나입니다. Microsoft는 Azure Quantum을 통해 최신 양자 컴퓨팅 솔루션을 활용할 수 있도록 전 세계 최고의 양자 컴퓨터 제조업체들과 협력하고 있습니다.