دليل نشر YOLO26 على نقاط نهاية Amazon SageMaker
إن نشر نماذج الرؤية الحاسوبية المتقدمة مثل Ultralytics YOLO26 على نقاط نهاية Amazon SageMaker يفتح مجموعة واسعة من الإمكانيات لتطبيقات تعلم الآلة المختلفة. يكمن مفتاح استخدام هذه النماذج بفعالية في فهم عمليات إعدادها وتهيئتها ونشرها. تصبح YOLO26 أكثر قوة عند دمجها بسلاسة مع Amazon SageMaker، وهي خدمة تعلم آلة قوية وقابلة للتوسع من AWS.
سيأخذك هذا الدليل عبر عملية نشر نماذج PyTorch الخاصة بـ YOLO26 على نقاط نهاية Amazon SageMaker خطوة بخطوة. ستتعلم أساسيات إعداد بيئة AWS الخاصة بك، وتهيئة النموذج بشكل مناسب، واستخدام أدوات مثل AWS CloudFormation وAWS Cloud Development Kit (CDK) للنشر.
Amazon SageMaker
Amazon SageMaker هي خدمة تعلم آلة من Amazon Web Services (AWS) تبسّط عملية بناء وتدريب ونشر نماذج تعلم الآلة. توفر مجموعة واسعة من الأدوات للتعامل مع جوانب مختلفة من سير عمل تعلم الآلة. ويشمل ذلك ميزات آلية لضبط النماذج، وخيارات لتدريب النماذج على نطاق واسع، وطرقاً مباشرة لنشر النماذج في بيئة الإنتاج. يدعم SageMaker أطر عمل تعلم الآلة الشائعة، مما يوفر المرونة اللازمة للمشاريع المتنوعة. كما تغطي ميزاتها تصنيف البيانات، وإدارة سير العمل، وتحليل الأداء.
نشر YOLO26 على نقاط نهاية Amazon SageMaker
يتيح لك نشر YOLO26 على Amazon SageMaker استخدام بيئتها المُدارة للاستدلال في الوقت الفعلي والاستفادة من ميزات مثل القياس التلقائي (autoscaling). ألقِ نظرة على بنية AWS أدناه.
الخطوة 1: إعداد بيئة AWS الخاصة بك
أولاً، تأكد من استيفاء المتطلبات الأساسية التالية:
-
حساب AWS: إذا لم يكن لديك حساب بالفعل، قم بالتسجيل للحصول على حساب AWS.
-
أدوار IAM المهيأة: ستحتاج إلى دور IAM يتمتع بالأذونات اللازمة لـ Amazon SageMaker وAWS CloudFormation وAmazon S3. يجب أن يحتوي هذا الدور على سياسات تسمح له بالوصول إلى هذه الخدمات.
-
AWS CLI: إذا لم تكن مثبتة بالفعل، قم بتنزيل وتثبيت واجهة سطر أوامر AWS (CLI) وقم بتهيئتها بتفاصيل حسابك. اتبع تعليمات AWS CLI للتثبيت.
-
AWS CDK: إذا لم تكن مثبتة بالفعل، قم بتثبيت مجموعة أدوات تطوير السحابة AWS (CDK)، والتي سيتم استخدامها لكتابة سيناريوهات النشر. اتبع تعليمات AWS CDK للتثبيت.
-
حصة خدمة كافية: تأكد من أن لديك حصصاً كافية لموردين منفصلين في Amazon SageMaker: أحدهما لـ
ml.m5.4xlargeلاستخدام نقطة النهاية والآخر لـml.m5.4xlargeلاستخدام مثيل الدفتر (notebook instance). يتطلب كل منهما قيمة حصة لا تقل عن واحد. إذا كانت حصصك الحالية أقل من هذا المتطلب، فمن المهم طلب زيادة لكل منهما. يمكنك طلب زيادة الحصة باتباع التعليمات التفصيلية في توثيق حصص خدمة AWS.
الخطوة 2: استنساخ مستودع YOLO26 SageMaker
الخطوة التالية هي استنساخ مستودع AWS المحدد الذي يحتوي على الموارد اللازمة لنشر YOLO26 على SageMaker. يتضمن هذا المستودع، المستضاف على GitHub، برامج نصية لـ CDK وملفات التهيئة الضرورية.
-
استنساخ مستودع GitHub: نفذ الأمر التالي في جهازك الطرفي لاستنساخ مستودع host-yolov8-on-sagemaker-endpoint:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git -
الانتقال إلى الدليل المستنسخ: غير دليل العمل الخاص بك إلى المستودع المستنسخ:
cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
الخطوة 3: إعداد بيئة CDK
الآن بعد أن أصبح لديك الكود اللازم، قم بإعداد بيئتك للنشر باستخدام AWS CDK.
-
إنشاء بيئة Python افتراضية: هذا يعزل بيئة Python والتبعيات الخاصة بك. قم بتشغيل:
python3 -m venv .venv -
تفعيل البيئة الافتراضية:
source .venv/bin/activate -
تثبيت التبعيات: قم بتثبيت تبعيات Python المطلوبة للمشروع:
pip3 install -r requirements.txt -
ترقية مكتبة AWS CDK: تأكد من أن لديك أحدث إصدار من مكتبة AWS CDK:
pip install --upgrade aws-cdk-lib
الخطوة 4: إنشاء مكدس AWS CloudFormation
-
توليف تطبيق CDK: قم بإنشاء قالب AWS CloudFormation من كود CDK الخاص بك:
cdk synth -
تمهيد تطبيق CDK: قم بإعداد بيئة AWS الخاصة بك لنشر CDK:
cdk bootstrap -
نشر المكدس: سيؤدي هذا إلى إنشاء موارد AWS اللازمة ونشر نموذجك:
cdk deploy
الخطوة 5: نشر نموذج YOLO
قبل الغوص في تعليمات النشر، تأكد من الاطلاع على مجموعة نماذج YOLO26 التي تقدمها Ultralytics. سيساعدك هذا في اختيار النموذج الأكثر ملاءمة لمتطلبات مشروعك.
بعد إنشاء مكدس AWS CloudFormation، الخطوة التالية هي نشر YOLO26.
-
فتح مثيل الدفتر: انتقل إلى وحدة تحكم AWS وانتقل إلى خدمة Amazon SageMaker. حدد "Notebook Instances" من لوحة التحكم، ثم حدد موقع مثيل الدفتر الذي تم إنشاؤه بواسطة برنامج نصي لنشر CDK الخاص بك. افتح مثيل الدفتر للوصول إلى بيئة Jupyter.
-
الوصول إلى inference.py وتعديله: بعد فتح مثيل دفتر SageMaker في Jupyter، حدد موقع ملف inference.py. قم بتحرير دالة output_fn في inference.py كما هو موضح أدناه واحفظ تغييراتك في البرنامج النصي، مع التأكد من عدم وجود أخطاء في الصيغة.
import json def output_fn(prediction_output): """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints.""" print("Executing output_fn from inference.py ...") infer = {} for result in prediction_output: if result.boxes is not None: infer["boxes"] = result.boxes.numpy().data.tolist() if result.masks is not None: infer["masks"] = result.masks.numpy().data.tolist() if result.keypoints is not None: infer["keypoints"] = result.keypoints.numpy().data.tolist() if result.obb is not None: infer["obb"] = result.obb.numpy().data.tolist() if result.probs is not None: infer["probs"] = result.probs.numpy().data.tolist() return json.dumps(infer) -
نشر نقطة النهاية باستخدام 1_DeployEndpoint.ipynb: في بيئة Jupyter، افتح دفتر 1_DeployEndpoint.ipynb الموجود في دليل sm-notebook. اتبع التعليمات الموجودة في الدفتر وقم بتشغيل الخلايا لتنزيل نموذج YOLO26، وتغليفه بكود الاستدلال المحدث، وتحميله إلى دلو Amazon S3. سيرشدك الدفتر خلال عملية إنشاء ونشر نقطة نهاية SageMaker لنموذج YOLO26.
الخطوة 6: اختبار النشر الخاص بك
الآن بعد نشر نموذج YOLO26 الخاص بك، من المهم اختبار أدائه ووظائفه.
-
فتح دفتر الاختبار: في نفس بيئة Jupyter، حدد موقع وافتح دفتر 2_TestEndpoint.ipynb، الموجود أيضاً في دليل sm-notebook.
-
تشغيل دفتر الاختبار: اتبع التعليمات الموجودة داخل الدفتر لاختبار نقطة نهاية SageMaker المنشورة. يتضمن ذلك إرسال صورة إلى نقطة النهاية وإجراء استدلالات. بعد ذلك، ستقوم برسم المخرجات لتصور أداء النموذج والدقة، كما هو موضح أدناه.
- تنظيف الموارد: سيرشدك دفتر الاختبار أيضاً خلال عملية تنظيف نقطة النهاية والنموذج المستضاف. هذه خطوة مهمة لإدارة التكاليف والموارد بفعالية، خاصة إذا كنت لا تخطط لاستخدام النموذج المنشور على الفور.
الخطوة 7: المراقبة والإدارة
بعد الاختبار، تعد المراقبة والإدارة المستمرة لنموذجك المنشور أمراً ضرورياً.
-
المراقبة باستخدام Amazon CloudWatch: تحقق بانتظام من أداء وصحة نقطة نهاية SageMaker الخاصة بك باستخدام Amazon CloudWatch.
-
إدارة نقطة النهاية: استخدم وحدة تحكم SageMaker للإدارة المستمرة لنقطة النهاية. يتضمن ذلك القياس، أو التحديث، أو إعادة نشر النموذج حسب الحاجة.
بإكمال هذه الخطوات، ستكون قد نجحت في نشر واختبار نموذج YOLO26 على نقاط نهاية Amazon SageMaker. لا تزودك هذه العملية بخبرة عملية في استخدام خدمات AWS لنشر تعلم الآلة فحسب، بل تضع أيضاً الأساس لنشر نماذج متقدمة أخرى في المستقبل.
ملخص
أخذك هذا الدليل خطوة بخطوة عبر نشر YOLO26 على نقاط نهاية Amazon SageMaker باستخدام AWS CloudFormation وAWS Cloud Development Kit (CDK). تتضمن العملية استنساخ مستودع GitHub الضروري، وإعداد بيئة CDK، ونشر النموذج باستخدام خدمات AWS، واختبار أدائه على SageMaker.
لمزيد من التفاصيل الفنية، راجع هذه المقالة على مدونة تعلم الآلة في AWS. يمكنك أيضاً الاطلاع على توثيق Amazon SageMaker الرسمي للحصول على مزيد من الأفكار حول الميزات والوظائف المختلفة.
هل أنت مهتم بمعرفة المزيد عن تكاملات YOLO26 المختلفة؟ قم بزيارة صفحة دليل تكاملات Ultralytics لاكتشاف أدوات وإمكانيات إضافية يمكنها تعزيز مشاريع تعلم الآلة الخاصة بك.
الأسئلة الشائعة
كيف يمكنني نشر نموذج Ultralytics YOLO26 على نقاط نهاية Amazon SageMaker؟
لنشر نموذج Ultralytics YOLO26 على نقاط نهاية Amazon SageMaker، اتبع الخطوات التالية:
- إعداد بيئة AWS الخاصة بك: تأكد من أن لديك حساب AWS، وأدوار IAM مع الأذونات اللازمة، وAWS CLI مهيأة. قم بتثبيت AWS CDK إذا لم تكن قد فعلت ذلك بالفعل (راجع تعليمات AWS CDK).
- استنساخ مستودع YOLO26 SageMaker:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk - إعداد بيئة CDK: قم بإنشاء بيئة Python افتراضية، وقم بتفعيلها، وقم بتثبيت التبعيات، وقم بترقية مكتبة AWS CDK.
python3 -m venv .venv source .venv/bin/activate pip3 install -r requirements.txt pip install --upgrade aws-cdk-lib - النشر باستخدام AWS CDK: قم بتوليف ونشر مكدس CloudFormation، وقم بتمهيد البيئة.
cdk synth cdk bootstrap cdk deploy
لمزيد من التفاصيل، راجع قسم التوثيق.
ما هي المتطلبات الأساسية لنشر YOLO26 على Amazon SageMaker؟
لنشر YOLO26 على Amazon SageMaker، تأكد من استيفاء المتطلبات الأساسية التالية:
- حساب AWS: حساب AWS نشط (سجل من هنا).
- أدوار IAM: أدوار IAM مهيأة مع أذونات لـ SageMaker وCloudFormation وAmazon S3.
- AWS CLI: واجهة سطر أوامر AWS مثبتة ومهيأة (دليل تثبيت AWS CLI).
- AWS CDK: مجموعة أدوات تطوير السحابة AWS مثبتة (دليل إعداد CDK).
- حصص الخدمة: حصص كافية لمثيلات
ml.m5.4xlargeلكل من استخدام نقطة النهاية والكمبيوتر الدفتري (طلب زيادة الحصة).
للإعداد التفصيلي، راجع هذا القسم.
لماذا يجب أن أستخدم Ultralytics YOLO26 على Amazon SageMaker؟
يوفر استخدام Ultralytics YOLO26 على Amazon SageMaker العديد من المزايا:
- القابلية للتوسع والإدارة: يوفر SageMaker بيئة مُدارة مع ميزات مثل القياس التلقائي، مما يساعد في احتياجات الاستدلال في الوقت الفعلي.
- التكامل مع خدمات AWS: تكامل سلس مع خدمات AWS الأخرى، مثل S3 لتخزين البيانات، وCloudFormation للبنية التحتية ككود، وCloudWatch للمراقبة.
- سهولة النشر: إعداد مبسط باستخدام برامج نصية لـ AWS CDK وعمليات نشر انسيابية.
- الأداء: استفد من البنية التحتية عالية الأداء لـ Amazon SageMaker لتشغيل مهام الاستدلال على نطاق واسع بكفاءة.
اكتشف المزيد حول مزايا استخدام SageMaker في قسم المقدمة.
هل يمكنني تخصيص منطق الاستدلال لـ YOLO26 على Amazon SageMaker؟
نعم، يمكنك تخصيص منطق الاستدلال لـ YOLO26 على Amazon SageMaker:
-
تعديل
inference.py: حدد موقع دالةoutput_fnفي ملفinference.pyوقم بتخصيصها لتكييف تنسيقات المخرجات.import json def output_fn(prediction_output): """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints.""" infer = {} for result in prediction_output: if result.boxes is not None: infer["boxes"] = result.boxes.numpy().data.tolist() # Add more processing logic if necessary return json.dumps(infer) -
نشر النموذج المحدث: تأكد من إعادة نشر النموذج باستخدام دفاتر Jupyter المتوفرة (
1_DeployEndpoint.ipynb) لتضمين هذه التغييرات.
راجع الخطوات التفصيلية لنشر النموذج المعدل.
كيف يمكنني اختبار نموذج YOLO26 المنشور على Amazon SageMaker؟
لاختبار نموذج YOLO26 المنشور على Amazon SageMaker:
- فتح دفتر الاختبار: حدد موقع دفتر
2_TestEndpoint.ipynbفي بيئة SageMaker Jupyter. - تشغيل الدفتر: اتبع تعليمات الدفتر لإرسال صورة إلى نقطة النهاية، وإجراء استدلال، وعرض النتائج.
- تصور النتائج: استخدم وظائف الرسم المدمجة لتصور مقاييس الأداء، مثل مربعات الإحاطة حول الكائنات المكتشفة.
للحصول على تعليمات اختبار شاملة، قم بزيارة قسم الاختبار.