KR20220091364A - 큐비트 칩들의 자동 실시간 보정 - Google Patents

큐비트 칩들의 자동 실시간 보정 Download PDF

Info

Publication number
KR20220091364A
KR20220091364A KR1020210162266A KR20210162266A KR20220091364A KR 20220091364 A KR20220091364 A KR 20220091364A KR 1020210162266 A KR1020210162266 A KR 1020210162266A KR 20210162266 A KR20210162266 A KR 20210162266A KR 20220091364 A KR20220091364 A KR 20220091364A
Authority
KR
South Korea
Prior art keywords
quantum
qubits
control parameters
machine learning
estimated
Prior art date
Application number
KR1020210162266A
Other languages
English (en)
Inventor
사하르 다라에이자데
샤빈드라 프리마라트네
아닌디아 산카르 폴
앤 와이. 마츠우라
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20220091364A publication Critical patent/KR20220091364A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/70Quantum error correction, detection or prevention, e.g. surface codes or magic state distillation
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N60/00Superconducting devices
    • H10N60/10Junction-based devices
    • H10N60/12Josephson-effect devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/40Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8038Associative processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Superconductor Devices And Manufacturing Methods Thereof (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Abstract

양자 프로세서에서의 큐비트들의 실시간 보정을 위한 장치들 및 방법들. 예를 들어, 장치의 일 실시예는: 복수의 큐비트를 포함하는 양자 프로세서 - 큐비트들 각각은 상태를 가짐 -; 제어 매개변수들의 세트에 기초하여 복수의 큐비트의 상태들을 조작하기 위해 전자기(EM) 펄스들의 시퀀스들을 생성하는 양자 제어기; 하나 이상의 대응하는 측정된 값을 생성하기 위해 복수의 큐비트 중의 대응하는 하나 이상의 큐비트에 연관된 하나 이상의 센서를 측정하는 큐비트 측정 유닛; 및 업데이트된 제어 매개변수들을 생성하기 위해 머신 러닝 프로세스에 따라 하나 이상의 측정된 값을 평가하는 머신 러닝 엔진을 포함하고, 양자 제어기는 업데이트된 제어 매개변수들을 사용하여, EM 펄스들의 후속 시퀀스들을 생성하여 복수의 큐비트의 상태들을 조작한다.

Description

큐비트 칩들의 자동 실시간 보정{AUTOMATIC REAL-TIME CALIBRATION OF QUBIT CHIPS}
본 발명의 실시예들은 일반적으로 양자 컴퓨팅 분야에 관한 것이다. 보다 구체적으로, 이러한 실시예들은 큐비트 칩들의 자동 실시간 보정(automatic real-time calibration)을 위한 기술들에 관한 것이다.
양자 컴퓨팅(quantum computing)은 양자 역학 현상을 이용하여 데이터를 조작하는 계산 시스템들에 관한 연구 분야를 지칭한다. 중첩(superposition)(양자 변수가 동시에 다수의 상이한 상태로 존재할 수 있음) 및 얽힘(entanglement)(복수의 양자 변수가 그들 사이의 공간 또는 시간의 거리에 관계없이 관련 상태들을 가짐)과 같은 이러한 양자 역학 현상은 고전적 컴퓨팅 세계에서는 유사점이 없고, 따라서 고전적 컴퓨팅 디바이스들로는 구현될 수 없다.
본 발명의 더 나은 이해는 이하의 도면들과 함께 이하의 상세한 설명으로부터 얻어질 수 있다.
도 1a 내지 도 1f는 일 실시예에 따른 예시적인 양자 도트 디바이스의 다양한 도면들을 도시한다.
도 2는 양자 및 비-양자 명령어들을 프로세싱하기 위한 프로세서 파이프라인의 일 실시예를 도시한다.
도 3은 양자 및 비-양자 명령어들을 프로세싱하기 위한 프로세서의 프론트-엔드 회로의 실시예를 도시한다.
도 4a - 도 4b는 양자-고전 프로세서 인터페이스의 실시예를 도시한다.
도 5a - 도 5b는 양자 회로를 구현하기 위한 예시적인 양자 회로 및 프로그램 코드를 도시한다.
도 6a - 도 6b는 양자 명령어들이 컴파일러에 의해 생성되고, uop들로 디코딩되고, 양자 실행 엔진 내에서 실행되는 예를 도시한다.
도 7은 본 발명의 일 실시예에 따른 방법을 도시한다.
도 8은 양자 프로세서 내의 큐비트들을 어드레싱하기 위한 큐비트 인덱스 생성기의 일 실시예를 도시한다.
도 9는 큐비트들을 식별하기 위한 큐비트 인덱스 값들을 결정하기 위한 방법을 도시한다.
도 10a - 도 10b는 머신 러닝을 사용하는 실시간 큐비트 보정을 위한 아키텍처의 실시예들을 도시한다.
도 11은 큐비트 제어 매개변수들을 예측하기 위한 방법의 일 실시예를 도시한다.
도 12는 큐비트 제어 매개변수들을 업데이트하기 위한 방법의 일 실시예를 도시한다.
이하의 설명에서, 설명의 목적을 위해, 아래에서 설명되는 본 발명의 실시예들의 완전한 이해를 제공하기 위해 다수의 특정 세부사항이 제시된다. 그러나, 본 발명의 실시예들이 이러한 특정 세부사항 중 일부 없이 실시될 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다. 다른 경우들에서, 널리 공지된 구조들 및 디바이스들은 본 발명의 실시예들의 기본 원리들을 모호하게 하는 것을 피하기 위해 블록도 형태로 도시된다.
도입
양자 컴퓨터는 중첩 및 얽힘과 같은 양자 역학 현상을 사용하여 계산을 수행한다. 두 가지 명확한 상태(0 또는 1) 중 하나로 데이터를 저장하는 디지털 컴퓨터들과는 대조적으로, 양자 계산은 상태들의 중첩에 있을 수 있는 양자 비트들(큐비트들)을 사용한다. 큐비트들은 전자들 및 광자들과 같은 소립자들의 물리적으로 구별가능한 양자 상태들을 이용하여 구현될 수 있다. 예를 들어, 광자의 편광이 사용될 수 있고, 여기서 두 가지 상태는 수직 편광 및 수평 편광이다. 마찬가지로, 전자의 스핀은 "업 스핀" 및 "다운 스핀"과 같은 구별가능한 상태들을 가질 수 있다.
큐비트 상태들은 일반적으로 괄호 표기법
Figure pat00001
Figure pat00002
에 의해 표현된다. 전통적인 컴퓨터 시스템에서, 비트는 독점적으로 하나의 상태 또는 다른 상태, 즉 '0' 또는 '1'에 있다. 그러나, 양자 역학 시스템들의 큐비트들은 동시에 상태들 둘 다의 중첩에 있을 수 있고, 이는 양자 컴퓨팅의 고유하고 기본적인 특성이다.
양자 컴퓨팅 시스템들은 큐비트들에서 수행되는 양자 로직 연산들을 포함하는 알고리즘들을 실행한다. 연산들의 시퀀스는 스케줄에 정적으로 컴파일되고, 큐비트들은 인덱싱 체계를 사용하여 어드레싱된다. 다음으로, 이 알고리즘은 계산된 답변의 신뢰 구간이 임계값(예를 들어, ~95+%)을 초과할 때까지 충분히 많은 횟수만큼 실행된다. 임계값에 도달하는 것은 원하는 알고리즘 결과에 도달했음을 의미한다.
큐비트들은 양자 상태들을 조작하고 판독할 수 있는 여러 상이한 기술들을 사용하여 구현된다. 이들은 몇몇 예를 들자면, 양자 도트 디바이스(스핀 기반 및 공간 기반), 트랩핑 이온 디바이스, 초전도 양자 컴퓨터, 광학 격자, 핵 자기 공명 컴퓨터, 솔리드-스테이트 NMR 케인 양자 디바이스(solid-state NMR Kane quantum device), 일렉트론스-온-헬륨 양자 컴퓨터(electrons-on-helium quantum computer), 공동 양자 전기 역학(cavity quantum electrodynamics)(CQED) 디바이스, 분자 자석 컴퓨터, 및 풀러렌 기반 ESR 양자 컴퓨터(fullerene-based ESR quantum computers)를 포함하지만, 이에 제한되지는 않는다. 따라서, 이하에서는 본 발명의 특정 실시예들과 관련하여 양자 도트 디바이스가 설명되지만, 본 발명의 기본 원리들은 위에서 나열된 것들을 포함하지만 이에 제한되지는 않는 임의의 유형의 양자 컴퓨터와 결합하여 이용될 수 있다. 큐비트들에 대해 사용되는 특정 물리적 구현은 본 명세서에 설명된 본 발명의 실시예들에 직교한다.
양자 도트 디바이스들
양자 도트들은 일반적으로 크기가 몇 나노미터인 작은 반도체 입자들이다. 이러한 작은 크기로 인해, 양자 도트들은 양자 역학의 규칙에 따라 동작하며, 거시적 엔티티들과는 상이한 광학적 및 전자적 특성들을 갖는다. 양자 도트들은 원자들 또는 분자들의 경우에서와 같이 양자 도트들이 별개의 결합된 전자 상태들을 가진 단일 객체라는 사실을 내포하고자 때때로 "인공 원자"라고도 지칭된다.
도 1a 내지 도 1f는 이하에 설명되는 본 발명의 실시예들과 함께 사용될 수 있는 양자 도트 디바이스(100)의 다양한 도면들이다. 도 1a는 제1 게이트 라인들(102), 제2 게이트 라인들(104), 및 제3 게이트 라인들(106)이 보이도록 일부 재료들이 제거된 양자 도트 디바이스(100)의 일부의 평면도이다. 본 명세서의 많은 도면들 및 설명이 라인들 또는 게이트들의 특정 세트를 각각 "장벽" 또는 "양자 도트" 라인들 또는 게이트들로 지칭할 수 있지만, 이는 단순히 논의의 편의를 위한 것이며, 다른 실시예들에서 "장벽" 및 "양자 도트" 라인들 및 게이트들의 역할은 전환될 수 있다(예를 들어, 장벽 게이트들이 양자 도트 게이트들로 대신 작동할 수 있으며, 그 반대의 경우도 마찬가지임). 도 1b 내지 도 1f는 도 1a의 양자 도트 디바이스(100)의 측단면도이고; 특히, 도 1b는 도 1a의 B-B 단면을 통한 도면이고, 도 1c는 도 1a의 C-C 단면을 통한 도면이고, 도 1d는 도 1a의 D-D 단면을 통한 도면이며, 도 1e는 도 1a의 E-E 단면을 통한 도면이고, 도 1f는 도 1a의 F-F 단면을 통한 도면이다.
도 1의 양자 도트 디바이스(100)는 다수의 방식 중 임의의 방식으로 동작될 수 있다. 예를 들어, 일부 실시예들에서, 양자 도트(예를 들어, 전자 스핀 기반 양자 도트 또는 정공 스핀 기반 양자 도트)로 하여금 제3 게이트 라인(106)의 제3 게이트(166) 아래에 양자 우물 스택(146)을 형성하도록 하기 위해, 전압, 전류, 무선 주파수(RF) 및/또는 마이크로파 신호와 같은 전기 신호들이 하나 이상의 제1 게이트 라인(102), 제2 게이트 라인(104), 및/또는 제3 게이트 라인(106)에 제공될 수 있다. 제3 게이트 라인(106)에 제공된 전기 신호들은 해당 제3 게이트 라인(106)의 제3 게이트들(166) 아래의 양자 우물의 전위를 제어할 수 있는 한편, 제1 게이트 라인(102)(및/또는 제2 게이트 라인(104))에 제공된 전기 신호들은 인접한 양자 우물들 사이의 해당 제1 게이트 라인(102)의 제1 게이트들(162)(및/또는 해당 제2 게이트 라인(104)의 제2 게이트들(164)) 아래의 위치 에너지 장벽(potential energy barrier)을 제어할 수 있다. 양자 우물 스택(146) 내의(예를 들어, 상이한 양자 도트 게이트들 아래의) 상이한 양자 우물들 내의 양자 도트들 간의 양자 상호작용들은 (예를 들어, 중간 장벽 게이트들에 의해) 그들 사이에 부과된 장벽 전위들에 의해 제공되는 위치 에너지 장벽에 의해 부분적으로 제어될 수 있다.
일반적으로, 본 명세서에 개시된 양자 도트 디바이스들(100)은 정상적으로 축퇴되는 양자 도트의 상태들(예를 들어, 전자 스핀 기반 양자 도트의 스핀 상태들)에서 에너지 차이를 생성하는 데 사용될 수 있는 자기장 소스(도시되지 않음)를 더 포함할 수 있고, 양자 도트들의 상태들(예를 들어, 스핀 상태들)은 계산 가능한 양자 비트들을 생성하기 위해 게이트 라인들에 전자기 에너지를 인가함으로써 조작될 수 있다. 자기장들의 소스는 아래에서 논의되는 바와 같이 하나 이상의 자석 라인일 수 있다. 따라서, 본 명세서에 개시된 양자 도트 디바이스들(100)은 전자기 에너지의 제어된 인가를 통해 양자 우물 스택(146)에서 양자 도트들의 위치, 수, 및 양자 상태(예를 들어, 스핀)를 조작할 수 있다.
도 1의 양자 도트 디바이스(100)에서, 게이트 유전체(114)는 양자 우물 스택(146) 상에 배치될 수 있다. 양자 우물 스택(146)은 양자 도트 디바이스(100)의 동작 동안 양자 도트들이 로컬화될 수 있는 적어도 하나의 양자 우물 층(152)(도 1에 도시되지 않음)을 포함할 수 있다. 게이트 유전체(114)는 하이-k 재료와 같은 임의의 적절한 재료일 수 있다. 다수의 평행한 제1 게이트 라인(102)이 게이트 유전체(114) 상에 배치될 수 있고, 스페이서 재료(118)가 제1 게이트 라인들(102)의 측면들 상에 배치될 수 있다. 일부 실시예들에서, 도시된 바와 같이, 패터닝된 하드마스크(110)는 (제1 게이트 라인들(102)의 패턴에 대응하는 패턴으로) 제1 게이트 라인들(102) 상에 배치될 수 있고, 스페이서 재료(118)는 하드마스크(110)의 측면들 위로 연장될 수 있다. 제1 게이트 라인들(102)은 각각 제1 게이트(162)일 수 있다. 제1 게이트 라인들(102) 중 상이한 것들은 임의의 원하는 조합으로 전기적으로 제어될 수 있다(예를 들어, 원하는 대로, 각각의 제1 게이트 라인(102)은 개별적으로 전기적으로 제어될 수 있거나, 제1 게이트 라인들(102)의 일부 또는 전부가 하나 이상의 그룹으로 함께 단락될 수 있음).
다수의 평행한 제2 게이트 라인(104)은 제1 게이트 라인들(102) 위에, 그리고 그들 사이에 배치될 수 있다. 도 1에 도시된 바와 같이, 제2 게이트 라인들(104)은 제1 게이트 라인들(102)에 수직으로 배열될 수 있다. 제2 게이트 라인들(104)은 하드마스크(110) 위로 연장될 수 있고, 도 1d에 도시된 바와 같이, 양자 우물 스택(146)을 향해 아래로 연장되고 제1 게이트 라인들(102) 중 인접한 것들 사이의 게이트 유전체(114)와 접촉하는 제2 게이트들(164)을 포함할 수 있다. 일부 실시예들에서, 제2 게이트들(164)은 제1 게이트 라인들(102)/스페이서 재료(118) 구조물들 중 인접한 것들 사이의 영역을 채울 수 있고; 다른 실시예들에서는, 절연 재료(도시되지 않음)가 제1 게이트 라인들(102)/스페이서 재료(118) 구조물들과 인접한 제2 게이트들(164) 사이에 존재할 수 있다. 일부 실시예들에서는, 제2 게이트 라인들(104)의 측면들 상에 스페이서 재료(118)가 배치될 수 있고; 다른 실시예들에서는, 제2 게이트 라인들(104)의 측면들 상에 스페이서 재료(118)가 배치되지 않을 수 있다. 일부 실시예들에서, 하드마스크(115)는 제2 게이트 라인들(104) 위에 배치될 수 있다. 제2 게이트 라인(104)의 제2 게이트들(164) 중 다수의 것들은 (하드마스크(110) 위의 제2 게이트 라인(104)의 공유된 전도성 재료로 인해) 전기적으로 연속적일 수 있다. 제2 게이트 라인들(104) 중 상이한 것들은 임의의 원하는 조합으로 전기적으로 제어될 수 있다(예를 들어, 원하는 대로, 각각의 제2 게이트 라인(104)이 개별적으로 전기적으로 제어될 수 있거나, 제2 게이트 라인들(104)의 일부 또는 전부가 하나 이상의 그룹으로 함께 단락될 수 있음). 제1 게이트 라인들(102) 및 제2 게이트 라인들(104)은 함께 도 1에 도시된 바와 같이 그리드를 형성할 수 있다.
다수의 평행한 제3 게이트 라인(106)은 제1 게이트 라인(102)과 제2 게이트 라인(104) 위에 그리고 그 사이에 배치될 수 있다. 도 1에 도시된 바와 같이, 제3 게이트 라인들(106)은 제1 게이트 라인들(102)에 대해 대각선으로, 그리고 제2 게이트 라인들(104)에 대각선으로 배열될 수 있다. 특히, 제3 게이트 라인들(106)은 제1 게이트 라인들(102) 및 제2 게이트 라인들(104)에 의해 형성된 그리드 내의 개구들 위에 대각선으로 배열될 수 있다. 제3 게이트 라인(106)은 제1 게이트 라인들(102) 및 제2 게이트 라인들(104)에 의해 형성된 그리드 내의 개구들에서 게이트 유전체(114)까지 아래로 연장되는 제3 게이트들(166)을 포함할 수 있고; 따라서 각각의 제3 게이트(166)는 2개의 상이한 제1 게이트 라인(102) 및 2개의 상이한 제2 게이트 라인(104)에 의해 경계가 정해질 수 있다. 일부 실시예들에서, 제3 게이트들(166)은 절연 재료(128)에 의해 경계가 정해질 수 있고; 다른 실시예들에서, 제3 게이트들(166)은 그리드 내의 개구들을 채울 수 있다(예를 들어, 인접한 제1 게이트 라인들(102) 및 제2 게이트 라인들(104)의 측면들 상에 배치된 스페이서 재료(118)와 접촉함, 도시되지 않음). 추가적인 절연 재료(117)는 제3 게이트 라인들(106) 상에 그리고/또는 그 주위에 배치될 수 있다. 제3 게이트 라인(106)의 제3 게이트들(166) 중 다수의 것들은 (제1 게이트 라인들(102) 및 제2 게이트 라인들(104) 위의 제3 게이트 라인(106)의 공유된 전도성 재료로 인해) 전기적으로 연속적일 수 있다. 제3 게이트 라인들(106) 중 상이한 것들은 임의의 원하는 조합으로 전기적으로 제어될 수 있다(예를 들어, 원하는 대로, 각각의 제3 게이트 라인(106)이 개별적으로 전기적으로 제어될 수 있거나, 제3 게이트 라인들(106)의 일부 또는 전부가 하나 이상의 그룹으로 함께 단락될 수 있음).
도 1a - 도 1f는 특정 수의 제1 게이트 라인(102), 제2 게이트 라인(104) 및 제3 게이트 라인(106)을 도시하지만, 이는 단순히 예시의 목적을 위한 것이며, 임의의 수의 제1 게이트 라인(102), 제2 게이트 라인(104) 및 제3 게이트 라인(106)이 양자 도트 디바이스(100)에 포함될 수 있다. 제1 게이트 라인들(102), 제2 게이트 라인들(104), 및 제3 게이트 라인들(106)의 배열의 다른 예들이 가능하다. 전기적 상호연결부들(electrical interconnects)(예를 들어, 비아들 및 전도성 라인들)은 임의의 원하는 방식으로 제1 게이트 라인들(102), 제2 게이트 라인들(104), 및 제3 게이트 라인들(106)과 접촉할 수 있다.
양자 우물 스택(146)의 양자 우물 층에 전기적으로 결합될 수 있는(예를 들어, 양자 우물 층에 측방향으로 근접한) 축적 영역들은 도 1에 도시되어 있지 않다. 축적 영역들은 중간 유전체 재료의 얇은 층에 의해 게이트 라인들로부터 이격될 수 있다. 축적 영역들은 (예를 들어, 도핑으로 인해, 또는 캐리어들을 양자 우물 층으로 끌어당기는 큰 전극들의 존재로 인해) 캐리어들이 축적되는 영역일 수 있으며, 캐리어 기반 양자 도트들(예를 들어, 단일 전하 캐리어, 다수의 전하 캐리어 또는 무전하 캐리어를 포함하는, 전자 또는 정공 양자 도트들)을 형성하기 위해, (예를 들어, 양자 도트 게이트들, 제1 게이트들(162) 및 제2 게이트들(164) 상의 전압들을 제어함으로써) 제3 게이트들(166) 아래의 양자 우물 층의 영역들 내로 선택적으로 끌어들일 수 있는 캐리어들의 저장소 역할을 할 수 있다. 다른 실시예들에서, 양자 도트 디바이스(100)는 측방향 축적 영역들을 포함하지 않을 수 있지만, 대신에 양자 우물 스택(146) 내에 도핑된 층들을 포함할 수 있다. 이러한 도핑된 층들은 양자 우물 층에 캐리어들을 제공할 수 있다. 축적 영역들(예를 들어, 도핑되거나 도핑되지 않음) 또는 양자 우물 스택(146) 내의 도핑된 층들의 임의의 조합이 본 명세서에 개시된 양자 도트 디바이스들(100)의 실시예들 중의 임의의 것에서 사용될 수 있다.
하이브리드 고전 양자 컴퓨터를 위한 장치 및 방법
Richard Feynman이 1982년에 양자 물리학이 양자 컴퓨터를 사용하여 효율적으로 시뮬레이션될 수 있는지를 질문한 후, 양자 컴퓨터를 연구하는 많은 활동은 고전적 계산보다 우위에 있는 그것의 보편성과 효율성에 초점을 맞추어 왔다. 그러한 예들 중 하나는 1985년의 David Deutsch의 양자 튜링 머신으로, 이는 임의의 물리적 객체에 의해 수행될 수 있는 임의의 계산 작업을 수행하도록 프로그래밍될 수 있다.
이론들 및 알고리즘들과는 대조적으로, 양자 물리적 머신은 아직 초기 단계에 있다. 양자 정보 프로세싱 시스템을 구축하려는 노력은 현재까지 약간의 성공을 거두었다. 극소수의 큐비트에서 양자 연산들의 작은 세트를 수행할 수 있는 소형 양자 컴퓨터들은 양자 계산의 최신 기술을 나타낸다. 추가로, 양자 상태들은 이들이 제한된 기간 동안에만 일관성을 유지한다는 점에서 취약하다. 알고리즘들과 물리적 머신들 사이의 이러한 격차는 하이브리드 고전 양자 알고리즘을 발명하려는 노력을 주도해왔다. 최근의 일부 양자 알고리즘 개발은 변형 고유해결자(eigensolver)(P. J. J. O'Malley, 2016)와 같은 더 큰 고전적 최적화 루프에 내장된 서브루틴들로 형성된 양자 계산들을 수행하기 위해 짧은 깊이의 양자 회로들에 초점을 맞추었다. 양자 언어들, 도구들 및 흐름들이 개발되어, 양자 컴퓨팅의 엄격한 리소스 제약에 대처하기 위해 애플리케이션들을 양자 물리 계층으로 번역하고 최적화하기 위한 소프트웨어 계층들/스택들을 제공한다(Frederic T. Chong, 2017년 9월 14일).
하드웨어 측면에서, 고전 컴퓨터들은 양자 계산들을 위한 오류 정정을 수행하는 데 사용되었다. "양자 코-프로세서" 모델은, 최신 컴퓨터 시스템들 내의 CPU들이 GPU들과 상호작용하는 방식과 유사한 방식으로, 고전 CPU가 양자 프로세싱 유닛을 제어하는 가장 유리하고 우세한 실행 모델이다. (X.Fu, 2016년 5월) 및 (X.Fu, 2018년)에 설명된 바와 같이, 실험용 초전도 양자 코-프로세서들을 위한 마이크로아키텍처는 고전적 명령어를 호스트 CPU로, 그리고 양자 명령어를 양자 코-프로세서로 조종하기 위한 코드 페치 데이터 경로 상의 중재자, 호스트 CPU와 양자 코-프로세서 간의 레지스터 파일들을 동기화하기 위한 교환 레지스터 파일, 및 양자 명령어 캐시와 같은 피처들을 포함했다.
그러나, 이러한 메커니즘들에 대한 마이크로아키텍처들은 잘 정의되지 않았으며 하이브리드 고전-양자 프로그램에 대한 명시적인 지원이 부족하다. 결과적으로, 양자 컴퓨터, 특히 다양한 양자 프로그램 세트를 실행하는 데 필요한 양자 컴퓨터 내에서 양자 코-프로세서가 어떻게 구현될지는 불분명하다. 하이브리드 고전-양자 알고리즘들을 실행하기 위한 유연하고 프로그래밍가능한 모델은 아직 개발되지 않았다.
본 발명의 일 실시예는 CPU와 같은 프로세서의 명령어 세트 아키텍처(instruction set architecture)(ISA)에 양자 명령어들의 세트를 추가한다. 예로서, 이러한 명령어들은 (예를 들어, x86 플랫폼을 위한 AVX-512 확장과 같은) ISA에 대한 확장에 포함될 수 있다. 추가로, 일 실시예에서, 양자 엔진이 프로세서의 실행 유닛에 추가되고, 새로운 양자 명령어들이 양자 엔진의 기능 유닛들에서 페치, 디코딩, 스케줄링 및 실행된다. 일 실시예에서, 양자 엔진은 공유된 레지스터 파일 및/또는 시스템 메모리를 사용하여 고전적 실행 엔진과 상호작용한다. 양자 명령어들(또는 여기에 설명된 특정 실시예들에서 양자 uop들)을 실행할 때, 양자 실행 엔진은 양자 프로세서 내의 큐비트들의 상태를 조작하기 위한 제어 신호들을 생성한다. 또한, 양자 엔진은 큐비트들의 지정된 세트들을 측정하고 결과들을 저장하는 명령어들을 실행한다. 이러한 실시예들에서, 양자/고전 인터페이스는 고전 프로세서의 양자 엔진과 양자 프로세서 사이의 연결성을 제공한다.
도 2는 비-양자 명령어들(201B)과 동일한 파이프라인 리소스들을 이용하여, 양자 명령어들(201A) 및 비-양자 명령어들(201B)을 페치, 디코딩 및 실행하는 프로세서 또는 코어(210)의 일 실시예를 도시한다. 본 실시예의 프로세서/코어(210)는 프로세서/코어(210)의 기존 ISA에 대한 양자 확장들을 지원한다(예를 들어, 양자 명령어들(201A)을 포함하도록 ISA를 확장함). 양자 및 비-양자 명령어들을 포함하는 프로그램 코드(205C)는 (예를 들어, 확장 ISA를 이용하여) 프로그래머에 의해 작성된 소스 코드(205A)로부터 컴파일러(205B)에 의해 생성된다. 다양한 소스/프로그램 코드 예들이 아래에 제공된다.
양자 및 비-양자 명령어들(201A-B)은 명령어 파이프라인의 프론트 엔드에서 메모리(205)로부터 페치되어 레벨 1(L1) 명령어 캐시(201)에 저장된다. 명령어들 및 데이터는 또한 메모리 요청들 및 캐시 일관성을 관리하는 캐시/메모리 서브시스템(215) 내에서 레벨 2 또는 레벨 3 캐시 내에 저장될 수 있다.
디코더(202)는 명령어들(201A-B)을, 스케줄러(203)에 의한 실행을 위해 스케줄링되고 실행 회로(204)에 의해 실행되는 마이크로 연산들 또는 uop들(203A)로 디코딩한다. 일 실시예에서, 파이프라인의 특정 스테이지들은 양자 명령어들(201B)을 프로세싱하기 위한 하드웨어 지원을 포함하도록 향상되는 한편, 다른 스테이지들은 변경되지 않는다. 예를 들어, 양자 디코딩 회로(202A)는 비-양자 디코딩 회로(202B)가 비-양자 명령어들(201B)을 디코딩하는 것과 마찬가지로 양자 명령어들(201A)을 디코딩하기 위해 디코더(202)에 추가될 수 있다. 설명의 목적을 위해 도 2에 별개의 컴포넌트들로서 도시되어 있지만, 양자 디코딩 회로(202A) 및 비-양자 디코딩 회로(202B)는 회로 및/또는 마이크로코드의 공통 또는 중첩 세트를 포함할 수 있다. 예를 들어, 일 실시예에서, 기존 디코더는 양자 uop들의 새로운 세트들을 생성하기 위해 양자 명령어들에 대한 마이크로코드 지원을 (예를 들어, 마이크로코드 ROM 내에) 포함하도록 확장될 수 있다. 디코더(202)는 프로세서 아키텍처에 따라 디코딩 테이블 구조들의 세트(예를 들어, 도 3 및 연관된 텍스트 참조)와 같은 다른 디코딩 회로를 포함한다.
일 실시예에서, 디코더(202)는 명령어들(201A-B)을 디코딩하는 것에 응답하여 uop들(203A)의 시퀀스를 생성한다. 양자 및 비-양자 명령어들을 사용한 구현에서, uop들은 양자 uop들 및 비-양자 uop들의 혼합을 포함할 수 있으며, 다음으로, 이들은 명령어 스케줄러(203)에 의해 실행을 위해 스케줄링된다.
디코더(202)에 의해 생성된 양자 및 비-양자 uop들(203A)은 종속성들 및/또는 실행 리소스 이용가능성에 따라 uop 큐(들)로부터 uop들을 디스패치하는 스케줄러(203)의 하나 이상의 uop 큐 내에서 실행을 위해 초기에 큐잉될 수 있다. 본 발명의 실시예들은 상이한 유형의 스케줄러들을 갖는 여러 상이한 유형들의 프로세서에서 구현될 수 있다. 예를 들어, 일 실시예에서, 실행 "포트"들의 세트는 스케줄러(203)를 실행 회로(204)에 결합하고, 여기서 각각의 실행 포트는 기능 유닛들의 특정 세트(204C-E)에 uop들을 발행할 수 있다. 도 2에 보여진 예시적인 아키텍처에서, 예를 들어, SIMD 및 부동 소수점(FP) uop들은 FP/SIMD 기능 유닛들의 세트(204C)에 결합된 FP/SIMD 실행 포트를 통해 스케줄러(203)에 의해 발행될 수 있고, 정수 uop들은 정수 기능 유닛들(204D)의 세트에 결합된 정수 포트를 통해 발행될 수 있다. 단순성을 위해, 2가지 유형의 비-양자 기능 유닛만이 도시되어 있지만, 프로세서/코어(210)는 (예를 들어, 로드/저장 어드레스 생성 유닛, 분기 유닛, 추가 SIMD 및 정수 유닛들 등과 같은) 다양한 다른/추가 비-양자 기능 유닛들을 포함할 수 있다.
도 2에 도시된 특정 실시예에서, 양자 엔진 기능 유닛들(204E)은 레거시 프로세서 기능 유닛들(204C-D)에 의해 사용되는 레지스터 파일들의 동일한 세트(204A-B)를 공유한다. 이러한 특정 예에서, 레지스터 파일들(204A-B)은 FP/SIMD 기능 유닛들(204C)에 의해 사용되는 SIMD 피연산자들 및 부동 소수점을 저장하는 FP/SIMD 레지스터 파일(204A), 및 정수 기능 유닛들(204D)에 대한 정수 피연산자들을 저장하는 정수 레지스터 파일(204B)을 포함한다. 일 구현에서, FP/SIMD 레지스터 파일(204A)은 512 비트 벡터 레지스터들을 포함하고, 정수 레지스터 파일(204B)은 64비트 스칼라 레지스터들을 포함한다. 물론, 상이한 프로세서 아키텍처들은 양자 엔진 기능 유닛들(204E)에 의해 공유되는 상이한 유형들의 레지스터들을 사용할 것이다. 제어/상태 레지스터들 및 마스크 레지스터들의 세트와 같은 다양한 다른 유형들의 레지스터들이 또한 사용될 수 있다.
양자 uop들이 비-양자 uop들과 혼합되는 실시예에서, 양자 uop들은 하나 이상의 양자 포트를 통해 기본 양자 연산들을 수행하기 위해 양자 uop들을 실행하는 양자 엔진 기능 유닛들의 세트(204E)에 발행된다. 예를 들어, 양자 엔진 기능 유닛들(204E)은 양자 uop들에 응답하여 양자 프로세서(207)의 큐비트들을 조작하고 측정하기 위해 양자-고전 인터페이스(206)를 통해 제어 신호들을 생성할 수 있다.
양자-고전 인터페이스(206)는 양자 엔진 기능 유닛들(204E)에 의해 생성된 디지털 양자 제어 신호들을, (예를 들어, 아래에 설명된 코드워드 트리거 펄스 생성(codeword triggered pulse generation)(CTPG) 유닛들 및 임의 파형 발생기(Arbitrary Waveform Generator)(AWG)와 같이) 양자 프로세서(207)를 제어하는 데 필요한 아날로그 신호들로 변환하기 위한 디지털-아날로그(D-A) 회로를 포함하고, 또한 물리적 큐비트 측정들을 디지털 결과 데이터로 변환하는 아날로그-디지털(A-D) 회로를 포함한다.
일 실시예에서, 양자-고전 인터페이스(206)는 명령어 프로세싱 파이프라인의 다른 컴포넌트들(예를 들어, 실행 회로(204), 스케줄러(203), 디코더(202) 등)과 동일한 반도체 칩에 통합된다. 아래에서 상세히 논의되는 바와 같이, 양자 프로세서(207)의 특정 물리적 구현에 따라 상이한 유형들의 회로/로직 컴포넌트들이 사용될 수 있다.
도 3은 프리-디코딩 버퍼(301B), 양자/비-양자 디코더 회로(202A-B, 302A-B)의 이중 세트들을 갖는 2웨이 디코더(302), 명령어 번역을 위한 이중 룩업 테이블(XLAT), 및 ucode ROM(304)을 포함하는 저전력 프로세싱 파이프라인에 양자 명령어 프로세싱 지원이 추가되는 일 실시예를 도시한다. 일 실시예에서, XLAT 컴포넌트들(303, 305) 및 ucode ROM(304)은 로직 블록들(303Q-305Q)에 의해 표시된 바와 같이 양자 명령어들을 지원하도록 확장된다. 프리-디코딩 버퍼(301B)는 2웨이 디코더(302)에 의한 uop로의 전체 디코딩 이전에 매크로-명령어(macro-instruction) 경계들을 검출하고 표시한다.
양자 및 비-양자 uop들에 대한 피연산자들은 공유된 레지스터들(321)의 세트(위에서 설명됨)에 저장되고, uop들을 실행할 때 양자 기능 유닛들(204E)에 의해 액세스된다. Q-C 인터페이스(206)는 양자 uop들에 응답하여 양자 프로세서(207)의 동작을 제어한다.
양자-고전 인터페이스(206)의 상이한 예들이 도 4a - 도 4b에 도시되어 있다. 도 4a의 Q-C 인터페이스(206)는 양자 엔진 기능 유닛들(204E)에 의해 실행되는 uop들에 응답하여 복수의 코드워드 트리거 펄스 생성(CTPG) 유닛(402A-C)의 동작을 제어하기 위해 코드워드들을 생성하는 복수의 uop 유닛(401A-C)을 포함한다. 이에 응답하여, CTPG 유닛들(402A-C)은 양자 프로세서(207)의 큐비트들을 제어하기 위해 펄스들의 시퀀스들을 생성한다. 양자 프로세서(207)가 지정된 실행 상태에 도달하고 나면, 측정 판별 유닛들(MDU들)(403A-B) 중 하나 이상에 의해 양자 측정들이 취해진다.
도 4b에 도시된 Q-C 인터페이스(206)는 RF 마이크로파 유닛(451), 다중 채널 임의 파형 발생기(AWG)(452), 하나 이상의 디지털-아날로그 변환기(DAC)(453) 및 하나 이상의 측정 유닛(454)을 포함하는, 마이크로파 복소 신호 생성을 수행하기 위한 컴포넌트들의 세트를 포함한다. 일 실시예에서, 이러한 컴포넌트들 각각에 대한 입력은 양자 엔진 기능 유닛(204E)에 의해 생성된 코드워드들의 세트를 포함하고, 출력은 양자 프로세서(207)의 큐비트들의 상태를 조작하는 아날로그 파형이다. 측정 유닛들(454)은 실행 시에 지정된 포인트에서 하나 이상의 큐비트에 연관된 현재 상태를 측정한다.
분석 및 논의를 추가로 안내하기 위해, 시간 전개될(time-evolved) 다체 무질서 해밀토니안(many-body disordered Hamiltonian)에 대한 양자 회로를 보여주는 도 5a에 구체적인 예가 도시된다. Rx 및 Ry가 회전하는 각도는 수 개의 매개변수로부터 도출된다는 점에 유의해야 한다. 특히, k ∈{0,1,…,5,6}인 hk z 및 hk x는 무작위로 생성되고, 기본 양자 칩이 지원하는 것보다 많은 수의 큐비트를 요구하는 대규모 다체 시스템들(large many-body systems)을 에뮬레이트하기 위해 사용된다.
계산의 일부에 이 회로를 사용하는 양자 프로그램의 일례가 도 5b에 도시되어 있고, 이는 양자 명령어들과 비-양자 명령어들의 혼합을 포함한다(소스 코드 오른쪽에 주석으로 표시됨). 이 예에서, NR은 무질서 실현들(disorder realizations)(즉, 대규모 다체 시스템을 에뮬레이트하기 위한 복수의 작은 무작위 실현들)의 수이고, NQ는 큐비트 수이고, NP는 확률(Pr) 상의 요구되는 정밀도를 달성하기 위한 반복 횟수이고, NT는 트로터 스텝들(Trotter steps)들의 수이고, a[i]는 큐비트 측정을 누적한다. 큐비트들이 |0> 또는 |1> 상태에 있을 확률은 측정(NP)을 반복하고 평균을 구함으로써 획득된다.
이 프로그램 구조는 여기에 설명된 고전 양자 프로세싱 아키텍처들에서 고전적 연산들과 양자 연산들이 어떻게 밀접하게 얽혀 있고 실행될 수 있는지를 보여준다. 이 프로그램을 실행하는 가장 효율적인 방법은 다른 고전적 실행 엔진들(204A-B)(예컨대, 정수, 부동 소수점 등)에 대한 실행 엔진 피어로서 구성된 큐비트들을 제어하기 위한 양자 엔진 기능 유닛들(204E)로, 위에서 설명된 것들과 같은 파이프라인 내의 모든 명령어를 프로세싱하는 것이다.
도 6a - 도 6b는 도 5a의 프로그램 코드에 응답하여 수행되는 양자 연산들의 예를 제공한다. 특히, 도 6a는 도 5a의 양자 회로의 강조 표시된 부분(501)을 구현하기 위한 양자 어셈블리 언어(quantum assembly language)(QASM) 코드(601)의 부분을 도시한다. QASM 코드(601)는 메모리(205)에서 하이브리드 프로세서 프로그램 코드(602)로 컴파일된다. 이 예에서, 공유된 레지스터 파일들(321 또는 204B)의 레지스터들 RBX 및 RBX + 1은 이러한 특정 예에서 로직 큐비트들 #2 및 #3을 각각 어드레싱하기 위한 큐비트 인덱스들을 유지하는 데 사용된다. 하이브리드 프로세서 프로그램 코드(602)에 대한 QASM 코드(601)의 관련 부분들의 매핑은 화살표들로 표시된다.
도 6b는 (CNOT 게이트를 구현하기 위한) 양자 매크로명령어 QCNOTUP이 디코더(202)에 의해 일련의 uop들(605)로 디코딩되는 방법을 도시한다. uop들(605)은 지정된 코드워드 또는 커맨드 패킷 포맷(606)을 갖는 코드워드들을 생성하기 위해 양자 엔진 기능 유닛들(204E)에 의해 실행된다. 하나의 특정 포맷에서, 제1 데이터 필드는 연산이 수행될 큐비트(이 예에서, 큐비트 3)를 나타내고, 제2 데이터 필드는 연산이 전송될 채널(채널 4)을 나타내고, 제3 필드는 커맨드 상태(예를 들어, 단일 커맨드 상태)를 나타내고, 및 제4 데이터 필드는 큐비트의 유형(트랜스몬 큐비트)을 나타낸다. 물론, 본 발명의 기본 원리들은 임의의 특정 인코딩 포맷으로 제한되지 않는다.
본 발명의 일 실시예에 따른 방법이 도 7에 도시되어 있다. 방법은 위에서 설명된 프로세서 아키텍처의 맥락에서 구현될 수 있지만, 임의의 특정 프로세서 또는 시스템 아키텍처로 제한되지 않는다.
블록(701)에서, 양자 명령어들을 포함하는 소스 코드는 양자 및 비-양자 명령어들을 갖는 런타임 프로그램 코드를 생성하도록 컴파일된다. 블록(702)에서, 양자/비-양자 명령어들은 메모리로부터 페치되고 로컬 캐시(예를 들어, L1 명령어 캐시) 또는 명령어 버퍼에 저장된다. 언급된 바와 같이, 양자 명령어들은 파이프라인 내에서 비-양자 명령어들과 자유롭게 혼합될 수 있다.
블록(703)에서, 양자 및 비-양자 명령어들은 양자 및 비-양자 uop들의 세트로 각각 디코딩되고, 실행 전에 큐에 저장된다. 블록(704)에서, 양자/비-양자 uop들은 uop 및/또는 리소스 종속성들에 기초하여 실행을 위해 스케줄링된다. 예를 들어, 제1 uop가 제2 uop의 결과에 의존한다면, 제1 uop는 제2 uop에 의해 생성된 데이터가 레지스터 중 하나에서 이용가능한 경우에만 실행을 위해 스케줄링될 수 있다. 마찬가지로, 특정 기능 유닛이 사용 중(busy)이라면, 스케줄러는 해당 기능 유닛을 필요로 하는 uop를 스케줄링하기 전에 기능 유닛이 이용가능하다는 표시를 기다릴 수 있다. 다양한 다른/추가 스케줄링 기술이 구현될 수 있다(예를 들어, 우선순위, 레지스터 로드 등에 기반한 스케줄링).
블록(705)에서, 양자 uop들 및 비-양자 uop들은 실행 회로 내의 그들 각각의 기능 유닛들에서 실행된다. 언급된 바와 같이, 공유된 레지스터 세트는 이러한 uop들에 의해 요구되는 소스 및 목적지 피연산자들을 저장하기 위해 사용될 수 있다.
블록(706)에서, 양자 uop들의 실행에 의해 생성된 결과들은 양자 프로세서에서 큐비트들의 양자 상태를 제어하기 위해 인터페이스 유닛에 대한 입력으로서 사용될 수 있다. 일 실시예에서, 양자 채널, 양자 프로세서 내의 하나 이상의 큐비트, 큐비트 유형 및/또는 커맨드 상태를 식별하는 일련의 코드워드 또는 커맨드 패킷들이 생성될 수 있다. 코드워드 또는 커맨드 패킷에 대한 응답으로 수행되는 특정 물리적 동작들은 사용된 양자 프로세서의 기본 유형에 기초한다.
본 명세서에 설명된 실시예들은 기존 프로세서 파이프라인 내에 양자 명령어들을 통합한다. 긴밀한 통합으로 인해, 이러한 실시예들은 현재 코-프로세서 설계들에 연관된 다양한 오버헤드들/병목 현상들을 상당히 감소시킨다. 이러한 오버헤드들/병목 현상들은 예를 들어 소프트웨어 스택 내의 고전적 계산 계층/모듈과 양자 계산 계층/모듈 간의 통신, 및 메시지 큐를 통한 고전 CPU와 양자 칩 간의 통신을 포함한다. 비교적 작은 크기의 양자 루틴들을 고려하여, 현재의 GPU-유사 코-프로세서 구현은 비효율적이다.
증가된 고전적 프로세싱 능력들로 인해, 하이브리드 코-프로세서 모델들은 오버헤드의 일부를 감소시킨다. 하이브리드 코-프로세서 모델을 지원하는 하나의 특정 구현에서, 다수의 새로운 마이크로아키텍처 메커니즘들이 도입되었다. 그러나, 이러한 마이크로 아키텍처 메커니즘들은 고전 CPU와 양자 코-프로세서 간의 경계처럼 모호하게 정의되었다.
대조적으로, 여기에 설명된 하이브리드 아키텍처에서, 고전적인 계산 파이프라인은 파이프라인의 프론트 엔드에서(즉, 매크로명령어 레벨에서), 그리고 파이프라인의 백엔드 내에서(예를 들어, 양자 uop들이 비-양자 uop들과 혼합되는 경우) 모두, 비-양자 명령어들과 자유롭게 혼합될 수 있고 프로세서의 실행 회로 내의 기능 유닛들에서 실행되는 양자 명령어들의 정의된 세트를 완전히 지원하도록 구비된다.
양자 실행 엔진 및/또는 코-프로세서를 위한 스케일링가능한 큐비트 어드레싱 모드
양자 컴퓨팅에서, 큐비트는 고전적인 바이너리 비트의 양자 유사점인 양자 정보의 유닛이다. 양자 로직 연산들을 나타내는 양자 게이트들을 큐비트에 직접 적용함으로써 계산이 달성된다. 수학적으로, 이 컴퓨팅 프로세스는 큐비트들이 단일 변환들을 거치는 것으로서 설명된다. 계산이 완료되면, 큐비트 상태들에 관한 정보를 얻기 위해 큐비트들이 측정된다.
따라서, 양자 연산을 설명하기 위해, 연산이 적용되는 큐비트 또는 큐비트들의 세트를 식별할 필요가 있다. 양자 프로그램에서, 각각의 양자 명령어는 수행될 연산, 및 연산을 수행할 하나 이상의 큐비트 둘 다를 인코딩해야 한다. 기존의 양자 명령어 세트 아키텍처들(예를 들어, QASM, Open QASM, QIS 등)에서, 레지스터 피연산자들은 일반적으로 명령어의 op코드로 인코딩된다. 이러한 체계는 레지스터 수가 매우 제한적이기 때문에(예를 들어, 16, 32, 64 등) 고전 컴퓨팅에서 작동한다. 그러나, 양자 명령어들은 궁극적으로 매우 많은 수의 큐비트를 어드레싱해야 하므로, 이 체계는 양자 컴퓨팅에 대해 스케일링가능하지 않다. 결과적으로, 양자 명령어들의 op코드 필드에서 큐비트 어드레스들을 인코딩하면 명령어 폭이 폭발적으로 증가한다.
위에서 설명된 바와 같이, 일 실시예에서, 양자 명령어들 및 비-양자 명령어들은 공유된 프로세서 파이프라인 내에서 함께 프로세싱된다. 이와 같이, 양자 명령어들은 비-양자 명령어들에 이용가능한 것들과 동일한 어드레싱 모드들에 의존할 수 있다. 따라서, 이 실시예에서의 큐비트들은 시스템 메모리에 액세스하는 비-양자 명령어들과 유사한 방식으로 어드레싱되어, 많은 수의 큐비트를 수용할 수 있을 만큼 충분히 큰 어드레스 공간을 제공한다.
도 8에 도시된 바와 같이, 이 실시예에서, 양자 엔진 기능 유닛들(204E)은 하나 이상의 uop(805)에 응답하여 큐비트 인덱스 값 또는 큐비트 ID를 결정하는 큐비트 인덱스 생성 유닛(QIG)(802)을 포함한다. 하나 이상의 양자 연산 유닛(801)은 uop들에 의해 지정된 연산들을 프로세싱한다. 다음으로, 그것은 큐비트 인덱스 값(예를 들어, 예에서 큐비트 3에 대한 011)은 잠재적으로, uop들(805)을 프로세싱하는 것에 응답하여 양자 연산 유닛(801)에 의해 생성된 하나 이상의 커맨드와 함께 코드워드/커맨드 패킷(606) 내에 통합된다.
QIG(802)는 프로세서에 의해 지원되는 상이한 어드레싱 모드들에 따라 동작할 수 있다. 일 실시예에서, 명령어는 큐비트 인덱스 값(때때로 큐비트 ID로도 지칭됨)을 포함하는 공유된 레지스터들(321) 중 하나를 식별한다. 다음으로, 그것은 큐비트 인덱스 값을 사용하여 코드워드/커맨드 패킷(606) 내의 큐비트를 식별하고/하거나 큐비트 인덱스 값을 사용하여 연산을 수행하여 하나 이상의 추가 큐비트 인덱스 값을 생성할 수 있다. 예를 들어, 그것은 큐비트 ID 값을 uop에 의해 지정된 정수에 더하여 제2 큐비트 ID를 생성할 수 있다.
이하의 예들은 QIG(802)가 x86 어셈블리 신택스를 사용하여 uop들에 대한 응답으로 큐비트 ID들을 생성하는 한 가지 방법을 보여준다. 이러한 동작들은 양자 명령어들을 지원하도록 확장된 x86 파이프라인 내에서 수행될 수 있다. 그러나, 동일한 일반 원칙들이 임의의 프로세서 아키텍처에서 구현될 수 있다.
단일 큐비트 명령어 "QIROTX [RDI], 1"은 RDI에 저장된 큐비트 번호에 X 게이트를 적용한다. 따라서, RDI가 5를 포함하는 경우, X 게이트는 큐비트 번호 5에 적용된다. 이 예에서, QIG(802)는 단순히 RDI(이 예에서는 공유된 레지스터들(321) 중 하나)에 저장된 값을 판독함으로써 큐비트 ID를 결정한다. 이 실시예에서, RDI 값은 다른 uop에 의해 이전에 저장되었다. 다른 예로서, 아키텍처 레지스터 RBX가 값 2를 포함하는 경우, 2개의 큐비트 명령어 "QCNOTUP [RBX + 3]"은 CNOT 연산을 적용하고, 큐비트 2(q[2])는 제어 큐비트이고, 큐비트 5(q[5])는 타겟 큐비트이다. QIG는 [RBX + 3] 표기법을 다음과 같이 해석한다: 제어 큐비트의 ID는 RBX에 저장되고 제어 큐비트의 ID + 3은 타겟 큐비트 ID이다. 따라서, 어드레싱 체계가 확장되어 2개의 상이한 큐비트가 단일 명령어(즉, CNOT)로 어드레싱될 수 있다. 대조적으로, 고전 컴퓨팅에서, 명령어당 단 하나의 메모리 위치가 어드레싱된다.
도 8은 또한 코드워드/커맨드 패킷(606)을 해석하여 하나 이상의 큐비트(예에서 Q3)를 식별하고, 펄스들의 시퀀스를 생성하여 지정된 양자 연산들을 구현하기 위한, 제어 로직 및 아날로그-디지털 변환기를 포함하는 코드워드 트리거된 펄스 생성기(codeword triggered pulse generator)(CTPG)(402A)를 도시한다. 프로그램 코드(205C)에 의해 지정된 바와 같이 양자 연산들 모두가 수행되었을 때, 양자 연산 회로(801) 및 QIG(802)는 코드워드/커맨드 패킷(606)을 생성하여, 하나 이상의 MDU(403A-B)로 하여금 하나 이상의 큐비트(큐비트 인덱스들을 생성하는 QIG(802)에 의해 지정됨)를 측정하게 한다. 언급된 바와 같이, MDU들은 아날로그 측정값들을 디지털 값들로 변환하기 위한 아날로그-디지털 회로를 포함하고, 이것들은 다음으로 오류들을 검출하고 잠재적으로 정정하기 위해 양자 오류 정정 유닛(808)에 의해 프로세싱된다. 유효한 결과 데이터가 수신된 경우, 그것은 공유된 레지스터들(321) 중 하나 이상 내에 저장되고/되거나 이전 측정 데이터와 함께 누적될 수 있다. 측정값이 오류 정정에 더하여, 측정 피드백에 기초하는 프로그램 흐름 제어에 또한 사용될 수 있다.
양자 오류 정정 유닛(808)은 양자 오류들을 검출 및 정정하기 위한 다양한 기술들을 구현할 수 있다. 예를 들어, 일 실시예에서, (QEC 유닛(808) 내의) 오류 디코더는 양자 프로세서(207)로부터의 다중-큐비트 측정값을 디코딩하여 오류가 발생했는지를 결정하고, 오류가 발생한 경우 (가능하다면) 정정 조치들을 구현한다. 오류 측정값들은 큐비트들의 인코딩된 상태에서 양자 정보를 방해하지 않는 방식으로(예를 들어, 안실라 큐비트들(ancilla qubits)을 사용하여) 다수의 큐비트로부터 취해질 수 있다. 이에 응답하여, QEC 유닛(808)은 오류 신드롬 데이터를 생성하고, 그로부터, 발생한 오류들을 식별하고 정정 동작들을 구현할 수 있다. 일 실시예에서, 오류 신드롬 데이터는 표면 코드와 같은 안정화기 코드를 포함한다. 일부 경우들에서, 응답은 단순히 큐비트들을 재초기화하고 다시 시작하는 것일 수 있다. 그러나, 다른 경우들에서, 양자 프로그램 코드(205C)에서 구현된 양자 알고리즘에 대한 수정들은 오류에 책임이 있는 양자 프로세서의 영역을 안정화하도록 이루어질 수 있다(예를 들어, 컴파일러(205B)가 JIT(just-in-time) 컴파일러를 포함하는 경우). 어느 경우든, CTPG들(402A)은 QEFU(204E)에 의해 생성된 코드워드들/커맨드 패킷들(606)의 제어 하에 기본 물리적 동작들을 수행한다. 예를 들어, CTPG(402A)는 검출된 페이즈 오류에 따라 하나 이상의 큐비트의 페이즈를 조절하거나, 재초기화가 필요한 경우 모든 큐비트의 페이즈/스핀을 리셋하기 위해 전자기 펄스들을 생성할 수 있다.
고전 CPU의 어드레스 메모리와 유사한 방식으로 큐비트들을 어드레싱하는 것은 장래의 양자 프로세서 구현들에 요구되는 스케일링가능성 특성들/속성들을 제공한다. 특히, 위에서 설명된 실시예들은 기존 프로세서 ISA 내에 매끄럽게 통합되고 다수의 큐비트 시스템으로 확장되는 큐비트 인덱싱을 제공한다. 이러한 실시예들은 또한 큐비트 공간을 어드레싱하고 양자 연산들을 기존 프로세서 파이프라인들에 통합하기 위한 x86 또는 다른 아키텍처들로의 양자 확장을 통해 양자 명령어 op코드 공간에서 압력을 제거한다.
본 발명의 일 실시예에 따른 방법이 도 9에 도시되어 있다. 방법은 위에서 설명된 아키텍처들 상에서 구현될 수 있지만 임의의 특정 프로세서 또는 시스템 아키텍처로 제한되지 않는다.
블록(901)에서, 런타임 프로그램 코드로부터의 양자 및 비-양자 명령어들이 페치되고 디코딩되어, 양자 및 비-양자 uop들을 생성한다. 블록(902)에서, 인덱스 생성 유닛은 레지스터 식별자들, 및 임의적으로 uop들에 포함된 하나 이상의 값을 포함하는 양자 uop들을 평가하여 큐비트 인덱스 값을 결정한다. 위에서 설명된 바와 같이, 인덱스들은 uop들에 의해 식별된 레지스터들로부터 큐비트 인덱스 값들을 판독하고 uop들에 포함된 정수 값들을 사용하여 추가 큐비트 인덱스 값들을 생성하는 것을 포함하는 다양한 기술을 사용하여 생성될 수 있다.
블록(903)에서, 양자 실행 회로는 계산된 큐비트 인덱스 값들에 의해 식별된 큐비트들에 대해 수행될 양자 연산들을 지정하는 코드워드를 생성한다. 블록(905)에서, 큐비트 측정들은 추가 uop들에 기초하여 생성된 다른 코드워드에 응답하여 수행된다. 블록(906)에서, 큐비트들 중 하나 이상에 대해 이루어진 아날로그 측정값이 디지털 값들로 변환된다. 다음으로, 오류 정정 및/또는 흐름 제어는 프로세서의 레지스터 파일에 저장된 결과적인 디지털 결과 값들에 기초하여 수행될 수 있다.
큐비트 칩들의 자동 실시간 보정을 위한 장치 및 방법
양자 컴퓨터 설계의 주요 과제들 중 하나는 오류율이 허용가능한 임계값 아래로 유지될 것을 보장하는 것이다. 각각의 개별 양자 게이트에 대한 이상적인 제어 전략은 기본 오류 유형의 특성에 의존하며, 보정 프로세스를 통해 각각의 유형의 오류에 고유하게 제어 전략들을 맞춤화하는 설계들이 제안되었다.
큐비트 보정은 현재 실행 전에 수동으로 수행된다. 많은 알고리즘들이 실행에 긴 시간을 소비하기 때문에 이것은 문제가 되고, 이는 원래의 보정이 더 이상 적용가능하지 않을 수 있음을 의미한다. 결과적으로, 큐비트 게이트들의 충실도는 전체 알고리즘이 구현될 수 없는 지점까지 저하될 수 있다. 따라서, 노이즈의 영향을 상쇄하기 위해 알고리즘의 실행 동안 제어 매개변수들을 보정할 필요가 있다.
트랩된 이온 큐비트들에 대해 실시간 안실라 큐비트 기반 보정이 제안되었다. 그러나, 제안된 프레임워크는 시스템의 일관된 오류들만을 고려하며, 보정을 위한 빠른 제어 알고리즘을 제공하지 않는다.
추가로, 폐쇄 루프 양자 제어를 위한 머신 러닝 기술들을 구현하는 양자 시스템들이 제안되었다. 그러나, 이러한 머신 러닝 방법들은 양자 시스템의 측정들을 필요로 하며, 양자 알고리즘의 실행 동안 배치될 수 없다. 게다가, 현재의 개방 루프 제어 제안들은 양자 시스템에서 실시간 환경 유발 오류들을 고려하지 않는다.
본 발명의 일 실시예는 시스템 동작 동안(예를 들어, 기본 양자 알고리즘의 실행 동안) 실시간으로 큐비트 제어 매개변수들을 학습하고 보정하기 위해 머신 러닝 기술들을 구현한다. 특히, 시스템의 역학을 시뮬레이션하기 위해 고전 또는 양자 모델이 사용되고, 이는 머신 러닝 엔진이 새로운 제어 매개변수들을 예측할 수 있게 한다.
데이터 큐비트들에 가까운 센서들로부터의 노이즈 있는 측정값들은 이러한 센서 값들이 제어 매개변수들과 어떻게 관련되는지를 학습하는 머신 러닝 엔진에 대한 입력으로서 제공된다. 다음으로, 머신 러닝 엔진은 학습된 상관 관계를 사용하여, 시스템의 실시간 변경들을 보상하기 위해 새로운 제어 매개변수들(예를 들어, 새로운/조절된 DC 펄스들)을 예측할 수 있다. 예를 들어, 새로운 제어 매개변수들은 장벽 및 플런저 게이트 전압들로 구현될 수 있다. 시뮬레이션된 모델이 사용되는 구현에서, 모델은 새로운 제어 매개변수들이 타당한지를 검증한다.
도 10a는 머신 러닝 엔진(1030)이 물리적 양자 시스템(1005)으로부터의 피드백에 기초하여 복수의 제어 매개변수 예측(1050A-N)을 렌더링하는 머신 러닝 아키텍처의 일 실시예를 도시한다. 특히, ML 엔진(1030)에 의해 실행되는 제어 매개변수 예측 로직(1050A-N)의 각각의 인스턴스는 양자 시스템의 서브세트에 대한 센서들로부터의 측정 결과들(1070A-N)을 평가하고, 측정된 결과들(예를 들어, 단일 큐비트 또는 적은 수의 큐비트)을 추정값들과 비교하여 차이 값을 결정한다. 다음으로, 그것은 시스템의 해당 부분 내에서 큐비트들을 제어하기 위해 제어 매개변수들(1060A-N)의 세트를 예측한다. 본 발명의 일 실시예는 이러한 방식으로 계속 동작하는데, ML 엔진(1030)은 관련 센서들로부터 측정 피드백(1070A-N)을 수신하고, 제어 매개변수 예측 인스턴스들(1050A-N)은 새로운 제어 매개변수 예측들(1060A-N)을 렌더링한다.
도 10b는 양자 시스템의 실시간 보정을 수행하기 위한 아키텍처의 일 실시예를 도시한다. 이 실시예의 물리적 양자 컴퓨팅 시스템(1005)은 본 명세서에 설명된 상이한 양자 프로세서들 및 양자 제어 아키텍처들(예를 들어, 양자 프로세서(207), CPTG 유닛들(402A-B), MDU들(403A-B) 등) 중 임의의 것을 사용하여 구현될 수 있다. 그러나, 본 발명의 기본 원리들은 이러한 특정 구현으로 제한되지 않는다는 점에 유의해야 한다. 일 실시예에서, 양자 프로세서(207)는 양자 도트 프로세서를 포함하지만; 본 발명의 기본 원리들은 양자 도트 프로세서들로 제한되지 않는다.
일 실시예에서, 물리적 양자 시스템(1005)은 RF 제어 펄스들의 시퀀스를 통해(예를 들어, CTPG 유닛들(402A-C)을 통해) 초기 상태(1000)로 구성된 복수의 큐비트 Q1-Q6을 포함하는 양자 프로세서(207)를 포함한다. 초기 상태(1000)에 있게 되면, 양자 시스템(1005)의 큐비트들 Q1-Q6은 양자 알고리즘을 구현하기 위해 지정된 제어 매개변수들(1001)에 따라 RF 펄스들, DC 펄스들, 또는 제어 펄스들의 조합의 추가 시퀀스들을 통해 조작될 수 있다.
양자 게이트들을 수행하기 위해 데이터 큐비트들에 제어 펄스들을 적용할 때, 공간적으로 이웃하는 큐비트들은 원치 않는 결합들 및 환경적 노이즈로 인해 영향을 받을 수 있다. 이 문제를 해결하기 위해, 본 발명의 일 실시예는 실시간으로 제어 매개변수들(1001)을 최적화하고 보정하는 머신 러닝 엔진(1030)을 포함한다. 특히, 측정된 출력(y)은 데이터 큐비트들의 상태들이 보존되도록 양자 프로세서 칩 상의 센서들로부터 수집된다. 예를 들어, 측정 판별 유닛들(MDU)은 양자 프로세서(207)에서 대응하는 데이터 큐비트들의 상태들을 결정하는 데 사용될 수 있는 안실라 큐비트들의 상태를 결정할 수 있다.
데이터 큐비트들에 로컬 근접한 센서들의 세트는 데이터 큐비트들을 방해하지 않는 측정을 위해 고려된다. 일부 센서들을 데이터 큐비트들에 근접하게 할당함으로써, 머신 러닝 엔진(1030)은 데이터 큐비트들에 적용된 제어 매개변수들(1001)과 센서들로부터의 측정된 출력(y) 사이의 상관관계를 결정할 수 있다. 도 10에 보여진 바와 같이, 이 학습 모델을 사용하여, 추정된 제어 매개변수들이 주어지면 측정 출력들을 추정할 수 있다.
시스템의 시간-전개를 수행하는 수학적/시뮬레이션된 모델(1010)이 사용된다(예를 들어, 양자 시스템(1005)의 역학을 포착함). 예를 들어, 시뮬레이션된 모델(1010)은 고전 컴퓨팅 시스템에서 실행되는 프로그램 코드로 구현될 수 있다. 시뮬레이션된 모델(1010)은 양자 시스템(1005)의 추정된 출력
Figure pat00003
을 생성하는 머신 러닝(ML) 기반 추정기(1036)에 대한 입력으로 사용되는 추정된 제어 매개변수들
Figure pat00004
를 생성한다. 다음으로, 오류 결정 모듈(1035)은 추정된 출력
Figure pat00005
과 측정된 출력 y 사이의 차이를 결정한다.
시뮬레이션된 모델(1010)을 사용하고 센서들로부터의 실제 측정된 값들 y와 ML 기반 추정기(1030)로부터의 추정된 측정 출력들
Figure pat00006
사이의 오차 공분산을 고려하여, 비용 함수를 최소화하도록(즉, 프로세스 충실도를 최대화하도록) 새로운 제어 매개변수들(1001)이 예측된다. 일 실시예에서, 측정된 출력들 y 및 추정된 출력들
Figure pat00007
에 연관된 제어 가중치들의 세트(1020)는 시뮬레이션 모델(1010)에의 입력으로서 결정되고 적용된다. 초기에, 추정된 출력들
Figure pat00008
보다 측정된 출력들 y에 더 많은 가중치가 적용될 수 있다(즉, ML 엔진(1030)이 충분한 학습을 수행하지 않았기 때문에). 학습 후, 추정된 출력들
Figure pat00009
에 더 큰 가중치가 적용될 수 있다. 그러나, 이것은 하나의 예일 뿐이고; 가중치들은 본 발명의 기본 원리를 여전히 준수하면서 다양한 방식들로 조절될 수 있다.
제한이 아닌 예로서, 제어 매개변수들을 실시간으로 보정하기 위해 마르코비안 기반 재귀 학습 알고리즘(Markovian-based recursive learning algorithm)이 사용될 수 있다. 제어 알고리즘은 각각의 페이즈에서 이전 페이즈의 결과만이 요구되도록 예측 및 업데이트 페이즈들을 수행한다. 따라서, 알고리즘은 빠르고, 이전 측정 결과들 또는 제어 매개변수들을 저장하기 위해 큰 메모리를 소비하지 않는다. 알고리즘의 단계들은 다음과 같다:
머신 러닝 엔진(1030)의 일 실시예는 실시간으로 제어 매개변수들(1001)을 최적화하기 위해 강화 학습(Reinforcement Learning)(RL)을 수행한다. 학습 알고리즘은 제어 매개변수들을 큐비트 칩 환경에 송신하고 센서 출력들을 관찰하여, 시스템이 목표 상태에 얼마나 가까운지를 결정한다. 다음으로, 그것은 비용 함수를 최소화하거나 보상 함수를 최대화하는 것을 목표로 제어 매개변수들을 조절한다. 상이한 구현들은 모델 기반 또는 모델 무관 RL 프레임워크를 사용할 수 있다.
예측들을 수행하기 위한 방법의 일 실시예가 도 11과 관련하여 설명될 것이다. 이 방법은 위에서 설명된 아키텍처 상에서 구현될 수 있지만, 임의의 특정 아키텍처로 제한되지 않는다.
동작(1101)에서, 시간 스텝 k-1에서의 선험적(a priori) 제어 매개변수
Figure pat00010
및 선험적 오차 공분산 Pk -1에 대한 초기 추정값들이 시뮬레이션된 수학적 모델에 제공된다. 동작(1102)에서, 초기 추정값들에 기초하여, 시뮬레이션된 모델은 시간 스텝 k에서의 선험적 제어 매개변수들
Figure pat00011
의 추정값들을 예측한다. 동작(1103)에서, 시뮬레이션된 모델은 시간 스텝 k에서 제어 매개변수들의 오차 공분산 P'k(프로세스 노이즈 Q를 고려함)를 예측한다.
제어 매개변수 업데이트들을 수행하기 위한 방법의 일 실시예가 도 12에 관련하여 설명될 것이다. 이 방법은 위에서 설명된 아키텍처들에서 구현될 수 있지만, 임의의 특정 아키텍처로 제한되지 않는다.
동작(1201)에서, 추정된 선험적 오차 공분산 P'k 및 측정 노이즈 R은 제어 이득 Kk(예를 들어, 다양한 제어 매개변수들에 대해 이루어질 조절들)를 계산하기 위해 사용된다. 동작(1202)에서, 제어 이득 Kk 및 선험적 오차 공분산 P'k는 사후(a posteriori) 오차 공분산 Pk를 업데이트하기 위해 사용된다. 동작(1203)에서, 선험적 제어 매개변수
Figure pat00012
는 출력
Figure pat00013
를 추정하기 위해 사용된다. 단계(1204)에서, 선험적 제어 매개변수
Figure pat00014
, 제어 이득 Kk, 및 실제 측정 출력 y와 추정된 출력
Figure pat00015
사이의 오차 차이를 고려하여 사후 제어 매개변수들
Figure pat00016
가 추정된다. 일 실시예에서, 다음으로, 새로운 제어 매개변수들
Figure pat00017
는 양자 시스템에 적용되고, 양자 시스템이 양자 프로그램을 계속 실행함에 따라 프로세스가 계속 반복된다.
본 발명의 실시예들은 다양한 상이한 맥락에서 구현될 수 있지만, 하나의 주목할만한 응용은 정전기적으로 정의된 구속 기반 반도체 양자 도트들로 구성된 양자 프로세서의 제어 매개변수들의 실시간 보정에 관한 것이다. 이러한 시스템에서, 다중-큐비트 게이트들은 원하는 양자 도트들에서 장벽 및 플런저 게이트들에 미세하게 보정된 전압 펄스들을 적용함으로써 수행된다. 용량성 크로스토크로 인해, 근처 양자 도트들의 전기화학적 전위와 터널 결합이 영향을 받는다.
현재 구현들에서, 양자 시스템은 오프라인으로 보정되고, 모든 게이트들 사이의 크로스-커패시턴스의 효과가 계산되고 크로스토크 행렬에 인코딩되어, 크로스토크를 보상하는 가상 양자 동작들을 생성한다. 시스템이 동작 중일 때, 미리 계산된 크로스토크 행렬은 다중-큐비트 게이트들의 제어 매개변수들을 조절하기 위해 사용된다. 그러나, 소정 시간 후, 드리프트는 가상 게이트들이 보정을 상실하게 하고 다중-큐비트 게이트 충실도가 감소하게 한다. 본 명세서에 설명된 본 발명의 실시예들은 확장된 양자 알고리즘이 실행되는 동안 가상 게이트들을 실시간으로 업데이트하기 위해 일부 양자 도트들을 센서로 고려함으로써 보정 드리프트 문제를 해결한다.
또 다른 잠재적 응용은 조셉슨 접합들(Josephson junctions) 및 플럭스-조정가능한 초전도 양자 간섭 디바이스들(flux-tunable superconducting quantum interference devices)(SQUID)에 기초하는 초전도 큐비트들로 구성된 양자 프로세서의 제어 매개변수들의 실시간 보정에 관한 것이다. 이러한 시스템에서, 다중-큐비트 게이트들은 일반적으로 큐비트의 공진 주파수를 수정하거나 두 개의 큐비트 간의 결합을 변경하기 위해 SQUID 루프에 미세하게 보정된 전류 펄스들을 적용함으로써 수행된다. 온-칩 크로스토크로 인해, 근처 큐비트들의 공진 주파수들 및 결합 강도들이 또한 영향을 받는다. 본 발명의 실시예들은 확장된 양자 프로그램이 실행되는 동안 실시간으로 보상을 업데이트하기 위해 일부 초전도 큐비트들 또는 초전도 공진기들을 센서들로 고려함으로써 보정 드리프트 문제를 해결한다. 제어 라인들에 존재하는 히스테리시스는 또한 시스템 매개변수들의 명백한 드리프트의 소스가 될 수 있으며, 본 발명은 이러한 효과들을 완화할 수 있다.
위의 상세한 설명에서, 본 명세서의 일부를 형성하고 실시될 수 있는 실시예들이 예시로서 도시된 첨부 도면들이 참조된다. 본 개시내용의 범위를 벗어나지 않고서 다른 실시예들이 이용될 수 있고 구조적 또는 논리적 변경이 이루어질 수 있음을 이해해야 한다. 따라서, 이하의 상세한 설명은 제한적인 의미로 받아들여져서는 안 된다.
다양한 동작들은 청구된 주제를 이해하는 데 가장 도움이 되는 방식으로 복수의 개별 액션들 또는 동작들로서 차례로 설명될 수 있다. 그러나, 설명의 순서는 이러한 동작들이 반드시 순서 종속적이라는 의미로 해석되어서는 안 된다. 특히, 이러한 동작들은 제시 순서대로 수행되지 않을 수 있다. 설명된 동작들은 설명된 실시예와 다른 순서로 수행될 수 있다. 다양한 추가 동작들이 수행될 수 있고/있거나 설명된 동작들은 추가적인 실시예에서 생략될 수 있다. "제1", "제2", "제3" 등과 같은 용어들은 달리 명시되지 않는 한 특정 순서를 암시하지 않는다.
본 개시내용의 목적을 위해, "A 및/또는 B"라는 문구는 (A), (B), 또는 (A 및 B)를 의미한다. 본 개시내용의 목적을 위해, "A, B, 및/또는 C"라는 문구는 (A), (B), (C), (A 및 B), (A 및 C), (B 및 C), 또는 (A, B 및 C)를 의미한다. 측정 범위들과 관련하여 사용될 때의 "사이"라는 용어는 측정 범위들의 끝을 포함한다. 본 명세서에 사용될 때, "A/B/C"라는 표기는 (A), (B) 및/또는 (C)를 의미한다.
설명은 "실시예에서" 또는 "실시예들에서"라는 문구를 사용하며, 이들은 각각 동일하거나 상이한 실시예들 중 하나 이상을 지칭할 수 있다. 또한, 본 개시내용의 실시예들과 관련하여 사용된 용어들 "포함하는(comprising)", "포함하는(including)", "갖는(having)", 및 그와 유사한 것은 동의어이다.
본 발명의 실시예들은 위에서 설명된 다양한 단계들을 포함할 수 있다. 단계들은 범용 또는 특수 목적 프로세서가 단계들을 수행하도록 하는 데 사용될 수 있는 머신 실행가능한 명령어들로 구현될 수 있다. 대안적으로, 이러한 단계들은 단계들을 수행하기 위한 하드와이어드 로직을 포함하는 특정 하드웨어 컴포넌트들에 의해, 또는 프로그래밍된 컴퓨터 컴포넌트들 및 맞춤형 하드웨어 컴포넌트들의 임의의 조합에 의해 수행될 수 있다.
이하는 본 발명의 상이한 실시예들의 예시적인 구현들이다.
예 1. 장치로서, 복수의 큐비트를 포함하는 양자 프로세서 - 큐비트들 각각은 상태를 가짐 -; 제어 매개변수들의 세트에 기초하여 복수의 큐비트의 상태들을 조작하기 위해 전자기(EM) 펄스들의 시퀀스들을 생성하는 양자 제어기; 하나 이상의 대응하는 측정된 값을 생성하기 위해 복수의 큐비트 중의 대응하는 하나 이상의 큐비트에 연관된 하나 이상의 센서를 측정하는 큐비트 측정 유닛; 및 업데이트된 제어 매개변수들을 생성하기 위해 머신 러닝 프로세스에 따라 하나 이상의 측정된 값을 평가하는 머신 러닝 엔진을 포함하고, 양자 제어기는 업데이트된 제어 매개변수들을 사용하여, EM 펄스들의 후속 시퀀스들을 생성하여 복수의 큐비트의 상태들을 조작하는, 장치.
예 2. 예 1의 장치로서, 머신 러닝 엔진은 센서들로부터 측정값들을 추정하고, 측정된 값들과 대응하는 추정된 값들 사이의 차이들을 결정하여 업데이트된 제어 매개변수들을 결정하는, 장치.
예 3. 예 2의 장치로서, 머신 러닝 엔진은, 추정된 측정값들을 생성하기 위해, 추정된 제어 매개변수들의 세트를 평가하는 머신 러닝 추정기를 포함하는, 장치.
예 4, 예 3의 장치로서, 머신 러닝 엔진은, 추정된 제어 매개변수들의 세트를 생성하기 위한 시뮬레이션된 양자 모델을 더 포함하는, 장치.
예 5. 예 1의 장치로서, 머신 러닝 프로세스는 강화 학습 프로세스를 포함하는, 장치.
예 6. 예 5의 장치로서, 강화 학습 프로세스는 비용 함수를 최소화하거나 측정된 값들 및 추정된 측정값들에 연관된 보상 함수를 최대화하기 위해, 추정된 제어 매개변수들을 생성하는, 장치.
예 7. 예 1의 장치로서, 양자 프로세서는 정전기적으로 정의된 구속-기반 반도체 양자 도트들을 포함하는, 장치.
예 8. 예 1의 장치로서, 양자 프로세서는 조셉슨 접합들 및 플럭스-조정가능한 초전도 양자 간섭 디바이스들에 기초하는 초전도 큐비트들을 포함하는, 장치.
예 9. 예 1의 장치로서, 센서들은 복수의 큐비트의 제1 서브세트를 포함하고, 제1 서브세트 내의 각각의 큐비트는 복수의 큐비트의 제2 서브세트 내의 적어도 하나의 다른 큐비트에 연관되는, 장치.
예 10. 예 1의 장치로서, EM 펄스들은 DC 펄스들을 포함하는, 장치.
예 11. 방법으로서, 제어 매개변수들의 세트에 기초하여 양자 프로세서의 복수의 큐비트의 상태들을 조작하기 위해 전자기 펄스들의 시퀀스들을 생성하는 단계; 하나 이상의 대응하는 측정된 값을 생성하기 위해 복수의 큐비트 중의 대응하는 하나 이상의 큐비트에 연관된 하나 이상의 센서를 측정하는 단계; 머신 러닝 프로세스에 따라 하나 이상의 측정된 값을 평가하는 단계; 머신 러닝 프로세스에 기초하여, 업데이트된 제어 매개변수들을 생성하는 단계; 및 업데이트된 제어 매개변수들을 사용하여, 펄스들의 후속 시퀀스들을 생성하여 복수의 큐비트의 상태들을 조작하는 단계를 포함하는 방법.
예 12. 예 11의 방법으로서, 머신 러닝 프로세스는 센서들로부터 측정값들을 추정하고, 측정된 값들과 대응하는 추정된 값들 사이의 차이들을 결정하여 업데이트된 제어 매개변수들을 결정하는, 방법.
예 13. 예 12의 방법으로서, 머신 러닝 프로세스는, 추정된 측정값들을 생성하기 위해, 추정된 제어 매개변수들의 세트를 평가하는 것을 더 포함하는, 방법.
예 14. 예 13의 방법으로서, 머신 러닝 프로세스는, 시뮬레이션된 양자 모델로 추정된 제어 매개변수들의 세트를 생성하는 것을 더 포함하는, 방법.
예 15. 예 11의 방법으로서, 머신 러닝 프로세스는 강화 학습 프로세스를 포함하는, 방법.
예 16. 예 15의 방법으로서, 강화 학습 프로세스는 비용 함수를 최소화하거나 측정된 값들 및 추정된 측정값들에 연관된 보상 함수를 최대화하기 위해, 추정된 제어 매개변수들을 생성하는 것을 포함하는, 방법.
예 17. 예 11의 방법으로서, 양자 프로세서는 정전기적으로 정의된 구속-기반 반도체 양자 도트들을 포함하는, 방법.
예 18. 예 11의 방법으로서, 양자 프로세서는 조셉슨 접합들 및 플럭스-조정가능한 초전도 양자 간섭 디바이스들에 기초하는 초전도 큐비트들을 포함하는, 방법.
예 19. 프로그램 코드가 저장된 머신 판독가능한 매체로서, 프로그램 코드는 머신에 의해 실행될 때, 머신으로 하여금: 제어 매개변수들의 세트에 기초하여 양자 프로세서의 복수의 큐비트의 상태들을 조작하기 위해 전자기(EM) 펄스들의 시퀀스들을 생성하는 단계; 하나 이상의 대응하는 측정된 값을 생성하기 위해 복수의 큐비트 중의 대응하는 하나 이상의 큐비트에 연관된 하나 이상의 센서를 측정하는 단계; 머신 러닝 프로세스에 따라 하나 이상의 측정된 값을 평가하는 단계; 머신 러닝 프로세스에 기초하여, 업데이트된 제어 매개변수들을 생성하는 단계; 및 업데이트된 제어 매개변수들을 사용하여, 펄스들의 후속 시퀀스들을 생성하여 복수의 큐비트의 상태들을 조작하는 단계의 동작들을 수행하게 하는, 머신 판독가능한 매체.
예 20. 예 19의 머신 판독가능한 매체로서, 머신 러닝 프로세스는 큐비트 상태들에 대한 측정값들을 추정하고, 측정된 값들과 대응하는 추정된 값들 사이의 차이들을 결정하여 업데이트된 제어 매개변수들을 결정하는, 머신 판독가능한 매체.
예 21. 예 20의 머신 판독가능한 매체로서, 머신 러닝 프로세스는, 추정된 측정값들을 생성하기 위해, 추정된 제어 매개변수들의 세트를 평가하는 것을 더 포함하는, 머신 판독가능한 매체.
예 22. 예 21의 머신 판독가능한 매체로서, 머신 러닝 프로세스는, 시뮬레이션된 양자 모델로 추정된 제어 매개변수들의 세트를 생성하는 것을 더 포함하는, 머신 판독가능한 매체.
예 23. 예 19의 머신 판독가능한 매체로서, 머신 러닝 프로세스는 강화 학습 프로세스를 포함하는, 머신 판독가능한 매체.
예 24. 예 23의 머신 판독가능한 매체로서, 강화 학습 프로세스는 비용 함수를 최소화하거나 측정된 값들 및 추정된 측정값들에 연관된 보상 함수를 최대화하기 위해, 추정된 제어 매개변수들을 생성하는 것을 포함하는, 머신 판독가능한 매체.
예 25. 예 19의 머신 판독가능한 매체로서, 양자 프로세서는 정전기적으로 정의된 구속-기반 반도체 양자 도트들을 포함하는, 머신 판독가능한 매체.
예 26. 예 19의 머신 판독가능한 매체로서, 양자 프로세서는 조셉슨 접합들 및 플럭스-조정가능한 초전도 양자 간섭 디바이스들에 기초하는 초전도 큐비트들을 포함하는, 머신 판독가능한 매체.
본 명세서에 설명된 바와 같이, 명령어들은 특정 동작을 수행하도록 구성되거나 비일시적 컴퓨터 판독가능한 매체에 구현된 메모리에 저장된 소프트웨어 명령어들 또는 미리 결정된 기능성을 갖는 주문형 집적 회로(ASIC)와 같은 하드웨어의 특정 구성들을 지칭할 수 있다. 따라서, 도면들에 도시된 기술들은 하나 이상의 전자 디바이스(예를 들어, 엔드 스테이션, 네트워크 요소 등)에 저장되고 실행되는 코드 및 데이터를 사용하여 구현될 수 있다. 그러한 전자 디바이스들은 비일시적 컴퓨터 머신 판독가능한 저장 매체(예를 들어, 자기 디스크, 광학 디스크, 랜덤 액세스 메모리, 판독 전용 메모리, 플래시 메모리 디바이스, 상 변화 메모리), 및 일시적인 컴퓨터 머신 판독가능한 통신 매체(예를 들어, 전기, 광학, 음향, 또는 다른 형태의 전파 신호들, 예컨대 반송파, 적외선 신호, 디지털 신호 등)와 같은 컴퓨터 머신 판독가능한 매체를 사용하여 (내부적으로 및/또는 네트워크를 통해 다른 전자 디바이스들과 함께) 코드 및 데이터를 저장하고 통신한다.
추가로, 이러한 전자 디바이스들은 전형적으로 하나 이상의 저장 디바이스(비일시적 머신 판독가능한 저장 매체), 사용자 입력/출력 디바이스(예를 들어, 키보드, 터치스크린 및/또는 디스플레이), 및 네트워크 연결과 같은 하나 이상의 다른 컴포넌트에 결합된 하나 이상의 프로세서의 세트를 포함한다. 프로세서들 및 다른 컴포넌트들의 세트의 결합은 일반적으로 하나 이상의 버스 및 브리지(버스 제어기라고도 지칭됨)를 통해 이루어진다. 저장 디바이스 및 네트워크 트래픽을 운반하는 신호들은 각각 하나 이상의 머신 판독가능한 저장 매체 및 머신 판독가능한 통신 매체를 나타낸다. 따라서, 주어진 전자 디바이스의 저장 디바이스는 일반적으로 해당 전자 디바이스의 하나 이상의 프로세서의 세트에서 실행하기 위한 코드 및/또는 데이터를 저장한다. 물론, 본 발명의 실시예의 하나 이상의 부분은 소프트웨어, 펌웨어, 및/또는 하드웨어의 상이한 조합들을 사용하여 구현될 수 있다. 이러한 상세한 설명 전반에서, 설명의 목적을 위해, 본 발명의 완전한 이해를 제공하기 위해 다수의 특정 세부사항이 제시되었다. 그러나, 본 발명이 이러한 특정 세부사항의 일부 없이 실시될 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다. 특정 사례들에서, 널리 공지된 구조들 및 기능들은 본 발명의 주제를 모호하게 하는 것을 피하기 위해 정교하게 상세히 설명되지 않았다. 따라서, 본 발명의 범위 및 취지는 이하의 청구항들의 관점에서 판단되어야 한다.

Claims (36)

  1. 장치로서,
    복수의 큐비트를 포함하는 양자 프로세서 - 상기 큐비트들 각각은 상태를 가짐 -;
    제어 매개변수들의 세트에 기초하여 상기 복수의 큐비트의 상태들을 조작하기 위해 전자기(EM) 펄스들의 시퀀스들을 생성하는 양자 제어기;
    하나 이상의 대응하는 측정된 값을 생성하기 위해 상기 복수의 큐비트 중의 대응하는 하나 이상의 큐비트에 연관된 하나 이상의 센서를 측정하는 큐비트 측정 유닛; 및
    업데이트된 제어 매개변수들을 생성하기 위해 머신 러닝 프로세스에 따라 하나 이상의 상기 측정된 값을 평가하는 머신 러닝 엔진
    을 포함하고, 상기 양자 제어기는 상기 업데이트된 제어 매개변수들을 사용하여, EM 펄스들의 후속 시퀀스들을 생성하여 상기 복수의 큐비트의 상태들을 조작하는, 장치.
  2. 제1항에 있어서, 상기 머신 러닝 엔진은 상기 센서들로부터 측정값들을 추정하고, 상기 측정된 값들과 대응하는 추정된 값들 사이의 차이들을 결정하여 상기 업데이트된 제어 매개변수들을 결정하는, 장치.
  3. 제2항에 있어서, 상기 머신 러닝 엔진은, 상기 추정된 측정값들을 생성하기 위해, 추정된 제어 매개변수들의 세트를 평가하는 머신 러닝 추정기를 포함하는, 장치.
  4. 제3항에 있어서, 상기 머신 러닝 엔진은, 상기 추정된 제어 매개변수들의 세트를 생성하기 위한 시뮬레이션된 양자 모델을 더 포함하는, 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 머신 러닝 프로세스는 강화 학습 프로세스를 포함하는, 장치.
  6. 제5항에 있어서, 상기 강화 학습 프로세스는 비용 함수를 최소화하거나 상기 측정된 값들 및 추정된 측정값들에 연관된 보상 함수를 최대화하기 위해, 추정된 제어 매개변수들을 생성하는, 장치.
  7. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 양자 프로세서는 정전기적으로 정의된 구속-기반 반도체 양자 도트들(electrostatically defined confinement-based semiconductor quantum dots)을 포함하는, 장치.
  8. 제7항에 있어서, 상기 양자 프로세서는 조셉슨 접합들(Josephson junctions) 및 플럭스-조정가능한 초전도 양자 간섭 디바이스들(flux-tunable superconducting quantum interference devices)에 기초하는 초전도 큐비트들을 포함하는, 장치.
  9. 제7항에 있어서, 상기 센서들은 상기 복수의 큐비트의 제1 서브세트를 포함하고, 상기 제1 서브세트 내의 각각의 큐비트는 상기 복수의 큐비트의 제2 서브세트 내의 적어도 하나의 다른 큐비트에 연관되는, 장치.
  10. 제1항에 있어서, 상기 EM 펄스들은 DC 펄스들을 포함하는, 장치.
  11. 방법으로서,
    제어 매개변수들의 세트에 기초하여 양자 프로세서의 복수의 큐비트의 상태들을 조작하기 위해 전자기 펄스들의 시퀀스들을 생성하는 단계;
    하나 이상의 대응하는 측정된 값을 생성하기 위해 상기 복수의 큐비트 중의 대응하는 하나 이상의 큐비트에 연관된 하나 이상의 센서를 측정하는 단계;
    머신 러닝 프로세스에 따라 하나 이상의 상기 측정된 값을 평가하는 단계;
    상기 머신 러닝 프로세스에 기초하여, 업데이트된 제어 매개변수들을 생성하는 단계; 및
    상기 업데이트된 제어 매개변수들을 사용하여, 펄스들의 후속 시퀀스들을 생성하여 상기 복수의 큐비트의 상태들을 조작하는 단계
    를 포함하는, 방법.
  12. 제11항에 있어서, 상기 머신 러닝 프로세스는 상기 센서들로부터 측정값들을 추정하고, 상기 측정된 값들과 대응하는 추정된 값들 사이의 차이들을 결정하여 상기 업데이트된 제어 매개변수들을 결정하는, 방법.
  13. 제12항에 있어서, 상기 머신 러닝 프로세스는, 상기 추정된 측정값들을 생성하기 위해, 추정된 제어 매개변수들의 세트를 평가하는 것을 더 포함하는, 방법.
  14. 제13항에 있어서, 상기 머신 러닝 프로세스는, 시뮬레이션된 양자 모델로 상기 추정된 제어 매개변수들의 세트를 생성하는 것을 더 포함하는, 방법.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서, 상기 머신 러닝 프로세스는 강화 학습 프로세스를 포함하는, 방법.
  16. 제15항에 있어서, 상기 강화 학습 프로세스는 비용 함수를 최소화하거나 상기 측정된 값들 및 추정된 측정값들에 연관된 보상 함수를 최대화하기 위해, 추정된 제어 매개변수들을 생성하는 것을 포함하는, 방법.
  17. 제11항에 있어서, 상기 양자 프로세서는 정전기적으로 정의된 구속-기반 반도체 양자 도트들을 포함하는, 방법.
  18. 제11항 또는 제17항에 있어서, 상기 양자 프로세서는 조셉슨 접합들 및 플럭스-조정가능한 초전도 양자 간섭 디바이스들에 기초하는 초전도 큐비트들을 포함하는, 방법.
  19. 프로그램 코드가 저장된 머신 판독가능한 매체로서,
    상기 프로그램 코드는 머신에 의해 실행될 때, 상기 머신으로 하여금:
    제어 매개변수들의 세트에 기초하여 양자 프로세서의 복수의 큐비트의 상태들을 조작하기 위해 전자기(EM) 펄스들의 시퀀스들을 생성하는 단계;
    하나 이상의 대응하는 측정된 값을 생성하기 위해 상기 복수의 큐비트 중의 대응하는 하나 이상의 큐비트에 연관된 하나 이상의 센서를 측정하는 단계;
    머신 러닝 프로세스에 따라 하나 이상의 상기 측정된 값을 평가하는 단계;
    상기 머신 러닝 프로세스에 기초하여, 업데이트된 제어 매개변수들을 생성하는 단계; 및
    상기 업데이트된 제어 매개변수들을 사용하여, 펄스들의 후속 시퀀스들을 생성하여 상기 복수의 큐비트의 상태들을 조작하는 단계
    의 동작들을 수행하게 하는, 머신 판독가능한 매체.
  20. 제19항에 있어서, 상기 머신 러닝 프로세스는 큐비트 상태들에 대한 측정값들을 추정하고, 상기 측정된 값들과 대응하는 추정된 값들 사이의 차이들을 결정하여 상기 업데이트된 제어 매개변수들을 결정하는, 머신 판독가능한 매체.
  21. 제20항에 있어서, 상기 머신 러닝 프로세스는, 상기 추정된 측정값들을 생성하기 위해, 추정된 제어 매개변수들의 세트를 평가하는 것을 더 포함하는, 머신 판독가능한 매체.
  22. 제21항에 있어서, 상기 머신 러닝 프로세스는, 시뮬레이션된 양자 모델로 상기 추정된 제어 매개변수들의 세트를 생성하는 것을 더 포함하는, 머신 판독가능한 매체.
  23. 제19항 내지 제22항 중 어느 한 항에 있어서, 상기 머신 러닝 프로세스는 강화 학습 프로세스를 포함하는, 머신 판독가능한 매체.
  24. 제23항에 있어서, 상기 강화 학습 프로세스는 비용 함수를 최소화하거나 상기 측정된 값들 및 추정된 측정값들에 연관된 보상 함수를 최대화하기 위해, 추정된 제어 매개변수들을 생성하는 것을 포함하는, 머신 판독가능한 매체.
  25. 제19항에 있어서, 상기 양자 프로세서는 정전기적으로 정의된 구속-기반 반도체 양자 도트들을 포함하는, 머신 판독가능한 매체.
  26. 제19항 또는 제25항에 있어서, 상기 양자 프로세서는 조셉슨 접합들 및 플럭스-조정가능한 초전도 양자 간섭 디바이스들에 기초하는 초전도 큐비트들을 포함하는, 머신 판독가능한 매체.
  27. 장치로서,
    복수의 큐비트를 포함하는 양자 프로세서 수단 - 상기 큐비트들 각각은 상태를 가짐 -;
    제어 매개변수들의 세트에 기초하여 상기 복수의 큐비트의 상태들을 조작하기 위해 전자기(EM) 펄스들의 시퀀스들을 생성하기 위한 양자 제어기 수단;
    하나 이상의 대응하는 측정된 값을 생성하기 위해 상기 복수의 큐비트 중의 대응하는 하나 이상의 큐비트에 연관된 하나 이상의 센서를 측정하기 위한 큐비트 측정 수단; 및
    업데이트된 제어 매개변수들을 생성하기 위해 머신 러닝 프로세스에 따라 하나 이상의 상기 측정된 값을 평가하기 위한 머신 러닝 수단
    을 포함하고, 상기 양자 제어기는 상기 업데이트된 제어 매개변수들을 사용하여, EM 펄스들의 후속 시퀀스들을 생성하여 상기 복수의 큐비트의 상태들을 조작하는, 장치.
  28. 제27항에 있어서, 상기 머신 러닝 수단은 상기 센서들로부터 측정값들을 추정하고, 상기 측정된 값들과 대응하는 추정된 값들 사이의 차이들을 결정하여 상기 업데이트된 제어 매개변수들을 결정하는, 장치.
  29. 제28항에 있어서, 상기 머신 러닝 수단은, 상기 추정된 측정값들을 생성하기 위해, 추정된 제어 매개변수들의 세트를 평가하기 위한 머신 러닝 추정 수단을 포함하는, 장치.
  30. 제29항에 있어서, 상기 머신 러닝 수단은, 상기 추정된 제어 매개변수들의 세트를 생성하기 위한 양자 모델을 시뮬레이션하기 위한 수단을 더 포함하는, 장치.
  31. 제27항 내지 제30항 중 어느 한 항에 있어서, 상기 머신 러닝 프로세스는 강화 학습 프로세스를 포함하는, 장치.
  32. 제31항에 있어서, 상기 강화 학습 프로세스는 비용 함수를 최소화하거나 상기 측정된 값들 및 추정된 측정값들에 연관된 보상 함수를 최대화하기 위해, 상기 추정된 제어 매개변수들을 생성하는, 장치.
  33. 제27항 내지 제30항 중 어느 한 항에 있어서, 상기 양자 프로세서 수단은 정전기적으로 정의된 구속-기반 반도체 양자 도트들을 포함하는, 장치.
  34. 제33항에 있어서, 상기 양자 프로세서 수단은 조셉슨 접합들 및 플럭스-조정가능한 초전도 양자 간섭 디바이스들에 기초하는 초전도 큐비트들을 포함하는, 장치.
  35. 제33항에 있어서, 상기 센서들은 상기 복수의 큐비트의 제1 서브세트를 포함하고, 상기 제1 서브세트 내의 각각의 큐비트는 상기 복수의 큐비트의 제2 서브세트 내의 적어도 하나의 다른 큐비트에 연관되는, 장치.
  36. 제27항에 있어서, 상기 EM 펄스들은 DC 펄스들을 포함하는, 장치.
KR1020210162266A 2020-12-23 2021-11-23 큐비트 칩들의 자동 실시간 보정 KR20220091364A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/133,604 2020-12-23
US17/133,604 US12016252B2 (en) 2020-12-23 2020-12-23 System and method for automatic real-time calibration of qubit chips

Publications (1)

Publication Number Publication Date
KR20220091364A true KR20220091364A (ko) 2022-06-30

Family

ID=77910585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210162266A KR20220091364A (ko) 2020-12-23 2021-11-23 큐비트 칩들의 자동 실시간 보정

Country Status (6)

Country Link
US (1) US12016252B2 (ko)
EP (1) EP4020333A1 (ko)
JP (1) JP2022100226A (ko)
KR (1) KR20220091364A (ko)
CN (1) CN114742227A (ko)
TW (1) TW202244796A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625639B2 (en) * 2020-09-28 2023-04-11 Beit Inc. Controllable quantum logic gates with measurement and methods for use therewith
US12016252B2 (en) * 2020-12-23 2024-06-18 Intel Corporation System and method for automatic real-time calibration of qubit chips
CN113516247A (zh) * 2021-05-20 2021-10-19 阿里巴巴新加坡控股有限公司 参数校准方法、量子芯片的控制方法、装置及系统
US20230090148A1 (en) * 2021-09-23 2023-03-23 Microsoft Technology Licensing, Llc Observational bayesian optimization of quantum-computing operations
US20230315516A1 (en) * 2022-04-01 2023-10-05 International Business Machines Corporation Quantum computer performance enhancement
US20240020569A1 (en) * 2022-07-18 2024-01-18 International Business Machines Corporation Dynamic adaptive thresholding for qubit reset
CN117521831B (zh) * 2024-01-04 2024-03-29 合肥微观纪元数字科技有限公司 基于图形处理器的量子误差自动化校准方法及相关设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190042392A1 (en) * 2018-05-05 2019-02-07 Anne MATSUURA Apparatus and method for error reduction using symmetry in a quantum computing system
US20190392352A1 (en) 2018-06-25 2019-12-26 Intel Corporation Adaptive programming of quantum dot qubit devices
US11526793B2 (en) * 2018-10-04 2022-12-13 Intel Corporation Quantum state imaging for memory optimization
CN111191790B (zh) * 2018-10-29 2023-04-18 华为技术有限公司 量子比特控制装置
US11513552B2 (en) * 2018-12-21 2022-11-29 Intel Corporation Apparatus and method for dynamically adjusting quantum computer clock frequency with a locking pulse
US11550977B2 (en) * 2019-01-29 2023-01-10 Intel Corporation Apparatus and method for quantum performance and/or error correction enhancement using multi-qubit gates
US20210182723A1 (en) * 2019-12-13 2021-06-17 Intel Corporation Apparatus and method for quantum circuit synthesis using hardware-specific constraints
US12016252B2 (en) * 2020-12-23 2024-06-18 Intel Corporation System and method for automatic real-time calibration of qubit chips
US20230016817A1 (en) * 2021-06-26 2023-01-19 Intel Corporation Apparatus and method for coherent error mitigation using clifford gate injection

Also Published As

Publication number Publication date
US12016252B2 (en) 2024-06-18
EP4020333A1 (en) 2022-06-29
JP2022100226A (ja) 2022-07-05
US20220199888A1 (en) 2022-06-23
TW202244796A (zh) 2022-11-16
CN114742227A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
KR20220091364A (ko) 큐비트 칩들의 자동 실시간 보정
US11748651B2 (en) Apparatus and method for scalable qubit addressing
EP3836038A1 (en) Apparatus and method for specifying quantum operation parallelism for a quantum control processor
US11704588B2 (en) Apparatus and method for injecting spin echo micro-operations in a quantum processor
US20190042973A1 (en) Apparatus and method for arbitrary qubit rotation
US20190042970A1 (en) Apparatus and method for a hybrid classical-quantum processor
EP3716161A1 (en) Apparatus and method for probabilistic error correction of a quantum computing system
US11550977B2 (en) Apparatus and method for quantum performance and/or error correction enhancement using multi-qubit gates
US20190042264A1 (en) Apparatus and method for single chip quantum control stack
EP3835916A1 (en) Apparatus and method including scalable representations of arbitrary quantum computing rotations
KR20240058051A (ko) 측정 또는 능동 피드백이 없는 양자 에러 정정을 위한 장치 및 방법
US20230244459A1 (en) Hybrid compilation apparatus and method for quantum-classical code sequences
US11954563B2 (en) Apparatus and method for error reduction in distributed quantum systems via fusing-and-decomposing gates
US20230016817A1 (en) Apparatus and method for coherent error mitigation using clifford gate injection
US20220113977A1 (en) Apparatus and method for phase correction in quantum computing systems
US20240193451A1 (en) Optimized integrated circuit for quantum compilation and execution