مشاريع SageMaker منح المؤسسات القدرة على إعداد بيئات المطورين وتوحيدها بسهولة لعلماء البيانات وأنظمة CI / CD لمهندسي MLOps. باستخدام SageMaker Projects ، يمكن لمهندسي MLOps أو مسؤولي المؤسسة تحديد القوالب التي تقوم بتمهيد سير عمل ML مع التحكم في إصدار المصدر وخطوط ML الآلية ومجموعة من التعليمات البرمجية لبدء التكرار بسرعة على حالات استخدام ML. مع المشروعات ، أصبحت إدارة التبعية ، وإدارة مستودعات الكود ، وإمكانية تكرار الإنشاء ، ومشاركة الأداة وإدارتها ، أمرًا سهلاً على المؤسسات. يتم توفير مشاريع SageMaker باستخدام كتالوج خدمة AWS منتجات. تستخدم المؤسسات قوالب المشروع لتوفير المشاريع لكل مستخدم من مستخدميها.
يصف هذا المنشور كيف يمكن تخصيص قوالب مشروع SageMaker لتناسب حالة استخدام أي مؤسسة. هذا مستودع جيثب يحتوي على أمثلة من القوالب المخصصة.
مشاريع SageMaker
كل مؤسسة لديها مجموعة المعايير والممارسات الخاصة بها التي توفر الأمان والحوكمة لبيئة AWS الخاصة بها. يوفر SageMaker مجموعة من قوالب الطرف الأول للمؤسسات التي تريد البدء بسرعة في مهام سير عمل ML و CI / CD. تتضمن القوالب المشاريع التي تستخدم خدمات AWS الأصلية لـ CI / CD مثل AWS كود البناء, خط أنابيب AWSو كود AWS وأيضًا المشروعات التي تستخدم أدوات جهات خارجية مثل Jenkins و GitHub.
في كثير من الأحيان تحتاج المنظمات إلى رقابة صارمة على موارد MLOps التي يتم توفيرها وتقييدها وإدارتها ؛ وهذا يشمل - تكوين أدوار / سياسات IAM ، وفرض علامات الموارد ، وفرض التشفير وفصل الموارد عبر حسابات متعددة. لمنح المؤسسات المرونة للقيام بذلك ، تدعم SageMaker Projects القوالب المخصصة حيث تستخدم المؤسسات البرامج النصية لـ AWS CloudFormation لتحديد الموارد اللازمة لسير عمل ML. يتم إنشاء هذه القوالب المخصصة كملف كتالوج خدمة AWS المنتجات ويتم توفيرها كقوالب تنظيمية في واجهة مستخدم SageMaker Studio. هذا هو المكان الذي يختار فيه علماء البيانات نموذجًا ويتم تمهيد سير عمل ML الخاص بهم وتكوينه مسبقًا. AWS Service Catalog عبارة عن خدمة AWS تمكّن المؤسسات من إنشاء وإدارة كتالوجات للمنتجات المعتمدة للاستخدام على AWS. يتم إنشاء هذه المنتجات باستخدام تشكيل السحابة القوالب.
فهم قوالب SageMaker 1P
لمساعدة عملائنا على البدء في بناء النماذج المشتركة ونماذج النشر ، تقدم SageMaker Projects مجموعة من قوالب 1P. تركز قوالب 1P بشكل عام على إنشاء موارد لبناء النماذج والتدريب على النموذج.
لفهم مشاريع SageMaker بالتفصيل ، من المفيد تقسيمها إلى مكونين - موارد AWS وكود المشروع الأساسي.
سوف تشير الأقسام التالية "نموذج MLOps لبناء النماذج والتدريب والنشر".
موارد AWS
- يتم ملء مستودعات CodeCommit بكود أولي. مستودع واحد لبناء النموذج وآخر لنشر النموذج.
- مرحلتان من CodeBuild يتم تشغيلهما بواسطة CodePipeline -
- بناء النموذج - يقوم هذا ببناء الكود في مستودع بناء النموذج.
- نشر النموذج - يؤدي هذا إلى إنشاء الكود في مستودع النشر.
- اثنان من خطوط أنابيب CodePipeline -
- نموذج بناء خط الانابيب
سينظم خط الأنابيب هذا خطوات بناء النموذج. يتضمن ذلك سحب أحدث رمز من CodeCommit وبدء تنفيذ CodeBuild. - نموذج خط أنابيب النشر
سينظم خط الأنابيب هذا خطوات نشر النموذج. يتضمن ذلك سحب التعليمات البرمجية من CodeCommit ، وبدء تنفيذ CodeBuild ، وأي خطوات أخرى محددة في قالب النموذج.
- نموذج بناء خط الانابيب
- ثلاث أمازون إيفينت بريدج قواعد-
- قم بتشغيل خط بناء النموذج بناءً على التغييرات في مستودع "بناء النموذج"
- تشغيل خط أنابيب نشر النموذج استنادًا إلى التغييرات التي تم إجراؤها على مستودع "modeldeploy"
- تشغيل خط أنابيب نشر النموذج عندما يكون النموذج "معتمدًا" في سجل النموذج المرتبط بهذا المشروع. عند نشر نقطة نهاية بالفعل ، وتغيير الحالة من "موافق عليه" إلى "مرفوض" ، سيتم هدم نقطة النهاية وسيتم نشر أحدث نقطة "موافق عليها" قبل ذلك.
- An الأمازون S3 دلو للمشروع.
كود البذور
يتم ملء مستودعات CodeCommit التي تم إنشاؤها بواسطة القالب مسبقًا برمز أولي لبناء النموذج ونشر النموذج.
- كود بناء النموذج
يشتمل رمز البداية لخط أنابيب بناء النموذج على خط أنابيب SageMaker يقوم بمعالجة ملف أذن البحر تقوم مجموعة البيانات بتدريب نموذج XGBoost وتقييم أداء النموذج باستخدام خطوة المعالجة وتسجيل النموذج في سجل نموذج بناءً على أداء النموذج. ملف اسمهcodebuild-buildspec.yml
هو جزء من كود البذور في المستودع. يصف هذا الملف الخطوات الموجودة في CodeBuild لتشغيل خط أنابيب SageMaker. سيقوم علماء البيانات بإجراء تغييرات على الكود في هذا المستودع لتعكس حالات الاستخدام الخاصة بهم. يتم توفير رمز البذور كنقطة بداية للمساعدة بسرعة في إعداد حالات استخدام ML الجديدة. - كود نشر النموذج
تتضمن التعليمات البرمجية الأولية لنشر النموذج خطوة CodeBuild للعثور على أحدث نموذج تمت الموافقة عليه في سجل النموذج وإنشاء ملفات التكوين لنشر قوالب CloudFormation. ينشر نموذج CloudFormation النموذج إما في مرحلة "التدريج" أو "الإنتاج". ملف اسمهbuildspec.yml
هو جزء من هذا المستودع الذي يصف الخطوات التي تم اتخاذها للعثور على أحدث نموذج لنشر وإنشاء البرامج النصية CloudFormation لإنشاء SageMaker Endpoint. سيقوم MLOps Engineers بتحديث الكود في هذا المستودع لتغيير منطق النشر المحدد. لاحظ أن التغييرات التي تطرأ على مراحل النشر (التدريج ، الإنتاج ، وما إلى ذلك) قد تتطلب نموذجًا مخصصًا ، نظرًا لأنه تغيير في CodePipeline ، وليس التعليمات البرمجية الأولية.
تشغيل خط الأنابيب
عملية بناء النموذج
- يقوم عالم (علماء) البيانات بتحديث منطق بناء النموذج (على سبيل المثال ، المعالجة المسبقة ، نصوص التدريب وما إلى ذلك) ودفع الالتزام إلى المستودع رقم 1 في CodeCommit.
- تقوم قاعدة EventBridge بتشغيل خط أنابيب كود بناء النموذج.
- في خط الأنابيب ، يقوم مشروع CodeBuild ببناء خط أنابيب SageMaker (يمكن استبداله بأي رمز تدريب نموذجي) وينفذ سير العمل ، أي تدريب نموذج وتسجيل النموذج في سجل نموذج SageMaker.
يمكن بعد ذلك الموافقة على النموذج أو رفضه في السجل. يجب على المؤسسات تحديد كيفية حدوث الموافقة على النموذج لديها والعمليات التي تحكم المستخدمين المسموح لهم بالموافقة على النماذج في السجل.
عملية نشر النموذج
- يقوم مهندسو MLOps بتحديث كود نشر النموذج ودفع الالتزام إلى Repository # 2 في CodeCommit ، أو تمت الموافقة على نموذج في سجل النموذج.
- تقوم قواعد EventBridge بتشغيل النموذج لنشر CodePipeline pipeline.
- ينشئ مشروع CodeBuild تكوينات للتدريج والإنتاج لاستخدامها بواسطة قوالب CloudFormation.
- في مرحلة "النشر" -
- يتم إنشاء نقطة نهاية SageMaker في "التدريج" من خلال CloudFormation
- يختبر مشروع CodeBuild نقطة النهاية لحالة "InService".
- إذا نجح الاختبار ، يتم تشغيل خطوة الموافقة اليدوية.
- سيوافق المستخدم المعين في المؤسسة يدويًا على النموذج في CodePipeline
- في مرحلة "DeployProd" ، يتم نشر نقطة نهاية SageMaker في "الإنتاج". لاحظ أنه بالنسبة للقالب 1P ، يتم نشر نقطتي النهاية في نفس المنطقة ، مع لاحقات مختلفة (التدريج أو الإنتاج).
إذا تم رفض النموذج ، فلن يتم اتخاذ أي إجراء.
عندما يتم إنشاء مشروع 1P SageMaker هذا لأول مرة ، يتم تشغيل كل خط أنابيب تلقائيًا حيث يتم دفع الكود الأولي إلى هذه المستودعات لأول مرة. نظرًا لأن المستخدمين يقومون لاحقًا بتحديث الكود في أي من المستودعات لتلبية حالة الاستخدام الخاصة بهم ، فسيتم إعادة تشغيل خطوط الأنابيب. تتلاءم بعض حالات الاستخدام مع النموذج الذي توفره قوالب الطرف الأول ، مما يجعل هذه القوالب طريقة رائعة لبذر مشروعات ML. على سبيل المثال ، يمكن تحقيق إضافة خطوات إضافية إلى خط الأنابيب ، وتغيير مجموعة البيانات ، وتحديث خصائص نقطة النهاية المنشورة مثل إضافة DataCaptureConfig ، واستخدام GitHub أو Jenkins بدلاً من نظيرات AWS الأصلية باستخدام قوالب الطرف الأول. لمزيد من المعلومات حول قوالب مشروع SageMaker للطرف الأول ، قم بزيارة وثائق مشاريع SageMaker.
لماذا إنشاء قوالب مخصصة
قد ترغب المؤسسات في تمديد قوالب الطرف الأول لدعم حالات الاستخدام التي تتجاوز مجرد التدريب ونشر النموذج. قوالب المشروع المخصصة هي وسيلة للمؤسسات لإنشاء سير عمل قياسي لمشاريع التعلم الآلي. يمكن للمؤسسة إنشاء العديد من القوالب واستخدام سياسات IAM لإدارة الوصول إلى تلك القوالب على SageMaker Studio مما يضمن وصول كل مستخدم من المستخدمين إلى المشاريع المخصصة لحالات الاستخدام الخاصة بهم.
فيما يلي بعض السيناريوهات الشائعة عندما تحتاج المؤسسة إلى إنشاء قالب مشروع مخصص:
سيناريو | عرض 1P الحالي | حالة استخدام المنظمة |
استخدام أنظمة SVC غير مدعوم في قوالب الطرف الأول | تستخدم قوالب الطرف الأول في AWS CodeStar Connections للمصادقة مع المستودع التي تقصر قوالب الطرف الأول على CodeCommit و GitHub و BitBucket و GitHub enterprise. | قد يكون لدى المنظمات أنظمة تحكم في الإصدار غير تلك التي توفرها قوالب 1P حاليًا. |
استخدام إستراتيجية متعددة الحسابات للتدريب والنشر النموذجي. | تقوم قوالب 1P حاليًا بإجراء تدريب نموذجي ونشر كل ذلك في نفس الحساب. | قد ترغب المؤسسات في استخدام إستراتيجية متعددة الحسابات كأفضل ممارسة مع حسابات تدريب مخصصة وحسابات مرحلية / إنتاج لعمليات النشر. |
سير عمل الموافقة المخصصة لنشر النموذج. | تحتوي قوالب 1P على خطوتين للموافقة - الموافقة في نموذج التسجيل ، والموافقة اليدوية في خط أنابيب CI / CD | قد يكون لدى المنظمات خطوات اعتماد متعددة يلزم إجراؤها قبل نشر النموذج. |
مراحل نشر متعددة | تنشر قوالب 1P النماذج في مرحلتين - التدريج والإنتاج. يتم نشر كلا نقطتي النهاية في نفس الحساب. | قد يكون لدى المنظمات أكثر من مرحلتين (التدريج ، ما قبل الإنتاج ، الإنتاج) للنشر. |
فروع كود متعددة للتجريب | تفترض قوالب 1P وجود فرع واحد فقط في المستودع المستخدم | قد يكون لدى المنظمات عدة مستخدمين يعملون في نفس المستودع حيث يعمل كل منهم في فروع فردية للتجربة مع الفرع الرئيسي الذي يحتوي على أفضل نسخة من خط أنابيب التدريب |
خيارات الاستضافة المخصصة | تستخدم قوالب 1P نقاط النهاية المستضافة من SageMaker فقط | قد ترغب المنظمات في الاستفادة من مجموعة متنوعة من خيارات استضافة SageMaker - MME و Edge وما إلى ذلك. |
خط أنابيب واحد لحالات الاستخدام المتعددة | تستخدم قوالب 1P خط أنابيب SageMaker واحدًا يقوم بتدريب نموذج | قد تضطر المنظمات إلى استخدام SageMaker Pipeline لتدريب وتسجيل نماذج متعددة لكل منها معايير التقييم الخاصة بها للحد من عدد خطوط الأنابيب التي يجب إدارتها |
خطوط أنابيب التطوير والإنتاج | استخدمت قوالب 1P خط أنابيب واحد للتطوير والإنتاج | قد ترغب المؤسسات في اختبار خط الأنابيب الخاص بها أولاً في بيئة تطوير ثم استخدام عملية CI / CD لإنشاء وتشغيل خط الأنابيب هذا في بيئة إنتاج |
استخدام كود مخصص للبذور | تحتوي قوالب 1P على كود أساسي قياسي لبناء النماذج ونشرها | قد ترغب المؤسسات في تزويد مطوريها بمجموعة من التعليمات البرمجية الأولية المخصصة لاستخدام الحالات التي يعملون عليها |
استخدام برنامج SageMaker Studio في VPC | تستخدم قوالب 1P برنامج SageMaker في وضع الإنترنت | قد تستخدم المؤسسة برنامج SageMaker في وضع vpc فقط |
أفضل الممارسات لتصميم قالب مشروع مخصص
في هذا القسم ، سترى المؤسسات كيف يمكنها إنشاء قوالب مخصصة خاصة بها والاعتبارات الواجب مراعاتها عند تصميم قوالب خاصة بهم.
تكامل التحكم في إصدار المصدر
تستخدم قوالب 1P ملفات اتصالات AWS CodeStar لإدارة المصادقة بين المشروع والمستودع بحيث يمكن دفع الكود الأولي إليه. ستدعم هذه الطريقة GitHub و GitHub Enterprise و BitBucket بالإضافة إلى مستودع AWS الأصلي ، CodeCommit. إذا أرادت المؤسسات استخدام مستودعات مختلفة ، فيجب توفير آلية مصادقة مختلفة في المشروع. النهج الموصى به هو استخدام AWS لامدا تعمل مع مدير أسرار AWS للمصادقة مع المستودع ودفع الشفرة الأولية. بمجرد دفع رمز البداية ، تتم المصادقة مع المستودع في SageMaker Studio عبر اسم المستخدم وكلمة المرور الخاصين بالمستودع. الطريقة مع Lambda و Secrets Manger مخصصة لدفع كود البذور إلى الريبو عند إنشاء المشروع. يمكن استكشاف الإستراتيجيات البديلة لدفع التعليمات البرمجية الأولية إلى المستودع بناءً على مستودع المؤسسة ، وآلية المصادقة ، وحالة الاستخدام ، وما إلى ذلك.
يجب تخصيص الكود الأولي الذي تم دفعه إلى المستودع لدعم حالة الاستخدام الخاصة بالمشروع.
تمكين CI / CD
في مشروع SageMaker ، ستكون أداة CI / CD المستخدمة مسؤولة عن بدء تدريب النموذج وعملية النشر. عندما يتم تغيير حالة النموذج في Model Registry ، يتم إرسال إشعار EventBridge يمكنه تنبيه أداة CI / CD لبدء النشر. وبالمثل ، ستحتاج أداة CI / CD إلى استخدام واجهة برمجة تطبيقات SageMaker لبدء تنفيذ خط أنابيب SageMaker عند إجراء تغيير على مستودع بناء النموذج. في نموذج 1P الذي يستخدم Jenkins لـ CI / CD ، يتم تشغيل خط أنابيب Jenkins عن طريق دفعه إلى مستودع SVC. يستخدم CI / CD Pipeline أوامر AWS CLI لبدء SageMaker Pipeline لتدريب النموذج وتشغيل البرامج النصية CloudFormation لنشر النموذج إلى نقطة النهاية.
في الحالات التي ترغب فيها المؤسسات في استخدام أدوات CI / CD غير المدعومة في قوالب 1P (Jenkins ، CodePipeline) ، يجب عليهم التأكد من أن مستودعهم يمكنه تشغيل CI / CD Pipeline وأنه يمكن استدعاء أوامر AWS CLI لـ CI / CD بحيث يمكن استدعاء خدمات AWS ذات الصلة (SageMaker Pipelines ، CloudFormation ، إلخ). في نموذج 1P ، تُستخدم وظيفة Lambda لتشغيل خط أنابيب Jenkins / CodePipeline عند اعتماد نموذج في سجل النموذج ، ويمكن فعل الشيء نفسه عند استخدام أدوات CI / CD أخرى.
تحديد الأدوار والجهات الفاعلة IAM
تتطلب مشاريع SageMaker مجموعة من أدوار IAM التي تندرج تحت فئتين:
- أدوار الإطلاق - يُستخدم لتعريف قيد في كتالوج الخدمة يفرض توفير المنتج الأساسي باستخدام LaunchRole المعين. يتيح ذلك للمطورين إنشاء مشاريع باستخدام القوالب دون الحاجة إلى دور تنفيذ SageMaker الخاص بهم للحصول على جميع السياسات اللازمة لبدء المشروع. يفترض كتالوج الخدمة دور قيد التشغيل أثناء إنشاء المشروع بحيث يمكن للمطورين الذين يستخدمون المشروع أن تقتصر أدوارهم على السياسات المحددة التي يحتاجون إليها.
- استخدم الأدوار - يستخدم داخل القالب بواسطة كل مورد للعمليات المطلوبة. لكل عملية في قالب المنتج ، يفترض مدير خدمة AWS المعني "دور الاستخدام".
الأدوار في قوالب 1P:
تستخدم قوالب 1P الأدوار التالية التي تديرها AWS.
- إطلاق الأدوار - سياسة الأمازون المُدارة
AmazonSageMakerServiceCatalogProductsLaunchRoleis
مستخدمة بواسطة قوالب الطرف الأول لقيد تشغيل كتالوج الخدمة. - استخدم الدور -
AmazonSageMakerServiceCatalogProductsUseRole
يستخدم من قبل الموارد التي تم إنشاؤها في 1st قوالب الحزب.
الأدوار في القالب المخصص:
في حالة القوالب المخصصة ، فإن ملف LaunchRole
يحتاج إلى التحديث للحصول على أذونات كافية لنشر جميع الموارد في قالب CloudFormation ؛ و ال UseRole
يحتاج إلى جميع الخدمات المرتبطة في سياسة الثقة الخاصة به حتى تتمكن الخدمات من تولي الدور الصحيح. يمكن للعملاء تحديد أ UseRole
لكل خدمة بدلاً من دور واحد لجميع الخدمات.
للبدء ، حدد شخصيات المستخدم المرتبطة بالتطبيق بالإضافة إلى المسؤول ، أي علماء البيانات ، وفريق MLOps ، وما إلى ذلك ، وتصميم سياسات IAM مع الوصول إلى الامتياز الأقل لكل مستخدم ، والخدمات مثل SageMaker Studio and Service فهرس. نرى الإجراءات والموارد ومفاتيح الشروط لخدمات AWS للحصول على قائمة شاملة لسياسات IAM. مجموعة عينة من أدوار IAM هي:
- المسؤول : سيكون هذا المستخدم مسؤولاً عن إنشاء القالب المخصص وتوفيره لمستخدمي علماء البيانات. تشمل الامتيازات المطلوبة الوصول إلى Service Catalog و IAM (لإنشاء الأدوار والسياسات) و SageMaker على الأقل.
- التنفيذ: سيطلق هذا المستخدم SageMaker Studio ، وإنشاء دفاتر ملاحظات ونشر قوالب المشروع ، وتشغيل المعالجة ، ووظائف التدريب وما إلى ذلك. لعزل الأذونات ، يحتاج دور المستخدم هذا فقط إلى الوصول لفتح ملف تعريف مستخدم SageMaker Studio ، ويمكن التعامل مع الأذونات المتبقية من خلال دور تنفيذ دفتر الملاحظات.
- عالم بيانات الرصاص: سيكون هذا المستخدم مسؤولاً عن الموافقة على نشر الموارد في الإنتاج. يمكن أن يكون هذا الدور عادةً هو قائد الفريق ، الذي سيتحقق من صحة موارد التدريج ، ويتحقق من استيفاء جميع الشروط والموافقة على التغييرات على الإنتاج. يوفر هذا المستخدم الإضافي إمكانية التدقيق ويضيف فحصًا يدويًا قبل إجراء أي تغييرات في البيئة الحية.
- دور تنفيذ دفتر الاستوديو: هذا هو دور الخدمة الذي يفترضه مستخدم استوديو SageMaker. يتضمن عادةً إذنًا بمستوى أعلى لـ SageMaker ، مع وصول إضافي إلى Elastic Container Registry ، وحاويات S3 محددة ، و CodePipeline ، و CodeBuild ، وسجلات CloudWatch وما إلى ذلك حسب الضرورة. لتكون قادرًا على سرد وإنشاء مشروع SageMaker ، يحتاج الدور أيضًا إلى الوصول إلى كتالوج الخدمة.
- دور تشغيل القالب المخصص ودور المستخدم: الأدوار التي يفترضها SageMaker عند بدء تشغيل قالب المشروع المخصص ، ولإنشاء الموارد التي تم نشرها بواسطة القالب. تسمح إضافة تمييز بين دور دفتر الملاحظات ودور تشغيل القالب للمسؤولين بتحديد إذن المستخدمين النهائيين إلى الحد الأدنى المطلوب لكل منتج. نرى قيود إطلاق كتالوج خدمة AWS للحصول على وثائق مفصلة.
استراتيجيات نشر النموذج
بناءً على خيار الاستضافة المناسب لحالة الاستخدام ، يجب تحديث مكونات نشر القالب لاستخدام خيار الاستضافة هذا. على سبيل المثال. إذا كان النموذج بحاجة إلى أن يتم نشره إلى نقطة نهاية متعددة النماذج ، فيجب تحديث البرامج النصية CloudFormation لتعكس ذلك. أو إذا تم استخدام خط أنابيب الاستدلال التسلسلي ، فيجب تسجيل PipelineModel في Model Registry من خلال خط أنابيب التدريب ويتم استخدام CloudFormation لنشر PipelineModel إلى نقطة نهاية SageMaker. وبالمثل ، يمكن تعديل القالب لدعم تجميع نموذج لنشر Edge باستخدام سيجماكر نيو.
بالإضافة إلى خيار الاستضافة ، يجب ترميز استراتيجية الموافقة في القالب المخصص. في نماذج 1P كما هو موضح أعلاه ، تتم عملية الموافقة على النشر في خطوتين. الأول هو الموافقة على النموذج في نموذج التسجيل ، والثاني هو خطوة الموافقة اليدوية في CodePipeline أو Jenkins. قد لا يتناسب هذا مع آليات حوكمة الموافقة المعمول بها للمؤسسات عند نشر النماذج. يمكن أن يكون أحد الأمثلة على آلية الموافقة المختلفة هو تقييد المستخدمين الذين يمكنهم تحديث حالة نموذج السجل بحيث يمكن لمهندسي MLOps فقط تحديث الحالة إلى "معتمد". بمجرد الموافقة ، يمكن أن يكون لخط أنابيب CI / CD خطوة تتحقق من إكمال اختبارات تكامل معينة جنبًا إلى جنب مع الموافقة اليدوية من مسؤول الحساب قبل نشر النموذج. يمكن تصميم مهام سير عمل الموافقة في القالب المخصص لتحديد ممارسة قياسية للنشر عبر المؤسسة.
أخيرًا ، تعمل قوالب 1P ضمن حساب واحد وفقًا لأفضل ممارسات CI / CD ، وقد يكون لدى المؤسسات إستراتيجية متعددة الحسابات مع حسابات مطورة ومرحلية ونواتج مخصصة. في هذه الحالة ، يمكن للعملاء الاستفادة من منظمات AWS لإدارة هذه الحسابات والاستفادة من مكدسات CloudFormation عبر الحسابات للتعامل مع النشر. يوضح الرسم البياني التالي كيف يمكن إعداد هذا.
للحصول على إرشادات مفصلة حول كيفية إعداد النشر متعدد الحسابات باستخدام SageMaker Projects ، راجع بلوق.
الأمان والتشفير ووضع العلامات
- الأمان والتشفير
الأمان هو الأولوية القصوى في AWS. أثناء إنشاء سير عمل CI / CD للتعلم الآلي ، من الضروري فهم كيفية تأمين البيانات السرية المستخدمة في التدريب. توصي AWS بتشفير AWS KMS-CMK للتخزين ، على سبيل المثال ، حاويات S3 ، والكائنات ، ووحدة تخزين SageMaker Studio وما إلى ذلك ، يتيح تعيين إصدارات S3 استعادة الكائنات في حالة الحذف العرضي ، ويوفر تسجيل الدخول S3 سجلات الوصول للحاوية إلى الحاوية المستهدفة. أنشئ مجال SageMaker Studio في VPC آمن واستخدم نقاط نهاية VPC لتجنب نقل البيانات عبر الإنترنت العام. انظر الورقة البيضاء أنشئ نظامًا أساسيًا للتعلم الآلي للمؤسسات الآمنة على AWSلأفضل الممارسات. - علامات
تُستخدم العلامات لتنظيم الموارد حسب المستخدمين أو الفرق أو المشاريع أو الأقسام ، وتتبع تكاليف AWS الخاصة بك على مستوى تفصيلي. بالإضافة إلى ذلك ، يمكن استخدام العلامات لفرض سياسات IAM ، على سبيل المثال ، عزل الموارد بين فريقين كما هو موضح في منشور المدونة تكوين Amazon SageMaker Studio للفرق والمجموعات من خلال عزل كامل للموارد. لهذه الأسباب ، يمكنك فرض وضع العلامات على أي مستخدم أنشأ مشروع SageMaker من خلال سياسات IAM. إلى دور عالم البيانات ، أضف بيان سياسة IAM التالي:
عند إنشاء منتج مخصص ، يمكنك أيضًا استخدام ملحق مكتبة TagOption لفرض القيم لكل علامة. عند تحديد علامة لمشروع ، ينشر SageMaker العلامات إلى كل موارده.
في الإعداد التنظيمي ، يمكنك أيضًا إنشاء العديد من قوالب المشروع (منتجات كتالوج الخدمة) لفرق مختلفة ، وتقييد الوصول لكل فريق إلى القالب المقابل باستخدام سياسات IAM.
تطبيق أفضل الممارسات على حالة الاستخدام
يصف هذا الجدول كيف يمكن لأفضل الممارسات الموضحة أعلاه أن تساعد في حل مجموعة متنوعة من حالات الاستخدام حيث يتم إنشاء قوالب مشروع مخصصة.
سيناريو | الحل المقترح |
استخدام أنظمة SVC غير مدعوم في قوالب الطرف الأول | يمكن تخصيص قوالب الطرف الأول لاستخدام آليات مصادقة مخصصة مثل وظائف Lambda مع AWS Secrets Manager أو بأي طريقة أخرى للوصول إلى الكود في المستودع. الرجوع إلى التحكم في إصدار المصدر في القسم أفضل الممارسات لتصميم قالب مشروع مخصص. هنا مثال على ذلك. |
استخدام إستراتيجية متعددة الحسابات للتدريب والنشر النموذجي. | استخدم AWS Organization لإدارة حسابات متعددة وحزم CloudFormation عبر الحسابات لإدارة نشر النماذج في حسابات متعددة. راجع "إستراتيجيات النشر النموذجية" في القسم أفضل الممارسات لتصميم قالب مشروع مخصص. |
سير عمل الموافقة المخصصة لنشر النموذج. | أضف اختبارات الوحدة ، واختبارات التكامل ، وخطوات الموافقة اليدوية الإضافية ، وخطوات التقييم المتعددة في خط أنابيب التدريب ، وما إلى ذلك للحصول على إستراتيجية قوية للموافقة على النموذج. راجع "إستراتيجيات النشر النموذجية" في القسم أفضل الممارسات لتصميم قالب مشروع مخصص. |
مراحل نشر متعددة | يحتاج CI / CD Pipeline (CodePipeline ، Jenkins ، إلخ) إلى التحديث بجميع خطوات النشر المطلوبة. خطوة واحدة لكل مرحلة من مراحل النشر. راجع "إستراتيجيات النشر النموذجية" في القسم أفضل الممارسات لتصميم قالب مشروع مخصص. |
فروع كود متعددة للتجريب | يمكن إنشاء قالب مخصص حيث في كل مرة يتم فيها دفع فرع جديد في SVC للتجريب ، يتم إنشاء خط أنابيب SageMaker لهذا الفرع وتنفيذه. هنا مثال على نموذج مخصص لتمكين هذه الإستراتيجية. |
خيارات الاستضافة المخصصة | يمكن إنشاء قالب مخصص يغير البرامج النصية CloudFormation المستخدمة لنشر نقطة النهاية ويمكن تحديث مراحل النشر لتلائم خيار الاستضافة المحدد. راجع "إستراتيجيات النشر النموذجية" في القسم أفضل الممارسات لتصميم قالب مشروع مخصص. |
خط أنابيب واحد لحالات الاستخدام المتعددة | يمكن تحديث الكود الأولي للمشروع ليحتوي على نماذج متعددة لخطوط أنابيب SageMaker تخدم حالات استخدام متعددة. قد تكون الحالات التي يكون فيها هذا مفيدًا عند استخدام مجموعة بيانات واحدة لتدريب نماذج متعددة ، يتم تدريب كل نموذج على مجموعات فرعية مختلفة من البيانات. هذا يمنع الحاجة إلى إدارة خطوط الأنابيب المتعددة ويقلل من عدد خطوات إعداد البيانات المطلوبة. |
خطوط أنابيب التطوير والإنتاج | يمكن إنشاء قالب مخصص يقوم بإنشاء خط أنابيب SageMaker باستخدام تعريف خط أنابيب هو بيئة إنتاج عندما يتم دفع التعريف إلى مستودع SVC. بهذه الطريقة ، يمكن لعلماء البيانات اختبار خط الأنابيب الخاص بهم في بيئة التطوير ، والتكرار عليها حتى يصل خط الأنابيب إلى الحالة المطلوبة ، ودفع ملف تعريف خط الأنابيب إلى المستودع ، وجعل خط أنابيب CI / CD ينشئ خط أنابيب جديدًا باستخدام نفس التعريف في بيئة الإنتاج والبدء في تنفيذها. |
استخدام كود مخصص للبذور | يمكن إنشاء قالب مخصص يسحب التعليمات البرمجية من موقع يستضيف التعليمات البرمجية الأولية المخصصة للمشروع. يمكن أن يكون هذا مستودعًا أو حاوية S3 مُدارة من قبل مؤسسة لسحب التعليمات البرمجية منه. الرجوع إلى التحكم في إصدار المصدر في القسم أفضل الممارسات لتصميم قالب مشروع مخصص. |
استخدام برنامج SageMaker Studio في VPC | يمكن إنشاء قالب مخصص له حق الوصول إلى الحاوية مع التعليمات البرمجية الأولية من خلال نقطة نهاية VPC. بدون ذلك ، عندما يتم إنشاء المشروع ، لن يكون رمز البداية متاحًا لملء المستودع. الرجوع إلى الأمان والتشفير ووضع العلامات في القسم أفضل الممارسات لتصميم قالب مشروع مخصص. |
وفي الختام
باستخدام أفضل الممارسات والإرشادات الموضحة هنا ، يمكن للمؤسسات تمكين مستخدميها من خلال تدفقات عمل موحدة للتعلم الآلي تساعد على زيادة الإنتاجية وضمان الامتثال لمعايير المؤسسة.
قم بزيارتنا مستودع جيثب هذا للحصول على مثال حول بناء القالب الخاص بك والمساهمة في المستودع بقوالب مخصصة خاصة بك!
حول المؤلف
كيريت ثاداكا هو مهندس حلول ML يعمل في فريق SageMaker Service SA. قبل انضمامها إلى AWS ، أمضت Kirit وقتًا في العمل في الشركات الناشئة في مرحلة مبكرة من الذكاء الاصطناعي ، تلاها بعض الوقت في الاستشارات في أدوار مختلفة في أبحاث الذكاء الاصطناعي ، و MLOps ، والقيادة التقنية.
دورجا سوري هو عالم بيانات في فريق توصيل الطاقة في الخدمات الاحترافية. قبل AWS ، قامت بتمكين الوكالات الحكومية وغير الهادفة للربح من استخلاص رؤى من بياناتها لتحسين نتائج التعليم. في AWS ، تركز على معالجة اللغة الطبيعية و MLOps.
- '
- &
- 100
- 11
- 7
- 9
- الوصول
- حسابي
- اكشن
- إضافي
- مشرف
- AI
- منظمة العفو الدولية البحوث
- الكل
- أمازون
- الأمازون SageMaker
- API
- تطبيق
- التحقّق من المُستخدم
- الآلي
- AWS
- أفضل
- أفضل الممارسات
- المدونة
- الفروع
- نساعدك في بناء
- ابني
- الحالات
- تغيير
- تهمة
- الشيكات
- الكود
- مشترك
- الالتزام
- التواصل
- الاستشارات
- وعاء
- التكاليف
- خلق
- العملاء
- البيانات
- عالم البيانات
- مجموعة البيانات
- التوصيل
- تصميم
- التفاصيل
- ديف
- المطور
- المطورين
- التطوير التجاري
- حافة
- التعليم
- التشفير
- نقطة النهاية
- طاقة
- المهندسين
- مشروع
- البيئة
- إلخ
- الاسم الأول
- لأول مرة
- تناسب
- مرونة
- وظيفة
- GitHub جيثب:
- الحكم
- حكومة
- عظيم
- هنا
- استضافة
- كيفية
- كيفية
- HTTPS
- IAM
- ICS
- تحديد
- معلومات
- رؤى
- التكامل
- Internet
- عزل
- IT
- المشــاريــع
- مفاتيح
- لغة
- آخر
- إطلاق
- قيادة
- القيادة
- تعلم
- مستوى
- الرافعة المالية
- محدود
- قائمة
- موقع
- آلة التعلم
- القيام ب
- إدارة
- ML
- MLOps
- نموذج
- اللغة الطبيعية
- معالجة اللغات الطبيعية
- غير هادفة للربح
- أجهزة الكمبيوتر المحمولة
- إعلام
- عروض
- جاكيت
- عمليات
- خيار
- مزيد من الخيارات
- منظمة
- المنظمات
- أخرى
- نموذج
- كلمة المرور
- أداء
- المنصة
- سياسات الخصوصية والبيع
- سياسة
- رئيسي
- منتج
- الإنتــاج
- إنتاجية
- المنتجات
- ملفي الشخصي
- تنفيذ المشاريع
- مشروع ناجح
- جمهور
- سحب
- الأسباب
- استرجاع
- بحث
- مورد
- الموارد
- القواعد
- يجري
- تشغيل
- sagemaker
- العلماء
- أمن
- بذرة
- مختار
- خدمات
- خدمة
- طقم
- ضبط
- So
- الحلول
- حل
- المسرح
- المعايير
- بداية
- بدأت
- البدء
- الولايه او المحافظه
- ملخص الحساب
- الحالة
- تخزين
- الإستراتيجيات
- الدعم
- مدعومة
- أنظمة
- الهدف
- تقني
- تجربه بالعربي
- اختبارات
- الوقت
- مسار
- قادة الإيمان
- القطارات
- الثقة
- ui
- تحديث
- المستخدمين
- التحكم في الإصدار
- حجم
- منهجنا
- من الذى
- في غضون
- للعمل
- سير العمل
- أعمال