ما هو Ray على Azure Databricks؟

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

باستخدام Ray 2.3.0 وما فوق، يمكنك إنشاء مجموعات Ray وتشغيل تطبيقات Ray على مجموعات Apache Spark باستخدام Azure Databricks.

للحصول على معلومات حول البدء في التعلم الآلي على Ray، بما في ذلك البرامج التعليمية والأمثلة ، راجع وثائق Ray. لمزيد من المعلومات حول تكامل Ray وApache Spark، راجع وثائق Ray on Spark API.

ما هو راي؟

يعمل Ray على تبسيط الأنظمة الموزعة من خلال توفير أساسيات Python الأساسية لإنشاء تطبيقات موزعة من البداية. بالنسبة لمطوري Python الجدد للأنظمة الموزعة، فإنه يوفر نفس سهولة الاستخدام مثل Python القياسية أثناء إدارة التنسيق والجدولة والتسامح مع الخطأ.

Ray وApache Spark هما إطاران متكاملان. يتفوق راي في التوازي المنطقي، ويتعامل مع المهام الديناميكية كثيفة الحوسبة مثل التعلم الآلي والتعلم المعزز. Apache Spark متخصص في توازي البيانات، ومعالجة مجموعات البيانات الكبيرة بكفاءة لمهام مثل ETL وتحليلات البيانات. معا، فإنها توفر مزيجا قويا لكل من معالجة البيانات والحساب المعقد.

لماذا تقوم بتشغيل Ray على Azure Databricks؟

يسمح لك تشغيل Ray على Azure Databricks بالاستفادة من اتساع النظام البيئي Azure Databricks، ما يعزز معالجة البيانات وسير عمل التعلم الآلي من خلال الخدمات والتكاملات غير المتوفرة في مصدر مفتوح Ray. تشمل فوائد تشغيل Ray داخل Azure Databricks ما يلي:

  • النظام الأساسي الموحد: يوفر Azure Databricks نظاما أساسيا موحدا حيث يمكنك تشغيل تطبيقات Ray جنبا إلى جنب مع Apache Spark. يدعم هذا التكامل عمليات ETL السلسة للبيانات ونقل البيانات الفعال والحوسبة المتوازية القوية داخل نفس بيئة الحساب.
  • الحوكمة والتحكم: احصل على فوائد تتبع دورة حياة البيانات وتعيين إصدار البيانات والتحكم في الوصول باستخدام كتالوج Unity لجميع أصول البيانات والملفات والنماذج والمزيد، مما يضمن التوافق والأمان.
  • إدارة البنية الأساسية: استخدم أدوات البنية الأساسية مثل موفر Azure Databricks Terraform ومجموعات أصول Azure Databricks لإدارة مجموعاتك ووظائفك، ما يضمن العمليات المبسطة وقابلية التوسع.
  • مجموعات الأشعة المدارة: تتم إدارة مجموعات Ray في نفس بيئة التنفيذ مثل مجموعة Apache Spark قيد التشغيل. وهذا يضمن قابلية التوسع والموثوقية وسهولة الاستخدام دون الحاجة إلى إعداد البنية الأساسية المعقدة.
  • خدمة النموذج ومراقبته: توصيل النماذج المدربة باستخدام Ray Train to Mosaic الذكاء الاصطناعي Model Serving من أجل عمليات نشر عالية التوفر وزمن انتقال منخفض. بالإضافة إلى ذلك، استخدم Lakehouse Monitoring لتتبع جودة تنبؤ النموذج والانجراف، ما يضمن أداء متسقا.
  • تطوير التعلم الآلي المحسن: التكامل مع خدمة Azure Databricks MLflow المدارة بالكامل لتتبع تطوير النموذج الخاص بك، وتسهيل إدارة التجربة وقابلية إعادة الإنتاج عبر تطبيقات Ray الخاصة بك.
  • مهام سير العمل التلقائية: استخدم وظائف Databricks لأتمتة عملياتك، وإنشاء مسارات جاهزة للإنتاج تعمل على تبسيط عملياتك وتقليل التدخل اليدوي.
  • إدارة التعليمات البرمجية والتعاون: إدارة التعليمات البرمجية بكفاءة باستخدام مجلدات Azure Databricks Git، ما يتيح تكامل Git السلس للتحكم في الإصدار والتطوير التعاوني للتعليمات البرمجية لتطبيق Ray الخاص بك.
  • الوصول الفعال إلى البيانات: توصيل تطبيقات Ray ب Delta Lake، والاستفادة من النظام البيئي الواسع ل Azure Databricks لتكامل البيانات لتوسيع قدرات Ray إلى مجموعة أوسع من التطبيقات والمخرجات.

من خلال تشغيل Ray على Azure Databricks، يمكنك الوصول إلى نظام بيئي متكامل يعزز معالجة البيانات والتعلم الآلي وسير العمل التشغيلي.

حالات الاستخدام - التعلم الآلي وما بعده

Ray هي أداة متعددة الاستخدامات تعمل على توسيع قدرات Python بما يتجاوز حدود عمليات DataFrame، ما يجعلها مثالية للخوارزميات الموزعة عالية التخصيص والمتخصصة.

التعلم الآلي والتعلم العميق

استفد من مكتبات التعلم الآلي من Ray لتحسين مهام سير عمل التعلم الآلي:

  • ضبط المعلمات الفائقة: تحسين أداء النموذج باستخدام Ray Tune للبحث عن المعلمات الفائقة عالية الأداء والقابلة للتطوير.
  • تدريب التعلم العميق الموزع: توسيع نطاق نماذج التعلم العميق عبر عقد متعددة مع دعم أطر العمل الشائعة مثل PyTorch وTensorFlow و HuggingFace وKeras. مثالية لنماذج التدريب لرؤية الكمبيوتر أو نماذج اللغة الكبيرة (LLMs).
  • التعلم الآلي التقليدي: استخدم Ray لتوزيع التدريب والتقييم والاستدلال الدفعي لنماذج التعلم الآلي التقليدية المبنية مع المكتبات الشائعة مثل scikit-learn أو XGBoost.

الحوسبة عالية الأداء (HPC)

يتفوق راي في توزيع أحمال عمل HPC، ما يجعله مناسبا لما يلي:

  • الحسابات الرياضية: إجراء حسابات معقدة في حقول مثل الفيزياء أو علم الجينوم أو التمويل باستخدام Ray Core للمعالجة المتوازية الفعالة.
  • التنبؤ بالسلاسل الزمنية: تحجيم نماذج التنبؤ الخاصة بك، وتشغيل التقديرات بشكل متزامن مع حزم التنبؤ مثل النبي أو ARIMA.

معالجة البيانات وهندسة الميزات

يمكن ل Ray أيضا معالجة مهام معالجة البيانات المختلفة:

  • الميزات المحسوبة: يمكن أن تستفيد مهام هندسة الميزات المعقدة كثيفة الحوسبة من بنية الحساب الموزعة ل Ray.
  • معالجة الصوت والصور والفيديو: توزيع وتسريع معالجة بيانات الوسائط المتعددة، مما يجعلها مثالية للتطبيقات في التعرف على الكلام وتصنيف الصور وتحليل الفيديو.

القيود

  • يتم دعم Ray على Apache Spark لوضع وصول مستخدم واحد (معين)، ولا يوجد وضع وصول مشترك للعزل، ومجموعات الوظائف فقط. لا يمكن بدء نظام مجموعة Ray على أنظمة مجموعات باستخدام أوقات التشغيل المستندة إلى الخادم.
  • تجنب التشغيل %pip لتثبيت الحزم على نظام مجموعة Ray قيد التشغيل، حيث سيتم إيقاف تشغيل نظام المجموعة. بدلا من ذلك، قم بتثبيت المكتبات قبل تهيئة نظام المجموعة.
  • يمكن أن يؤدي استخدام عمليات التكامل التي تتجاوز التكوين من ray.util.spark.setup_ray_cluster إلى أن تصبح مجموعة Ray غير مستقرة. تجنب الاشتراك المفرط في موارد مجموعة Ray في تطبيقات الجهات الخارجية.
  • إذا واجهت أخطاء مثل ncclInternalError: Internal check failed، فهذا يشير إلى وجود مشكلة في اتصال الشبكة بين وحدات معالجة الرسومات في مجموعتك. لحل هذا الخطأ، أضف القصاصة البرمجية التالية في التعليمات البرمجية للتدريب لاستخدام واجهة الشبكة الأساسية.
import os
os.environ["NCCL_SOCKET_IFNAME"] = "eth0"

راجع المقالات الأخرى في هذا القسم.