When Equivalent Quantum Circuits Lose Synthesis Choices
이 논문은 양자 회로를 OpenQASM과 같은 중간 형식으로 변환하는 과정이 종종 고수준의 구조적 정보를 파괴하여 컴파일러가 최적의 합성 방법을 적용하는 것을 방해한다는 점을 입증하며, 이러한 연산을 기록하고 재구성하여 합성 능력을 복구하기 위한 "Verified" 프레임워크를 제안한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
양자 컴퓨터는 오늘날의 기계들이 해결하는 데 수천 년이 걸릴 문제를 해결할 것을 약속하지만, 매우 취약합니다. 프로그램을 실행하기 위해 과학자들은 자신들의 복잡한 아이디어를 하드웨어가 실제로 실행할 수 있는 단순한 명령 시퀀스로 변환해야 합니다. 이 변환은 마치 거장 건축가와 같은 역할을 하는 소프트웨어인 컴파일러에 의해 수행됩니다. 컴 컴파일러는 데이터에서 패턴을 찾기 위해 사용되는 수학적 변환과 같은 고차원적인 개념을 가져와서, 양자 칩에서 사용 가능한 특정하고 제한된 도구들을 사용하여 이를 정확히 어떻게 구축할지 결정합니다. 결정적으로, 이러한 구조를 구축하는 방법은 종종 한 가지 이상 존재합니다. 어떤 설계는 더 적은 자원을 사용하고 실패할 가능성이 낮은 반면, 다른 설계는 더 견고하지만 비용이 더 많이 듭니다. 컴파일러의 임무는 작업 중인 기기의 특정 조건에 따라 최선의 설계를 선택하는 것입니다.
하지만 이러한 프로그램들이 서로 다른 소프트웨어 도구 간에 공유되고 이동되는 방식에서 조용한 문제가 발견되었습니다. 양자 프로그램이 다른 시스템이 읽을 수 있도록 텍스트로 저장되거나, 한 형식에서 다른 형식으로 변환될 때, 프로그램의 특정 부분을 어떻게 구축할지에 대한 상세한 지침이 사라질 수 있습니다. 프로그램은 수학적 의미에서는 여전히 올바르게 작동하지만, 받는 소프트웨어는 가장 효율적인 설계를 선택할 능력을 상실하게 됩니다. 그 소프트웨어는 기본값인, 종종 더 서투른 구축 방법을 사용하도록 강제됩니다. 이는 아무런 경고 신호 없이 발생합니다. 소프트웨어는 오류를 보고하지 않으며 최종 결과도 동일해 보이지만, 밑바탕이 되는 회로는 훨씬 더 커지고 실패하기 쉬운 상태가 됩니다.
연구자 Boshuai Ye, Peng Liang, 그리고 Arif Ali Khan은 이것이 얼마나 자주 발생하는지와 그 대가가 무엇인지 정확히 측정하기 위해 나섰습니다. 그들은 오늘날 과학자들이 사용하는 세 가지 주요 소프트웨어 프레임워크인 Qiskit, TKET, Cirq에 집중했습니다. 그들은 양자 회로가 텍스트로 내보내진 후 즉시 다시 불러오는 '왕복(round trip)' 과정을 거치거나, 서로 다른 컴파일러 사이를 통과할 때 어떤 일이 일어나는지 테스트했습니다. 그들의 실험은 많은 흔한 시나리오에서 고차원 지침이 제거된다는 것을 드러냈습니다. 예를 들어, 특정 유형의 게이트가 직접적인 텍스트 기반 교환을 통해 전달되었을 때, 그것을 받은 소프트웨어는 더 전문적이고 효율적인 구축 방법을 적용할 수 없었습니다. 프로그램은 여전히 실행되었지만, 더 일반적이고 덜 효율적인 구축 방식을 사용하도록 강제되었습니다.
이러한 손실의 결과는 단지 이론적인 것이 아니라, 측정 가능하며 상당합니다. 데이터베이스에서 항목을 검색하기 위해 설계된 회로를 포함한 한 테스트에서, 최선의 구축 방법을 선택할 수 있는 능력의 상실은 2큐비트 게이트의 수를 37.2% 급증시켰습니다. 양자 컴퓨팅에서 2큐비트 게이트는 가장 오류가 발생하기 쉬운 연산이며, 이러한 게이트를 추가하는 것은 정답을 얻을 확률을 급격히 낮춥니다. 또 다른 테스트 세트에서 연구자들은 프로그램이 텍s 교환을 통해 전달될 때, 이러한 중요한 게이트의 수가 어떤 경우에는 최대 164%까지 증가한다는 것을 발견했습니다. 연구자들은 이러한 효율성 상실이 조용히 일어난다는 점에 주목했습니다. 소프트웨어는 충돌하지 않으며, 프로그램의 논리를 검증하는 표준 점검들도 통과하는데, 왜냐하면 프로그램이 여전히 옳은 답을 계산하지만 훨씬 더 비싼 방식으로 계산하기 때문입니다.
이를 해결하기 위해 팀은 Verified라는 도구를 개발했습니다. 받는 소프트웨어가 원래의 설계를 마법처럼 기억하기를 기대하는 대신, Verified는 프로그램이 전송되기 전에 고차원 연산에 대한 별도의 기록을 유지합니다. 프로그램이 돌아오면, 이 도구는 받은 회로가 여전히 원래의 기록과 일치하는지 확인합니다. 만약 회로가 다른 프로세스에 의해 기록이 구식이 될 정도로 변경되었다면, 이 도구는 고차원 연산을 재구축하는 것을 거부하여 오류를 방지합니다. 만약 기록이 여전히 유효하다면, 고차원 연산을 재구성하여 가장 효율적인 설계를 선택할 수 있는 능력을 복구합니다. 연구진의 테스트에서, 이 방법은 가능한 모든 경우에 요청된 효율적인 설계를 성공적으로 복구했으며, 오래된 기록은 올바르게 거부했습니다.
연구는 계산을 보존하는 것만으로는 충분하지 않다는 결론을 내립니다. 양자 프로그램을 공유하고 컴파일하는 데 사용되는 소프트웨어 도구들은 컴파일러가 사용할 수 있는 '선택지' 또한 보존해야 합니다. 연구자들은 단순히 프로그램을 텍스트로 저장하는 것이 이러한 선택지를 파괴한다는 것을 발견했습니다. 그들은 향에 대한 도구들이 특정 효율적인 설계에 대한 요청이 무시되었을 때 이를 명시적으로 보고해야 하며, 고차원 연산을 재구축하는 데 사용되는 모든 기록을 재구축하기 전에 검증해야 한다고 제안합니다. 이러한 안전장치가 없다면, 양자 컴퓨터가 고전적인 기계를 능가할 수 있는 잠재력은 프로그램을 공유하고 컴파일하는 과정 자체에서 도입되는 불필요한 비효율성에 의해 저해될 수 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.