Lumaktaw sa pangunahing nilalaman
Ang proyektong ito ay nasa beta. Nakakita ng bug? Mag-bukas ng GitHub issue. May tanong o ideya? Magtanong sa Discussions — gusto naming marinig ang iyong feedback!
Gaano kaganda ang kalidad ng pagsasalin sa pahinang ito?

Mga espesyal na na-calibrate na instruction

Bilang default, ang mga quantum gate at readout operation sa mga quantum computer ng IBM® ay naka-calibrate para sa pinakamainam na performance sa mga pangkalahatang use case. Pero may mga workload na mas nakikinabang sa mga instruction na iba ang pagkaka-tune ng mga parameter. Halimbawa, ang MidCircuitMeasure (measure_2) ay isang readout operation na ginawa para sa mga measurement sa gitna ng circuit, at ang mas mabagal na mga cz gate ay makakapagpabuti sa resulta ng ilang error mitigation workflow.

Dalawa ang anyo ng mga espesyal na na-calibrate na instruction, at magkaiba ang paraan ng pag-access sa mga ito:

  • Mga instruction na may magkakaibang signature ay kina-calibrate kasabay ng mga standard na instruction sa default calibration, kaya idinadagdag mo ang mga ito sa iyong mga circuit tulad ng ibang instruction. Karaniwan silang natutukoy sa pamamagitan ng suffix, tulad ng measure_2.

  • Mga alternatibong calibration ay pumapalit sa ilang bahagi ng default calibration gamit ang mga parameter na iba ang pagkaka-tune. Pipili ka ng isa sa pamamagitan ng pagpasa ng calibration_id kapag kinuha mo ang backend.

Para malaman kung paano kina-calibrate ang mga IBM quantum computer, tingnan ang Mag-monitor, mag-calibrate, at mag-benchmark.

Mga instruction na may magkakaibang signature​

Kina-calibrate ang mga instruction na ito kasama ng standard instruction set, kaya wala kang kailangang gawing espesyal para makakuha ng backend na sumusuporta sa mga ito. Para gumamit ng isa, idagdag ang katumbas na qiskit-ibm-runtime instruction sa iyong circuit.

InstructionPaglalarawanKaraniwang use casePaggamit sa QiskitProcessor family
measure_2Mas maikling measurement pulseMga mid-circuit measurementMidCircuitMeasure (v0.43.0 o mas bago)Heron, Nighthawk r2
reset_2Mas maikling conditional reset pulse na gumagamit ng measure_2Mid-circuit qubit resetMidCircuitReset (v0.49.0 o mas bago)Heron
measure_resetMeasurement na tulad ng measure na nagre-reset din ng qubit*Mag-measure at mag-reset ng qubitMeasureReset (v0.50.0 o mas bago)Heron, Nighthawk r2
measure_reset_2Mas maikling measurement na tulad ng measure_2 na nagre-reset din ng qubit*Mag-measure at mag-reset ng qubit sa gitna ng circuitI-initialize ang MeasureReset gamit ang name="measure_reset_2" (v0.50.0 o mas bago)Heron, Nighthawk r2
xslowBit-flip (X) gate na may pinahabang durationPostselection at error mitigation. Ito ang default na value ng option na x_pulse_type sa mga postselection passLahat

. | XSlowGate (v0.50.0 o mas bago) | Lahat |

* Sa mga Heron processor, nakadepende sa resulta ng measurement ang reset. Sa mga Nighthawk r2 processor, unconditional ang reset.

Dahil hindi sinusuportahan ang mga instruction na ito sa bawat backend, tingnan muna ang mga sinusuportahang instruction ng backend bago mo gamitin ang mga ito:

from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService()
backend = service.backend("<backend_name>")

print(backend.supported_instructions)

Para mahanap ang lahat ng backend na sumusuporta sa isang instruction, gamitin ang:

service = QiskitRuntimeService()
backends = service.backends(filters=lambda b: "<instruction>" in b.supported_instructions)

Gamitin ang instruction_signatures para makita ang mga signature ng mga espesyal na na-calibrate na instruction na ito:

print(backend.configuration().instruction_signatures)

Mga alternatibong calibration​

Pinapalitan ng mga alternatibong calibration ang ilang bahagi ng default calibration gamit ang mga parameter na iba ang pagkaka-tune. Bawat alternatibong calibration ay may calibration ID, at nakadepende sa QPU ang availability nito.

Para gumamit ng alternatibong calibration, ipasa ang calibration_id nito kapag kinuha mo ang backend. Ginagamit ng target ng backend, at kaya ng transpiler, ang mga instruction property mula sa calibration na iyon, at ang mga primitive job na pinapatakbo mo sa backend ay isinasagawa gamit ito.

from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService()
backend = service.backend("<backend_name>", calibration_id="<calibration_id>")

print(backend.calibration_id)
tala

Hindi available ang mga alternatibong calibration sa lahat ng QPU.

Mga slow gate calibration​

Ina-tune ng mga slow gate calibration ang cz gate para maging mas mabagal kaysa sa default calibration. Posibleng mapabuti ng mas mabagal na mga cz gate ang performance para sa malakihang observable estimation workflow na may error mitigation, pero pinahahaba rin nito ang kabuuang duration ng iyong circuit, na nagdudulot ng kaunting karagdagang decoherence.

Sa mga Heron processor, available din ang mga slow gate calibration na may dalawang mode ng two-level system (TLS) bias control:

  • Ang DC TLS bias ay naka-optimize para sa pinakamahusay na instantaneous performance. Gumagamit ng DC TLS bias ang default calibration.

  • Ang AC TLS bias ay minomodulate ang TLS bias para i-stabilize ang mga error ng device sa paglipas ng panahon, na nagpapanatiling stable ng noise model ng device sa mahahabang workflow. Tingnan ang "Noise stabilization" sa Observable Estimation in the Absence of Classical Verification para sa mga detalye.

Hindi gumagamit ng TLS bias ang mga Nighthawk processor, kaya iisa lang ang slow gate calibration nila.

Calibration IDProcessor familyTLS biasInirerekomenda para sa
Wala (default calibration)LahatDC (Heron)Pangkalahatang gamit. Lalo na inirerekomenda para sa mga workload na ang mga bitstring ay maaaring i-distill nang classical, tulad ng mga peaked circuit at SQD o SKQD workflow, at para sa mga workload na may error detection.
slow_gates_dcHeronDCMalakihang observable estimation workflow, lalo na ang mga gumagamit ng heuristic error mitigation tulad ng zero-noise extrapolation (ZNE).
slow_gates_acHeronACMga workflow na nangangailangan ng stable na error rate sa mahahabang session. Mariing inirerekomenda para sa mga workflow na may noise learning, tulad ng probabilistic error amplification (PEA) at probabilistic error cancellation (PEC).
slow_gatesNighthawkHindi naaangkopMga observable estimation workflow na gumagamit ng error mitigation, tulad ng ZNE, PEA, at PEC.

Halimbawa:

from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService()
# On a Heron QPU
backend = service.backend("ibm_kingston", calibration_id="slow_gates_ac")
# backend = service.backend("ibm_kingston", calibration_id="slow_gates_dc")

# On a Nighthawk QPU
backend = service.backend("ibm_phoenix", calibration_id="slow_gates")
tip

Kapag ginamit mo ang slow_gates_ac, isumite ang lahat ng job sa workflow sa iisang session para tumakbo ang mga ito habang stable pa ang noise ng device.

Suriin ang mga gate duration​

Dahil pinahahaba ng mga slow gate calibration ang duration ng cz gate, ihambing ang mga duration sa default calibration para maunawaan ang epekto sa iyong circuit. Gamitin ang target ng backend para hanapin ang duration, sa segundo, ng cz gate sa isang partikular na pares ng mga qubit:

default_backend = service.backend("<backend_name>")
slow_backend = service.backend(
"<backend_name>", calibration_id="slow_gates_ac"
) # Or slow_gates_dc, or slow_gates on Nighthawk

qubits = (0, 1) # Replace with a connected qubit pair on the backend
print(default_backend.target["cz"][qubits].duration)
print(slow_backend.target["cz"][qubits].duration)

Dahil sinasalamin ng target ang napiling calibration, i-transpile ang iyong mga circuit laban sa backend na gumagamit ng parehong calibration_id na balak mong patakbuhin.

Mga susunod na hakbang​

Mga rekomendasyon