원문 캡처 · nvidia.github.io
원문 캡처 · nvidia.github.io

엔비디아와 Jülich Supercomputing Centre 연구진은 JUPITER에서 GPU 8,192개를 사용해 104큐비트 마법 상태 준비 프로토콜을 시뮬레이션했다. 이 연구는 오류 허용 양자컴퓨터 설계에 필요한 하드웨어 오류 분석을 위한 것으로, 시뮬레이션 도구의 개발과 검증은 NVIDIA Accelerated Quantum Research Center (NVAQC)의 지원을 받았다.

오류 허용 양자컴퓨터를 구현하려면 저장된 양자 정보를 보호하는 것뿐 아니라 양자 알고리즘의 연산을 안정적으로 수행해야 한다. 주요 오류 정정 구조에서는 ‘마법 상태’라는 특별히 준비된 양자 상태가 이런 연산에 필요한 요소다. 마법 상태를 높은 품질로 만드는 데는 상당한 자원이 들 수 있고 설계상의 불확실성도 크다. 준비 과정에서 하드웨어 오류가 어떤 영향을 미치는지 파악하는 일은 양자 프로세서와 오류 정정 방식을 설계하고 응용 프로그램의 성능을 예측하는 데 중요하다.

연구진은 NVIDIA CUDA-Q와 NVIDIA cuQuantum을 이용해 JUPITER에서 시뮬레이션을 수행했다. JUPITER는 Bull이 구축한 유럽 최초의 엑사스케일 슈퍼컴퓨터다. 이번 협력은 양자 회로를 세밀하게 모델링하고 GPU 가속 시뮬레이션과 분산 수치 분석을 결합했다. 프로젝트에서 가장 큰 실행은 NVIDIA GH200 GPU 8,192개를 사용해 물리 큐비트 104개를 포함하는 마법 상태 준비 프로토콜을 모델링했다.

연구진은 NVAQC에서 도구를 개발하고 검증하는 동시에 JUPITER에서 대규모 실험을 진행했다. 이를 통해 대규모 실행과 병행해 시뮬레이션 소프트웨어를 시험하고 개선할 수 있었다.

오류 허용 연산을 모델링하다

양자 오류 정정에서 사용하는 연산 중 다수는 클리퍼드 연산이다. 적절한 잡음 가정 아래에서는 이를 효율적으로 시뮬레이션할 수 있다. 그러나 범용 양자 계산에는 클리퍼드 연산에 최소 하나 이상의 비자명한 연산을 더해야 한다. 마법 상태가 이를 가능하게 하며, 이 상태의 준비 과정을 시뮬레이션하는 일은 더 어렵다. 하드웨어 오류를 세밀하게 반영해 준비 과정을 시뮬레이션하면 마법 상태를 만드는 방법을 이해하고 개선하는 데 도움이 된다. 이를 위해서는 단순한 모델에서 놓칠 수 있는 양자적 특성을 보존하는 시뮬레이션 방법이 필요하다.

연구는 마법 상태 배양(magic-state cultivation) 프로토콜의 한 구성 요소를 다룬다. 이 과정은 작은 오류 정정 코드에서 상태를 준비하고 오류를 검사한 다음 더 큰 코드 거리로 확장한다. 시뮬레이션한 프로토콜은 거리 3 컬러 코드에서 시작해, 유해한 오류를 찾아내도록 최근 설계된 추가 플래그 측정을 사용한다. 이후 거리 7 하이브리드 컬러·표면 코드 구성으로 확장하고, 추가 오류 정정 라운드와 판독을 수행한다. 104큐비트라는 수치는 이 시퀀스에서 사용한 데이터 큐비트와 보조 큐비트를 모두 포함한다.

JUPITER에서 실행한 모델은 누적되고 간섭할 수 있는 결맞음 위상 오류와, 초전도 큐비트가 통상적인 두 계산 에너지 준위를 벗어나는 누설을 포함한다. 누설을 모델링하기 위해 선택된 물리적 위치에는 세 번째 에너지 준위를 추가했으며, 이로 인해 시뮬레이션의 복잡성이 크게 증가했다. 이 모델은 무작위 비트 및 위상 반전만 가정하는 방식보다 다양한 동작을 살펴보면서 마법 상태를 준비하는 실제 비클리퍼드 연산도 유지한다.

프로토콜은 마법 상태를 준비하고 검사한 뒤 거리 3 컬러 코드에서 거리 7 하이브리드 코드로 확장된다. 애니메이션은 회로의 배치와 게이트 순서를 보여주며, 호박색 고리는 오류가 실제로 발생한 위치가 아니라 누설을 모델링하는 위치를 표시한다. 전체 시뮬레이션은 JUPITER의 GPU 8,192개를 사용했고, 도구 개발과 검증은 NVAQC에서 진행했다.

이 시뮬레이션은 특정 하드웨어 오류가 준비 회로와 검사 과정을 거치며 어떻게 전파되는지 통제된 환경에서 살펴볼 수 있게 한다. 장기적으로는 이러한 동작을 응용 프로그램이 사용하는 논리 연산의 품질과 비용에 연결하는 것이 목표다.

대규모 GPU 시뮬레이션을 위한 도구

양자 상태를 상태 벡터로 직접 표현하면 양자 자유도 수에 따라 필요한 메모리가 지수적으로 증가한다. 누설을 나타내는 세 번째 준위를 추가하면 메모리 요구량은 더 커진다. 따라서 104큐비트 규모에 도달하려면 GPU 하드웨어뿐 아니라 새로운 회로 표현과 실행 도구도 필요했다.

시뮬레이터는 연산 간 의존성과 측정 통계를 보존하면서 연산 순서를 재구성하고, 큐비트를 측정해 해제한 뒤에는 저장 공간을 재사용한다. 또 3준위 시스템을 묶어 이진 표현으로 저장한 뒤 cuQuantum의 cuStateVec 라이브러리에서 실행한다. 예를 들어 3준위 시스템 5개의 기저 상태는 243개이며, 256개 항목을 담을 수 있는 8비트 이진 저장 공간에 들어간다. 이런 기법으로 시뮬레이터는 더 작은 진화 양자 상태를 저장하면서 104큐비트 프로토콜을 추적한다.

GPU 8,192개 구성에서는 45비트로 인코딩한 레지스터가 약 35조 2천억 개의 복소 진폭을 나타낸다. 배정밀도에서 상태 자체는 분산 GPU 메모리 512 TiB를 차지하며, GPU 한 개당 64 GiB에 해당한다. 이 밖에 통신과 수치 분석을 위한 메모리도 필요하다.

프로젝트에서는 NVIDIA cuBLASMp와 cuSOLVERMp를 사용해 분산 분해 도구도 개발했다. 이 도구는 저장된 상태의 일부 구획을 살펴 더 간결한 표현이 정보를 얼마나 보존해야 하는지 조사한다. 이를 통해 근사 시뮬레이션 방법을 상세한 상태 벡터 기준 시뮬레이션과 비교할 수 있다. 기준 시뮬레이션은 원래 상태에서 계속 진행해 연구 중인 궤적을 보존한다.

더 큰 시뮬레이션을 위한 기준 마련

JUPITER에서 수행한 GPU 8,912개 작업은 더 넓은 시뮬레이션 캠페인의 일부다. 연구진은 더 작은 실행을 통해 대규모 실험에 슈퍼컴퓨터 자원을 투입하기 전에 필요한 GPU 수와 계산 비용을 추산한다.

작업 흐름은 회로와 잡음 모델을 정확히 정하는 데서 시작한다. 인코딩된 상태의 크기로 기본 메모리 요구량을 계산하고, 실행 시간과 통신·분석 측정 결과를 자원 계획에 반영한다. 벤치마크에서는 양자 상태를 진화시키는 데 걸리는 시간과 초기화 및 분해에 드는 시간을 나눠 측정한다. 이 작업들은 규모에 따라 다르게 늘어날 수 있다.

모델을 확장할 때 이 구분은 중요하다. 이진 저장 비트 하나를 더하면 상태 벡터 메모리는 두 배가 되지만, 실행 시간은 게이트 배치와 통신, 요청한 분석에도 좌우된다. GPU 수에 실행 시간을 곱하면 이에 해당하는 GPU 시간 예산을 산출할 수 있다. 이 정보는 어떤 실험을 어디서 수행하고 어느 정도의 자원을 확보할지 판단하는 데 쓰인다.

NVAQC에서는 도구를 개발하고 GPU 몇 개부터 수백 개까지 구성을 시험했으며, 독립적인 시뮬레이션 방법으로 결과를 확인했다. 이런 작업은 JUPITER의 대규모 실행과 병행돼, 가장 큰 규모의 자원 할당을 기다리지 않고도 소프트웨어 검증과 과학적 확인을 진행할 수 있었다. NVAQC에서 수행한 작은 패킹 회로 검증 사례에서는 텐서 네트워크의 절단 임계값을 낮추자 독립적인 상태 벡터 계산과 텐서 네트워크 계산의 측정 확률이 약 10⁻¹³까지 일치했다.

같은 접근법은 다른 누설 모델과 회로 일정, 오류 정정 프로토콜을 연구할 때도 활용할 수 있다. 새 작업을 관리 가능한 규모에서 확인하고 메모리 예산을 산정한 뒤, 더 큰 구성으로 확장하기 전에 벤치마크할 수 있다.

양자 프로세서 설계자는 이 시뮬레이션을 통해 어떤 하드웨어 결함을 더 면밀히 살펴야 하는지, 오류 제어 방식이 그런 결함에 어떻게 반응하는지 조사할 수 있다. 응용 연구자는 잡음이 있는 마법 상태 준비 과정과 논리 연산의 품질, 응용 프로그램의 성능을 연결하는 데 활용할 기반을 얻는다. 상세한 기준 시뮬레이션과 검증된 근사 방법을 함께 사용하면 이런 설계 문제를 더 쉽게 살펴볼 수 있다.

GPU 가속 양자 시뮬레이션은 NVIDIA cuQuantum, 양자 프로그래밍과 연구 워크플로는 CUDA-Q에서 확인할 수 있다.