양자 컴퓨팅 이해

양자 컴퓨팅은 환경, 농업, 건강, 에너지, 기후, 재료 과학 등 지구의 가장 큰 과제 중 일부를 해결할 것을 약속합니다. 이러한 문제 중 일부에서는 시스템 크기가 증가하면서 일반 컴퓨팅이 점점 어려워지고 있습니다. 크기를 조정하도록 설계된 양자 시스템에는 오늘날 가장 강력한 슈퍼컴퓨터의 기능을 초과할 가능성이 높습니다. 양자 연구원, 과학자, 엔지니어 및 비즈니스 리더의 글로벌 커뮤니티가 양자 생태계를 발전시키기 위해 협력함에 따라 모든 산업에서 양자 영향이 가속화될 것으로 기대합니다.

양자 컴퓨팅 과정을 가속화하려면 Azure Quantum 웹 사이트의 고유한 기능인 Azure Quantum을 사용하여 코드를 검사. 여기서는 기본 제공 샘플 또는 사용자 고유 Q# 의 Q# 프로그램을 실행하고, 프롬프트에서 새 Q# 코드를 생성하고, 한 번의 클릭으로 웹용 VS Code에서 코드를 열고 실행하고, Copilot에게 양자 컴퓨팅에 대한 질문을 할 수 있습니다.

양자 컴퓨터를 사용하는 이유는 무엇인가요?

양자 컴퓨터의 아이디어는 클래식 컴퓨터에서 양자 시스템을 시뮬레이션하는 어려움에서 비롯되었습니다. 1980년대, 리처드 파인먼과 유리 마닌은 양자 현상을 기반으로 하는 하드웨어가 기존 컴퓨터보다 양자 시스템의 시뮬레이션에 더 효율적일 수 있다고 독립적으로 제안했습니다.

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

양자 컴퓨팅이 기하급수적으로 증가합니다.

가능한 위치가 40$개인 $전자 시스템을 고려합니다. 따라서 시스템은 2^{40}$ 구성 중 $하나에 있을 수 있습니다(각 위치에 전자가 있거나 없을 수 있기 때문에). 전자의 양자 상태를 기존 컴퓨터 메모리에 저장하려면 130GB$ 이상의 $메모리가 필요합니다! 입자가 41$개 위치 중 $하나로 유지되도록 허용하면 2^{41}$에 $두 배의 구성이 있을 것이며, 이로 인해 양자 상태를 저장하려면 260GB$ 이상의 $메모리가 필요합니다.

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

난이도를 기회로 전환

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

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. 신뢰할 수 있는: 큐비트를 정확하게 측정할 수 있습니다.

이러한 5가지 조건을 양자 계산을 위한 Di Vincenzo 기준이라고도 합니다.

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

양자 컴퓨팅과 Azure Quantum은 어디에 사용할 수 있나요?

양자 컴퓨터는 모든 작업을 더 빠르게 수행할 수 있는 슈퍼컴퓨터는 아닙니다. 실제로 양자 컴퓨팅 연구의 목표 중 하나는 양자 컴퓨터가 클래식 컴퓨터보다 더 빠르게 해결할 수 있는 문제와 속도 향상이 얼마나 큰지 연구하는 것입니다.

양자 컴퓨터는 수많은 조합을 계산해야 하는 문제 처리에 매우 적합합니다. 이러한 유형의 문제는 양자 시뮬레이션, 암호화, 양자 기계 학습, 검색 문제와 같은 여러 영역에서 볼 수 있습니다.

Microsoft의 양자 컴퓨팅 연구에 대한 최신 정보는 Microsoft Research Quantum Computing 페이지를 참조하세요.

리소스 예측

현재 사용 가능한 양자 컴퓨터는 흥미로운 실험과 연구를 가능하게 하지만 실제 문제를 해결하는 데 필요한 계산을 가속화할 수는 없습니다. 업계는 하드웨어 발전을 기다리고 있지만 양자 소프트웨어 혁신가들은 진전을 이루고 양자 미래를 준비하기를 열망합니다. 내일의 내결함성 스케일링된 양자 컴퓨터에서 실행되는 알고리즘을 만드는 것은 어려운 작업입니다. 이러한 혁신가들은 필요한 하드웨어 리소스와 같은 질문에 직면합니다. 필요한 물리적 및 논리적 큐비트 수와 유형은 무엇인가요? 런타임은 얼마인가요?

Azure Quantum Resource Estimator를 사용하여 이러한 질문에 답변할 수 있습니다. 따라서 알고리즘을 구체화하고 스케일링된 양자 컴퓨터를 사용할 수 있게 되면 활용하는 솔루션을 빌드할 수 있습니다.

시작하려면 첫 번째 리소스 예상 실행 을 참조하세요.

arXiv:2211.07629에서 Azure Quantum Resource Estimator를 사용하여 실제 양자 장점으로 스케일링하기 위한 요구 사항을 평가하는 방법에 대해 자세히 알아봅니다.

양자 시뮬레이션

양자 역학은 기본 &따옴표입니다. 운영 체제&따옴표; 우리의 우주의. 자연의 기본 구성 요소가 어떻게 작동하는지를 알려주죠. 화학 반응, 생물학적 반응, 물질 형성과 같은 자연의 행태에는 다체 양자 상호 작용이 관여하고 있는 경우가 많습니다. 분자와 같은 본질적으로 양자 기계 시스템을 시뮬레이션하기 위해 큐비트 (양자 비트)를 사용하여 문제의 자연 상태를 나타낼 수 있기 때문에 양자 컴퓨팅이 유망합니다. 우리가 모델링할 수 있는 양자 시스템의 예로는 광합성, 초전도 및 복합 분자 형성이 있습니다.

Azure Quantum Elements 는 과학적 검색을 가속화하기 위해 특별히 제작되었습니다. Azure HPC(High-Performance Computing) 클러스터의 크기 조정에 최적화된 시뮬레이션 워크플로, AI 가속 컴퓨팅, AI를 사용한 증강 추론, 양자 도구와 통합하여 기존 양자 하드웨어 실험을 시작하고 향후 Microsoft의 양자 슈퍼컴퓨터에 액세스하여 연구 및 개발 생산성을 재창조합니다. 자세한 내용은 분자 역학을 위한 Azure의 기능 잠금 해제를 참조하세요.

양자 가속

양자 컴퓨팅 연구의 목표는 기존 컴퓨터를 사용할 때보다 양자 컴퓨터를 사용할 때 더 빠르게 해결할 수 있는 문제와 가속 수준을 연구하는 것입니다. 잘 알려진 두 가지 예는 Grover 알고리즘과 Shor 알고리즘으로, 고전적 알고리즘에 비해 각각 다항식 및 기하급수적 속도 향상이 가능합니다.

양자 컴퓨터에서 실행되는 Shor 알고리즘은 데이터를 안전하게 전송하기 위해 전자상거래에서 널리 사용되는 RSA(Rivest–Shamir–Adleman) 체계와 같은 기존 암호화 체계를 뚫을 수 있습니다. 이 체계는 기존 알고리즘을 사용하여 소수 인수 분해의 실질적 어려움을 기반으로 합니다. 양자 암호화를 이용하면 복잡성 추정이 아닌 기본 물리학을 사용하여 정보 보안을 보장할 수 있습니다.

Shor의 팩터링 알고리즘과 마찬가지로, 숨겨진 시프트 문제는 양자 컴퓨터가 가장 잘 알려진 클래식 알고리즘보다 기하급수적으로 성능 우위를 점하는 근본적인 이유입니다. 이는 결국 디콘볼루션 문제를 해결하는 데 도움이 될 수 있으며 복잡한 데이터 세트 속에 숨겨진 패턴을 효율적으로 찾을 수 있습니다. 양자 컴퓨터는 원칙적으로 콘볼루션을 고속으로 계산할 수 있으며, 이는 푸리에 변환을 매우 빠르게 컴퓨팅하는 양자 컴퓨터의 기능을 기반으로 합니다. Azure Quantum 작업 영역의 샘플 갤러리에서 숨겨진 시프트 Jupyter Notebook 샘플을 찾을 수 있습니다(Azure 계정 필요).

Grover 알고리즘은 비정형 데이터를 검색하는 솔루션의 속도를 획기적으로 높여 그 어떤 클래식 알고리즘보다도 빠르게 검색을 실행합니다. 실제로 지정된 값 $x$가 유효한 솔루션인지 여부를 검사 수 있는 문제(&따옴표; 예 또는 문제&따옴표;)는 검색 문제의 관점에서 공식화 할 수 있습니다. 예는 다음과 같습니다.

  • 부울 만족도 문제: 부울 값 $집합 x$ 가 지정된 부울 수식을 충족하는 해석(변수에 값 할당)인가요?
  • 여행 세일즈맨 문제: x$는 모든 도시를 연결하는 가장 짧은 루프를 설명하나요$?
  • 데이터베이스 검색 문제: 데이터베이스 테이블에 레코드 $x$가 포함되어 있나요?
  • 정수 팩터리화 문제: 고정 숫자 $N$이 x$ 숫자$로 나눌 수 있나요?

Grover 알고리즘에 대한 자세한 내용은 에서 Grover 알고리즘 Q#구현 자습서를 참조하세요.

양자 컴퓨팅은 문제를 어떻게 해결하나요?

양자 컴퓨터는 양자 물리학의 속성을 활용하여 계산을 수행하는 제어 가능한 양자 역학 장치입니다. 일부 계산 작업의 경우 양자 컴퓨팅이 기하급수적인 속도 향상을 제공합니다. 이러한 속도 향상은 양자 역학의 세 가지 현상인 중첩, 간섭 및 얽힘 덕분에 가능합니다.

중첩

거실에서 운동하고 있다고 상상해 보세요. 왼쪽으로 완전히 돈 다음, 오른쪽으로 완전히 돕니다. 이제 왼쪽 및 오른쪽으로 동시에 돌아 보세요. 이렇게 돌 수는 없습니다(적어도 자신을 둘로 쪼개지 않는 한). 분명히 두 상태에 동시에 있을 수 없습니다. 즉 왼쪽 및 오른쪽으로 동시에 향할 수는 없습니다.

그러나 양자 입자인 경우 중첩(또는 결집이라고도 함)이라는 현상으로 인해 좌향우향에 대한 특정 확률이 있을 수 있습니다.

클래식 입자와 달리 두 상태 A와 B가 양자 입자의 유효한 양자 상태인 경우 상태의 선형 조합도 유효한 양자 상태인 큐비트 상태 $\text{}=\alpha A + \beta B$입니다.$$$$ 양자 상태 $A$ 와 $B$ 의 이 선형 조합을 중첩이라고 합니다. $\alpha$ 여기서 및 $\beta$ 는 각각 ^{{2} + |\beta|^={2} 1$과 같은 $|\alpha|A$와 $B$의 $확률 진폭입니다.

이온, 전자 또는 초전도 회로와 같은 양자 시스템만 양자 컴퓨팅을 사용할 수 있는 중첩 상태에서 존재할 수 있습니다. 전자와 같은 양자 입자에는 자체의 "왼쪽 또는 오른쪽을 향한" 속성, 즉 스핀(위쪽 또는 아래쪽)이 있으므로 전자의 양자 상태는 따옴표의 &중첩입니다. 스핀 업&따옴표; 및 &따옴표; 스핀 다운&따옴표;.

일반적으로 양자 시스템이 두 개의 양자 상태에 있을 수 있는 경우 기존 이진 컴퓨팅과 더 관련성이 높도록 하기 위해 이러한 상태를 0 상태 및 1 상태라고 합니다.

큐비트 및 확률

클래식 컴퓨터는 정보를 비트 단위로 저장하고 처리합니다. 이 비트의 상태는 1 또는 0일 수 있지만 둘 다일 수는 없습니다. 양자 컴퓨팅에서의 해당 항목은 큐비트입니다. 큐비트는 양자 상태 0과 1의 중첩에 있을 수 있는 모든 양자 시스템입니다. 가능한 각 양자 상태에는 연결된 확률 진폭이 있습니다. 큐비트를 측정한 후에만 해당 상태가 연결된 확률에 따라 0 상태 또는 1 상태로 축소되므로 가능한 상태 중 하나가 특정 확률로 획득됩니다.

큐비트가 한쪽 방향 또는 다른 방향으로 붕괴될 확률은 양자 간섭에 의해 결정됩니다. 양자 간섭은 측정하는 동안 특정 결과의 확률에 영향을 주기 위해 큐비트의 상태에 영향을 주며, 이 확률 상태는 양자 컴퓨팅의 뛰어난 기능이 됩니다.

예를 들어 클래식 컴퓨터에서 두 개의 비트를 사용하면 각 비트에서 1 또는 0을 저장할 수 있으므로 네 개의 가능한 값(00, 01, 1011)을 저장할 수 있지만 한 번에 하나의 값만 저장할 수 있습니다. 그러나 중첩 상태의 두 개의 큐비트를 사용하면 각 큐비트가 1, 0 또는 둘 다일 수 있으므로 동일한 네 개의 값을 동시에 나타낼 수 있습니다. 세 개의 큐비트를 사용하면 8개의 값, 네 개의 큐비트를 사용하면 16개의 값 등을 나타낼 수 있습니다.

자세한 내용은 양자 컴퓨팅의 큐비트를 참조하세요.

얽힘

양자 역학의 가장 흥미로운 현상은 둘 이상의 양자 시스템이 서로 얽히는 능력입니다. 얽힘은 양자 시스템 간의 양자 상관 관계입니다. 큐비트가 얽히면 개별 하위 시스템의 양자 상태를 독립적으로 설명할 수 없도록 전역 시스템을 형성합니다. 전역 시스템의 상태를 하위 시스템의 상태 조합으로 작성할 수 없는 경우 두 시스템이 얽혀 있습니다. 특히 전역 시스템의 상태를 하위 시스템 상태의 텐서 곱 으로 작성할 수 없는 경우 두 시스템이 얽혀 있습니다. 제품 상태에 상관 관계가 없습니다.

얽힌 양자 시스템은 먼 거리에서 분리된 경우에도 이러한 상관 관계를 유지합니다. 즉, 한 하위 시스템에 적용하는 작업 또는 프로세스가 다른 하위 시스템과도 관련이 있습니다. 얽힌 큐비트 간에 상관 관계가 있으므로 한 큐비트의 상태를 측정하면 다른 큐비트의 상태에 대한 정보가 제공됩니다. 이 특정 속성은 양자 컴퓨팅에 매우 유용합니다.

참고

두 큐비트 간의 모든 상관 관계가 두 큐비트의 얽힘을 의미하는 것은 아닙니다. 양자 상관 관계 외에도 클래식 상관 관계도 있습니다. 클래식 상관 관계와 양자 상관 관계의 차이는 미묘하지만 양자 컴퓨터에서 제공하는 속도 향상에 필수적입니다. 자세한 내용은 클래식 상관 관계 이해를 참조하세요.

자세히 알아보려면 를 사용하여 양자 얽Q#힘 탐색 자습서를 참조하세요.

다음 단계