ข้ามไปยังเนื้อหาหลัก

Operator backpropagation (OBP)

Operator backpropagation (OBP) คือเทคนิคสำหรับลดความลึกของ Circuit โดยการตัดการดำเนินการออกจากด้านท้ายของ Circuit แลกกับการวัด operator เพิ่มขึ้น มีหลายวิธีในการทำ operator backpropagation และแพ็กเกจนี้ใช้วิธีที่อิงจาก Clifford perturbation theory [1]

เมื่อ propagate operator ผ่าน Circuit ไปไกลขึ้น ขนาดของ observable ที่ต้องวัดจะเติบโตแบบ exponential ส่งผลให้เกิดค่าใช้จ่ายด้าน resource ทั้งแบบ classical และ quantum อย่างไรก็ตาม สำหรับบาง Circuit การกระจายของ Pauli observable เพิ่มเติมที่ได้มีความกระจุกตัวมากกว่า worst-case exponential scaling ซึ่งหมายความว่าบาง term ใน observable ที่มี coefficient เล็กน้อยสามารถถูก truncate ออกเพื่อลดค่าใช้จ่ายด้าน quantum ได้ error ที่เกิดจากการทำเช่นนี้สามารถควบคุมได้เพื่อหาจุดสมดุลที่เหมาะสมระหว่าง precision และประสิทธิภาพ

การติดตั้ง

ติดตั้งแพ็กเกจ OBP ได้สองวิธี: ผ่าน PyPI หรือ build จาก source แนะนำให้ติดตั้งแพ็กเกจเหล่านี้ใน virtual environment เพื่อแยก dependency ของแพ็กเกจออกจากกัน

ติดตั้งจาก PyPI

วิธีที่ตรงไปตรงมาที่สุดในการติดตั้งแพ็กเกจ qiskit-addon-obp คือผ่าน PyPI

pip install qiskit-addon-obp

Build จาก source

ผู้ใช้ที่ต้องการมีส่วนร่วมใน package นี้หรือต้องการติดตั้งด้วยตัวเองสามารถทำได้โดยการ clone repository ก่อน:

git clone git@github.com:Qiskit/qiskit-addon-obp.git
```_

แล้วติดตั้งแพ็กเกจผ่าน `pip` repository ยังมี example notebook ด้วย หากวางแผนจะพัฒนาใน repository ให้ติดตั้ง dependency แบบ `dev` ด้วย

ปรับ option ตามต้องการ:

```bash
pip install tox notebook -e '.[notebook-dependencies, dev]'

พื้นฐานทางทฤษฎี

กระบวนการ OBP ที่ implement ในแพ็กเกจนี้อธิบายไว้ในรายละเอียดใน [1] เมื่อใช้ Estimator primitive ผลลัพธ์ของ quantum workload คือการประมาณค่า expectation value หนึ่งค่าหรือมากกว่า O\langle O \rangle สำหรับ state ที่เตรียมโดย QPU ส่วนนี้สรุปขั้นตอนของกระบวนการ

เริ่มต้นด้วยการเขียน expectation value measurement ของ observable OO ในรูปของ initial state ψ|\psi\rangle และ quantum circuit UQU_Q:

OUψ=ψUOUψ.\langle O \rangle_{U|\psi\rangle} = \langle\psi | U^\dagger O U |\psi \rangle.

เพื่อกระจายปัญหานี้ไปยัง resource ทั้งแบบ classical และ quantum ให้แบ่ง Circuit UU ออกเป็นสอง subcircuit คือ UCU_C และ UQU_Q จากนั้นจำลอง Circuit UCU_C แบบ classical แล้วรัน Circuit UQU_Q บน quantum hardware และใช้ผลของการจำลอง classical เพื่อสร้าง observable OO ขึ้นมาใหม่

แผนภาพ OBP แสดงการแบ่ง circuit เป็นสอง subcircuit จำลอง subcircuit หนึ่งแบบ classical แล้ววั��ดอีก circuit หนึ่งด้วย quantum hardware

ควรเลือก subcircuit UCU_C ให้สามารถจำลองได้แบบ classical ซึ่งจะคำนวณ expectation value

OUCOUC,\langle O' \rangle \equiv U_C^\dagger O U_C,

ซึ่งเป็น operator เริ่มต้น OO ที่ถูก evolve ผ่าน Circuit UCU_C เมื่อได้ OO' แล้ว quantum workload จะถูกเตรียมโดยเริ่มต้น state ψ|\psi\rangle ใช้ Circuit UQU_Q กับมัน แล้ววัด expectation value OO' สามารถแสดงให้เห็นว่านี่เทียบเท่ากับการวัด O\langle O \rangle โดยเขียนว่า:

ψUQOUQψ=ψUQUCOUCUQψ=ψUOUψ=OUψ \langle \psi | U_Q^\dagger O' U_Q \psi \rangle = \langle \psi | U_Q^\dagger U_C^\dagger O U_CU_Q \psi \rangle = \langle\psi | U^\dagger O U |\psi \rangle = \langle O \rangle_{U|\psi\rangle}

สุดท้าย เพื่อวัด expectation value O\langle O' \rangle จำเป็นต้องกำหนดให้สามารถ decompose ออกเป็นผลรวมของ Pauli string ได้

O=PcPP,O' = \sum_P c_P P,

โดยที่ cPc_P คือ coefficient จริงของการ decompose และ PP คือ Pauli string ที่ประกอบด้วย operator II, XX, YY และ ZZ ซึ่งช่วยให้สามารถสร้าง expectation value ของ OO ขึ้นมาใหม่ได้โดย

ψUQOψ=PcPψUQPUQψ.\langle \psi | U_Q^\dagger O' |\psi \rangle = \sum_P c_P \langle \psi | U_Q^\dagger P U_Q | \psi \rangle.

การ truncate term

แนวทางนี้เสนอการแลกเปลี่ยนระหว่างความลึกของ Circuit UQU_Q ที่ต้องการ จำนวนการรัน Circuit บน quantum hardware และปริมาณ resource classical ที่จำเป็นสำหรับการคำนวณ OO' โดยทั่วไป เมื่อเลือก backpropagate ผ่าน Circuit ไปไกลขึ้น จำนวน Pauli string ที่ต้องวัดรวมถึงค่าใช้จ่ายด้าน error-mitigation ก็จะเติบโตแบบ exponential (พร้อมกับ resource classical ที่ต้องการสำหรับการจำลอง UCU_C)

โชคดีที่ การ decompose ของ OO' มักมี coefficient ขนาดเล็กที่สามารถถูก truncate ออกจากการวัดสุดท้ายที่ใช้สร้าง OO ขึ้นมาใหม่ได้โดยไม่เกิด error มากนัก แพ็กเกจ qiskit-addon-obp มีฟังก์ชันสำหรับระบุ error budget ซึ่งสามารถค้นหา term ที่สามารถ truncate ได้โดยอัตโนมัติ ภายในค่า error tolerance ที่กำหนด

Clifford perturbation theory

แพ็กเกจ qiskit-addon-obp เข้าถึง operator backpropagation โดยอิงจาก Clifford perturbation theory วิธีนี้มีข้อดีตรงที่ค่าใช้จ่ายที่เกิดจากการ backpropagate Gate ต่างๆ จะ scale ตาม non-Cliffordness ของ UCU_C (กล่าวคือ ส่วนที่ประกอบด้วย non-Clifford instruction ใน U C)

แนวทาง OBP นี้เริ่มต้นด้วยการแบ่ง Circuit ที่จำลอง UCU_C ออกเป็น slice:

UC=s=1SUs=US...U2U1,U_C = \prod_{s=1}^S \mathcal{U}_s = \mathcal{U}_S...\mathcal{U}_2\mathcal{U}_1,

โดยที่ SS แทนจำนวน slice ทั้งหมด และ Us\mathcal{U}_s หมายถึง slice เดียวของ Circuit UCU_C แต่ละ slice เหล่านี้จะถูกนำไปใช้ในลำดับแบบ analytic เพื่อวัด operator OO' ที่ถูก back propagate และอาจส่งผลหรือไม่ส่งผลต่อขนาดรวมของผลรวม ขึ้นอยู่กับว่า slice นั้นเป็น Clifford หรือ non-Clifford operation หาก error budget ถูกจัดสรรไว้ การ truncation จะเกิดขึ้นระหว่างการใช้แต่ละ slice

ขั้นตอนถัดไป

คำแนะนำ

อ้างอิง

[1] Fuller, Bryce, et al. "Improved Quantum Computation using Operator Backpropagation." arXiv:2502.01897 [quant-ph] (2025).

Source: IBM Quantum docs — updated 13 ก.พ. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of 11 มี.ค. 2569