양자 어셈블리를 구조화된 프로그램으로 디컴파일하기
요약
Quelle은 최적화되고 라우팅된 양자 어셈블리(OpenQASM)를 구조화된 프로그램으로 디컴파일하는 도구입니다. 이 시스템은 알고리즘의 원래 구조(루프, 함수 등)를 복구하여, 평탄한 게이트 목록에 숨겨진 의도를 노출합니다. 테스트 결과, Quelle은 높은 정확도와 효율성으로 기존 LLM 기반 디컴파일러보다 우수한 성능을 보였습니다.
핵심 포인트
- Quelle은 양자 어셈블리에서 구조화된 프로그램을 복구하는 디컴파일러입니다.
- 라우팅 및 최적화로 인해 숨겨진 알고리즘의 원래 구조를 노출합니다.
- 높은 정확도로, 기존 LLM 기반 도구보다 우수한 성능을 입증했습니다.
- 복잡한 양자 회로에서도 높은 동등성(equivalence)과 디컴파일률을 유지합니다.
양자 컴파일러는 프로그램을 네이티브 게이트로 변환하고, 장치에 상호작용을 라우팅(routing)하기 위해 SWAP 게이트를 삽입하며, 결과를 최적화합니다. 그 결과물은 양자 어셈블리(quantum assembly)이며, 이는 알고리즘의 구조(QFT, Grover 반복, QAOA 레이어 등)를 숨긴 평탄한 게이트 목록입니다. 이러한 어셈블리를 이해하거나, 감사하거나, 포팅(porting)하거나, 재사용하려면 이 구조를 노출하는 프로그램을 복구해야 합니다. 우리는 Quelle을 소개합니다. Quelle은 라우팅되고 최적화된 양자 어셈블리(OpenQASM)로부터 구조화된 프로그램(라이브러리 호출, 루프, 함수, 심볼릭 각도)을 복구하는 디컴파일러이며, 모든 출력에 대해 입력과의 동등성(equivalence)을 확인합니다. Quelle은 하나의 불변성에 기반하여 구축되었습니다: 모든 단계는 정확한 재작성(exact rewrite)이거나, 적용되는 곳에서 검사되거나, 또는 가설(hypothesis)이며 사용 전에 입력에 대해 검사됩니다. 먼저 컴파일 아티팩트(compilation artifacts), 특히 언라우팅(un-routing)을 제거하여 어셈블리를 회로로 끌어올립니다. 이를 통해 라우팅이 삽입한 SWAP 게이트를 복구하며, 이들은 다른 게이트에 병합된 경우도 포함합니다. 그런 다음 컴파일 과정에서 보존되는 양으로부터 매개변수가 해결되는 알고리즘 템플릿(sketches)을 복구하고, 템플릿이 없는 알고리즘의 경우에는 안티-유니피케이션(anti-unification)을 통해 라이브러리 호출과 루프를 복구합니다. 실패한 가설은 거부되며, 해당 연산들은 게이트 레벨 형태로 남아 있습니다. 22개 알고리즘 계열의 816개 어셈블리 프로그램과 무작위 회로 제어에 대해, 네이티브 투-큐비트 게이트 CX, ECR 또는 CZ를 사용하여 네 가지 라우팅 및 최적화 수준에서 컴파일된 경우, Quelle의 출력은 모든 입력에 대해 100% 동등하며, 이들 중 94%를 완전히 디컴파일합니다. 동일한 입력으로 비교했을 때, 이는 입력당 15K 토큰을 사용하는 최고의 LLM 기반 디컴파일러보다 1.7배 더 많은 양을 완전히 디컴파일합니다. 템플릿이 없는 아홉 가지 알고리즘 계열에 대해, Quelle이 복구하는 구조는 게이트의 60%를 설명합니다. 이 시스템은 최대 237만 개의 게이트까지 입력 검사를 수행하며, 실제 QASMBench 어셈블리 파일 237개에서 동등하지 않은 출력을 내지 않습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기