انتقل إلى المحتوى الرئيسي
هذا المشروع في مرحلة تجريبية. وجدت خطأ؟ افتح مشكلة على GitHub. لديك سؤال أو فكرة؟ اسأل في Discussions — نحب سماع ملاحظاتك!
كيف جودة الترجمة في هذه الصفحة؟

تقنيات تخفيف الأخطاء وقمعها

نموذج تنفيذ جديد، متاح الآن كإصدار تجريبي

الإصدار التجريبي من نموذج تنفيذ جديد متاح الآن. يوفر نموذج التنفيذ الموجَّه مرونة أكبر عند تخصيص سير عمل تخفيف الأخطاء لديك. راجع دليل نموذج التنفيذ الموجَّه لمزيد من المعلومات.

تُستخدَم تقنيات تخفيف الأخطاء وقمعها لتحسين جودة النتائج عند التوسع نحو أحمال عمل أكبر. تقدم هذه الصفحة شرحًا عامًا لتقنيات قمع الأخطاء وتخفيفها المتاحة مع Qiskit.

فك الاقتران الديناميكي​

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

تجدر الإشارة إلى أن فك الاقتران الديناميكي مفيد بصفة رئيسية للدوائر التي تحتوي على فجوات تجلس فيها بعض الـ qubits خاملةً دون أي عمليات تعمل عليها. إذا كانت العمليات في الدائرة مكتظة بكثافة شديدة بحيث تكون جميع الـ qubits مشغولة معظم الوقت، فقد لا يُحسِّن إضافة نبضات فك الاقتران الديناميكي الأداء. بل يمكن أن تُسوِّئه في الواقع بسبب الإخفاقات في النبضات نفسها.

يُصوِّر الرسم البياني أدناه فك الاقتران الديناميكي بتسلسل نبضات XX. الدائرة المجردة على اليسار تُعيَّن على جدول زمني لنبضة ميكروويف في أعلى اليمين. يصوّر أسفل اليمين نفس الجدول الزمني، لكن مع إدراج تسلسل من نبضتي X خلال فترة خمول الـ qubit الأول.

توضيح فك الاقتران الديناميكي

يمكنك تفعيل فك الاقتران الديناميكي (dynamical decoupling) بالطرق التالية:

تلوية باولي​

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

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

تُنفَّذ تلوية باولي عن طريق تغليف مجموعة مختارة من البوابات ببوابات باولي أحادية الـ qubit مختارة عشوائيًا بطريقة تبقى معها التأثير المثالي للبوابة كما هو. والنتيجة أن دائرة واحدة تُستبدَل بمجموعة عشوائية من الدوائر، جميعها بالتأثير المثالي ذاته. عند أخذ العينات من الدائرة، تُستخلَص العينات من حالات عشوائية متعددة بدلًا من حالة واحدة فقط.

توضيح تلوية باولي

بما أن معظم الأخطاء في الأجهزة الكمومية الحالية تأتي من بوابات ثنائية الـ qubit، فإن هذه التقنية كثيرًا ما تُطبَّق حصرًا على البوابات الثنائية (الأصلية). يصور الرسم البياني التالي بعض تلويات باولي لبوابتَي CNOT وECR. كل دائرة ضمن صف واحد لها التأثير المثالي نفسه.

توضيح تلويات البوابات

يمكنك تفعيل تلوية باولي (Pauli twirling) بالطرق التالية:

إخماد أخطاء القراءة الملوَّاة (TREX)​

إخماد أخطاء القراءة الملوَّاة (TREX) يخفف من تأثير أخطاء القياس عند تقدير قيم التوقع لمراقِبات باولي. يستند إلى مفهوم القياسات الملوَّاة، التي تتحقق عن طريق الاستبدال العشوائي لبوابات القياس بتسلسل من: (1) بوابة باولي X، (2) قياس، و(3) قلب بت كلاسيكي. تمامًا كما في تلوية البوابات القياسية، هذا التسلسل مكافئ لقياس عادي في غياب الضوضاء، كما هو موضح في الرسم البياني التالي:

توضيح تلوية القياس

في حضور خطأ القراءة، يُحوِّل تلوية القياس مصفوفة نقل خطأ القراءة إلى صيغة قُطرية، مما يسهّل عكسها. يُتعلَّم مصطلح إعادة القياس من القناة الضوضاء القُطرية عن طريق معايرة دوائر عشوائية مُهيَّأة في الحالة الصفرية. يُتيح ذلك للخدمة إزالة التحيز من قيم التوقع الناجمة عن ضوضاء القراءة. يتطلب تقدير مصفوفة نقل خطأ القراءة تنفيذ دوائر معايرة إضافية، مما يُضيف عبئًا صغيرًا.

يمكنك تفعيل TREX بالطرق التالية:

الاستقراء نحو الضوضاء الصفرية (ZNE)​

الاستقراء نحو الضوضاء الصفرية (ZNE) هو تقنية لتخفيف الأخطاء في تقدير قيم التوقع للمراقِبات. وإن كانت كثيرًا ما تُحسِّن النتائج، إلا أنها ليست مضمونة لإنتاج نتيجة غير منحازة.

يتكون ZNE من مرحلتين:

  1. تضخيم الضوضاء: تُنفَّذ الدائرة الكمومية الأصلية عدة مرات عند معدلات ضوضاء مختلفة.

  2. الاستقراء: تُقدَّر النتيجة المثالية عن طريق الاستقراء من نتائج قيم التوقع المشوشة نحو حد الضوضاء الصفرية.

يمكن تنفيذ كلتا مرحلتي تضخيم الضوضاء والاستقراء بطرق مختلفة متعددة. ينفذ IBM Quantum Compute تضخيم الضوضاء عن طريق "طي البوابات الرقمي"، مما يعني أن البوابات ثنائية الـ qubit تُستبدَل بتسلسلات مكافئة من البوابة ومعكوسها. على سبيل المثال، استبدال وحدوية UU بـ UU†UU U^\dagger U يعطي عامل تضخيم ضوضاء مقداره 3. بالنسبة للاستقراء، يمكنك الاختيار من بين عدة أشكال دالية، منها ملاءمة خطية أو ملاءمة أسية. تُوضح الصورة أدناه طي البوابات الرقمي على اليسار، وإجراء الاستقراء على اليمين.

توضيح ZNE

يتناسب عبء هذه الطريقة مع عدد عوامل الضوضاء. تأخذ الإعدادات الافتراضية عينات من قيمة التوقع عند ثلاثة عوامل ضوضاء، مما يُفضي إلى عبء يبلغ تقريبًا ثلاثة أضعاف.

يمكنك تفعيل ZNE بالطرق التالية:

تضخيم الأخطاء الاحتمالي (PEA)​

أحد أبرز التحديات في ZNE هو تضخيم الضوضاء التي تؤثر على الدائرة المستهدفة بدقة. يوفر طي البوابات طريقة سهلة لإجراء هذا التضخيم، لكنه قد يكون غير دقيق وقد يؤدي إلى نتائج خاطئة. انظر مقالة "Scalable error mitigation for noisy quantum circuits produces competitive expectation values"، وتحديدًا الصفحة 4 من المعلومات التكميلية للتفاصيل. يوفر تضخيم الأخطاء الاحتمالي نهجًا أكثر دقة لتضخيم الأخطاء من خلال تعلم الضوضاء.

PEA تقنية أكثر تطورًا تُجري تجارب أولية لإعادة بناء الضوضاء ثم تستخدم هذه المعلومات لإجراء تضخيم دقيق. تبدأ بتعلم نموذج الضوضاء الملوَّاة لكل طبقة من بوابات التشابك في الدائرة قبل تشغيلها. بعد مرحلة التعلم، تُنفَّذ الدوائر عند كل عامل ضوضاء، حيث تُضخَّم كل طبقة تشابك في الدوائر عن طريق حقن ضوضاء أحادية الـ qubit بصورة احتمالية تتناسب مع نموذج الضوضاء المُتعلَّم المقابل. انظر مقالة "Evidence for the utility of quantum computing before fault tolerance" لمزيد من التفاصيل.

يتكون PEA من ثلاث مراحل:

  1. التعلم: يُتعلَّم نموذج الضوضاء الملوَّاة لكل طبقة من بوابات التشابك في الدائرة.
  2. تضخيم الضوضاء: تُنفَّذ الدائرة الكمومية الأصلية عدة مرات عند عوامل ضوضاء مختلفة.
  3. الاستقراء: تُقدَّر النتيجة المثالية عن طريق الاستقراء من نتائج قيم التوقع المشوشة نحو حد الضوضاء الصفرية.

بالنسبة للتجارب على نطاق الأداء، يكون PEA في الغالب الخيار الأفضل.

بما أن PEA تقنية لتضخيم الضوضاء في ZNE، تحتاج أيضًا إلى تفعيل ZNE. يمكنك تفعيل PEA وZNE بالطرق التالية:

تعلم الضوضاء مطلوب

إذا كنت تستخدم Estimator الجديد من جانب العميل الذي تم تقديمه في qiskit-ibm-runtime الإصدار v0.50.0، فستحتاج إلى وظيفة منفصلة لتعلم الضوضاء لاستخدام PEA. راجع الترحيل من Sampler وEstimator من جانب الخادم إلى جانب العميل لمزيد من المعلومات.

إلغاء الأخطاء الاحتمالي (PEC)​

إلغاء الأخطاء الاحتمالي (PEC) هو تقنية لتخفيف الأخطاء في تقدير قيم التوقع للمراقِبات. وخلافًا لـ ZNE، يُعيد تقديرًا غير منحاز لقيمة التوقع. غير أنه يتكبد عمومًا عبئًا أكبر.

في PEC، يُعبَّر عن تأثير دائرة مستهدفة مثالية بوصفه تركيبًا خطيًا من الدوائر المشوشة القابلة للتنفيذ فعليًا في الواقع العملي:

Oideal=∑iηiOnoisy,i\mathcal{O}_{\text{ideal}} = \sum_{i} \eta_i \mathcal{O}_{noisy, i}

يمكن حينئذٍ إعادة إنتاج مخرجات الدائرة المثالية عن طريق تنفيذ نسخ مختلفة من الدوائر المشوشة المُستخلَصة من مجموعة عشوائية محددة بالتركيب الخطي. إذا كانت المعاملات ηi\eta_i تُشكِّل توزيع احتمال، يمكن استخدامها مباشرةً بوصفها احتمالات المجموعة. في الواقع العملي، بعض المعاملات سالبة، لذا تُشكِّل توزيع شبه احتمالي بدلًا من ذلك. لا يزال بالإمكان استخدامها لتعريف مجموعة عشوائية، لكن ثمة عبء أخذ عينات مرتبط بسلبية توزيع الشبه الاحتمالي، والذي يتميز بالكمية

γ=∑i∣ηi∣≥1.\gamma = \sum_{i} \lvert \eta_i \rvert \geq 1.

عبء أخذ العينات هو عامل ضربي على عدد اللقطات المطلوبة لتقدير قيمة التوقع بدقة معينة، مقارنةً بعدد اللقطات التي ستكون مطلوبة من الدائرة المثالية. يتناسب تربيعيًا مع γ\gamma، الذي بدوره يتناسب أسيًا مع عمق الدائرة.

يمكنك تفعيل PEC بالطرق التالية:

تعلم الضوضاء مطلوب

إذا كنت تستخدم Estimator الجديد من جانب العميل الذي تم تقديمه في qiskit-ibm-runtime الإصدار v0.50.0، فستحتاج إلى وظيفة منفصلة لتعلم الضوضاء لاستخدام PEC. راجع الترحيل من Sampler وEstimator من جانب الخادم إلى جانب العميل لمزيد من المعلومات.

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