يعتمد عملاء AWS على البنية التحتية كرمز (IaC) لتصميم البنية التحتية السحابية وتطويرها وإدارتها. تضمن IaC أن البنية التحتية للعملاء وخدماتهم متسقة وقابلة للتطوير وقابلة للتكرار ، مع القدرة على اتباع أفضل الممارسات في مجال عمليات التطوير (DevOps).
أحد الأساليب الممكنة لإدارة البنية التحتية والخدمات لـ AWS باستخدام IaC هو Terraform، والذي يسمح للمطورين بتنظيم البنية التحتية الخاصة بهم في وحدات تعليمات برمجية قابلة لإعادة الاستخدام. يكتسب هذا الجانب أهمية متزايدة في مجال التعلم الآلي (ML). يتيح لك تطوير وإدارة خطوط أنابيب ML ، بما في ذلك التدريب والاستدلال باستخدام Terraform مثل IaC ، التوسع بسهولة في حالات أو مناطق استخدام ML المتعددة دون الحاجة إلى تطوير البنية التحتية من البداية. علاوة على ذلك ، فإنه يوفر الاتساق للبنية التحتية (على سبيل المثال ، نوع وحجم المثال) للتدريب والاستدلال عبر التطبيقات المختلفة لخط أنابيب ML. يتيح لك هذا توجيه الطلبات وحركة المرور الواردة إلى جهات مختلفة الأمازون SageMaker نقاط النهاية.
في هذا المنشور ، نوضح لك كيفية نشر وإدارة خطوط أنابيب ML باستخدام Terraform و Amazon SageMaker.
حل نظرة عامة
يوفر هذا المنشور رمزًا ويوجهك عبر الخطوات اللازمة لنشر البنية التحتية لـ AWS لخطوط أنابيب ML مع Terraform للتدريب على النموذج والاستدلال باستخدام Amazon SageMaker. تتم إدارة خط أنابيب ML عبر وظائف خطوة AWS لتنسيق الخطوات المختلفة التي تم تنفيذها في خط أنابيب ML ، كما هو موضح في الشكل التالي.
تبدأ وظائف الخطوة ملف AWS لامدا وظيفة ، مما يؤدي إلى إنشاء معرف وظيفة فريد ، والذي يتم استخدامه بعد ذلك عند بدء وظيفة تدريب SageMaker. تعمل وظائف الخطوة أيضًا على إنشاء نموذج وتكوين نقطة نهاية ونقطة نهاية تُستخدم للاستدلال. تشمل الموارد الإضافية ما يلي:
- إدارة الهوية والوصول AWS (IAM) الأدوار والسياسات المرتبطة بالموارد من أجل تمكين التفاعل مع الموارد الأخرى
- خدمة تخزين أمازون البسيطة مجموعات (Amazon S3) لبيانات التدريب ومخرجات النموذج
- An سجل الأمازون المرنة للحاويات مستودع (Amazon ECR) لـ عامل في حوض السفن صورة تحتوي على منطق التدريب والاستدلال
يعتمد الكود المتعلق بـ ML للتدريب والاستدلال باستخدام صورة Docker بشكل أساسي على العمل الحالي في ما يلي مستودع جيثب.
يوضح الرسم البياني التالي بنية الحل:
نوجهك عبر الخطوات عالية المستوى التالية:
- انشر بنية AWS الأساسية الخاصة بك مع Terraform.
- ادفع صورة Docker الخاصة بك إلى Amazon ECR.
- قم بتشغيل خط أنابيب ML.
- استدعاء نقطة النهاية الخاصة بك.
هيكل المستودع
يمكنك العثور على المستودع الذي يحتوي على الكود والبيانات المستخدمة لهذا المنشور في ما يلي مستودع جيثب.
يتضمن المستودع الدلائل التالية:
/terraform
- يتكون من المجلدات الفرعية التالية:./infrastructure
- يحتوي على ملف main.tf الذي يستدعي وحدة خط أنابيب ML ، بالإضافة إلى الإعلانات المتغيرة التي نستخدمها لنشر البنية التحتية./ml-pipeline-module
- يحتوي على وحدة خط أنابيب Terraform ML ، والتي يمكننا إعادة استخدامها
/src
- يتكون من المجلدات الفرعية التالية:./container
- يحتوي على رمز مثال للتدريب والاستدلال مع تعريفات صورة Docker./lambda_function
- يحتوي على كود Python لتكوينات إنشاء وظيفة Lambda ، مثل معرف الوظيفة الفريد لوظيفة تدريب SageMaker
/data
- يحتوي على الملف التالي:./iris.csv
- يحتوي على بيانات لتدريب نموذج ML
المتطلبات الأساسية المسبقة
في هذا الدليل ، يجب أن يكون لديك المتطلبات الأساسية التالية:
- حساب AWS
- Terraform الإصدار 0.13.5 أو أكبر
- واجهة سطر الأوامر AWS (AWS CLI) الإصدار 2
- بايثون شنومكس أو أكبر
- عامل في حوض السفن
انشر بنية AWS الأساسية الخاصة بك مع Terraform
لنشر خط أنابيب ML ، تحتاج إلى تعديل بعض المتغيرات والأسماء وفقًا لاحتياجاتك. رمز هذه الخطوة في /terraform
الدليل.
عند التهيئة لأول مرة ، افتح الملف terraform/infrastructure/terraform.tfvars
وضبط المتغير اسم المشروع إلى اسم مشروعك بالإضافة إلى المتغير منطقة إذا كنت تريد النشر في منطقة أخرى. يمكنك أيضًا تغيير متغيرات إضافية مثل أنواع المثيلات للتدريب والاستدلال.
ثم استخدم الأوامر التالية لنشر البنية التحتية مع Terraform:
تحقق من المخرجات وتأكد من أن الموارد المخططة تظهر بشكل صحيح ، وقم بالتأكيد بنعم في مرحلة التطبيق إذا كان كل شيء صحيحًا. ثم انتقل إلى وحدة تحكم Amazon ECR (أو تحقق من إخراج Terraform في الجهاز) واحصل على عنوان URL لمستودع ECR الذي قمت بإنشائه عبر Terraform.
يجب أن يبدو الناتج مشابهًا للمخرجات المعروضة التالية ، بما في ذلك عنوان URL لمستودع ECR:
ادفع صورة Docker الخاصة بك إلى Amazon ECR
لكي يقوم خط أنابيب ML و SageMaker بتدريب وتوفير نقطة نهاية SageMaker للاستدلال ، تحتاج إلى توفير صورة Docker وتخزينها في Amazon ECR. يمكنك العثور على مثال في الدليل src/container
. إذا قمت بالفعل بتطبيق البنية الأساسية لـ AWS من الخطوة السابقة ، فيمكنك دفع صورة Docker كما هو موضح. بعد تطوير صورة Docker الخاصة بك ، يمكنك اتخاذ الإجراءات التالية ودفعها إلى Amazon ECR (اضبط عنوان URL الخاص بـ Amazon ECR وفقًا لاحتياجاتك):
إذا قمت بالفعل بتطبيق البنية الأساسية لـ AWS مع Terraform ، فيمكنك دفع التغييرات في التعليمات البرمجية وصورة Docker مباشرةً إلى Amazon ECR دون النشر عبر Terraform مرة أخرى.
قم بتشغيل خط أنابيب ML
لتدريب وتشغيل خط أنابيب التعلم الآلي ، انتقل إلى وحدة التحكم في وظائف الخطوة وابدأ التنفيذ. يمكنك التحقق من تقدم كل خطوة في تصور آلة الحالة. يمكنك أيضًا التحقق من تقدم وظيفة تدريب SageMaker وحالة نقطة نهاية SageMaker.
بعد تشغيل جهاز الحالة بنجاح في Step Functions ، يمكنك أن ترى أنه تم إنشاء نقطة نهاية SageMaker. في وحدة تحكم SageMaker ، اختر الإستنباط في جزء التنقل ، ثم النهاية. تأكد من الانتظار حتى تتغير الحالة إلى InService.
استدعاء نقطة النهاية الخاصة بك
لاستدعاء نقطة النهاية الخاصة بك (في هذا المثال ، لمجموعة بيانات القزحية) ، يمكنك استخدام نص Python النصي التالي مع AWS SDK لـ Python (Boto3). يمكنك القيام بذلك من دفتر ملاحظات SageMaker ، أو تضمين مقتطف التعليمات البرمجية التالي في وظيفة Lambda:
تنظيف
يمكنك تدمير البنية التحتية التي أنشأتها Terraform باستخدام الأمر تدمير terraform ، لكنك تحتاج إلى حذف البيانات والملفات الموجودة في حاويات S3 أولاً. علاوة على ذلك ، يتم إنشاء نقطة نهاية SageMaker (أو عدة نقاط نهاية SageMaker إذا تم تشغيلها عدة مرات) عبر وظائف الخطوة ولا تتم إدارتها عبر Terraform. هذا يعني أن النشر يحدث عند تشغيل خط أنابيب ML بوظائف الخطوة. لذلك ، تأكد من حذف نقطة نهاية SageMaker أو نقاط النهاية التي تم إنشاؤها عبر خط أنابيب ML لوظائف الخطوة لتجنب التكاليف غير الضرورية. أكمل الخطوات التالية:
- في وحدة التحكم Amazon S3 ، احذف مجموعة البيانات في حاوية التدريب S3.
- احذف جميع النماذج التي دربتها عبر خط أنابيب ML في حاوية نماذج S3 ، إما عبر وحدة تحكم Amazon S3 أو AWS CLI.
- تدمير البنية التحتية التي تم إنشاؤها عبر Terraform:
- احذف نقاط نهاية SageMaker ، وتكوين نقطة النهاية ، والنماذج التي تم إنشاؤها عبر وظائف الخطوة ، إما على وحدة تحكم SageMaker أو عبر AWS CLI.
وفي الختام
تهانينا! لقد قمت بنشر خط أنابيب ML باستخدام SageMaker مع Terraform. يوضح هذا المثال الحل كيف يمكنك بسهولة نشر البنية التحتية والخدمات من AWS لخطوط أنابيب ML بطريقة قابلة لإعادة الاستخدام. يتيح لك ذلك إمكانية التوسع في حالات الاستخدام المتعددة أو المناطق ، كما يتيح التدريب ونشر نماذج التعلم الآلي بنقرة واحدة بطريقة متسقة. علاوة على ذلك ، يمكنك تشغيل خط أنابيب ML عدة مرات ، على سبيل المثال ، عند توفر بيانات جديدة أو إذا كنت تريد تغيير رمز الخوارزمية. يمكنك أيضًا اختيار توجيه الطلبات أو حركة المرور إلى نقاط نهاية SageMaker مختلفة.
أشجعك على استكشاف إضافة ميزات الأمان واعتماد أفضل ممارسات الأمان وفقًا لاحتياجاتك ومعايير الشركة المحتملة. بالإضافة إلى ذلك ، فإن تضمين هذا الحل في خطوط أنابيب CI / CD الخاص بك سيمنحك المزيد من القدرات في تبني وإنشاء أفضل ممارسات ومعايير DevOps وفقًا لمتطلباتك.
عن المؤلف
أوليفر زوليكوفر هو عالم بيانات في Amazon Web Services. إنه يمكّن عملاء المؤسسات العالمية من بناء نماذج التعلم الآلي وتدريبها ونشرها ، فضلاً عن إدارة دورة حياة نموذج ML باستخدام MLOps. علاوة على ذلك ، يقوم ببناء وتصميم الحلول السحابية ذات الصلة.
- كوينسمارت. أفضل بورصة للبيتكوين والعملات المشفرة في أوروبا.
- بلاتوبلوكشين. Web3 Metaverse Intelligence. تضخيم المعرفة. دخول مجاني.
- كريبتوهوك. الرادار. تجربة مجانية.
- المصدر: https://aws.amazon.com/blogs/machine-learning/deploy-and-manage-machine-learning-pipelines-with-terraform-using-amazon-sagemaker/
- "
- 100
- 7
- الوصول
- وفقا
- في
- الإجراءات
- إضافة
- إضافي
- خوارزمية
- الكل
- سابقا
- أمازون
- أمازون ويب سيرفيسز
- آخر
- نهج
- هندسة معمارية
- المنطقة
- متاح
- AWS
- يجري
- أفضل
- أفضل الممارسات
- الجسدي
- الحدود
- نساعدك في بناء
- يبني
- قدرات
- الحالات
- CD
- تغيير
- اختار
- سحابة
- البنية التحتية السحابية
- الكود
- حول الشركة
- الاعداد
- كنسولات
- وعاء
- يحتوي
- التكاليف
- خلق
- يخلق
- زبون
- العملاء
- البيانات
- عالم البيانات
- نشر
- نشر
- نشر
- نشر
- وصف
- تصميم
- هدم
- دمر
- تطوير
- المتقدمة
- المطورين
- تطوير
- التطوير التجاري
- مختلف
- مباشرة
- عامل في حوض السفن
- بسهولة
- تمكين
- شجع
- نقطة النهاية
- مشروع
- كل شىء
- مثال
- القائمة
- اكتشف
- الأزياء
- المميزات
- الشكل
- الاسم الأول
- لأول مرة
- اتباع
- متابعيك
- وظيفة
- إضافي
- توليد
- العالمية
- وجود
- كيفية
- كيفية
- HTTPS
- هوية
- صورة
- التنفيذ
- نفذت
- أهمية
- تتضمن
- يشمل
- بما فيه
- على نحو متزايد
- البنية التحتية
- إدخال
- تفاعل
- IT
- وظيفة
- آخر
- تعلم
- خط
- آلة
- آلة التعلم
- إدارة
- تمكن
- إدارة
- ML
- نموذج
- عارضات ازياء
- متعدد
- أسماء
- قائمة الإختيارات
- ضروري
- مفكرة
- جاكيت
- عمليات
- طلب
- أخرى
- سياسات الخصوصية والبيع
- ممكن
- محتمل
- تنفيذ المشاريع
- تزود
- ويوفر
- مستودع
- طلب
- طلبات
- المتطلبات الأساسية
- الموارد
- استجابة
- طريق
- يجري
- تشغيل
- تحجيم
- حجم
- عالم
- الإستراحة
- أمن
- خدمات
- مماثل
- الاشارات
- مقاس
- الصلبة
- حل
- الحلول
- المسرح
- المعايير
- بداية
- يبدأ
- الولايه او المحافظه
- الحالة
- تخزين
- متجر
- بنجاح
- محطة
- وبالتالي
- عبر
- الوقت
- حركة المرور
- قادة الإيمان
- فريد من نوعه
- تستخدم
- التصور
- انتظر
- الويب
- خدمات ويب
- في حين
- بدون
- للعمل