تهيئة إدارة الضوضاء مع Estimator
إصدارات الحزم
تم تطوير الكود في هذه الصفحة باستخدام المتطلبات التالية. نوصي باستخدام هذه الإصدارات أو أحدث.
qiskit-ibm-runtime~=0.46.1
هناك عدة طرق لإدارة الضوضاء، وعادةً ما يتم ذلك باستخدام تقنيات متنوعة لتخفيف الأخطاء وتثبيطها لتفادي الأخطاء قبل حدوثها. تُسبِّب هذه التقنيات عادةً حملاً إضافيًا في المعالجة المسبقة. لذلك، من المهم تحقيق توازن بين تحسين النتائج والتأكد من إتمام مهمتك في وقت معقول.
يدعم Estimator تقنيات إدارة الضوضاء التالية. راجع تقنيات تخفيف الأخطاء وتثبيطها للاطلاع على شرح لكل منها. راجع قسم إعدادات الأخطاء المخصصة للحصول على تعليمات تفعيل هذه التقنيات.
مستوى المرونة
يُحدِّد resilience_level مقدار المرونة المطلوب بناؤها في مواجهة الأخطاء. تُولِّد المستويات الأعلى نتائج أكثر دقة، على حساب أوقات معالجة أطول. يمكن استخدام مستويات المرونة لضبط توازن التكلفة/الدقة عند تطبيق إدارة الضوضاء على استعلام الـ primitive. تُقلِّل إدارة الضوضاء الأخطاء (الانحياز) في النتائج عبر معالجة المخرجات من مجموعة أو طيف من الـ Circuits المترابطة. تعتمد درجة تقليل الأخطاء على الطريقة المُطبَّقة. يُجرِّد مستوى المرونة الاختيار التفصيلي لطريقة إدارة الضوضاء للسماح للمستخدمين بالتفكير في توازن التكلفة/الدقة المناسب لتطبيقهم.
بناءً على ذلك، يتوافق كل مستوى مع طريقة أو طرق ذات مستوى متزايد من الحمل الزائد في أخذ العينات الكمية لتمكينك من تجربة مقايضات مختلفة بين الوقت والدقة. يوضح الجدول التالي المستويات والطرق المقابلة المتاحة لكل من الـ primitives.
| مستوى المرونة | الوصف | التقنية |
|---|---|---|
| 0 | بدون تخفيف | لا شيء |
| 1 [افتراضي] | الحد الأدنى من تكاليف التخفيف: تخفيف الأخطاء المرتبطة بأخطاء القراءة | تدوير قياس Twirled Readout Error eXtinction (TREX) |
| 2 | تكاليف تخفيف متوسطة. يُقلِّل عادةً من الانحياز في المُقدِّرات، لكن غير مضمون أن يكون خالٍ من الانحياز. | المستوى 1 + الاستقراء عند تعامد الضوضاء (ZNE) وتدوير البوابات |
مستويات المرونة في مرحلة بيتا حاليًا لذا قد يتفاوت الحمل الزائد في أخذ العينات وجودة الحل من Circuit إلى أخرى. ستُطلَق ميزات جديدة وخيارات متقدمة وأدوات إدارة بشكل تدريجي. لا يُضمَن تطبيق طرق محددة لإدارة الضوضاء عند كل مستوى مرونة.
تهيئة Estimator بمستويات المرونة
يمكنك استخدام مستويات المرونة لتحديد تقنيات إدارة الضوضاء، أو يمكنك ضبط تقنيات مخصصة بشكل فردي كما هو موضح في إعدادات الأخطاء المخصصة.
أي خيارات تُحددها يدويًا إضافةً إلى مستوى المرونة تُطبَّق بالإضافة إلى مجموعة الخيارات الأساسية المُعرَّفة بواسطة مستوى المرونة. لذلك، من حيث المبدأ، يمكنك ضبط مستوى المرونة على 1، لكن بعد ذلك إيقاف تخفيف القياس، وإن لم يكن ذلك مُنصَحًا.
على سبيل المثال، ضبط مستوى المرونة على 0 يوقف zne_mitigation، لكن estimator.options.resilience.zne_mitigation = True يُلغي تلك القيمة.
مثال
الكود التالي يُفعِّل ZNE وTREX وتدوير البوابات عبر ضبط resilience_level 2.
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
# Setting options during primitive initialization
estimator = Estimator(backend, options={"resilience_level": 2})
إعدادات إدارة الضوضاء المخصصة
يمكنك تشغيل وإيقاف طرق إدارة الضوضاء الفردية باستخدام خيارات Estimator.
لا تعمل جميع الخيارات معًا على جميع أنواع الـ Circuits. راجع جدول توافق الميزات للاطلاع على التفاصيل.
مثال
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimator
service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)
estimator = Estimator(backend)
options = estimator.options
# Turn on gate twirling.
options.twirling.enable_gates = True
# Turn on measurement error mitigation.
options.resilience.measure_mitigation = True
print(
f">>> gate twirling is turned on: {estimator.options.twirling.enable_gates}"
)
print(
f">>> measurement error mitigation is turned on: "
f"{estimator.options.twirling.enable_gates}"
)
>>> gate twirling is turned on: True
>>> measurement error mitigation is turned on: True
إيقاف تخفيف الأخطاء بالكامل
للاطلاع على تعليمات إيقاف تخفيف الأخطاء بالكامل، راجع قسم إيقاف تثبيط الأخطاء وتخفيفها بالكامل في دليل خيارات Estimator.
الخطوات التالية
- اتبع مثالاً يستخدم تخفيف الأخطاء في درس دالة التكلفة في IBM Quantum Learning.
- تعرَّف أكثر على تقنيات تخفيف الأخطاء وتثبيطها.
- استكشف خيارات Estimator.
- اختر وضع التنفيذ الذي تريد تشغيل مهمتك فيه.