منصة نشر نماذج تعلم الآلة واسعة النطاق تعتمد على Kubernetes، تُستخدم لتعبئة ونشر ومراقبة وإدارة آلاف نماذج تعلم الآلة على مستوى الإنتاج.
Seldon Core - منصة نشر نماذج تعلم الآلة على مستوى المؤسسات
نظرة عامة على المشروع
Seldon Core هو إطار عمل مفتوح المصدر لـ MLOps (عمليات تعلم الآلة) متخصص في نشر ومراقبة وإدارة نماذج تعلم الآلة على نطاق واسع على Kubernetes. تم تطوير هذا المشروع وصيانته بواسطة فريق SeldonIO، وقد أصبح أحد الحلول الرائدة في الصناعة لنشر نماذج تعلم الآلة.
عنوان المشروع: https://github.com/SeldonIO/seldon-core
الميزات الأساسية
1. دعم متعدد الأطر
- أطر التعلم العميق: TensorFlow و PyTorch و H2O وغيرها
- لغات البرمجة: Python و Java و R و NodeJS و Go وغيرها
- تنسيقات النماذج: دعم مختلف النماذج المدربة مسبقًا والنماذج المخصصة
2. النشر المستند إلى الحاويات
- تحويل نماذج تعلم الآلة تلقائيًا إلى خدمات مصغرة REST/GRPC على مستوى الإنتاج
- توفير خوادم استدلال مُجمَّعة مسبقًا، دون الحاجة إلى إنشاء حاويات يدويًا
- دعم الحاويات المخصصة وأغلفة اللغات
3. بنية أصلية سحابية
- أصلية لـ Kubernetes: مبنية بالكامل على Kubernetes
- توافق مع الأنظمة الأساسية السحابية: دعم AWS EKS و Azure AKS و Google GKE و Alibaba Cloud و Digital Ocean و OpenShift
- توفر عالٍ: موازنة التحميل المضمنة وآليات تجاوز الفشل
4. قدرات ML متقدمة
- اختبار A/B: دعم اختبار مقارنة النماذج متعددة الإصدارات
- إصدار Canary: تحديث تدريجي للنماذج
- تركيب النماذج: مخططات استدلال معقدة مثل المتنبئات والمحولات والموجهات والمجمعات
- اكتشاف الحالات الشاذة: كاشف القيم المتطرفة المضمن
- تفسير النموذج: توفير أدوات تفسير النموذج
البنية التقنية
المكونات الأساسية
- Seldon Core Operator
- وحدة تحكم Kubernetes، تدير دورة حياة نشر النموذج
- معالجة مورد SeldonDeployment المخصص
- خوادم الاستدلال المُجمَّعة مسبقًا
- MLServer (يدعم أطر عمل ML متعددة)
- TensorFlow Serving
- TorchServe
- خادم استدلال Triton
- أغلفة اللغات
- غلاف Python (الأكثر نضجًا)
- غلاف Java (قيد التطوير)
- أغلفة R و NodeJS و Go (إصدار Alpha)
- منظم الخدمات
- معالجة مخططات الاستدلال المعقدة
- إدارة الاتصال بين الخدمات المصغرة
المراقبة وقابلية الملاحظة
- مراقبة المقاييس
- التكامل مع Prometheus
- دعم لوحة معلومات Grafana
- جمع المقاييس المخصصة
- تسجيل الدخول
- سجلات كاملة للطلبات/الاستجابات
- التكامل مع Elasticsearch
- دعم مستويات تسجيل مختلفة
- التتبع الموزع
- التكامل مع Jaeger
- تتبع سلسلة استدعاء الخدمات المصغرة
- تحليل التأخير
- تتبع بيانات التعريف
- تتبع إصدار النموذج
- ربط بيانات التدريب
- تسجيل مقاييس الأداء
طرق النشر
1. التثبيت السريع
استخدم Helm 3 للتثبيت بنقرة واحدة:
kubectl create namespace seldon-system
helm install seldon-core seldon-core-operator \
--repo https://storage.googleapis.com/seldon-charts \
--set usageMetrics.enabled=true \
--namespace seldon-system \
--set istio.enabled=true
2. نشر النماذج المُجمَّعة مسبقًا
بالنسبة لأطر عمل تعلم الآلة القياسية، ما عليك سوى تحديد موقع تخزين النموذج:
apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
name: iris-model
namespace: seldon
spec:
name: iris
predictors:
- graph:
implementation: SKLEARN_SERVER
modelUri: gs://seldon-models/v1.19.0-dev/sklearn/iris
name: classifier
name: default
replicas: 1
3. نشر النماذج المخصصة
بالنسبة للنماذج المخصصة المعقدة، استخدم أغلفة اللغات:
# Model.py
import pickle
class Model:
def __init__(self):
self._model = pickle.loads(open("model.pickle", "rb"))
def predict(self, X):
output = self._model(X)
return output
حالات الاستخدام
1. نشر ML على مستوى المؤسسات
- خدمة نماذج واسعة النطاق (تدعم آلاف النماذج)
- معالجة طلبات الاستدلال عالية التزامن
- متطلبات أمان المؤسسات والامتثال
2. خط أنابيب MLOps
- تكامل CI/CD
- إدارة إصدار النموذج
- النشر التلقائي والتراجع
3. التجارب والاختبار
- البنية التحتية لاختبار A/B
- مقارنة أداء النموذج
- استراتيجيات النشر التدريجي
4. التعاون بين الفرق المتعددة
- منصة خدمة نموذج موحدة
- عزل الموارد وإدارة الحصص
- التحكم في الوصول والتدقيق
النظام البيئي
أدوات التكامل
- Kubeflow: التكامل مع خط أنابيب Kubeflow ML
- Istio: دعم شبكة الخدمة
- Ambassador: تكامل بوابة API
- Fluentd: جمع السجلات
- InfluxDB: تخزين بيانات السلاسل الزمنية
مكدس المراقبة
- Prometheus + Grafana: مراقبة المقاييس
- ELK Stack: تحليل السجلات
- Jaeger: التتبع الموزع
- Kafka Streams: معالجة البيانات في الوقت الفعلي
المزايا والخصائص
1. المزايا التقنية
- واجهات موحدة: واجهة برمجة تطبيقات REST/GRPC موحدة
- أداء عالٍ: أداء استدلال مُحسَّن
- توسع مرن: دعم التوسع التلقائي
- استعادة الأعطال: آليات معالجة الأعطال المضمنة
2. مزايا العمليات
- تبسيط النشر: نشر أنظمة ML معقدة بنقرة واحدة
- مراقبة كاملة: قابلية الملاحظة الشاملة
- آمن وموثوق: ميزات أمان على مستوى المؤسسات
- دعم المجتمع: مجتمع مفتوح المصدر نشط
3. تجربة التطوير
- دعم متعدد اللغات: خيارات تطوير مرنة
- وثائق غنية: وثائق وأمثلة كاملة
- النظام البيئي للأدوات: سلسلة أدوات داعمة كاملة
- سهولة التصحيح: أدوات تصحيح الأخطاء واستكشاف الأخطاء وإصلاحها كاملة
حالات الاستخدام
يتم استخدام Seldon Core من قبل العديد من المؤسسات المبتكرة حول العالم، من الشركات الناشئة إلى الشركات الكبيرة، لنشر نماذج تعلم الآلة في الإنتاج. تتيح لها بنيتها المرنة تلبية الاحتياجات المختلفة من حيث الحجم والتعقيد.
ملخص
يوفر Seldon Core، باعتباره منصة MLOps مفتوحة المصدر الرائدة، حلاً كاملاً لنشر نماذج تعلم الآلة في الإنتاج. تجعلها بنيتها الأصلية السحابية وميزاتها الغنية ودعم المجتمع النشط خيارًا مثاليًا لنشر تعلم الآلة على مستوى المؤسسات. سواء كانت خدمة نموذج بسيطة أو خط أنابيب ML معقد، يمكن لـ Seldon Core توفير حلول موثوقة وفعالة.