في هذا المنشور ، نظهر Kubeflow على AWS (توزيع Kubeflow الخاص بـ AWS) والقيمة التي تضيفها على Kubeflow مفتوحة المصدر من خلال تكامل خدمات AWS المحسّنة للغاية والسحابة الأصلية والجاهزة للمؤسسات.
Kubeflow هو نظام أساسي مفتوح المصدر للتعلم الآلي (ML) مخصص لجعل عمليات نشر مهام سير عمل التعلم الآلي على Kubernetes بسيطة ومحمولة وقابلة للتطوير. توفر Kubeflow العديد من المكونات ، بما في ذلك لوحة القيادة المركزية ، وأجهزة الكمبيوتر المحمولة Jupyter متعددة المستخدمين ، وخطوط أنابيب Kubeflow ، و KFServing ، و Katib ، بالإضافة إلى مشغلي التدريب الموزعين لـ TensorFlow و PyTorch و MXNet و XGBoost ، لبناء تدفقات عمل ML بسيطة وقابلة للتطوير وقابلة للنقل .
أطلقت AWS مؤخرًا إصدار Kubeflow v1.4 كجزء من توزيع Kubeflow الخاص بها (المعروف باسم Kubeflow على AWS) ، والذي يبسط مهام علوم البيانات ويساعد على بناء أنظمة ML موثوقة وآمنة وقابلة للحمل وقابلة للتطوير مع تكاليف تشغيلية أقل من خلال عمليات التكامل مع خدمات AWS المدارة . يمكنك استخدام توزيع Kubeflow هذا لبناء أنظمة ML فوقها خدمة أمازون مطاطا Kubernetes (Amazon EKS) لإنشاء نماذج ML وتدريبها وضبطها ونشرها لمجموعة متنوعة من حالات الاستخدام ، بما في ذلك رؤية الكمبيوتر ومعالجة اللغة الطبيعية وترجمة الكلام والنمذجة المالية.
التحديات مع برنامج Kubeflow مفتوح المصدر
عندما تستخدم مشروع Kubeflow مفتوح المصدر ، فإنه ينشر كل مستوى التحكم Kubeflow ومكونات مستوى البيانات على عقد عمال Kubernetes. يتم نشر خدمات مكون Kubeflow كجزء من مستوى التحكم Kubeflow ، ويتم نشر جميع عمليات نشر الموارد المتعلقة بـ Jupyter وتدريب النموذج والضبط والاستضافة على مستوى بيانات Kubeflow. يمكن تشغيل مستوى التحكم ومستوى البيانات Kubeflow على عقد Kubernetes نفسه أو على عقد مختلفة. يركز هذا المنشور على مكونات مستوى التحكم Kubeflow ، كما هو موضح في الرسم البياني التالي.
قد لا يوفر نموذج النشر هذا تجربة جاهزة للمؤسسات للأسباب التالية:
- يتم نشر جميع مكونات البنية التحتية للرفع الثقيل لطائرة التحكم Kubeflow ، بما في ذلك قاعدة البيانات والتخزين والمصادقة ، في عقدة عامل مجموعة Kubernetes نفسها. هذا يجعل من الصعب تنفيذ بنية تصميم مستوى تحكم Kubeflow متوفرة بشكل كبير مع حالة ثابتة في حالة فشل العقدة العاملة.
- تم إنشاء مستوى التحكم في Kubeflow (مثل مثيلات MySQL أو سجلات البود أو تخزين MinIO) بمرور الوقت وتحتاج إلى أحجام تخزين قابلة لتغيير الحجم مع إمكانات المراقبة المستمرة لتلبية الطلب المتزايد على التخزين. نظرًا لأن مستوى التحكم Kubeflow يشترك في الموارد مع أحمال عمل مستوى بيانات Kubeflow (على سبيل المثال ، لوظائف التدريب وخطوط الأنابيب وعمليات النشر) ، يمكن أن يصبح تحديد الحجم الصحيح لمجموعة Kubernetes وأحجام التخزين وتوسيعه أمرًا صعبًا وينتج عنه زيادة في التكلفة التشغيلية.
- يقيد Kubernetes حجم ملف السجل ، حيث تحافظ معظم عمليات التثبيت على الحد الأحدث وهو 10 ميغابايت. افتراضيًا ، يتعذر الوصول إلى سجلات الكبسولة بعد أن تصل إلى هذا الحد الأقصى. قد يتعذر الوصول إلى السجلات أيضًا إذا تم طرد البودات أو تعطلها أو حذفها أو جدولتها على عقدة مختلفة ، مما قد يؤثر على توفر سجل التطبيق وقدرات المراقبة.
Kubeflow على AWS
يوفر Kubeflow على AWS مسارًا واضحًا لاستخدام Kubeflow ، مع خدمات AWS التالية:
- موازن تحميل التطبيق لإدارة آمنة لحركة المرور الخارجية عبر HTTPS
- الأمازون CloudWatch لإدارة السجل المستمر
- أوس كوجنيتو لمصادقة المستخدم مع بروتوكول أمان طبقة النقل (TLS)
- حاويات AWS Deep Learning للحصول على صور خادم دفتر ملاحظات Jupyter المحسنة للغاية
- نظام ملفات أمازون المرن (Amazon EFS) أو أمازون FSx لستر للحصول على حل تخزين ملفات بسيط وقابل للتطوير وبدون خادم لزيادة أداء التدريب
- Amazon EKS لمجموعات Kubernetes المُدارة
- خدمة قاعدة بيانات الأمازون (Amazon RDS) لخطوط الأنابيب القابلة للتوسع بدرجة كبيرة ومتجر البيانات الوصفية
- مدير أسرار AWS لحماية الأسرار اللازمة للوصول إلى التطبيقات الخاصة بك
- خدمة تخزين أمازون البسيطة (Amazon S3) لمتجر أدوات يدوية سهل الاستخدام
تسمح لنا عمليات تكامل خدمة AWS مع Kubeflow (كما هو موضح في الرسم البياني التالي) بفصل الأجزاء الهامة من مستوى التحكم Kubeflow عن Kubernetes ، مما يوفر تصميمًا آمنًا وقابلًا للتطوير ومرنًا ومنخفض التكلفة.
دعونا نناقش فوائد كل تكامل خدمة وحلولها المتعلقة بالأمان وتشغيل خطوط أنابيب ML والتخزين.
مصادقة آمنة لمستخدمي Kubeflow مع Amazon Cognito
الأمان السحابي في AWS هو الأولوية القصوى ، ونحن نستثمر في دمج أمان Kubeflow بإحكام مباشرة في خدمات أمان المسؤولية المشتركة لـ AWS ، مثل ما يلي:
- Application Load Balancer (ALB) لإدارة حركة المرور الخارجية
- مدير شهادات AWS (ACM) لدعم TLS
- أدوار IAM لحسابات الخدمة (IRSA) للتحكم الدقيق في الوصول على مستوى Kubernetes Pod
- خدمة إدارة مفتاح AWS (AWS KMS) لإدارة مفتاح تشفير البيانات
- درع AWS لحماية DDoS
في هذا القسم ، نركز على تكامل مستوى التحكم في AWS Kubeflow مع Amazon Cognito. يزيل Amazon Cognito الحاجة إلى إدارة وصيانة موفر Dex الأصلي (مفتوح المصدر OpenID Connect (OIDC) مدعوم بواسطة LDAP المحلي) لمصادقة المستخدم ويجعل إدارة السرية أسهل.
يمكنك أيضًا استخدام Amazon Cognito لإضافة تسجيل المستخدم وتسجيل الدخول والتحكم في الوصول إلى واجهة مستخدم Kubeflow بسرعة وسهولة. يتسع Amazon Cognito ليشمل ملايين المستخدمين ويدعم تسجيل الدخول مع موفري الهوية الاجتماعية (IdPs) ، مثل Facebook و Google و Amazon ومزودو خدمة المؤسسات عبر SAML 2.0. هذا يقلل من التعقيد في إعداد Kubeflow الخاص بك ، مما يجعله هزيلًا من الناحية التشغيلية وأسهل في التشغيل لتحقيق عزل تعدد المستخدمين.
لنلقِ نظرة على تدفق المصادقة متعدد المستخدمين مع تكامل Amazon Cognito و ALB و ACM مع Kubeflow على AWS. هناك عدد من المكونات الرئيسية كجزء من هذا التكامل. تم تكوين Amazon Cognito باعتباره IdP مع استعادة اتصال المصادقة المهيأة لتوجيه الطلب إلى Kubeflow بعد مصادقة المستخدم. كجزء من إعداد Kubeflow ، يتم إنشاء مورد إدخال Kubernetes لإدارة حركة المرور الخارجية إلى خدمة Istio Gateway. توفر وحدة التحكم في AWS ALB موازن تحميل لهذا الدخول. نحن نستخدم الأمازون الطريق 53 لتكوين DNS عام للمجال المسجل وإنشاء شهادات باستخدام ACM لتمكين مصادقة TLS في موازن التحميل.
يوضح الرسم البياني التالي سير عمل المستخدم المعتاد لتسجيل الدخول إلى Amazon Cognito وإعادة توجيهه إلى Kubeflow في مساحة الاسم الخاصة بهما.
يحتوي سير العمل على الخطوات التالية:
- يرسل المستخدم طلب HTTPS إلى لوحة القيادة المركزية Kubeflow المستضافة خلف موازن التحميل. المسار 53 يحل FQDN لسجل الاسم المستعار ALB.
- إذا لم يكن ملف تعريف الارتباط موجودًا ، يقوم موازن التحميل بإعادة توجيه المستخدم إلى نقطة نهاية مصادقة Amazon Cognito حتى يتمكن Amazon Cognito من مصادقة المستخدم.
- بعد مصادقة المستخدم ، يرسل Amazon Cognito المستخدم مرة أخرى إلى موازن التحميل برمز منح التفويض.
- يعرض موازن التحميل رمز منح التفويض إلى نقطة نهاية الرمز المميز لـ Amazon Cognito.
- عند تلقي رمز منح تفويض صالح ، يوفر Amazon Cognito الرمز المميز للمعرف ورمز الوصول لتحميل الموازن.
- بعد أن يصادق موازن التحميل مستخدمًا بنجاح ، فإنه يرسل رمز الوصول إلى نقطة نهاية معلومات مستخدم Amazon Cognito ويتلقى مطالبات المستخدم. يوقع موازن التحميل ويضيف مطالبات المستخدم إلى رأس HTTP
x-amzn-oidc-*
بتنسيق طلب رمز ويب JSON (JWT). - يتم إرسال الطلب من موازن التحميل إلى جراب Istio Ingress Gateway.
- باستخدام مرشح المبعوث ، تقوم Istio Gateway بفك تشفير ملف
x-amzn-oidc-data
القيمة ، ويسترد حقل البريد الإلكتروني ، ويضيف رأس HTTP المخصصkubeflow-userid
، والذي يتم استخدامه بواسطة طبقة ترخيص Kubeflow. - يتم تطبيق سياسات التحكم في الوصول المستندة إلى موارد Istio على الطلب الوارد للتحقق من الوصول إلى لوحة معلومات Kubeflow. إذا تعذر على المستخدم الوصول إلى أيٍّ منهما ، فسيتم إرسال استجابة خطأ. إذا تم التحقق من صحة الطلب ، فسيتم إعادة توجيهه إلى خدمة Kubeflow المناسبة ويوفر الوصول إلى Kubeflow Dashboard
استمرار البيانات الوصفية لمكونات Kubeflow وتخزين القطع الأثرية باستخدام Amazon RDS و Amazon S3
يوفر Kubeflow على AWS التكامل مع خدمة قاعدة بيانات الأمازون (Amazon RDS) في خطوط أنابيب Kubeflow و AutoML (كاتب) لتخزين البيانات الوصفية الثابتة ، و Amazon S3 في Kubeflow Pipelines لتخزين القطع الأثرية الثابتة. دعنا نواصل مناقشة خطوط أنابيب Kubeflow بمزيد من التفصيل.
Kubeflow Pipelines هي عبارة عن منصة لبناء ونشر تدفقات عمل ML المحمولة والقابلة للتطوير. يمكن أن تساعد تدفقات العمل هذه في أتمتة خطوط أنابيب ML المعقدة باستخدام مكونات Kubeflow المضمنة والمخصصة. تتضمن خطوط أنابيب Kubeflow Python SDK ، وهو مترجم DSL لتحويل كود Python إلى تكوين ثابت ، وخدمة خطوط الأنابيب التي تدير خطوط الأنابيب من التكوين الثابت ، ومجموعة من وحدات التحكم لتشغيل الحاويات داخل Kubernetes Pods اللازمة لإكمال خط الأنابيب.
يتم تخزين البيانات الوصفية لخطوط أنابيب Kubeflow لتجارب خطوط الأنابيب وتشغيلها في MySQL ، ويتم تخزين العناصر الأثرية بما في ذلك حزم خطوط الأنابيب والمقاييس في MinIO.
كما هو موضح في الرسم التخطيطي التالي ، يتيح لك Kubeflow على AWS تخزين المكونات التالية مع خدمات AWS المُدارة:
- البيانات الوصفية لخط الأنابيب في Amazon RDS - توفر Amazon RDS بنية نشر Multi-AZ قابلة للتطوير ومتاحة للغاية وموثوقة مع آلية مضمنة لتجاوز الأعطال وقدرة قابلة لتغيير الحجم لقاعدة بيانات علائقية متوافقة مع معايير الصناعة مثل MySQL. يدير مهام إدارة قاعدة البيانات المشتركة دون الحاجة إلى توفير البنية التحتية أو صيانة البرامج.
- عيوب خطوط الأنابيب في Amazon S3 - يوفر Amazon S3 قابلية تطوير رائدة في الصناعة ، وتوافر البيانات ، والأمان ، والأداء ، ويمكن استخدامه لتلبية احتياجاتك متطلبات التوافق.
تساعد عمليات التكامل هذه على تفريغ إدارة وصيانة البيانات الوصفية وتخزين القطع الأثرية من Kubeflow المدارة ذاتيًا إلى الخدمات المُدارة من AWS ، والتي يسهل إعدادها وتشغيلها وتوسيع نطاقها.
دعم أنظمة الملفات الموزعة مع Amazon EFS و Amazon FSx
يعتمد Kubeflow على Kubernetes ، والذي يوفر بنية تحتية لمعالجة البيانات الموزعة على نطاق واسع ، بما في ذلك التدريب وضبط النماذج الكبيرة بشبكة عميقة تحتوي على ملايين أو حتى مليارات المعلمات. لدعم أنظمة ML الموزعة لمعالجة البيانات ، توفر Kubeflow على AWS التكامل مع خدمات التخزين التالية:
- أمازون EFS - نظام ملفات موزع عالي الأداء ، سحابي أصلي ، يمكنك إدارته من خلال ملف برنامج تشغيل Amazon EFS CSI. يوفر Amazon EFS
ReadWriteMany
وضع الوصول ، ويمكنك الآن استخدامه للتركيب في البودات (Jupyter ، تدريب النموذج ، ضبط النموذج) التي تعمل في مستوى بيانات Kubeflow لتوفير مساحة عمل ثابتة وقابلة للتطوير وقابلة للمشاركة تنمو وتتقلص تلقائيًا عند إضافة الملفات وإزالتها باستخدام لا حاجة للإدارة. - أمازون FSx لستر - نظام ملفات محسن لأعباء العمل كثيفة الحوسبة ، مثل الحوسبة عالية الأداء والتعلم الآلي ، والتي يمكنك إدارتها من خلال برنامج تشغيل Amazon FSx CSI. يوفر FSx عن اللمعان
ReadWriteMany
وضع الوصول أيضًا ، ويمكنك استخدامه لتخزين بيانات التدريب مؤقتًا من خلال الاتصال المباشر بـ Amazon S3 كمخزن دعم ، والذي يمكنك استخدامه لدعم خوادم دفتر Jupyter أو التدريب الموزع الذي يتم تشغيله في مستوى بيانات Kubeflow. باستخدام هذا التكوين ، لن تحتاج إلى نقل البيانات إلى نظام الملفات قبل استخدام وحدة التخزين. توفر FSx for Luster زمن انتقال ثابت أقل من مللي ثانية وتزامن عالٍ ، ويمكن أن تتسع إلى تيرابايت / ثانية للإنتاجية وملايين عمليات الإدخال / الإخراج في الثانية.
خيارات نشر Kubeflow
توفر AWS خيارات نشر Kubeflow المتنوعة:
- النشر مع Amazon Cognito
- النشر مع Amazon RDS و Amazon S3
- النشر مع Amazon Cognito و Amazon RDS و Amazon S3
- نشر الفانيليا
للحصول على تفاصيل حول تكامل الخدمة والوظائف الإضافية المتاحة لكل خيار من هذه الخيارات ، يرجى الرجوع إلى خيارات النشر. يمكنك اختيار الخيار الأنسب لحالة استخدامك.
في القسم التالي ، نتصفح خطوات تثبيت توزيع AWS Kubeflow v1.4 على Amazon EKS. ثم نستخدم مثال خط أنابيب XGBoost الحالي المتاح على لوحة معلومات Kubeflow المركزية لواجهة المستخدم لإثبات تكامل واستخدام AWS Kubeflow مع Amazon Cognito و Amazon RDS و Amazon S3 ، مع Secrets Manager كإضافة.
المتطلبات الأساسية المسبقة
في هذا الدليل ، يجب أن يكون لديك المتطلبات الأساسية التالية:
- An حساب AWS.
- مجموعة Amazon EKS موجودة. يجب أن يكون الإصدار 1.19 من Kubernetes أو أعلى. لإنشاء الكتلة الآلي باستخدام eksctl، انظر قم بإنشاء مجموعة Amazon EKS واستخدم خيار eksctl.
قم بتثبيت الأدوات التالية على جهاز العميل المستخدم للوصول إلى مجموعة Kubernetes الخاصة بك. يمكنك استخدام سحابة AWS 9، بيئة تطوير متكاملة قائمة على السحابة (IDE) لإعداد مجموعة Kubernetes.
- واجهة سطر الأوامر AWS (AWS CLI) - أداة سطر أوامر للتفاعل مع خدمات AWS. للحصول على تعليمات التثبيت ، ارجع إلى تثبيت AWS CLI وتحديثه وإلغاء تثبيته.
- eksctl > 0.56 - أداة سطر أوامر للعمل مع مجموعات Amazon EKS التي تقوم بأتمتة العديد من المهام الفردية.
- kubectl - أداة سطر أوامر للعمل مع مجموعات Kubernetes.
- طائرة نفاثة - برنامج التحكم في الإصدار الموزع.
- بيثون 3.8 + - بيئة برمجة بايثون.
- بذرة - مدير الحزم لبايثون.
- تخصيص الإصدار 3.2.0 - أداة سطر أوامر لتخصيص كائنات Kubernetes من خلال ملف تخصيص.
ثبّت Kubeflow على AWS
قم بتكوين kubectl بحيث يمكنك الاتصال بمجموعة Amazon EKS:
تستخدم وحدات تحكم مختلفة في نشر Kubeflow أدوار IAM لحسابات الخدمة (إرسا). يجب أن يتواجد موفر OIDC حتى تتمكن المجموعة الخاصة بك من استخدام IRSA. قم بإنشاء موفر OIDC وقم بربطه بمجموعة Amazon EKS الخاصة بك عن طريق تشغيل الأمر التالي ، إذا لم يكن لدى المجموعة الخاصة بك واحد بالفعل:
استنساخ بيانات AWS repo وبيانات Kubeflow repo ، واطلع على فروع الإصدار المعنية:
لمزيد من المعلومات حول هذه الإصدارات ، راجع الإصدارات وتعيين الإصدار.
قم بإعداد Amazon RDS و Amazon S3 و Secrets Manager
تقوم بإنشاء موارد Amazon RDS و Amazon S3 قبل نشر بيانات Kubeflow. نحن نستخدم نصوص Python النصية الآلية التي تهتم بإنشاء حاوية S3 وقاعدة بيانات RDS والأسرار المطلوبة في Secrets Manager. يقوم أيضًا بتحرير ملفات التكوين المطلوبة لخط أنابيب Kubeflow و AutoML ليتم تكوينه بشكل صحيح لقاعدة بيانات RDS ودلو S3 أثناء تثبيت Kubeflow.
إنشاء مستخدم IAM مع أذونات للسماح GetBucketLocation
وقراءة وكتابة الوصول إلى العناصر في حاوية S3 حيث تريد تخزين عناصر Kubeflow الأثرية. استخدم ال AWS_ACCESS_KEY_ID
و AWS_SECRET_ACCESS_KEY
مستخدم IAM في الكود التالي:
قم بإعداد Amazon Cognito كموفر للمصادقة
في هذا القسم ، نقوم بإنشاء مجال مخصص في الطريق 53 و ALB لتوجيه حركة المرور الخارجية إلى Kubeflow Istio Gateway. نستخدم ACM لإنشاء شهادة لتمكين مصادقة TLS في ALB و Amazon Cognito للحفاظ على مجموعة المستخدمين وإدارة مصادقة المستخدم.
استبدل القيم التالية بـ
- Route53.rootDomain.name - المجال المسجل. لنفترض أن هذا المجال
example.com
. - Route53.rootDomain.hostedZoneId - إذا كان مجالك مُدارًا في Route53 ، فأدخل معرف المنطقة المستضافة الموجود أسفل تفاصيل المنطقة المستضافة. تخطَ هذه الخطوة إذا كان مجالك مُدارًا بواسطة مزود نطاق آخر.
- Route53.subDomain.name - اسم المجال الفرعي حيث تريد استضافة Kubeflow (على سبيل المثال ،
platform.example.com
). لمزيد من المعلومات حول المجالات الفرعية ، يرجى الرجوع إلى نشر Kubeflow مع AWS Cognito باعتباره IdP. - اسم المجموعة - اسم الكتلة ومكان نشر Kubeflow.
- العنقودية - منطقة الكتلة حيث يتم نشر Kubeflow (على سبيل المثال ،
us-west-2
). - cognitoUserpool.name - اسم تجمع مستخدمي Amazon Cognito (على سبيل المثال ،
kubeflow-users
).
يبدو ملف التكوين مثل الكود التالي:
قم بتشغيل البرنامج النصي لإنشاء الموارد:
يقوم البرنامج النصي بتحديث ملف config.yaml
ملف بأسماء الموارد والمعرفات و ARNs التي أنشأها. يبدو مشابهًا للشفرة التالية:
بناء المانيفستات ونشر Kubeflow
انشر Kubeflow باستخدام الأمر التالي:
قم بتحديث المجال بعنوان ALB
يؤدي النشر إلى إنشاء موازن أحمال تطبيق AWS تتم إدارته بواسطة الإدخال. نقوم بتحديث إدخالات DNS للمجال الفرعي في الطريق 53 باستخدام DNS الخاص بموازنة التحميل. قم بتشغيل الأمر التالي للتحقق مما إذا تم توفير موازن التحميل (يستغرق هذا حوالي 3-5 دقائق):
إذا كان ADDRESS
الحقل فارغ بعد بضع دقائق ، تحقق من سجلات alb-ingress-controller
. للحصول على تعليمات ، راجع فشل ALB في توفير.
عند توفير موازن التحميل ، انسخ اسم DNS لموازن التحميل واستبدل العنوان بـ kubeflow.alb.dns
in ${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
. يشبه قسم Kubeflow من ملف التكوين الكود التالي:
قم بتشغيل البرنامج النصي التالي لتحديث إدخالات DNS للمجال الفرعي في الطريق 53 باستخدام DNS الخاص بموازنة التحميل المتوفرة:
استكشاف الأخطاء:
إذا واجهت أي مشاكل أثناء التثبيت ، فراجع ملف دليل اصلاح الاخطاء أو ابدأ من جديد باتباع قسم "التنظيف" في هذه المدونة.
استخدام الحالة التفصيلية
الآن بعد أن أكملنا تثبيت مكونات Kubeflow المطلوبة ، دعنا نراهم قيد التنفيذ باستخدام أحد الأمثلة الموجودة التي قدمتها Kubeflow Pipelines على لوحة القيادة.
قم بالوصول إلى لوحة معلومات Kubeflow باستخدام Amazon Cognito
للبدء ، دعنا نصل إلى Kubeflow Dashboard. نظرًا لأننا استخدمنا Amazon Cognito باعتباره موفِّر الهوية (IdP) ، فاستخدم المعلومات الواردة في ملف ملف README الرسمي. نقوم أولاً بإنشاء بعض المستخدمين على وحدة تحكم Amazon Cognito. هؤلاء هم المستخدمون الذين سيسجلون الدخول إلى لوحة القيادة المركزية. التالي، إنشاء ملف تعريف للمستخدم الذي قمت بإنشائه. ثم يجب أن تكون قادرًا على الوصول إلى لوحة القيادة من خلال صفحة تسجيل الدخول على https://kubeflow.platform.example.com.
تُظهر لقطة الشاشة التالية لوحة Kubeflow Dashboard الخاصة بنا.
قم بتشغيل خط الأنابيب
في Kubeflow Dashboard ، اختر خطوط الأنابيب في اسم التنقل. يجب أن ترى أربعة أمثلة مقدمة من Kubeflow Pipelines والتي يمكنك تشغيلها مباشرة لاستكشاف ميزات خطوط الأنابيب المختلفة.
في هذا المنشور ، نستخدم نموذج XGBoost المسمى [Demo] XGBoost - تدريب النموذج التكراري. يمكنك العثور على شفرة المصدر على GitHub جيثب:. هذا هو خط أنابيب بسيط يستخدم الموجود XGBoost/Train
و XGBoost/Predict
تقوم مكونات خط أنابيب Kubeflow بتدريب نموذج بشكل متكرر حتى تعتبر المقاييس جيدة بناءً على مقاييس محددة.
لتشغيل خط الأنابيب ، أكمل الخطوات التالية:
- حدد خط الأنابيب واختر إنشاء تجربة.
- تحت تفاصيل التجربة، أدخل اسمًا (لهذه المشاركة ،
demo-blog
) ووصف اختياري. - اختار التالى.
- تحت تشغيل التفاصيل¸ اختر إصدار خط الأنابيب وخط الأنابيب الخاص بك.
- في حالة اسم التشغيل، إدخال اسم.
- في حالة تجربة، اختر التجربة التي قمت بإنشائها.
- في حالة نوع التشغيل، حدد لمرة واحدة.
- اختار آبدأ.
بعد بدء تشغيل خط الأنابيب ، من المفترض أن تكتمل المكونات (في غضون ثوانٍ قليلة). في هذه المرحلة ، يمكنك اختيار أي من المكونات المكتملة للاطلاع على مزيد من التفاصيل.
قم بالوصول إلى القطع الأثرية في Amazon S3
أثناء نشر Kubeflow ، حددنا أن Kubeflow Pipelines يجب أن تستخدم Amazon S3 لتخزين القطع الأثرية الخاصة بها. يتضمن ذلك جميع عناصر إخراج خط الأنابيب والتشغيلات المخزنة مؤقتًا والرسومات البيانية لخطوط الأنابيب - والتي يمكن استخدامها جميعًا لتصورات غنية وتقييم الأداء.
عند اكتمال تشغيل خط الأنابيب ، يجب أن تكون قادرًا على رؤية القطع الأثرية في حاوية S3 التي أنشأتها أثناء التثبيت. لتأكيد ذلك ، اختر أي مكون مكتمل لخط الأنابيب وتحقق من الإدخال / الإخراج قسم على الافتراضي رسم بياني التبويب. يجب أن تشير عناوين URL الاصطناعية إلى حاوية S3 التي حددتها أثناء النشر.
لتأكيد إضافة الموارد إلى Amazon S3 ، يمكننا أيضًا التحقق من حاوية S3 في حساب AWS الخاص بنا عبر وحدة تحكم Amazon S3.
تظهر لقطة الشاشة التالية ملفاتنا.
تحقق من بيانات ML الوصفية في Amazon RDS
قمنا أيضًا بدمج Kubeflow Pipelines مع Amazon RDS أثناء النشر ، مما يعني أنه يجب تخزين أي بيانات وصفية لخط الأنابيب في Amazon RDS. يتضمن ذلك أي معلومات خاصة بوقت التشغيل مثل حالة المهمة ، وتوافر العناصر الأثرية ، والخصائص المخصصة المرتبطة بالتشغيل أو الأدوات ، والمزيد.
للتحقق من تكامل Amazon RDS ، اتبع الخطوات الواردة في ملف ملف README الرسمي. على وجه التحديد ، أكمل الخطوات التالية:
- احصل على اسم مستخدم وكلمة مرور Amazon RDS من السر الذي تم إنشاؤه أثناء التثبيت:
- استخدم بيانات الاعتماد هذه للاتصال بـ Amazon RDS من داخل المجموعة:
- عند فتح موجه MySQL ، يمكننا التحقق من
mlpipelines
قاعدة البيانات على النحو التالي: - يمكننا الآن قراءة محتوى جداول محددة ، للتأكد من أنه يمكننا رؤية معلومات البيانات الوصفية حول التجارب التي شغلت خطوط الأنابيب:
تنظيف
لإلغاء تثبيت Kubeflow وحذف موارد AWS التي أنشأتها ، أكمل الخطوات التالية:
- احذف موازن التحميل الذي يتم إدارته عن طريق الإدخال عن طريق تشغيل الأمر التالي:
- احذف باقي مكونات Kubeflow:
- احذف موارد AWS التي تم إنشاؤها بواسطة البرامج النصية:
- تم إنشاء الموارد لتكامل Amazon RDS و Amazon S3. تأكد من أن لديك ملف التكوين الذي تم إنشاؤه بواسطة البرنامج النصي بتنسيق
${kubeflow_manifest_dir}/tests/e2e/utils/rds-s3/metadata.yaml
: - تم إنشاء الموارد لتكامل Amazon Cognito. تأكد من أن لديك ملف التكوين الذي تم إنشاؤه بواسطة البرنامج النصي بتنسيق
${kubeflow_manifest_dir}/tests/e2e/utils/cognito_bootstrap/config.yaml
:
- تم إنشاء الموارد لتكامل Amazon RDS و Amazon S3. تأكد من أن لديك ملف التكوين الذي تم إنشاؤه بواسطة البرنامج النصي بتنسيق
- إذا قمت بإنشاء مجموعة Amazon EKS مخصصة لـ Kubeflow باستخدام eksctl ، فيمكنك حذفها باستخدام الأمر التالي:
نبذة عامة
في هذا المنشور ، سلطنا الضوء على القيمة التي يوفرها Kubeflow على AWS من خلال تكامل الخدمة الأصلية التي تديرها AWS من أجل أعباء عمل AI و ML آمنة وقابلة للتطوير وجاهزة للمؤسسات. يمكنك الاختيار من بين العديد من خيارات النشر لتثبيت Kubeflow على AWS مع تكاملات خدمات متنوعة. أظهرت حالة الاستخدام في هذا المنشور تكامل Kubeflow مع Amazon Cognito و Secrets Manager و Amazon RDS و Amazon S3. لبدء استخدام Kubeflow على AWS ، ارجع إلى خيارات النشر المتكاملة المتاحة في AWS في Kubeflow على AWS.
بدءًا من الإصدار 1.3 ، يمكنك متابعة ملف مستودع AWS Labs لتتبع جميع مساهمات AWS في Kubeflow. يمكنك أيضًا أن تجدنا على قناة Kubeflow #AWS Slack؛ ستساعدنا ملاحظاتك هناك في تحديد أولويات الميزات التالية للمساهمة في مشروع Kubeflow.
حول المؤلف
كانوالجيت خورمي هو مهندس حلول متخصص في AI / ML في Amazon Web Services. إنه يعمل مع منتج AWS والهندسة والعملاء لتقديم التوجيه والمساعدة الفنية لمساعدتهم على تحسين قيمة حلول ML المختلطة الخاصة بهم عند استخدام AWS. Kanwaljit متخصص في مساعدة العملاء في استخدام الحاويات وتطبيقات التعلم الآلي.
ميجنا بيجال هو مهندس برمجيات مع AWS AI مما يسهل على المستخدمين تحميل أعباء عمل التعلم الآلي الخاصة بهم على AWS من خلال بناء منتجات ومنصات تعلم الآلة مثل حاويات التعلم العميق ، و AMIs للتعلم العميق ، ووحدات تحكم AWS لـ Kubernetes (ACK) و Kubeflow على AWS . خارج العمل ، تستمتع بالقراءة والسفر والانغماس في الرسم.
سوراج كوتا هو مهندس برمجيات متخصص في البنية التحتية لتعلم الآلة. إنه يصمم أدوات للبدء بسهولة وتوسيع عبء عمل التعلم الآلي على AWS. لقد عمل على حاويات التعلم العميق في AWS ، و Deep Learning AMI ، و SageMaker Operators لـ Kubernetes ، وعمليات تكامل أخرى مفتوحة المصدر مثل Kubeflow.
- كوينسمارت. أفضل بورصة للبيتكوين والعملات المشفرة في أوروبا.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. دخول مجاني.
- كريبتوهوك. الرادار. تجربة مجانية.
- المصدر: https://aws.amazon.com/blogs/machine-learning/build-and-deploy-a-scalable-machine-learning-system-on-kubernetes-with-kubeflow-on-aws/
- "
- 10
- 100
- 420
- 7
- من نحن
- الوصول
- حسابي
- اكشن
- اضافه
- العنوان
- مشرف
- إدارة
- الشركات التابعة
- AI
- الكل
- سابقا
- أمازون
- أمازون ويب سيرفيسز
- آخر
- تطبيق
- التطبيقات
- مناسب
- هندسة معمارية
- حول
- محام
- موثق
- يصادق
- التحقّق من المُستخدم
- ترخيص
- أتمتة
- الآلي
- الأتمتة
- توفر
- متاح
- AWS
- أصبح
- الفوائد
- أفضل
- المليارات
- المدونة
- الحدود
- نساعدك في بناء
- ابني
- يبني
- مدمج
- قدرات
- الطاقة الإنتاجية
- يهمني
- الحالات
- CD
- شهادة
- الشهادات
- تحدي
- الدفع
- اختار
- مطالبات
- فئة
- الكود
- مشترك
- الانتهاء
- مجمع
- عنصر
- الكمبيوتر
- الحوسبة
- الاعداد
- التواصل
- الإتصال
- كنسولات
- حاويات
- يحتوي
- محتوى
- استمر
- المساهمة
- مراقبة
- مراقب
- حقوق الطبع والنشر
- استطاع
- خلق
- خلق
- يخلق
- خلق
- خلق
- أوراق اعتماد
- حرج
- على
- العملاء
- لوحة أجهزة القياس
- البيانات
- معالجة المعلومات
- علم البيانات
- قاعدة البيانات
- دوس
- مخصصة
- الطلب
- شرح
- تظاهر
- نشر
- نشر
- نشر
- نشر
- نشر
- ينشر
- تصميم
- التفاصيل
- تفاصيل
- التطوير التجاري
- التنفيذ المباشر
- مختلف
- مباشرة
- مباشرة
- بحث
- وزعت
- توزيع
- DNS
- لا
- نطاق
- بسهولة
- سهلة الاستخدام
- صدى
- البريد الإلكتروني
- تمكين
- التشفير
- نقطة النهاية
- مهندس
- الهندسة
- أدخل
- مشروع
- البيئة
- تقييم
- الحدث/الفعالية
- مثال
- القائمة
- الخبره في مجال الغطس
- تجربة
- اكتشف
- فيسبوك
- فشل
- المميزات
- ردود الفعل
- مالي
- الاسم الأول
- تناسب
- تدفق
- تركز
- ويركز
- اتباع
- متابعيك
- شكل
- وجدت
- جديد
- الحصول على
- بوابة
- GitHub جيثب:
- خير
- شراء مراجعات جوجل
- النمو
- متزايد
- مساعدة
- مساعدة
- يساعد
- هنا
- مرتفع
- أعلى
- سلط الضوء
- جدا
- استضافة
- HTTPS
- مهجنة
- هوية
- التأثير
- تنفيذ
- تحسن
- Inc.
- يشمل
- بما فيه
- زيادة
- فرد
- الرائدة في صناعة
- info
- معلومات
- البنية التحتية
- تثبيت
- المتكاملة
- التكامل
- التكاملات
- الاستثمار
- عزل
- مسائل
- IT
- نفسها
- المشــاريــع
- حفظ
- القفل
- مختبرات
- لغة
- كبير
- أطلقت
- تعلم
- تجميل
- خط
- تحميل
- محلي
- آلة
- آلة التعلم
- المحافظة
- يصنع
- القيام ب
- إدارة
- تمكن
- إدارة
- مدير
- المقاييس
- ملايين
- ML
- نموذج
- عارضات ازياء
- مراقبة
- الأكثر من ذلك
- أكثر
- أسماء
- طبيعي
- قائمة الإختيارات
- صاف
- شبكة
- العقد
- مفكرة
- عدد
- عروض
- جاكيت
- المصدر المفتوح
- يفتح
- مشغلي
- الأمثل
- خيار
- مزيد من الخيارات
- أخرى
- الخاصة
- كلمة المرور
- أداء
- المنصة
- منصات التداول
- البوينت
- سياسات الخصوصية والبيع
- تجمع
- يقدم
- الأولوية
- معالجة
- منتج
- المنتجات
- برمجة وتطوير
- تنفيذ المشاريع
- حماية
- تزود
- ويوفر
- توفير
- جمهور
- بسرعة
- الوصول
- نادي القراءة
- الأسباب
- سجل
- مسجل
- الافراج عن
- طلب
- مطلوب
- المتطلبات الأساسية
- مورد
- الموارد
- استجابة
- REST
- طريق
- يجري
- تشغيل
- التدرجية
- تحجيم
- حجم
- التحجيم
- علوم
- الإستراحة
- ثانية
- ثواني
- تأمين
- أمن
- Serverless
- الخدمة
- خدمات
- طقم
- الإعداد
- مشاركة
- لوحات
- الاشارات
- مقاس
- تثاقل
- النوم
- So
- العدالة
- تطبيقات الكمبيوتر
- مهندس البرمجيات
- الصلبة
- حل
- الحلول
- بعض
- شيء
- شفرة المصدر
- متخصص
- متخصص
- تتخصص
- على وجه التحديد
- المسرح
- بداية
- بدأت
- يبدأ
- الولايه او المحافظه
- الحالة
- تخزين
- متجر
- بنجاح
- الدعم
- الدعم
- نظام
- أنظمة
- المهام
- تقني
- المصدر
- عبر
- الوقت
- رمز
- أداة
- أدوات
- تيشرت
- مسار
- حركة المرور
- قادة الإيمان
- تحويل
- خدمات ترجمة
- نقل
- السفر
- ui
- تحديث
- آخر التحديثات
- us
- تستخدم
- المستخدمين
- التحقق من صحة
- قيمنا
- تشكيلة
- مختلف
- تحقق من
- رؤيتنا
- حجم
- الويب
- خدمات ويب
- من الذى
- في غضون
- بدون
- للعمل
- عمل
- عامل
- أعمال