NxM-Version Programming for Quantum Software: High-Level Components across Frameworks and Engines
본 논문은 여러 소프트웨어 프레임워크의 고수준 루틴을 교체 가능한 컴포넌트로 패키징함으로써 N×M 양자 프로그램 실행을 가능하게 하고, 이를 통해 양자 소프트웨어 및 하드웨어의 결함을 체계적으로 탐지하고 격리하기 위한 교차 프레임워크 및 교차 엔진 중복성을 촉진하는 Apache NiFi 기반의 프레임워크인 Quanifi를 소개한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
양자 컴퓨팅은 현재 가장 강력한 슈퍼컴퓨터로도 불가능한 문제들을 해결할 것을 약속하지만, 이러한 기계를 구동하기 위한 소프트웨어를 구축하는 것은 취약하고 혼란스러운 작업입니다. 단순한 온-오프 스위치로 정보를 처리하는 고전 컴퓨터와 달리, 양자 기계는 동시에 여러 상태로 존재할 수 있는 '큐비트(qubit)'를 사용합니다. 이를 작동시키기 위해 프로그래머는 종종 기계의 물리학에 직접적으로 대응하는 코드를 작성하며 정교한 연산 시퀀스를 구축해야 합니다. 이는 양자 역학에 대한 깊은 이해, 복잡한 코드를 작성하는 능력, 그리고 빠르게 변화하는 다양한 소프트웨어 도구들에 대한 익숙함이라는 희귀한 기술의 조합을 요구합니다. 주요 기술 기업과 연구 그룹들은 저마다의 방식, 즉 서로 다른 언어와 규칙을 사용하여 양자 하드웨어와 통신하는 방법을 구축해 왔습니다. 이러한 파편화는 결과가 올바른지 판단하기 어렵게 만듭니다. 왜냐하면 오류가 코드에 있는지, 사용된 도구에 있는지, 아니면 기계 자체에 있는지 알 수 없기 때문입니다.
브라질의 연구진은 이 복잡성을 헤쳐 나갈 새로운 방법을 개발했는데, 이들은 양자 소프트웨어를 써 내려가야 할 텍스트의 벽이 아니라 일련의 파이프를 통과하는 물의 흐름처럼 다루었습니다. 그들은 사용자가 마치 납땜 없이 회로 기판을 조립하듯, 시각적인 화면 위에 미리 만들어진 블록을 드래그 앤 드롭하여 양자 프로그램을 구축할 수 있는 '콴니파이(Quanifi)'라는 시스템을 만들었습니다. 이 접근 방식의 탁월함은 프로그램을 테스트하는 방식에 있습니다. 단일 버전의 계산을 단일 기계에서 실행하는 대신, 이 시스템은 동일한 문제를 세 가지 서로 다른 소프트웨어 도구를 통해, 그리고 세 대의 서로 다른 양자 컴퓨터에서 동시에 실행합니다. 이는 모든 가능한 조합이 한꺼번에 테스트되는 결과 격자를 생성합니다. 만약 답이 서로 다르다면, 시스템은 정확히 어디에서 오류가 발생했는지 찾아낼 수 있습니다. 즉, 소프트웨어 도구의 문제인지, 컴퓨터 하드웨어의 문제인지, 아니면 둘 사이의 특정 결합 문제인지를 지목할 수 있는 것입니다.
연구진은 이 방법을 사용하여 대규모 목록에서 특정 항목을 찾는 데 설계된 고전 탐색 알고리즘인 '그로버 알고리즘(Grover's algorithm)'을 실행했습니다. 그들은 세 가지 서로 다른 소프트웨어 프레임워크인 Qiskit, Cirq, PennyLane을 사용하여 동일한 탐색 루틴을 구축했고, 이를 세계 각지에 위치한 세 대의 서로 다른 양자 컴퓨터(IBM, IQM, Quantum Inspire의 컴퓨터)로 보냈습니다. 이 아홉 가지의 서로 다른 경로를 통해 나온 결과들을 비교함으로써, 그들은 단 하나의 결과만을 보았을 때는 보이지 않았을 불일치를 포착할 수 있었습니다. 그들이 'N×M 실행'이라고 부르는 이 과정은 강력한 안전망 역할을 하며, 양자 컴퓨팅 생태계 전반에 숨겨진 결함을 드러냅니다.
이 조사는 업계에서 사용되는 도구와 기계에서 세 가지 실제 결함을 발견했습니다. 첫 번째 문제는 Quantum Inspire의 기계에서 발견되었습니다. 연구진이 Cirq 소프트웨어 프레임워크를 사용했을 때, 해당 기계는 일관되게 틀린 답을 반환하며 결과의 비트(bit)를 뒤집었습니다. 그러나 동일한 소프트웨어가 다른 두 대의 컴퓨터에서는 완벽하게 작동했으며, 해당 기계에서도 다른 소프트웨어 프레임워크들은 정상적으로 작동했습니다. 이 특정 실패는 기계의 어댑터가 Cirq 명령을 번역하는 방식에 문제가 있음을 가리켰습니다. 알고 보니 어댑터가 특정 유형의 회전 게이트를 잘못된 방향으로 사용하고 있었으며, 이는 큐비트를 원래 의도와 반대 방향으로 회전시키고 있었습니다. 연구진은 오류를 시뮬레이션하여 이를 확인한 후 제공업체에 보고했습니다.
두 번째 결함은 동일한 Quantum Inspire 기계와 관련되었습니다. 소프트웨어 어댑터는 해당 기계가 실제로 수행할 수 없는 특정 복잡한 연산을 수행할 수 있다고 주장했습니다. 연구진이 이 지원되지 않는 연산들을 사용하려고 시자하자, 기계는 경고 없이 조용히 실패하며 잘못된 답을 내놓았습니다. 이는 소프트웨어가 기계가 할 수 있다고 말하는 것과 실제 기계가 할 수 있는 것 사이의 간극을 강조했습니다. 세 번째이자 아마도 가장 중요한 발견은 사용자가 단일 인터페이스를 통해 다양한 양자 컴퓨터에 접속할 수 있게 해주는 미들맨 역할을 하는 '오픈 퀀텀(Open Quantum)'이라는 클라우드 서비스와 관련되었습니다. 연구진은 직접 연결과 이 클라우드 서비스를 통해 동일한 회로 파일을 기기로 보냈습니다. 직접 연결은 작동했지만, 클 클라우드 서비스는 특정 유형의 회로에 대해 잘못된 결과를 반환했습니다. 오류는 미묘했습니다. 서비스가 사용자에게 알리지 않고 명령에서 특정 회전 단계를 조용히 제거하여 계산을 변경한 것이었습니다. 제공업체는 이 파싱 오류를 확인하고 보고 직후 이를 수정했습니다.
이 연구의 가치는 단순히 버그를 찾는 것에 있는 것이 아니라, 그 버그를 찾는 방법에 있습니다. 서로 다른 소프트웨어 프레임워크와 서로 다른 기계를 동시에 실행함으로써, 연구진은 시스템이 어디서 무너지는지를 보여주는 신뢰성의 지도를 만들었습니다. 그들은 일부 도구가 어떤 기계에서는 잘 작동하지만 다른 기계에서는 실패한다는 것과, 일부 클라우드 서비스가 최종 결과만 봐서는 감지할 수 없는 오류를 유발한다는 것을 발견했습니다. 이 접근 방식은 사용자가 양자 물리학 전문가이거나 복잡한 코드를 작성할 필요가 없습니다. 그저 블록을 조립하고 시스템이 결과를 비교하도록 하면 됩니다. 연구진은 자신들의 테스트 중 4-큐비트 버전은 일부 기기에서 노이즈가 너무 심해 확정적인 결론을 내리기 어려웠지만, 2-큐비트 테스트는 명확하고 결정적이었다고 언급했습니다.
이 연구는 신뢰할 수 있는 양자 컴퓨팅으로 가는 길이 더 나은 하드웨어뿐만 아니라, 소프트웨어와 하드웨어가 올바르게 함께 작동하고 있는지 검증하는 방법이 필요하다는 것을 입증합니다. 연구진은 서로 다른 소프트웨어 프레임워크와 서로 다른 기계를 동일한 테스트의 독립적인 버전으로 취급함으로써, 별도로는 숨겨져 있었을 실패들을 격리해 낼 수 있음을 보여주었습니다. 그들은 발견한 세 가지 결함을 모두 보고했으며, 클라우드 서비스 제공업체는 이미 그 오류를 확인하고 수정했습니다. Quantum Inspire 어댑터에 관한 나머지 두 가지 이슈는 아직 검토 중입니다. 이 작업은 양자 컴퓨팅이 실험실을 넘어 실제 세상으로 나아감에 따라, 우리가 얻는 답이 정말로 옳은지 확인하기 위해 이러한 교차 검증이 필수적일 것임을 시사합니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.