انتقل إلى المحتوى الرئيسي

QESEM: دالة Qiskit من Qedma

ملاحظة

دوال Qiskit ميزة تجريبية متاحة فقط لمستخدمي خطط IBM Quantum® Premium وFlex وOn-Prem (عبر IBM Quantum Platform API). وهي في مرحلة إصدار معاينة وقابلة للتغيير.

نظرة عامة

على الرغم من التحسينات الكبيرة التي شهدتها وحدات المعالجة الكمومية في السنوات الأخيرة، لا تزال الأخطاء الناجمة عن الضوضاء والعيوب في الأجهزة الحالية تمثّل تحديًا محوريًا لمطوّري الخوارزميات الكمومية. ومع اقتراب المجال من الحسابات الكمومية ذات المقياس الأداتي التي يتعذّر التحقق منها كلاسيكيًا، تتزايد أهمية الحلول القادرة على إلغاء الضوضاء بدقة مضمونة. للتغلب على هذا التحدي، طوّرت Qedma نظام قمع الأخطاء وتخفيفها الكمومي (QESEM)، المدمج بسلاسة في IBM Quantum Platform بوصفه دالة Qiskit.

مع QESEM، يمكن للمستخدمين تشغيل دوائرهم الكمومية على وحدات المعالجة الكمومية الصاخبة للحصول على نتائج دقيقة للغاية وخالية من الأخطاء، مع تكاليف زمنية منخفضة وقريبة من الحدود الأساسية. لتحقيق ذلك، يستخدم QESEM مجموعة من الأساليب الخاصة التي طوّرتها Qedma لتوصيف الأخطاء وتقليلها. تشمل تقنيات تقليل الأخطاء: تحسين البوابات، والترانسبيلاسيون الواعي بالضوضاء، وقمع الأخطاء (ES)، وتخفيف الأخطاء غير المتحيز (EM). بهذا الجمع من الأساليب القائمة على التوصيف، يستطيع المستخدمون الحصول على نتائج موثوقة وخالية من الأخطاء للدوائر الكمومية الكبيرة ذات الأحجام الكبيرة، مما يفتح تطبيقات لا يمكن تحقيقها بطريقة أخرى.

للاطلاع على وصف كامل للمكوّنات الأساسية، إضافةً إلى عرض توضيحي بمقياس أداتي، راجع الورقة البحثية تخفيف الأخطاء بدقة عالية وموثوقة للدوائر الكمومية بمقياس الأداة.

الوصف

يمكنك استخدام دالة QESEM من Qedma لتقدير تكلفة تنفيذ دوائرك وتشغيلها بسهولة مع قمع الأخطاء وتخفيفها، مما يتيح أحجام دوائر أكبر ودقة أعلى. لاستخدام QESEM، تُقدّم دارة كمومية، ومجموعة من الالمؤثرات (observables) لقياسها، ودقة إحصائية مستهدفة لكل رصيدة، ووحدة معالجة كمومية مختارة. قبل تشغيل الدارة للوصول إلى الدقة المستهدفة، يمكنك تقدير وقت وحدة المعالجة الكمومية المطلوب استنادًا إلى حساب تحليلي لا يستلزم تنفيذ الدارة. بمجرد أن تقتنع بتقدير وقت وحدة المعالجة الكمومية، يمكنك تشغيل الدارة مع QESEM.

عند تشغيل دارة ما، يُنفّذ QESEM بروتوكول توصيف الجهاز المُخصَّص لدارتك، مما يُنتج نموذج ضوضاء موثوقًا للأخطاء التي تحدث في الدارة. استنادًا إلى هذا التوصيف، يُطبّق QESEM أولًا الترانسبيلاسيون الواعي بالضوضاء لتعيين الدارة المُدخَلة على مجموعة من الكيوبتات والبوابات الفيزيائية، مما يُقلّل من الضوضاء المؤثرة على المؤثر المستهدفة. وتشمل هذه البوابات المتاحة أصلًا (CX/CZ على أجهزة IBM®)، إضافةً إلى بوابات إضافية مُحسَّنة بواسطة QESEM، لتشكيل مجموعة البوابات الموسّعة الخاصة بـ QESEM. ثم يُشغّل QESEM مجموعة من دوائر ES وEM القائمة على التوصيف على وحدة المعالجة الكمومية ويجمع نتائج قياساتها. تُعالَج هذه النتائج بعد ذلك كلاسيكيًا لتوفير قيمة توقع غير متحيزة وهامش خطأ لكل رصيدة، مقابلةً للدقة المطلوبة.

نظرة عامة على Qedma QESEM أثبت QESEM قدرته على تقديم نتائج عالية الدقة لمجموعة متنوعة من التطبيقات الكمومية وعلى أكبر أحجام الدوائر القابلة للتحقيق اليوم. يتيح QESEM المميزات التالية الموجّهة للمستخدم، والمستعرضة في قسم المعايير أدناه:

  • دقة مضمونة: يُخرج QESEM تقديرات غير متحيزة لقيم التوقع للالمؤثرات. أسلوب EM الخاص به مجهّز بضمانات نظرية، التي - جنبًا إلى جنب مع توصيف Qedma المتقدم - تضمن تقارب التخفيف نحو مخرجات الدارة الخالية من الضوضاء وصولًا إلى الدقة المحددة من قِبَل المستخدم. على النقيض من كثير من أساليب EM الاستدلالية المعرضة للأخطاء المنهجية أو التحيّزات، فإن دقة QESEM المضمونة ضرورية لضمان نتائج موثوقة في الدوائر والالمؤثرات الكمومية العامة.
  • قابلية التوسّع لوحدات معالجة كمومية كبيرة: يعتمد وقت وحدة المعالجة الكمومية في QESEM على أحجام الدوائر، لكنه مستقل في حالات أخرى عن عدد الكيوبتات. أثبتت Qedma عمل QESEM على أكبر الأجهزة الكمومية المتاحة اليوم، بما فيها أجهزة IBM Quantum Eagle بـ 127 كيوبت وHeron بـ 133 كيوبت.
  • لا يختص بتطبيق بعينه: جرى توظيف QESEM في مجموعة متنوعة من التطبيقات، تشمل محاكاة هاميلتونيان، وVQE، وQAOA، وتقدير السعة. يمكن للمستخدمين إدخال أي دارة كمومية ومؤثر لقياسها والحصول على نتائج دقيقة وخالية من الأخطاء. القيود الوحيدة تفرضها مواصفات الجهاز ووقت وحدة المعالجة الكمومية المخصص، اللذان يحددان أحجام الدوائر المتاحة ودقة المخرجات. في المقابل، كثير من حلول تقليل الأخطاء مخصصة لتطبيقات بعينها أو تعتمد على إرشاديات غير مضبوطة، مما يجعلها غير صالحة للدوائر والتطبيقات الكمومية العامة.
  • مجموعة بوابات موسّعة: يدعم QESEM بوابات الزوايا الكسرية، ويوفّر بوابات Rzz(θ)Rzz(\theta) ذات الزوايا الكسرية المُحسَّنة من Qedma على أجهزة IBM Quantum Eagle. تُتيح مجموعة البوابات الموسّعة هذه تصريفًا أكثر كفاءة وتفتح أحجام دوائر أكبر بعامل يصل إلى 2 مقارنةً بتصريف CX/CZ الافتراضي.
  • المؤثرات متعددة القواعد: يدعم QESEM الالمؤثرات المُدخَلة المؤلفة من عديد من سلاسل باولي غير المتبادلة في التبديل، كهاميلتونيانات عامة. يتم اختيار قواعد القياس وتحسين توزيع موارد وحدة المعالجة الكمومية (اللقطات والدوائر) تلقائيًا بواسطة QESEM لتقليل وقت وحدة المعالجة الكمومية المطلوب لتحقيق الدقة المطلوبة. يأخذ هذا التحسين في الاعتبار نسب الإخلاص ومعدلات التنفيذ للجهاز، مما يُمكّنك من تشغيل دوائر أعمق والحصول على دقة أعلى.

المعايير

جرى اختبار QESEM على مجموعة واسعة من حالات الاستخدام والتطبيقات. يمكن للأمثلة التالية مساعدتك في تقييم أنواع أعباء العمل التي يمكنك تشغيلها مع QESEM.

مؤشر رئيسي لقياس صعوبة كل من تخفيف الأخطاء والمحاكاة الكلاسيكية لدارة ومؤثر معينة هو الحجم الفعّال: عدد بوابات CNOT المؤثرة على المؤثر في الدارة. يعتمد الحجم الفعّال على عمق الدارة وعرضها، ووزن المؤثر، وبنية الدارة التي تُحدد المخروط الضوئي للمؤثر. لمزيد من التفاصيل، راجع الحديث من قمة IBM Quantum 2024. يُقدّم QESEM قيمة كبيرة بصفة خاصة في نظام الحجم الكبير، إذ يُعطي نتائج موثوقة للدوائر والالمؤثرات العامة.

الحجم الفعّال

التطبيقعدد الكيوبتاتالجهازوصف الدارةالدقةالوقت الإجمالياستخدام وقت التشغيل
دارة VQE8Eagle (r3)21 طبقة إجمالية، 9 قواعد قياس، سلسلة أحادية الأبعاد98%35 دقيقة14 دقيقة
Kicked Ising28Eagle (r3)3 طبقات فريدة × 3 خطوات، هيكلية hex ثنائية الأبعاد97%22 دقيقة4 دقائق
Kicked Ising28Eagle (r3)3 طبقات فريدة × 8 خطوات، هيكلية hex ثنائية الأبعاد97%116 دقيقة23 دقيقة
محاكاة هاميلتونيان بطريقة تروتر40Eagle (r3)2 طبقتان فريدتان × 10 خطوات تروتر، سلسلة أحادية الأبعاد97%3 ساعات25 دقيقة
محاكاة هاميلتونيان بطريقة تروتر119Eagle (r3)3 طبقات فريدة × 9 خطوات تروتر، هيكلية hex ثنائية الأبعاد95%6.5 ساعات45 دقيقة
Kicked Ising136Heron (r2)3 طبقات فريدة × 15 خطوة، هيكلية hex ثنائية الأبعاد99%52 دقيقة9 دقائق

تُقاس الدقة هنا بالنسبة إلى القيمة المثالية للمؤثر: OidealϵOideal\frac{\langle O \rangle_{ideal} - \epsilon}{\langle O \rangle_{ideal}}، حيث 'ϵ\epsilon' هي الدقة المطلقة للتخفيف (التي يحددها المستخدم)، وOideal\langle O \rangle_{ideal} هي المؤثر في الدارة الخالية من الضوضاء. يقيس "استخدام وقت التشغيل" استخدام المعيار في وضع الدُّفعات (مجموع استخدام الوظائف الفردية)، بينما يقيس "الوقت الإجمالي" الاستخدام في وضع الجلسة (وقت الجدار التجريبي)، الذي يشمل الأوقات الكلاسيكية وأوقات الاتصال الإضافية. يتوفر QESEM للتنفيذ في كلا الوضعين، بحيث يمكن للمستخدمين الاستفادة القصوى من مواردهم المتاحة.

تُحاكي دوائر Kicked Ising ذات 28 كيوبتًا بلّورة الوقت المتقطعة الشبه دورية (Discrete Time Quasicrystal) التي درسها Shinjo وآخرون (انظر arXiv 2403.16718 وQ2B24 Tokyo) على ثلاث حلقات متصلة من ibm_kawasaki. معاملات الدارة المستخدمة هنا هي (θx,θz)=(0.9π,0)(\theta_x, \theta_z) = (0.9 \pi, 0)، مع حالة ابتدائية مغناطيسية ψ0=0n| \psi_0 \rangle = | 0 \rangle ^{\otimes n}. المؤثر المقيسة هي القيمة المطلقة للمغنطة M=128i=027ZiM = |\frac{1}{28} \sum_{i=0}^{27} \langle Z_i \rangle|. جرى تشغيل تجربة Kicked Ising ذات المقياس الأداتي على أفضل 136 كيوبت من ibm_fez؛ أُجري هذا المعيار تحديدًا عند زاوية كليفورد (θx,θz)=(π,0)(\theta_x, \theta_z) = (\pi, 0)، حيث يتنامى الحجم الفعّال ببطء مع عمق الدارة، مما يُتيح - مقرونًا بنسب إخلاص الجهاز العالية - تحقيق دقة عالية في وقت تشغيل قصير.

دوائر محاكاة هاميلتونيان بطريقة تروتر مخصصة لنموذج Ising بالحقل المستعرض عند زوايا كسرية: (θzz,θx)=(π/4,π/8)(\theta_{zz}, \theta_x) = (\pi / 4, \pi /8) و(θzz,θx)=(π/6,π/8)(\theta_{zz}, \theta_x) = (\pi / 6, \pi / 8) على التوالي (انظر Q2B24 Tokyo). جرى تشغيل الدارة ذات المقياس الأداتي على أفضل 119 كيوبت من ibm_brisbane، بينما أُجريت تجربة الـ 40 كيوبتًا على أفضل سلسلة متاحة. تُبلَّغ الدقة للمغنطة؛ وقد تم الحصول على نتائج عالية الدقة للالمؤثرات ذات الأوزان الأعلى أيضًا.

طُوّرت دارة VQE بالتعاون مع باحثين من مركز تكنولوجيا الكم والتطبيقات في مركز سينكروترون الإلكترونات الألماني (DESY). المؤثر المستهدفة هنا كانت هاميلتونيانًا يتألف من عدد كبير من سلاسل باولي غير المتبادلة في التبديل، مما يبرز الأداء المُحسَّن لـ QESEM في الالمؤثرات متعددة القواعد. طُبّق التخفيف على نموذج مُحسَّن كلاسيكيًا؛ وعلى الرغم من أن هذه النتائج لا تزال غير منشورة، فإن نتائج بنفس الجودة ستُحصَّل لدوائر مختلفة ذات خصائص بنيوية مماثلة.

البدء

سجّل الدخول باستخدام مفتاح IBM Quantum Platform API، واختر دالة QESEM Qiskit كما يلي. (يفترض هذا المقتطف أنك قد حفظت حسابك بالفعل في بيئتك المحلية.)

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-ibm-catalog qiskit-ibm-runtime
import qiskit

from qiskit_ibm_catalog import QiskitFunctionsCatalog

catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")

qesem_function = catalog.load("qedma/qesem")

مثال

للبدء، جرّب هذا المثال الأساسي لتقدير وقت وحدة المعالجة الكمومية المطلوب لتشغيل QESEM لـ pub معيّن:

# This cell is hidden from users
from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService()
backend_name = service.least_busy().name
circ = qiskit.QuantumCircuit(5)
circ.cx(0, 1)
circ.cx(2, 3)
circ.cx(1, 2)
circ.cx(3, 4)

avg_magnetization = qiskit.quantum_info.SparsePauliOp.from_sparse_list(
[("Z", [q], 1 / 5) for q in range(5)], num_qubits=5
)
other_observable = qiskit.quantum_info.SparsePauliOp.from_sparse_list(
[("ZZ", [0, 1], 1.0), ("XZ", [1, 4], 0.5)], num_qubits=5
)

time_estimation_job = qesem_function.run(
pubs=[(circ, [avg_magnetization, other_observable])],
options={
"estimate_time_only": "analytical",
},
backend_name=backend_name, # E.g. "ibm_fez"
)

time_estimate_result = time_estimation_job.result()

يُنفّذ المثال التالي وظيفة QESEM:

sample_job = qesem_function.run(
pubs=[(circ, [avg_magnetization, other_observable])],
backend_name=backend_name, # E.g. "ibm_fez"
)

يمكنك استخدام واجهات برمجة تطبيقات Qiskit Serverless المألوفة للتحقق من حالة عبء عمل دالة Qiskit أو استرداد النتائج:

print(sample_job.status())
result = sample_job.result()

معاملات الدالة

الاسمالنوعالوصفمطلوبالافتراضيمثال
pubsEstimatorPubLikeهذا هو المُدخَل الرئيسي. يحتوي Pub على 2-4 عناصر: دارة، ومؤثر واحدة أو أكثر، و0 أو مجموعة واحدة من قيم المعاملات، ودقة اختيارية. إذا لم تُحدَّد الدقة، ستُستخدم default_precision من optionsنعمغير متاح[(circuit, [obs1,obs2,obs3], parameter_values, 0.03)]
backend_namestringاسم الواجهة الخلفية للاستخداملاسيختار QESEM أقل الأجهزة انشغالًا وفق تقرير IBM"ibm_fez"
instancestringاسم مورد السحابة للمثيل المراد استخدامه بذلك التنسيقلاغير متاح"CRN"
optionsdictionaryخيارات الإدخال. راجع قسم الخيارات لمزيد من التفاصيل.لاراجع قسم الخيارات للتفاصيل.{ default_precision = 0.03, "max_execution_time" = 3600, "transpilation_level" = 0}

الخيارات

الخيارالاختياراتالوصفالافتراضي
estimate_time_only"analytical" / "empirical" / Noneعند ضبطه، ستحسب وظيفة QESEM فقط تقدير وقت وحدة المعالجة الكمومية. راجع الوصف التالي لمزيد من التفاصيل. عند ضبطه على None، ستُنفَّذ الدارة مع QESEMNone
default_precision0 < floatسيُطبَّق على pubs التي لا تحتوي على دقة. تدل الدقة على الخطأ المقبول على قيم التوقع للالمؤثرات بقيمة مطلقة. أي أن وقت تشغيل وحدة المعالجة الكمومية للتخفيف سيُحدَّد لتوفير قيم مخرجات لجميع الالمؤثرات المعنية تقع ضمن فترة ثقة للدقة المستهدفة. إذا قُدّمت عدة المؤثرات، سيستمر التخفيف حتى تُحقَّق الدقة المستهدفة لكل رصيدة مُدخَلة.0.02
max_execution_time0 < integer < 28,800 (8 ساعات)يتيح لك تحديد وقت وحدة المعالجة الكمومية بالثواني لاستخدامه في عملية QESEM بأكملها. راجع التفاصيل الإضافية أدناه.3,600 (ساعة واحدة)
transpilation_level0 / 1راجع الوصف أدناه1
execution_mode"session" / "batch"راجع الوصف التالي"batch"
تنبيه
يختلف تقدير وقت وحدة المعالجة الكمومية من واجهة خلفية إلى أخرى. لذلك، عند تنفيذ دالة QESEM، تأكد من تشغيلها على نفس الواجهة الخلفية التي اخترتها عند الحصول على تقدير وقت وحدة المعالجة الكمومية.
ملاحظة
سيُنهي QESEM تشغيله عند الوصول إلى الدقة المستهدفة أو عند الوصول إلى max_execution_time، أيهما يأتي أولًا.
  • estimate_time_only - يُمكّن هذا الخيار المستخدمين من الحصول على تقدير لوقت وحدة المعالجة الكمومية المطلوب لتنفيذ الدارة مع QESEM.

    • إذا ضُبط على "analytical"، يُحسب حد أعلى لوقت وحدة المعالجة الكمومية دون استهلاك أي استخدام لها. هذا التقدير له دقة زمنية بفارق 30 دقيقة (مثلًا: 30 دقيقة، 60 دقيقة، 90 دقيقة، وهكذا). وهو متشائم عادةً، ولا يمكن الحصول عليه إلا لالمؤثرات باولي المنفردة أو مجاميع المؤثرات باولي دون تقاطع في النطاقات (مثلًا Z0+Z1). وهو مفيد أساسًا لمقارنة مستويات التعقيد للمعاملات المختلفة التي يوفرها المستخدم (الدارة، والدقة، وما إلى ذلك).
    • للحصول على تقدير أكثر دقة لوقت وحدة المعالجة الكمومية، اضبط هذا الخيار على "empirical". على الرغم من أن هذا الخيار يستلزم تشغيل عدد صغير من الدوائر، إلا أنه يُوفّر تقديرًا أكثر دقة بشكل ملحوظ لوقت وحدة المعالجة الكمومية. هذا التقدير له دقة زمنية بفارق 5 دقائق (مثلًا: 20 دقيقة، 25 دقيقة، 30 دقيقة، وهكذا). يمكن للمستخدم اختيار تشغيل تقدير الوقت التجريبي في وضع الدُّفعات أو وضع الجلسة. لمزيد من التفاصيل، راجع وصف execution_mode. على سبيل المثال، في وضع الدُّفعات، سيستهلك تقدير الوقت التجريبي أقل من 10 دقائق من وقت وحدة المعالجة الكمومية.
  • max_execution_time: يتيح لك تحديد وقت وحدة المعالجة الكمومية بالثواني لاستخدامه في عملية QESEM بأكملها. نظرًا لأن وقت وحدة المعالجة الكمومية النهائي المطلوب للوصول إلى الدقة المستهدفة يُحدَّد ديناميكيًا أثناء وظيفة QESEM، يُمكّنك هذا المعامل من تحديد تكلفة التجربة. إذا كان وقت وحدة المعالجة الكمومية المحدد ديناميكيًا أقصر من الوقت المخصص من قِبَل المستخدم، فلن يؤثر هذا المعامل على التجربة. يُفيد معامل max_execution_time بشكل خاص في الحالات التي يكون فيها التقدير الزمني التحليلي الذي يوفره QESEM قبل بدء الوظيفة متشائمًا جدًا ويريد المستخدم بدء وظيفة تخفيف على أي حال. بعد الوصول إلى الحد الزمني، يتوقف QESEM عن إرسال دوائر جديدة. تستمر الدوائر التي أُرسلت بالفعل في التشغيل (لذا قد يتجاوز الوقت الإجمالي الحد بما يصل إلى 30 دقيقة)، ويتلقى المستخدم النتائج المعالجة من الدوائر التي عملت حتى تلك النقطة. إذا أردت تطبيق حد زمني لوحدة المعالجة الكمومية أقصر من التقدير الزمني التحليلي، استشر Qedma للحصول على تقدير للدقة التي يمكن تحقيقها ضمن الحد الزمني.

  • transpilation_level: بعد إرسال دارة إلى QESEM، يُعدّ تلقائيًا عدة بدائل لترانسبيلاسيون الدارة ويختار التي تُقلّل وقت وحدة المعالجة الكمومية. على سبيل المثال، قد تستخدم البدائل بوابات RZZ الكسرية المُحسَّنة من Qedma لتقليل عمق الدارة. بالطبع، جميع الترانسبيلاسيونات مكافئة للدارة المُدخَلة من حيث مخرجاتها المثالية. للتحكم أكثر في ترانسبيلاسيون الدارة، اضبط مستوى الترانسبيلاسيون في options. في حين يتوافق "transpilation_level": 1 مع السلوك الافتراضي الموصوف أعلاه، يشتمل "transpilation_level": 0 فقط على التعديلات الدنيا المطلوبة على الدارة الأصلية؛ على سبيل المثال، "التطبيق بالطبقات" - تنظيم عمليات الدارة في "طبقات" من بوابات ثنائية الكيوبت المتزامنة. لاحظ أن التعيين التلقائي على الكيوبتات عالية الإخلاص يُطبَّق في كلتا الحالتين.

transpilation_levelالوصف
1ترانسبيلاسيون QESEM الافتراضي. يُعدّ عدة بدائل للترانسبيلاسيون ويختار الذي يُقلّل وقت وحدة المعالجة الكمومية. يمكن تعديل الحواجز في خطوة التطبيق بالطبقات.
0الترانسبيلاسيون الأدنى: ستشبه الدارة المخففة بنيويًا الدارة المُدخَلة عن كثب. يجب أن تتطابق الدوائر المُقدَّمة في المستوى 0 مع توصيلية الجهاز وأن تُحدَّد من حيث البوابات التالية: CX، وRzz(α)، والبوابات أحادية الكيوبت القياسية (U، وx، وsx، ورz، وما إلى ذلك). ستُحترم الحواجز في خطوة التطبيق بالطبقات.
  • execution_mode - يمكن للمستخدم اختيار تشغيل وظيفة QESEM إما في جلسة IBM مخصصة أو عبر دُفعات IBM متعددة:
    • وضع الجلسة: الجلسات أغلى ثمنًا لكنها تُفضي إلى وقت أقصر للحصول على النتيجة. بمجرد بدء الجلسة، تُحجز وحدة المعالجة الكمومية حصريًا لوظيفة QESEM. يشمل حساب الاستخدام الوقت المنفق على تنفيذ وحدة المعالجة الكمومية والحسابات الكلاسيكية المرتبطة بها (التي يُجريها QESEM وIBM). تتولى دالة QESEM Qiskit إنشاء الجلسة وإغلاقها تلقائيًا. يُوصى بالمستخدمين الذين لديهم وصول غير محدود إلى وحدات المعالجة الكمومية (مثلًا الإعدادات الداخلية) باستخدام وضع الجلسة لتنفيذ QESEM بشكل أسرع.
    • وضع الدُّفعات: في وضع الدُّفعات، تُحرَّر وحدة المعالجة الكمومية أثناء الحسابات الكلاسيكية، مما يُقلّل استخدامها. نظرًا لأن وظائف الدُّفعات تمتد عادةً على فترة أطول، هناك خطر أكبر من انحرافات الجهاز؛ يدمج QESEM تدابير للكشف عن الانحرافات والتعويض عنها، محتفظًا بالموثوقية على مدى عمليات التشغيل الممتدة.
ملاحظة

عمليات الحاجز تُستخدم عادةً لتحديد طبقات بوابات ثنائية الكيوبت في الدوائر الكمومية. في المستوى 0، يحافظ QESEM على الطبقات المحددة بالحواجز. في المستوى 1، تُعتبر الطبقات المحددة بالحواجز بديلًا واحدًا للترانسبيلاسيون عند تقليل وقت وحدة المعالجة الكمومية.

المخرجات

مخرج دالة الدارة هو PrimitiveResult، الذي يحتوي على حقلين:

  • كائن PubResult واحد. يمكن الوصول إليه مباشرةً من PrimitiveResult.

  • بيانات وصفية على مستوى الوظيفة.

يحتوي كل PubResult على حقل data وحقل metadata.

  • يحتوي حقل data على الأقل على مصفوفة من قيم التوقع (PubResult.data.evs) ومصفوفة من الأخطاء المعيارية (PubResult.data.stds). كما يمكن أن يحتوي على بيانات إضافية حسب الخيارات المستخدمة.

  • يحتوي حقل metadata على بيانات وصفية على مستوى PUB (PubResult.metadata).

يصف مقتطف الكود التالي كيفية استرداد تقدير وقت وحدة المعالجة الكمومية (عند ضبط estimate_time_only):

print(
f"The estimated QPU time for this PUB is: \n{time_estimate_result[0].metadata}"
)

يُظهر مقتطف الكود التالي كيفية استرداد نتائج التخفيف (عند عدم ضبط estimate_time_only) ومقاييس التنفيذ. تحتوي هذه على بيانات أساسية تُتيح فهمًا أعمق لكيفية تأثير المعاملات المختلفة على تنفيذ QESEM. قد تكون ذات صلة أيضًا عند كتابة ورقة بحثية مستندة إلى أبحاثك.

results = result[0]
print(f"Mitigated expectation values: \n{results.data.evs}")
print(f"Mitigated error-bar: \n{results.data.stds}")
noisy_results = results.metadata["noisy_results"]
print(f"Noisy expectation values: \n{noisy_results.evs}")
print(f"Noisy error-bar: \n{noisy_results.stds}")
print(f"Total QPU time: \n {results.metadata['total_qpu_time']}")
print(
f"Gates fidelity measured during the experiment: \n {results.metadata['gate_fidelities']}"
)
print(
f"Total shots / mitigation shots: \n {results.metadata['total_shots']} / {results.metadata['mitigation_shots']}"
)
print("Transpiled circuits:")
for i, circuit in enumerate(results.metadata["transpiled_circs"]):
print(f"Circuit {i}:")
print(f" Circuit: \n {circuit['circuit']}")
print(f" Qubit mapping: \n {circuit['qubit_map']}")
print(f" Measurement bases: \n {circuit['num_measurement_bases']}")

استرداد رسائل الخطأ

إذا كانت حالة عبء عملك هي ERROR، استخدم job.result() لاسترداد رسالة الخطأ كما يلي:

print(sample_job.result())
PrimitiveResult([PubResult(data=DataBin(), metadata={'time_estimation_sec': 12600})], metadata={})

الحصول على الدعم

فريق دعم Qedma هنا لمساعدتك! إذا واجهت أي مشكلات أو لديك أسئلة حول استخدام دالة QESEM Qiskit، لا تتردد في التواصل معنا. موظفو الدعم المتمرسون والودودون لدينا مستعدون لمساعدتك في أي مخاوف أو استفسارات تقنية قد تكون لديك.

يمكنك مراسلتنا عبر البريد الإلكتروني على support@qedma.com للحصول على المساعدة. يُرجى تضمين أكبر قدر ممكن من التفاصيل حول المشكلة التي تواجهها لمساعدتنا في تقديم استجابة سريعة ودقيقة. يمكنك أيضًا التواصل مع ممثل Qedma POC المخصص لك عبر البريد الإلكتروني أو الهاتف.

لمساعدتنا في خدمتك بكفاءة أكبر، يُرجى تقديم المعلومات التالية عند التواصل معنا:

  • وصف تفصيلي للمشكلة
  • معرّف الوظيفة (Job ID)
  • أي رسائل خطأ أو رموز ذات صلة

نحن ملتزمون بتزويدك بدعم سريع وفعّال لضمان حصولك على أفضل تجربة ممكنة مع دالة Qiskit الخاصة بنا.

نحن نسعى دائمًا إلى تحسين منتجنا ونرحّب باقتراحاتك! إذا كان لديك أفكار حول كيفية تحسين خدماتنا أو ميزات تودّ رؤيتها، يُرجى إرسال أفكارك إلى support@qedma.com

الخطوات التالية