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

مقدمة إلى Qiskit

اسم "Qiskit" هو مصطلح عام يشير إلى مجموعة من البرامج المخصصة لتنفيذ البرامج على الحواسيب الكمومية. أبرز هذه الأدوات هو Qiskit SDK مفتوح المصدر، وبيئة التشغيل (التي يمكن الوصول إليها باستخدام Qiskit Runtime) التي تتيح لك تنفيذ أعباء العمل على وحدات المعالجة الكمومية (QPUs) من IBM®. ومع تطور التكنولوجيا الكمومية، يتطور Qiskit معها، إذ تُطلق قدرات جديدة كل عام توسع هذه المجموعة الأساسية من برامج الحوسبة الكمومية.

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

تلتزم IBM بالتطوير المسؤول للحوسبة الكمومية. اعرف المزيد وراجع مبادئنا في الحوسبة الكمومية المسؤولة في موضوع الحوسبة الكمومية المسؤولة.

Qiskit SDK

Qiskit SDK (اسم الحزمة qiskit) هو SDK مفتوح المصدر للعمل مع الحواسيب الكمومية على مستوى الدوائر الكمومية الموسّعة (الثابتة والديناميكية والمجدولة)، والمعاملات، والعناصر الأولية. هذه المكتبة هي المكوّن الأساسي لـ Qiskit؛ إذ تُعدّ أكبر حزمة تحت اسم Qiskit وتضم أوسع مجموعة من أدوات الحوسبة الكمومية، وتتواصل معها كثير من المكونات الأخرى.

من أبرز ميزات Qiskit SDK:

  • أدوات بناء الدوائر (qiskit.circuit) - لتهيئة السجلات والدوائر والتعليمات والبوابات والمعاملات وكائنات التحكم في التدفق والتعامل معها.

  • مكتبة الدوائر (qiskit.circuit.library) - مجموعة واسعة من الدوائر والتعليمات والبوابات - وهي لبنات البناء الأساسية للحسابات الكمومية المبنية على الدوائر.

  • مكتبة المعلومات الكمومية (qiskit.quantum_info) - مجموعة أدوات للعمل مع الحالات الكمومية والمعاملات والقنوات، باستخدام حسابات دقيقة (بدون ضوضاء عينات). استخدم هذه الوحدة لتحديد المراقبات المدخلة وتحليل دقة المخرجات من استعلامات العناصر الأولية.

  • Transpiler (qiskit.transpiler) - لتحويل الدوائر الكمومية وتكييفها لتناسب طوبولوجيا الجهاز المحددة، وتحسينها للتنفيذ على وحدات المعالجة الكمومية الحقيقية (QPUs).

  • العناصر الأولية (qiskit.primitives) - الوحدة التي تحتوي على التعريفات الأساسية والتطبيقات المرجعية لعناصر Sampler وEstimator الأولية، والتي يمكن لمزودي الأجهزة الكمومية المختلفين اشتقاق تطبيقاتهم الخاصة منها. اطلع على مزيد من المعلومات حول عناصر Qiskit Runtime الأولية في التوثيق.

التثبيت

للحصول على مقدمة أكثر تفصيلاً حول تثبيت Qiskit SDK، راجع صفحة التثبيت. إذا كنت مستعداً للتثبيت الآن، فما عليك سوى تشغيل:

pip install qiskit

القياس المعياري وحزمة Benchpress

القياس المعياري مهم لمقارنة الأداء النسبي لبرامج الحوسبة الكمومية عبر مراحل مختلفة من سير عمل التطوير. قد تنظر اختبارات القياس المعياري لبرامج الحوسبة الكمومية، على سبيل المثال، في سرعة وجودة بناء الدوائر ومعالجتها وتحويلها. تلتزم IBM Quantum بتقديم أعلى أداء ممكن لـ SDK، ولتحقيق ذلك، يُقاس Qiskit SDK باستخدام أكثر من 1,000 اختبار طوّرتها جامعات رائدة ومختبرات وطنية وباحثون في IBM. مجموعة القياس المعياري المستخدمة لهذه الاختبارات، المسماة Benchpress، متاحة الآن كـ حزمة مفتوحة المصدر. يمكنك الآن استخدام حزمة Benchpress لإجراء تحليلك الخاص لأداء SDK الكمومي.

Qiskit Runtime

Qiskit Runtime هي خدمة سحابية لتنفيذ الحسابات الكمومية على أجهزة IBM Quantum®. حزمة qiskit-ibm-runtime هي عميل لتلك الخدمة، وهي خليفة Qiskit IBM Provider. تبسّط خدمة Qiskit Runtime الحسابات الكمومية وتوفر تطبيقات مثلى للعناصر الأولية لـ Qiskit على أجهزة IBM Quantum. للبدء باستخدام عناصر Qiskit Runtime الأولية، قم بزيارة التوثيق.

صُمّم Qiskit Runtime لاستخدام موارد حسابية كلاسيكية وكمومية إضافية، بما في ذلك تقنيات مثل قمع الأخطاء وتخفيفها، لإعادة نتيجة عالية الجودة من تنفيذ الدوائر الكمومية على المعالجات الكمومية. تشمل الأمثلة الفصل الديناميكي لقمع الأخطاء، وتخفيف قراءة البيانات والاستقراء الخطي عند انعدام الضوضاء (ZNE) لتخفيف الأخطاء. تعرّف على كيفية تكوين هذه الخيارات في صفحة تكوين تخفيف الأخطاء.

يتضمن Qiskit Runtime أيضاً ثلاثة أنواع من أوضاع التنفيذ لتشغيل برنامجك الكمومي على أجهزة IBM: Job و_Session_ و_Batch_، ولكل منها حالات استخدام مختلفة وتأثيرات على قائمة انتظار المهام الكمومية. المهمة (Job) هي استعلام واحد لعنصر أولي يمكن تشغيله على عدد محدد من اللقطات. تتيح الجلسات (Sessions) تشغيل عدة مهام بكفاءة في أعباء عمل تكرارية على الحواسيب الكمومية. يتيح وضع الدُفعات (Batch) إرسال جميع مهامك دفعة واحدة للمعالجة المتوازية. لاحظ أن مستخدمي الخطة المجانية (Open Plan) لا يمكنهم إرسال مهام الجلسات.

لتثبيت Qiskit Runtime بسرعة، شغّل الأمر التالي:

pip install qiskit-ibm-runtime

يمكن العثور على مزيد من التفاصيل حول إعداد بيئة تطوير لبناء البرامج الكمومية في صفحة التثبيت.

هل Qiskit Runtime مفتوح المصدر؟

الجواب المختصر هو ليس كله. برنامج خدمة Qiskit Runtime الذي يتولى تفاصيل تشغيل برنامجك الكمومي على جهاز IBM Quantum (بما في ذلك أي تخفيف وقمع للأخطاء) ليس مفتوح المصدر. أما عميل Qiskit Runtime (الواجهة التي يصل من خلالها المستخدمون إلى خدمة Qiskit Runtime)، وQiskit SDK الذي يعمل على جانب الخادم، وبعض البرامج المستخدمة لتخفيف الأخطاء، فهي مفتوحة المصدر. للمشاركة في جهود Qiskit مفتوحة المصدر، قم بزيارة منظمتنا على GitHub على github.com/Qiskit وgithub.com/Qiskit-Extensions.

Qiskit Serverless

يتطلب إنشاء تطبيقات كمومية على نطاق الاستخدام الفعلي عموماً متطلبات متنوعة من موارد الحوسبة. يوفر Qiskit Serverless (qiskit-ibm-catalog.QiskitServerless) واجهة بسيطة لتشغيل أعباء العمل عبر الموارد الكلاسيكية والكمومية. يشمل ذلك نشر البرامج على IBM Quantum Platform وتشغيل أعباء العمل عن بُعد، فضلاً عن إدارة سهلة للموارد في حالات استخدام الحوسبة الفائقة متعددة السحابة والمتمحورة حول الكم. اطلع على مزيد من المعلومات في توثيق Qiskit Serverless حول كيفية استخدام هذه المجموعة من الأدوات من أجل:

  • توازي المهام الكلاسيكية، مثل المعالجة المسبقة والمعالجة اللاحقة
  • الإبقاء على أعباء العمل طويلة الأمد في السحابة، حتى لو أُغلق الكمبيوتر المحمول
  • نشر برامج قابلة لإعادة الاستخدام في السحابة

لبدء استخدام Qiskit Serverless فوراً، ثبّته باستخدام pip:

pip install qiskit_serverless

Qiskit Functions

Qiskit Functions (qiskit-ibm-catalog.QiskitFunctionsCatalog) هي خدمات مجرّدة مصممة لتسريع اكتشاف الخوارزميات ونماذج التطبيقات الأولية. استكشف كتالوج Qiskit Functions، بما في ذلك:

  • دوال الدوائر (Circuit functions): خدمات تشمل التحويل (Transpilation)، وقمع الأخطاء، وتخفيف الأخطاء، وتقنيات المعالجة اللاحقة التي تأخذ دوائر مجردة ومراقبات القياس المطلوبة كمدخلات. مع دوال الدوائر، يمكن للمستخدمين اكتشاف خوارزميات وتطبيقات جديدة دون الحاجة إلى إدارة التحويل أو أداء الأجهزة الكمومية.
  • دوال التطبيقات (Application functions): خدمات تشمل سير عمل كمومي كامل، من تحويل الكلاسيكي إلى الكمومي، وتحسينه للأجهزة، والتنفيذ على الأجهزة، والمعالجة اللاحقة. يمكن للمستخدمين نمذجة تطبيقات صناعية بمدخلات ومخرجات مألوفة في مجالهم.

يمكن لأعضاء خطط Premium Plan وFlex Plan وOn-Prem (عبر IBM Quantum Platform API) الوصول إلى الدوال التي توفرها IBM فوراً، أو شراء تراخيص الدوال التي يوفرها الشركاء مباشرة من هؤلاء الشركاء.

يمكن تثبيت الكتالوج باستخدام pip:

pip install qiskit-ibm-catalog

Qiskit Transpiler Service

خدمة Qiskit Transpiler Service (اسم الحزمة qiskit-ibm-transpiler) هي خدمة تجريبية جديدة توفر قدرات تحويل عن بُعد على السحابة لمستخدمي خطط IBM Quantum Premium Plan وFlex Plan وOn-Prem (عبر IBM Quantum Platform API). بالإضافة إلى قدرات Transpiler المحلية في Qiskit SDK، يمكن لمهام التحويل الخاصة بك الاستفادة من موارد IBM Quantum السحابية ومسارات Transpiler المدعومة بالذكاء الاصطناعي عبر هذه الخدمة. لمعرفة المزيد حول كيفية دمج التحويل السحابي في سير عمل Qiskit الخاص بك، يمكنك الاطلاع على التوثيق.

يمكن تثبيت خدمة Transpiler باستخدام pip:

pip install qiskit-ibm-transpiler

إضافات Qiskit

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

هناك عدد من الإضافات بحسب القدرة البحثية التي تهتم بها. يمكن تثبيت كل منها باستخدام pip.

التقطير الكمومي القائم على العينات (SQD):

pip install qiskit-addon-sqd

التجميع الكمومي التقريبي (AQC):

pip install qiskit-addon-aqc-tensor[quimb-jax]

الانتشار الخلفي للمعاملات (OBP):

pip install qiskit-addon-obp

صيغ المنتجات المتعددة (MPF):

pip install qiskit-addon-mpf

النظام البيئي لـ Qiskit

هناك كثير من المشاريع مفتوحة المصدر خارج Qiskit التي تستخدم اسم "Qiskit" لكنها ليست جزءاً من Qiskit نفسه؛ بل إنها تتواصل مع Qiskit ويمكنها توفير وظائف إضافية قيّمة لتكملة سير عمل Qiskit الأساسي. بعض هذه المشاريع تديرها فرق IBM Quantum، بينما يدعم مجتمع المصادر المفتوحة الأوسع مشاريع أخرى. صُمّم Qiskit SDK بطريقة معيارية وقابلة للتوسع لتسهيل إنشاء المطورين لمثل هذه المشاريع التي توسّع قدراته.

بعض المشاريع الشائعة في النظام البيئي لـ Qiskit:

  • Qiskit Aer (qiskit-aer) - حزمة لمحاكيات الحوسبة الكمومية بنماذج ضوضاء واقعية. توفر واجهات لتشغيل الدوائر الكمومية مع الضوضاء أو بدونها باستخدام طرق محاكاة متعددة. تديرها IBM Quantum.
  • qBraid SDK (qbraid) - إطار تشغيل كمومي مستقل عن المنصة لكل من مزودي البرامج والأجهزة الكمومية، مصمم لتبسيط الإدارة الكاملة لدورة حياة المهام الكمومية — من تحديد مواصفات البرنامج إلى إرسال المهام ووصولاً إلى المعالجة اللاحقة وتصور النتائج. تديره qBraid.
  • mthree mthree - حزمة لتطبيق M3 (تخفيف القياس بدون مصفوفة)، وهو تقنية تخفيف قياس تحلّ لاحتمالات القياس المصححة باستخدام خطوة تقليص الأبعاد تليها إما تحليل LU المباشر أو طريقة تكرارية مسبقة التكييف تتقارب اسمياً في O(1) خطوة، ويمكن حسابها بالتوازي. تديرها IBM Quantum.

يمكنك العثور على كتالوج للمشاريع في صفحة النظام البيئي لـ Qiskit، فضلاً عن معلومات حول كيفية ترشيح مشروعك الخاص.

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

توصيات