أنشئ مشاريع Amazon SageMaker باستخدام خطوط أنابيب CI / CD لبناء الصور

عقدة المصدر: 1876821

مشاريع Amazon SageMaker . كتالوج خدمة AWS المنتجات المتوفرة التي تمكّنك من إنشاء حلول التعلم الآلي الشامل (ML) بسهولة. تمنح مشاريع SageMaker المؤسسات القدرة على استخدام القوالب التي تعمل على تمهيد حلول ML للمستخدمين لتسريع وقت بدء تطوير ML.

يمكنك الآن استخدام مشاريع SageMaker لإدارة التبعيات المخصصة من خلال بناء صورة تكامل مستمر وخط أنابيب تسليم مستمر (CI / CD) متاح كقالب من الطرف الأول في أمازون ساجميكر ستوديو. تمنح هذه الإمكانية الجديدة المطورين المرونة لإجراء تحديثات على الصور التي تستخدمها للتدريب والمعالجة والاستدلال عن طريق تغيير ملفات الحاوية في مستودعات التحكم في مصدر مشروعك ، مما يؤدي تلقائيًا إلى تشغيل خط أنابيب بناء الصورة. يستخدم النموذج كود AWS كمستودع رمز. يمكنك استخدام الصور المنشأة حديثًا بتنسيق خط أنابيب SageMaker للمعالجة والتدريب والاستدلال.

خيارات القالب الجديدة متاحة الآن عبر SageMaker Python SDK أو داخل Studio IDE ، كما هو موضح في لقطة الشاشة التالية.

يستخدم القالب الجديد ملفات خط أنابيب AWS لبناء الصور ودفعها إلى أمازون ECR ثم قم بتشغيل خط أنابيب SageMaker يقوم بتدريب نموذج وتسجيله في ملف سجل نموذج SageMaker. بعد أن يكون في سجل النموذج ، يمكن تحديث حالة النموذج إلى موافق عليه ، مما يؤدي إلى بدء عملية نشر النموذج عبر CodePipeline.

حل نظرة عامة

لا يتضمن الرسم التخطيطي المعماري التالي مستودعات CodeCommit لمبنى النموذج وكود نشر النموذج. ينصب التركيز على ميزات بناء الصورة في القالب الجديد.

نستخدم نموذج مشروع MLOps الجديد لبناء صورة CI / CD لتوفير الموارد التالية وتكوينها ، والتي تمت مناقشتها بمزيد من التفصيل لاحقًا في هذا المنشور:

  • مستودعات كود SageMaker - يتم إنشاء مجموعة من خمسة مستودعات CodeCommit بواسطة قالب المشروع. تحتوي ثلاثة من هذه المستودعات على رمز لبناء الصور المستخدمة للمعالجة والتدريب والاستدلال. وهي تتضمن رمز البذور الذي يمكنك تغييره لتخصيص صورتك. يوجد مستودع لرمز التدريب النموذجي باستخدام خط أنابيب SageMaker ومستودع لكود نشر النموذج باستخدام تكوين سحابة AWS و CodePipeline. من خلال واجهة المستخدم ، يمكنك اختيار الصور التي ترغب في إنشائها كجزء من خط أنابيب CI / CD ويتم إنشاء تلك المستودعات فقط.
  • مستودعات Amazon ECR - يتم إنشاء مستودعات Amazon ECR للتدريب والمعالجة والاستدلال بالصور.
  • نموذج بناء ونشر المشغلات - أمازون إيفينت بريدج يتم إنشاء القواعد لتشغيل نموذج بناء خط أنابيب CodePipeline على تغييرات حالة Amazon ECR. يؤدي هذا إلى أتمتة عملية تشغيل خط أنابيب SageMaker عند إنشاء إصدارات جديدة من الحاويات ودفعها إلى Amazon ECR. يتم تكوين خط أنابيب CodePipeline لنشر النموذج ليتم تشغيله بواسطة EventBridge عندما تتغير حالة النموذج في سجل النموذج إلى موافق عليه.
  • دلو MLOps S3 - أ خدمة تخزين أمازون البسيطة يتم استخدام حاوية (Amazon S3) لخط أنابيب MLOps للمدخلات والتحف الخاصة بمشروعك وخط الأنابيب.

يتم تنفيذ جميع عمليات التوفير والتكوين المطلوبة لإعداد خط أنابيب CI / CD من طرف إلى طرف باستخدام هذه الموارد تلقائيًا بواسطة مشاريع SageMaker.

الآن بعد أن غطينا كيفية عمل الميزة الجديدة ، دعنا نتصفح مهام الإعداد لمرة واحدة متبوعة باستخدام القوالب الجديدة.

قم بإنشاء مشروع SageMaker جديد

لإنشاء مشروع SageMaker الخاص بك ، أكمل الخطوات التالية:

  1. في وحدة تحكم الاستوديو ، اختر موارد SageMaker.
  2. في القائمة المنسدلة ، اختر المشاريع.
  3. اختار إنشاء مشروع.
  4. في حالة قوالب مشروع SageMaker، اختر نموذج MLOps لبناء الصورة وبناء النماذج ونشر النموذج.
  5. اختار حدد قالب المشروع.
  6. تحتاج إلى توفير العديد من المعلمات لتكوين عملية بناء الصورة:
    1. قم بتضمين معالجة خط أنابيب بناء الصور - يؤدي هذا إلى إنشاء بنية أساسية CI / CD لبناء صورة لصورة المعالجة. يتضمن ذلك خط أنابيب CodePipeline ووظيفة CodeBuild ومستودع Amazon ECR وصورة SageMaker.
    2. قم بتضمين خط أنابيب بناء صورة الاستدلال - يؤدي هذا إلى إنشاء بنية أساسية CI / CD لبناء صورة لصورة الاستدلال. يتضمن ذلك خط أنابيب CodePipeline ووظيفة CodeBuild ومستودع Amazon ECR وصورة SageMaker.
    3. قم بتضمين مسار بناء صورة التدريب - هذا يولد صورة بناء CI / CD البنية التحتية لصورة التدريب. يتضمن ذلك خط أنابيب CodePipeline ووظيفة CodeBuild ومستودع Amazon ECR وصورة SageMaker.
    4. نوع البيئة - نوع البيئة المستخدمة بواسطة CodeBuild عند بناء الصورة.
    5. نوع الحساب - قيمة نوع الحوسبة لبيئة البناء المستخدمة بواسطة CodeBuild.
    6. اسم علامة الحاوية - بطاقة صورة الحاوية. هذه علامة Docker وليست علامة AWS.
  7. اختار إنشاء مشروع.

تظهر رسالة تشير إلى أن SageMaker يقوم بتوفير الموارد وتكوينها.

عند اكتمال المشروع ، تتلقى رسالة ناجحة.

مشروعك مدرج الآن في المشاريع قائمة.

  1. استنساخ كل مستودع عن طريق الاختيار استنساخ الريبو ... في Studio UI.

تم إنشاء خمسة مستودعات CodeCommit بواسطة قالب المشروع هذا:

  • sagemaker-image-building-cicd-demo-project-p-1jrh7jnlz3lx-processing-imagebuild
  • sagemaker-image-building-cicd-demo-project-p-1jrh7jnlz3lx-inference-imagebuild
  • sagemaker-image-building-cicd-demo-project-p-1jrh7jnlz3lx-modelbuild
  • sagemaker-image-building-cicd-demo-project-p-1jrh7jnlz3lx-training-imagebuild
  • sagemaker-image-building-cicd-demo-project-p-1jrh7jnlz3lx-modeldeploy

بعد استنساخ جميع المستودعات الخمسة ، ستكون متوفرة في Studio UI.

مستودع بناء الصور

في هذا المثال ، أنشأنا جميع مستودعات بناء الصور الثلاثة. في هذا القسم ، ترى هيكل المستودع وتعرف كيف يمكن تحديثه لتلبية متطلباتك المخصصة.

يتبع كل من مستودعات بناء الصور نفس الهيكل ، كما هو موضح في لقطة الشاشة التالية.

الصورة التي تم إنشاؤها في هذا المستودع هي صورة XGBoost بسيطة ، ولكن باتباع هذه البنية ، يمكن تحديث Dockerfile لتلبية حالة الاستخدام التي يتم العمل عليها. ال codebuild-buildspec.yml يتم استخدام ملف لتكوين CodeBuild بحيث يمكن إنشاء الصورة ودفعها إلى Amazon ECR.

يمكنك الانتقال إلى وحدة التحكم CodeBuild لمعرفة حالة الصور التي تم إنشاؤها.

يتم تشغيل خطوط أنابيب CodePipeline المرتبطة بكل مستودع تخزين تلقائيًا عند إنشاء المشروع. يتم تشغيل البنيات الجديدة عندما يتم دفع التغييرات إلى المستودع. يمكنك رؤية الصور على وحدة تحكم Amazon ECR.

عندما يتم دفع رمز جديد إلى أي من مستودعات بناء الصور ، يبدأ مشروع CodeBuild ويتم إنشاء الإصدار الجديد من الصورة ودفعه إلى Amazon ECR. يتم إنشاء مجموعة من قواعد EventBridge لأتمتة كل خطوة من خطوات سير عمل ML. في هذا القالب الجديد ، يتم إنشاء قاعدة في EventBridge لتشغيل خط أنابيب بناء النموذج عندما يتم دفع إصدار حاوية جديد إلى Amazon ECR.

يبدأ هدف خط أنابيب بناء النموذج في تشغيل خط أنابيب SageMaker.

قم بتحديث ملف Dockerfile

في هذا القسم ، نوضح كيف يؤدي تحديث ملف Dockerfile في أحد المستودعات إلى بدء عملية CodeBuild التي تنشئ إصدارًا جديدًا للصورة وتدفعه إلى Amazon ECR ، وخط أنابيب ML التالي الذي تم إطلاقه.

  1. قم بتحديث ملف Dockerfile.
  2. ادفع الرمز إلى CodeCommit.
  3. انتقل إلى CodeBuild للتحقق من إنشاء إصدار الصورة الجديد.

تحتوي لقطات الشاشة التالية على سجلات مرحلة CodeBuild التي يتم إنشاؤها للحاوية باستخدام Dockerfile المحدث الذي تم دفعه إلى المستودع.

يتم دفع إصدار الصورة إلى Amazon ECR لتشغيل خط أنابيب SageMaker في مستودع بناء النموذج.

يمكن عرض النموذج والموافقة عليه في سجل النموذج على غرار عمليات سير العمل في قوالب MLOps الأخرى في SageMaker Studio.

نبذة عامة

في هذا المنشور ، تجولنا في قالب مشروع SageMaker MLOps الجديد لبناء الصور CI / CD. باستخدام الهيكل المقدم في القالب ، يمكنك تعديل Dockerfiles لتلبية حالة الاستخدام الخاصة بك ، أو إنشاء قالب مخصص مع المزيد من مستودعات بناء الصور ، أو إنشاء قواعد مخصصة لبدء تشغيل خط الأنابيب تلقائيًا. جربه وأخبرنا إذا كان لديك أي أسئلة في قسم التعليقات!


عن المؤلف

كيريت ثاداكا هو مهندس حلول ML يعمل في فريق Amazon SageMaker Service SA. قبل انضمامها إلى AWS ، أمضت Kirit وقتًا في العمل في الشركات الناشئة التي تعمل في مجال الذكاء الاصطناعي في مراحله المبكرة ، تلاها بعض الوقت في الاستشارات في أدوار مختلفة في أبحاث الذكاء الاصطناعي ، و MLOps ، والقيادة التقنية.

المصدر: https://aws.amazon.com/blogs/machine-learning/create-amazon-sagemaker-projects-with-image-building-ci-cd-pipelines/

الطابع الزمني:

اكثر من AWS مدونة التعلم الآلي