يعد إنشاء نظام أساسي لعمليات التعلم الآلي (MLOps) في المشهد سريع التطور للذكاء الاصطناعي (AI) والتعلم الآلي (ML) للمؤسسات أمرًا ضروريًا لسد الفجوة بين تجربة علوم البيانات ونشرها بسلاسة مع تلبية المتطلبات المتعلقة بأداء النموذج. الأمن، والامتثال.
ومن أجل الوفاء بالمتطلبات التنظيمية ومتطلبات الامتثال، فإن المتطلبات الأساسية عند تصميم مثل هذه المنصة هي:
- عنوان الانجراف البيانات
- مراقبة أداء النموذج
- تسهيل إعادة التدريب التلقائي للنموذج
- توفير عملية للموافقة على النموذج
- احتفظ بالنماذج في بيئة آمنة
في هذا المنشور، نعرض كيفية إنشاء إطار عمل MLOps لتلبية هذه الاحتياجات أثناء استخدام مجموعة من خدمات AWS ومجموعات أدوات الطرف الثالث. يستلزم الحل إعدادًا متعدد البيئات مع إعادة التدريب الآلي للنموذج والاستدلال المجمعي والمراقبة الأمازون SageMaker نموذج مراقب، إصدار النموذج مع سجل نموذج SageMaker، وخط أنابيب CI/CD لتسهيل الترويج لرمز ML وخطوط الأنابيب عبر البيئات باستخدام الأمازون SageMaker, أمازون إيفينت بريدج, خدمة إعلام أمازون البسيطة (Amazon S3) ، هاشيكورب تيرافورم, GitHub جيثب:و جنكينز سي آي/سي دي. نحن نبني نموذجًا للتنبؤ بمدى خطورة آفة التصوير الشعاعي للثدي (حميدة أو خبيثة) التي تم تدريبها باستخدام خوارزمية XGBoost باستخدام المتاحة للجمهور UCI تصوير الثدي بالأشعة السينية مجموعة البيانات ونشرها باستخدام إطار عمل MLOps. التعليمات الكاملة مع الكود متوفرة في مستودع جيثب.
حل نظرة عامة
يُظهر مخطط البنية التالي نظرة عامة على إطار عمل MLOps مع المكونات الرئيسية التالية:
- استراتيجية الحسابات المتعددة - تم إعداد بيئتين مختلفتين (dev وprod) في حسابين مختلفين على AWS باتباع أفضل ممارسات AWS Well-Architected، ويتم إعداد حساب ثالث في سجل النموذج المركزي:
- بيئة التطوير - حيث ان مجال Amazon SageMaker Studio تم إعداده للسماح بتطوير النموذج، والتدريب على النموذج، واختبار خطوط تعلم الآلة (التدريب والاستدلال)، قبل أن يصبح النموذج جاهزًا للترقية إلى بيئات أعلى.
- همز البيئة – حيث تتم ترقية مسارات ML من المطورين كخطوة أولى، ويتم جدولتها ومراقبتها بمرور الوقت.
- سجل النموذج المركزي - سجل نموذج Amazon SageMaker تم إعداده في حساب AWS منفصل لتتبع إصدارات النماذج التي تم إنشاؤها عبر بيئات التطوير والإنتاج.
- CI/CD والتحكم في المصدر - تتم معالجة نشر مسارات تعلم الآلة عبر البيئات من خلال إعداد CI/CD مع Jenkins، إلى جانب التحكم في الإصدار الذي تتم معالجته من خلال GitHub. تؤدي تغييرات التعليمات البرمجية المدمجة في فرع git للبيئة المقابلة إلى تشغيل سير عمل CI/CD لإجراء التغييرات المناسبة على البيئة المستهدفة المحددة.
- توقعات الدفعة مع مراقبة النموذج - خط أنابيب الاستدلال الذي تم إنشاؤه باستخدام خطوط أنابيب Amazon SageMaker يتم تشغيله على أساس مجدول لإنشاء تنبؤات إلى جانب مراقبة النموذج باستخدام SageMaker Model Monitor لاكتشاف انحراف البيانات.
- آلية إعادة التدريب الآلي – يتم تشغيل مسار التدريب الذي تم إنشاؤه باستخدام SageMaker Pipelines عندما يتم اكتشاف انجراف البيانات في مسار الاستدلال. بعد تدريبه، يتم تسجيل النموذج في سجل النموذج المركزي ليتم اعتماده بواسطة المعتمد للنموذج. عند الموافقة عليه، يتم استخدام إصدار النموذج المحدث لإنشاء تنبؤات من خلال مسار الاستدلال.
- البنية التحتية كرمز - البنية التحتية كرمز (IaC)، تم إنشاؤها باستخدام هاشيكورب تيرافورم، يدعم جدولة خط أنابيب الاستدلال باستخدام EventBridge، مما يؤدي إلى تشغيل خط أنابيب القطار بناءً على قاعدة EventBridge وإرسال الإخطارات باستخدام خدمة إعلام أمازون البسيطة (أمازون SNS) الموضوعات.
يتضمن سير عمل MLOps الخطوات التالية:
- يمكنك الوصول إلى مجال SageMaker Studio في حساب التطوير، واستنساخ مستودع GitHub، وإجراء عملية تطوير النموذج باستخدام نموذج النموذج المقدم، وإنشاء مسارات التدريب والاستدلال.
- قم بتشغيل مسار القطار في حساب التطوير، الذي يقوم بإنشاء عناصر النموذج لإصدار النموذج المدرب وتسجيل النموذج في SageMaker Model Registry في حساب تسجيل النموذج المركزي.
- قم بالموافقة على النموذج في SageMaker Model Registry في حساب تسجيل النموذج المركزي.
- ادفع الكود (خطوط التدريب والاستدلال، وكود Terraform IaC لإنشاء جدول EventBridge، وقاعدة EventBridge، وموضوع SNS) إلى فرع الميزات في مستودع GitHub. أنشئ طلب سحب لدمج الكود في الفرع الرئيسي لمستودع GitHub.
- قم بتشغيل خط أنابيب Jenkins CI/CD، الذي تم إعداده باستخدام مستودع GitHub. ينشر مسار CI/CD الكود في حساب المنتج لإنشاء مسارات التدريب والاستدلال جنبًا إلى جنب مع كود Terraform لتوفير جدول EventBridge وقاعدة EventBridge وموضوع SNS.
- تمت جدولة خط أنابيب الاستدلال للتشغيل على أساس يومي، في حين تم إعداد خط أنابيب القطار للتشغيل عندما يتم اكتشاف انحراف البيانات من خط أنابيب الاستدلال.
- يتم إرسال الإخطارات من خلال موضوع SNS عندما يكون هناك فشل في القطار أو خط أنابيب الاستدلال.
المتطلبات الأساسية المسبقة
لهذا الحل ، يجب أن تتوفر لديك المتطلبات الأساسية التالية:
- ثلاثة حسابات AWS (حسابات التسجيل الخاصة بالمطورين والإنتاج والنموذج المركزي)
- تم إعداد مجال SageMaker Studio في كل حساب من حسابات AWS الثلاثة (انظر على متن الطائرة إلى Amazon SageMaker Studio أو شاهد الفيديو على متن الطائرة بسرعة إلى Amazon SageMaker Studio للحصول على تعليمات الإعداد)
- Jenkins (نستخدم Jenkins 2.401.1) مع امتيازات إدارية مثبتة على AWS
- الإصدار 1.5.5 من Terraform أو الإصدارات الأحدث مثبت على خادم Jenkins
لهذا المنصب، ونحن نعمل في us-east-1
المنطقة لنشر الحل.
توفير مفاتيح KMS في حسابات التطوير والإنتاج
خطوتنا الأولى هي خلق خدمة إدارة مفتاح AWS مفاتيح (AWS KMS) في حسابات التطوير والإنتاج.
قم بإنشاء مفتاح KMS في حساب المطورين ومنح حق الوصول إلى حساب المنتج
أكمل الخطوات التالية لإنشاء مفتاح KMS في حساب المطور:
- في وحدة تحكم AWS KMS ، اختر مفاتيح يديرها العميل في جزء التنقل.
- اختار إنشاء مفتاح.
- في حالة نوع المفتاح، حدد متماثل.
- في حالة استخدام المفتاح، حدد تشفير وفك التشفير.
- اختار التالى.
- أدخل رقم حساب الإنتاج لمنح حساب الإنتاج حق الوصول إلى مفتاح KMS المتوفر في حساب المطور. هذه خطوة مطلوبة لأنه في المرة الأولى التي يتم فيها تدريب النموذج في حساب المطور، يتم تشفير عناصر النموذج باستخدام مفتاح KMS قبل كتابتها في حاوية S3 في حساب تسجيل النموذج المركزي. يحتاج حساب الإنتاج إلى الوصول إلى مفتاح KMS من أجل فك تشفير عناصر النموذج وتشغيل خط أنابيب الاستدلال.
- اختار التالى والانتهاء من إنشاء المفتاح الخاص بك.
بعد توفير المفتاح، يجب أن يكون مرئيًا على وحدة تحكم AWS KMS.
قم بإنشاء مفتاح KMS في حساب المنتج
اتبع نفس الخطوات الواردة في القسم السابق لإنشاء مفتاح KMS مُدار للعميل في حساب المنتج. يمكنك تخطي خطوة مشاركة مفتاح KMS مع حساب آخر.
قم بإعداد مجموعة S3 للعناصر النموذجية في حساب تسجيل النموذج المركزي
قم بإنشاء دلو S3 من اختيارك باستخدام السلسلة sagemaker
في اصطلاح التسمية كجزء من اسم المجموعة في حساب تسجيل النموذج المركزي، وقم بتحديث سياسة الحاوية في حاوية S3 لمنح أذونات من كل من حسابات التطوير وحسابات الإنتاج لقراءة عناصر النموذج وكتابتها في حاوية S3.
الكود التالي هو سياسة الحاوية التي سيتم تحديثها في حاوية S3:
قم بإعداد أدوار IAM في حسابات AWS الخاصة بك
الخطوة التالية هي الإعداد إدارة الهوية والوصول AWS أدوار (IAM) في حسابات AWS الخاصة بك مع أذونات AWS لامداو سيج ميكر وجينكينز.
دور تنفيذ Lambda
اقامة أدوار تنفيذ لامدا في حسابات التطوير والإنتاج، والتي سيتم استخدامها بواسطة وظيفة Lambda التي يتم تشغيلها كجزء من خطوة لامدا لخطوط أنابيب SageMaker. سيتم تشغيل هذه الخطوة من مسار الاستدلال لجلب أحدث نموذج معتمد، والذي يتم من خلاله إنشاء الاستدلالات. قم بإنشاء أدوار IAM في حسابات التطوير والإنتاج باستخدام اصطلاح التسمية arn:aws:iam::<account-id>:role/lambda-sagemaker-role
وأرفق سياسات IAM التالية:
- السياسة 1 - إنشاء سياسة مضمنة تسمى
cross-account-model-registry-access
، والذي يتيح الوصول إلى حزمة النموذج التي تم إعدادها في سجل النموذج في الحساب المركزي: - السياسة 2 - يربط AmazonSageMakerFullAccessوهو سياسة AWS المُدارة الذي يمنح الوصول الكامل إلى SageMaker. كما يوفر أيضًا وصولاً محددًا إلى الخدمات ذات الصلة، مثل التحجيم التلقائي لتطبيق AWS، أمازون S3 سجل الأمازون المرنة للحاويات (Amazon ECR) و سجلات الأمازون CloudWatch.
- السياسة 3 - يربط AWSLambda_FullAccess، وهي سياسة تديرها AWS وتمنح الوصول الكامل إلى ميزات Lambda ووحدة تحكم Lambda وخدمات AWS الأخرى ذات الصلة.
- السياسة 4 - استخدم سياسة ثقة IAM التالية لدور IAM:
دور تنفيذ SageMaker
يجب أن يكون لكل نطاق من مجالات SageMaker Studio التي تم إعدادها في حسابات التطوير والإنتاج دور تنفيذ مرتبط، والذي يمكن العثور عليه على إعدادات المجال علامة التبويب في صفحة تفاصيل النطاق، كما هو موضح في لقطة الشاشة التالية. يتم استخدام هذا الدور لتشغيل مهام التدريب ومعالجة المهام والمزيد داخل مجال SageMaker Studio.
أضف السياسات التالية إلى دور تنفيذ SageMaker في كلا الحسابين:
- السياسة 1 - إنشاء سياسة مضمنة تسمى
cross-account-model-artifacts-s3-bucket-access
، والذي يتيح الوصول إلى مجموعة S3 في حساب تسجيل النموذج المركزي، الذي يقوم بتخزين عناصر النموذج: - السياسة 2 - إنشاء سياسة مضمنة تسمى
cross-account-model-registry-access
، والذي يتيح الوصول إلى حزمة النموذج في السجل النموذجي في حساب التسجيل النموذجي المركزي: - السياسة 3 - إنشاء سياسة مضمنة تسمى
kms-key-access-policy
، والذي يتيح الوصول إلى مفتاح KMS الذي تم إنشاؤه في الخطوة السابقة. قم بتوفير معرف الحساب الذي يتم إنشاء السياسة فيه ومعرف مفتاح KMS الذي تم إنشاؤه في هذا الحساب. - السياسة 4 - يربط AmazonSageMakerFullAccessوهو سياسة AWS المُدارة الذي يمنح الوصول الكامل إلى SageMaker وتحديد الوصول إلى الخدمات ذات الصلة.
- السياسة 5 - يربط AWSLambda_FullAccess، وهي سياسة تديرها AWS وتمنح الوصول الكامل إلى ميزات Lambda ووحدة تحكم Lambda وخدمات AWS الأخرى ذات الصلة.
- السياسة 6 - يربط CloudWatchEventsFullAccess، وهي سياسة مُدارة بواسطة AWS والتي تمنح الوصول الكامل إلى CloudWatch Events.
- السياسة 7 – قم بإضافة سياسة ثقة IAM التالية لدور IAM الخاص بتنفيذ SageMaker:
- السياسة 8 (خاصة بدور تنفيذ SageMaker في حساب المنتج) - إنشاء سياسة مضمنة تسمى
cross-account-kms-key-access-policy
، والذي يتيح الوصول إلى مفتاح KMS الذي تم إنشاؤه في حساب المطور. يعد هذا مطلوبًا لخط أنابيب الاستدلال لقراءة عناصر النموذج المخزنة في حساب تسجيل النموذج المركزي حيث يتم تشفير عناصر النموذج باستخدام مفتاح KMS من حساب المطور عند إنشاء الإصدار الأول من النموذج من حساب المطور.
دور جينكينز عبر الحسابات
قم بإعداد دور IAM يسمى cross-account-jenkins-role
في حساب المنتج، والذي سيفترض Jenkins نشر خطوط أنابيب ML والبنية التحتية المقابلة في حساب المنتج.
أضف سياسات IAM المُدارة التالية إلى الدور:
CloudWatchFullAccess
AmazonS3FullAccess
AmazonSNSFullAccess
AmazonSageMakerFullAccess
AmazonEventBridgeFullAccess
AWSLambda_FullAccess
قم بتحديث علاقة الثقة الخاصة بالدور لمنح الأذونات لحساب AWS الذي يستضيف خادم Jenkins:
تحديث الأذونات على دور IAM المرتبط بخادم Jenkins
بافتراض أنه تم إعداد Jenkins على AWS، قم بتحديث دور IAM المرتبط بـ Jenkins لإضافة السياسات التالية، والتي ستمنح Jenkins حق الوصول لنشر الموارد في حساب المنتج:
- السياسة 1 - قم بإنشاء السياسة المضمنة التالية المسماة
assume-production-role-policy
: - السياسة 2 - إرفاق
CloudWatchFullAccess
سياسة IAM المُدارة.
قم بإعداد مجموعة حزم النموذج في حساب التسجيل النموذجي المركزي
من مجال SageMaker Studio في حساب تسجيل النموذج المركزي، قم بإنشاء مجموعة حزم نماذج تسمى mammo-severity-model-package
باستخدام مقتطف الكود التالي (والذي يمكنك تشغيله باستخدام دفتر ملاحظات Jupyter):
قم بإعداد الوصول إلى الحزمة النموذجية لأدوار IAM في حسابات التطوير والإنتاج
توفير الوصول إلى أدوار تنفيذ SageMaker التي تم إنشاؤها في حسابات التطوير والإنتاج حتى تتمكن من تسجيل إصدارات النموذج داخل حزمة النموذج mammo-severity-model-package
في السجل النموذجي المركزي من كلا الحسابين. من مجال SageMaker Studio في حساب تسجيل النموذج المركزي، قم بتشغيل التعليمات البرمجية التالية في دفتر ملاحظات Jupyter:
إعداد جنكينز
في هذا القسم، نقوم بتكوين Jenkins لإنشاء مسارات ML والبنية التحتية المقابلة لـ Terraform في حساب المنتج من خلال مسار Jenkins CI/CD.
- على وحدة تحكم CloudWatch، قم بإنشاء مجموعة سجل باسم
jenkins-log
ضمن حساب المنتج الذي سيقوم Jenkins بدفع السجلات إليه من خط أنابيب CI/CD. يجب إنشاء مجموعة السجل في نفس المنطقة التي تم إعداد خادم Jenkins فيها. - قم بتثبيت المكونات الإضافية التالية على خادم جينكينز الخاص بك:
- قم بإعداد بيانات اعتماد AWS في Jenkins باستخدام دور IAM عبر الحسابات (
cross-account-jenkins-role
) المنصوص عليها في حساب همز. - في حالة نظام التكوين، اختر AWS.
- قم بتوفير بيانات الاعتماد ومجموعة سجل CloudWatch التي قمت بإنشائها مسبقًا.
- قم بإعداد بيانات اعتماد GitHub داخل Jenkins.
- إنشاء مشروع جديد في جنكينز.
- أدخل اسم المشروع واختر خط أنابيب.
- على العلاجات العامة علامة التبويب، حدد مشروع جيثب وادخل المتشعب مستودع جيثب URL.
- أختار هذا المشروع ذو معلمات.
- على أضف معلمة القائمة، اختر معلمة السلسلة.
- في حالة الاسم، أدخل
prodAccount
. - في حالة القيمة الافتراضية، أدخل معرف حساب المنتج.
- تحت خيارات المشروع المتقدمة، ل تعريف، حدد البرنامج النصي لخط الأنابيب من SCM.
- في حالة SCM، اختر بوابة.
- في حالة URL المستودع، أدخل المتشعب مستودع جيثب URL.
- في حالة أوراق اعتماد، أدخل بيانات اعتماد GitHub المحفوظة في Jenkins.
- أدخل
main
في ال فروع للبناء القسم، الذي سيتم بناءً عليه تشغيل خط أنابيب CI/CD. - في حالة مسار البرنامج النصي، أدخل
Jenkinsfile
. - اختار حفظ.
يجب إنشاء خط أنابيب Jenkins وإظهاره على لوحة المعلومات الخاصة بك.
توفير دلاء S3 وجمع البيانات وإعدادها
أكمل الخطوات التالية لإعداد مجموعات وبيانات S3 الخاصة بك:
- قم بإنشاء دلو S3 من اختيارك باستخدام السلسلة
sagemaker
في اصطلاح التسمية كجزء من اسم المجموعة في كل من حسابات التطوير والإنتاج لتخزين مجموعات البيانات والعناصر النموذجية. - قم بإعداد مجموعة S3 للحفاظ على حالة Terraform في حساب المنتج.
- قم بتنزيل وحفظ ما هو متاح للجمهور UCI تصوير الثدي بالأشعة السينية مجموعة البيانات إلى مجموعة S3 التي قمت بإنشائها مسبقًا في حساب المطور.
- شوكة واستنساخ مستودع جيثب ضمن مجال SageMaker Studio في حساب المطور. يحتوي الريبو على بنية المجلد التالية:
- /البيئات - البرنامج النصي للتكوين لبيئة المنتج
- /mlops-infra – كود لنشر خدمات AWS باستخدام كود Terraform
- / خطوط الأنابيب - كود لمكونات خط أنابيب SageMaker
- جينكينزفيل - البرنامج النصي للنشر من خلال خط أنابيب Jenkins CI/CD
- setup.py - مطلوب لتثبيت وحدات Python المطلوبة وإنشاء أمر run-pipeline
- التصوير الشعاعي للثدي - خطورة النمذجة.ipynb - يسمح لك بإنشاء سير عمل ML وتشغيله
- قم بإنشاء مجلد يسمى البيانات داخل مجلد مستودع GitHub المستنسخ واحفظ نسخة من المجلد المتاح للجمهور UCI تصوير الثدي بالأشعة السينية مجموعة البيانات.
- اتبع دفتر Jupyter
mammography-severity-modeling.ipynb
. - قم بتشغيل التعليمات البرمجية التالية في دفتر الملاحظات للمعالجة المسبقة لمجموعة البيانات وتحميلها إلى مجموعة S3 في حساب المطور:
سيقوم الكود بإنشاء مجموعات البيانات التالية:
-
- البيانات/ مامو-قطار-dataset-part1.csv – سيتم استخدامه لتدريب الإصدار الأول من النموذج.
- البيانات/ مامو-قطار-dataset-part2.csv - سيتم استخدامه لتدريب الإصدار الثاني من النموذج مع مجموعة بيانات mammo-train-dataset-part1.csv.
- data/mammo-batch-dataset.csv - سيتم استخدامها لتوليد الاستدلالات.
- data/mammo-batch-dataset-outliers.csv - سيتم إدخال القيم المتطرفة في مجموعة البيانات لفشل خط أنابيب الاستدلال. وهذا سيمكننا من اختبار النموذج لبدء إعادة التدريب الآلي للنموذج.
- قم بتحميل مجموعة البيانات
mammo-train-dataset-part1.csv
تحت البادئةmammography-severity-model/train-dataset
وتحميل مجموعات البياناتmammo-batch-dataset.csv
وmammo-batch-dataset-outliers.csv
إلى البادئةmammography-severity-model/batch-dataset
لحاوية S3 التي تم إنشاؤها في حساب المطور: - تحميل مجموعات البيانات
mammo-train-dataset-part1.csv
وmammo-train-dataset-part2.csv
تحت البادئةmammography-severity-model/train-dataset
في حاوية S3 التي تم إنشاؤها في حساب المنتج من خلال وحدة تحكم Amazon S3. - تحميل مجموعات البيانات
mammo-batch-dataset.csv
وmammo-batch-dataset-outliers.csv
إلى البادئةmammography-severity-model/batch-dataset
من مجموعة S3 في حساب المنتج.
تشغيل خط أنابيب القطار
تحت <project-name>/pipelines/train
، يمكنك رؤية نصوص Python النصية التالية:
- scripts/raw_preprocess.py - يتكامل مع SageMaker Processing لهندسة الميزات
- scripts/evaluate_model.py - يسمح بحساب مقاييس النموذج، في هذه الحالة
auc_score
- Train_pipeline.py - يحتوي على الكود الخاص بخط أنابيب التدريب النموذجي
أكمل الخطوات التالية:
- قم بتحميل البرامج النصية إلى Amazon S3:
- احصل على مثيل خط أنابيب القطار:
- إرسال خط أنابيب القطار وتشغيله:
ويبين الشكل التالي التشغيل الناجح لخط أنابيب التدريب. تقوم الخطوة الأخيرة في المسار بتسجيل النموذج في حساب تسجيل النموذج المركزي.
الموافقة على النموذج في سجل النموذج المركزي
قم بتسجيل الدخول إلى حساب تسجيل النموذج المركزي والوصول إلى سجل نموذج SageMaker ضمن مجال SageMaker Studio. قم بتغيير حالة إصدار النموذج إلى تمت الموافقة عليه.
بمجرد الموافقة، يجب تغيير الحالة في الإصدار النموذجي.
تشغيل خط أنابيب الاستدلال (اختياري)
هذه الخطوة غير مطلوبة ولكن لا يزال بإمكانك تشغيل مسار الاستدلال لإنشاء تنبؤات في حساب المطور.
تحت <project-name>/pipelines/inference
، يمكنك رؤية نصوص Python النصية التالية:
- scripts/lambda_helper.py – سحب أحدث إصدار نموذجي معتمد من حساب سجل النموذج المركزي باستخدام خطوة SageMaker Pipelines Lambda
- inference_pipeline.py - يحتوي على الكود الخاص بخط أنابيب الاستدلال النموذجي
أكمل الخطوات التالية:
- قم بتحميل البرنامج النصي إلى مجموعة S3:
- احصل على مثيل خط أنابيب الاستدلال باستخدام مجموعة البيانات الدفعية العادية:
- أرسل خط أنابيب الاستدلال وقم بتشغيله:
يوضح الشكل التالي التشغيل الناجح لخط أنابيب الاستدلال. تقوم الخطوة الأخيرة في المسار بإنشاء التنبؤات وتخزينها في حاوية S3. نحن نستخدم MonitorBatchTransformStep لمراقبة المدخلات في مهمة تحويل الدفعة. إذا كان هناك أي قيم متطرفة، فسينتقل خط أنابيب الاستدلال إلى حالة فاشلة.
قم بتشغيل خط أنابيب جينكينز
• environment/
يحتوي المجلد الموجود داخل مستودع GitHub على البرنامج النصي للتكوين لحساب المنتج. أكمل الخطوات التالية لتشغيل خط أنابيب Jenkins:
- قم بتحديث البرنامج النصي للتكوين
prod.tfvars.json
بناءً على الموارد التي تم إنشاؤها في الخطوات السابقة: - بمجرد التحديث، ادفع الكود إلى مستودع GitHub المتشعب وادمج الكود في الفرع الرئيسي.
- انتقل إلى Jenkins UI، اختر بناء مع المعلمات، وقم بتشغيل خط أنابيب CI/CD الذي تم إنشاؤه في الخطوات السابقة.
عند اكتمال البناء ونجاحه، يمكنك تسجيل الدخول إلى حساب المنتج ورؤية مسارات التدريب والاستدلال داخل مجال SageMaker Studio.
بالإضافة إلى ذلك، ستشاهد ثلاث قواعد لـ EventBridge على وحدة تحكم EventBridge في حساب المنتج:
- جدولة خط أنابيب الاستدلال
- إرسال إشعار الفشل على خط أنابيب القطار
- عندما يفشل خط أنابيب الاستدلال في تشغيل خط أنابيب القطار، أرسل إشعارًا
أخيرًا، سترى موضوع إشعارات SNS على وحدة تحكم Amazon SNS التي ترسل إشعارات عبر البريد الإلكتروني. ستتلقى رسالة بريد إلكتروني تطلب منك تأكيد قبول رسائل البريد الإلكتروني الخاصة بالإشعارات هذه.
اختبر خط أنابيب الاستدلال باستخدام مجموعة بيانات دفعية بدون القيم المتطرفة
لاختبار ما إذا كان خط أنابيب الاستدلال يعمل كما هو متوقع في حساب المنتج، يمكننا تسجيل الدخول إلى حساب المنتج وتشغيل خط أنابيب الاستدلال باستخدام مجموعة البيانات الدفعية دون القيم المتطرفة.
قم بتشغيل المسار عبر وحدة تحكم SageMaker Pipelines في مجال SageMaker Studio الخاص بحساب المنتج، حيث transform_input
سيكون S3 URI لمجموعة البيانات بدون القيم المتطرفة (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset.csv
).
ينجح خط أنابيب الاستدلال ويكتب التوقعات مرة أخرى إلى مجموعة S3.
اختبر خط أنابيب الاستدلال باستخدام مجموعة بيانات دفعية ذات قيم متطرفة
يمكنك تشغيل مسار الاستدلال باستخدام مجموعة البيانات المجمعة مع القيم المتطرفة للتحقق مما إذا كانت آلية إعادة التدريب الآلية تعمل كما هو متوقع.
قم بتشغيل المسار عبر وحدة تحكم SageMaker Pipelines في مجال SageMaker Studio الخاص بحساب المنتج، حيث transform_input
سيكون S3 URI لمجموعة البيانات ذات القيم المتطرفة (s3://<s3-bucket-in-prod-account>/mammography-severity-model/data/mammo-batch-dataset-outliers.csv
).
يفشل مسار الاستدلال كما هو متوقع، مما يؤدي إلى تشغيل قاعدة EventBridge، والتي بدورها تؤدي إلى تشغيل مسار القطار.
بعد لحظات قليلة، من المفترض أن تشاهد تشغيلًا جديدًا لخط أنابيب القطار على وحدة تحكم SageMaker Pipelines، والذي يلتقط مجموعتي بيانات القطار المختلفتين (mammo-train-dataset-part1.csv
و mammo-train-dataset-part2.csv
) تم تحميله إلى مجموعة S3 لإعادة تدريب النموذج.
سترى أيضًا إشعارًا تم إرساله إلى البريد الإلكتروني المشترك في موضوع SNS.
لاستخدام إصدار النموذج المحدث، قم بتسجيل الدخول إلى حساب تسجيل النموذج المركزي والموافقة على إصدار النموذج، والذي سيتم انتقاؤه أثناء التشغيل التالي لمسار الاستدلال الذي يتم تشغيله من خلال قاعدة EventBridge المجدولة.
على الرغم من أن مسارات التدريب والاستدلال تستخدم عنوان URL لمجموعة بيانات ثابتة، إلا أنه يمكنك تمرير عنوان URL لمجموعة البيانات إلى مسارات التدريب والاستدلال كمتغيرات ديناميكية من أجل استخدام مجموعات البيانات المحدثة لإعادة تدريب النموذج وإنشاء التنبؤات في سيناريو العالم الحقيقي.
تنظيف
لتجنب تكبد رسوم في المستقبل ، أكمل الخطوات التالية:
- قم بإزالة مجال SageMaker Studio عبر جميع حسابات AWS.
- احذف جميع الموارد التي تم إنشاؤها خارج SageMaker، بما في ذلك مجموعات S3 وأدوار IAM وقواعد EventBridge وموضوع SNS التي تم إعدادها من خلال Terraform في حساب المنتج.
- احذف مسارات SageMaker التي تم إنشاؤها عبر الحسابات باستخدام واجهة سطر الأوامر AWS (AWS CLI).
وفي الختام
غالبًا ما تحتاج المؤسسات إلى التوافق مع مجموعات الأدوات على مستوى المؤسسة لتمكين التعاون عبر المجالات الوظيفية والفرق المختلفة. يضمن هذا التعاون أن منصة MLOps الخاصة بك يمكنها التكيف مع احتياجات العمل المتطورة وتسريع اعتماد تعلم الآلة عبر الفرق. يشرح هذا المنشور كيفية إنشاء إطار عمل MLOps في إعداد متعدد البيئات لتمكين إعادة تدريب النموذج الآلي، واستدلال الدفعة، والمراقبة باستخدام Amazon SageMaker Model Monitor، وإصدار النموذج باستخدام SageMaker Model Registry، وتعزيز كود ML وخطوط الأنابيب عبر البيئات باستخدام خط أنابيب CI/CD. لقد عرضنا هذا الحل باستخدام مجموعة من خدمات AWS ومجموعات أدوات الطرف الثالث. للحصول على إرشادات حول تنفيذ هذا الحل، راجع مستودع جيثب. يمكنك أيضًا توسيع هذا الحل عن طريق جلب مصادر البيانات الخاصة بك وأطر النمذجة.
حول المؤلف
غاياتري غناكوتا هو مهندس تعلّم آلي كبير مع خدمات AWS الاحترافية. إنها شغوفة بتطوير ونشر وشرح حلول الذكاء الاصطناعي / تعلم الآلة عبر مختلف المجالات. قبل هذا المنصب ، قادت العديد من المبادرات كعالمة بيانات ومهندسة ML مع كبرى الشركات العالمية في مجال المالية والتجزئة. وهي حاصلة على درجة الماجستير في علوم الكمبيوتر المتخصصة في علوم البيانات من جامعة كولورادو ، بولدر.
سونيتا كوبار هو كبير مهندسي Data Lake في خدمات AWS الاحترافية. إنها شغوفة بحل نقاط الضعف لدى العملاء ومعالجة البيانات الضخمة وتقديم حلول قابلة للتطوير على المدى الطويل. قبل توليها هذا الدور، قامت بتطوير منتجات في مجالات الإنترنت والاتصالات والسيارات، وكانت من عملاء AWS. وهي حاصلة على درجة الماجستير في علوم البيانات من جامعة كاليفورنيا، ريفرسايد.
ساسواتا داش هو مستشار DevOps لدى AWS Professional Services. عملت مع العملاء في مجالات الرعاية الصحية وعلوم الحياة والطيران والتصنيع. إنها شغوفة بكل ما يتعلق بالأتمتة ولديها خبرة شاملة في تصميم وبناء حلول العملاء على مستوى المؤسسات في AWS. وخارج العمل، تواصل شغفها بالتصوير الفوتوغرافي والتقاط شروق الشمس.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- PlatoData.Network Vertical Generative Ai. تمكين نفسك. الوصول هنا.
- أفلاطونايستريم. ذكاء Web3. تضخيم المعرفة. الوصول هنا.
- أفلاطون كربون، كلينتك ، الطاقة، بيئة، شمسي، إدارة المخلفات. الوصول هنا.
- أفلاطون هيلث. التكنولوجيا الحيوية وذكاء التجارب السريرية. الوصول هنا.
- المصدر https://aws.amazon.com/blogs/machine-learning/promote-pipelines-in-a-multi-environment-setup-using-amazon-sagemaker-model-registry-hashicorp-terraform-github-and-jenkins-ci-cd/
- :لديها
- :يكون
- :ليس
- :أين
- $ UP
- 1
- 10
- 100
- 12
- 13
- 14
- 16
- 17
- 19
- 23
- 27
- 31
- 320
- 7
- 8
- 9
- a
- من نحن
- يسرع
- قبول
- الوصول
- حسابي
- الحسابات
- في
- اكشن
- تكيف
- تضيف
- العنوان
- إداري
- تبني
- بعد
- السن
- AI
- محاذاة
- الكل
- السماح
- يسمح
- على طول
- أيضا
- أمازون
- الأمازون SageMaker
- أمازون ويب سيرفيسز
- an
- و
- آخر
- أي وقت
- تطبيق
- مناسب
- الموافقة على
- من وزارة الصحة
- هندسة معمارية
- هي
- المناطق
- حول
- مصطنع
- الذكاء الاصطناعي
- الذكاء الاصطناعي (منظمة العفو الدولية)
- AS
- يسأل
- أسوشيتد
- افترض
- يرفق
- السيارات
- الآلي
- أوتوماتيك
- أتمتة
- السيارات
- متاح
- طيران
- تجنب
- AWS
- عميل AWS
- الخدمات المهنية AWS
- الى الخلف
- على أساس
- أساس
- BE
- لان
- كان
- قبل
- يجري
- أفضل
- أفضل الممارسات
- ما بين
- كبير
- البيانات الكبيرة
- على حد سواء
- الفرع
- سد
- وبذلك
- نساعدك في بناء
- ابني
- بنيت
- الأعمال
- لكن
- by
- حساب
- كاليفورنيا
- تسمى
- CAN
- حقيبة
- مركزي
- تغيير
- غير
- التغييرات
- اسعارنا محددة من قبل وزارة العمل
- التحقق
- خيار
- اختار
- الكود
- للاتعاون
- جمع
- كولورادو
- عمود
- الأعمدة
- COM
- مجموعة
- إكمال
- الالتزام
- مكونات
- شامل
- الكمبيوتر
- علوم الكمبيوتر
- حالة
- الاعداد
- أكد
- كنسولات
- consultants
- وعاء
- يحتوي
- مراقبة
- اتفاقية
- تحول
- المقابلة
- خلق
- خلق
- خلق
- أوراق اعتماد
- عبر
- زبون
- حلول العملاء
- العملاء
- يوميا
- لوحة أجهزة القياس
- البيانات
- بحيرة البيانات
- علم البيانات
- عالم البيانات
- قواعد البيانات
- فك تشفير
- الترتيب
- الدرجة العلمية
- نشر
- نشر
- نشر
- ينشر
- تصميم
- تفاصيل
- بكشف أو
- الكشف عن
- ديف
- المتقدمة
- تطوير
- التطوير التجاري
- DICT
- مختلف
- نطاق
- المجالات
- أثناء
- ديناميكي
- كل
- في وقت سابق
- تأثير
- إما
- البريد الإلكتروني
- رسائل البريد الإلكتروني
- تمكين
- مشفرة
- مهندس
- يضمن
- أدخل
- البيئة
- البيئات
- أساسي
- أحداث
- المتطورة
- متوقع
- الخبره في مجال الغطس
- شرح
- شرح
- مد
- تسهيل
- يفشلون
- فشل
- فشل
- فشل
- الميزات
- المميزات
- قليل
- الشكل
- قم بتقديم
- نهائي
- مالي
- نهاية
- الشركات
- الاسم الأول
- لأول مرة
- متابعيك
- في حالة
- وجدت
- الإطار
- الأطر
- تبدأ من
- الوفاء
- بالإضافة إلى
- وظيفة
- وظيفي
- مستقبل
- فجوة
- توليد
- ولدت
- يولد
- دولار فقط واحصل على خصم XNUMX% على جميع
- بوابة
- GitHub جيثب:
- منح
- معطى
- يعطي
- العالمية
- Go
- يذهب
- منح
- تجمع
- يملك
- الرعاية الصحية
- لها
- أعلى
- يحمل
- استضافة
- كيفية
- كيفية
- HTML
- HTTP
- HTTPS
- ID
- هوية
- if
- تحقيق
- استيراد
- in
- يشمل
- بما فيه
- مؤشر
- البنية التحتية
- في البداية
- المبادرات
- المدخلات
- تثبيت
- تثبيت
- مثل
- تعليمات
- يدمج
- رؤيتنا
- Internet
- إلى
- تقديم
- IT
- وظيفة
- المشــاريــع
- JPG
- جسون
- القفل
- مفاتيح
- تُشير
- بحيرة
- المشهد
- الى وقت لاحق
- آخر
- تعلم
- ليد
- الاستدانة
- الحياة
- علوم الحياة
- خط
- سجل
- طويل الأجل
- آلة
- آلة التعلم
- الرئيسية
- المحافظة
- جعل
- تمكن
- إدارة
- تصنيع
- هامش
- كتلة
- سادة
- آلية
- الاجتماع
- القائمة
- دمج
- المقاييس
- مفقود
- ML
- MLOps
- نموذج
- تصميم
- عارضات ازياء
- تعديل
- الوحدات
- لحظات
- مراقبة
- مراقبة
- مراقبة
- الأكثر من ذلك
- متعدد
- الاسم
- عين
- تسمية
- قائمة الإختيارات
- حاجة
- بحاجة
- إحتياجات
- جديد
- التالي
- عادي
- مفكرة
- إعلام
- الإخطارات
- عدد
- نمباي
- of
- غالبا
- on
- ONE
- عمليات
- or
- طلب
- المنظمات
- أخرى
- خارج
- في الخارج
- على مدى
- نظرة عامة
- الخاصة
- صفقة
- صفحة
- الم
- الباندا
- خبز
- جزء
- أجزاء
- مرت
- شغف
- عاطفي
- نمط
- أداء
- أذونات
- تصوير
- التقطت
- مختارات
- خط أنابيب
- المنصة
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- نقاط
- سياسات الخصوصية والبيع
- سياسة
- منشور
- الممارسات
- تنبأ
- تنبؤات
- إعداد
- الشروط
- سابق
- رئيسي
- قبل
- الامتيازات
- عملية المعالجة
- معالجة
- الإنتــاج
- المنتجات
- محترف
- تنفيذ المشاريع
- تعزيز
- الترويج
- ترقية
- تزود
- المقدمة
- ويوفر
- توفير
- تقديم
- علانية
- تسحب
- يسعى
- دفع
- بايثون
- بسرعة
- بسرعة
- الخام
- عرض
- استعداد
- العالم الحقيقي
- منطقة
- تسجيل جديد
- مسجل
- سجلات
- سجل
- المنظمين
- ذات صلة
- صلة
- إزالة
- مستودع
- طلب
- مطلوب
- المتطلبات الأساسية
- مورد
- الموارد
- استجابة
- بيع بالتجزئة
- عائد أعلى
- ضفة النهر
- النوع
- الأدوار
- جذر
- قاعدة
- القواعد
- يجري
- يدير
- sagemaker
- خطوط الأنابيب SageMaker
- نفسه
- حفظ
- تم الحفظ
- تحجيم
- سيناريو
- جدول
- المقرر
- جدولة
- علوم
- علوم
- عالم
- سيناريو
- مخطوطات
- بسلاسة
- الثاني
- القسم
- تأمين
- أمن
- انظر تعريف
- إرسال
- إرسال
- يرسل
- أرسلت
- مستقل
- الخادم
- الخدمة
- خدماتنا
- طقم
- إعدادات
- الإعداد
- الشكل
- مشاركة
- هي
- ينبغي
- إظهار
- عرضت
- أظهرت
- يظهر
- الاشارات
- قصاصة
- So
- حل
- الحلول
- حل
- مصدر
- مصادر
- الفضاء
- متخصص
- محدد
- انقسم
- الولايه او المحافظه
- ملخص الحساب
- ساكن
- الحالة
- خطوة
- خطوات
- لا يزال
- متجر
- تخزين
- فروعنا
- خيط
- بناء
- ستوديو
- ناجح
- هذه
- الدعم
- الهدف
- فريق
- الاتصالات
- Terraform
- تجربه بالعربي
- الاختبار
- أن
- •
- منهم
- then
- هناك.
- تشبه
- الأشياء
- الثالث
- طرف ثالث
- ثلاثة
- عبر
- الوقت
- إلى
- من toolsets
- تيشرت
- موضوع
- مسار
- قطار
- متدرب
- قادة الإيمان
- تحول
- يثير
- أثار
- اثار
- صحيح
- الثقة
- منعطف أو دور
- اثنان
- ui
- مع
- جامعة
- جامعة كاليفورنيا
- تحديث
- تحديث
- تم التحميل
- URL
- us
- تستخدم
- مستعمل
- استخدام
- سهل حياتك
- القيم
- مختلف
- الإصدار
- الإصدارات
- بواسطة
- فيديو
- مرئي
- شاهد
- we
- الويب
- خدمات ويب
- متى
- كلما
- في حين
- التي
- في حين
- سوف
- مع
- في غضون
- بدون
- للعمل
- عمل
- سير العمل
- عامل
- أعمال
- اكتب
- مكتوب
- أنت
- حل متجر العقارات الشامل الخاص بك في جورجيا
- موقع YouTube
- زفيرنت